Klassische Blockchiffren

3. Klassische Blockchiffren#

In diesem Kapitel werden einige klassische, symmetrische Chiffrierverfahren vorgestellt, die auf Blöcken fester Länge operieren. Wir fassen jeweils \(k\in\N\) Zeichen eines Klartexts \(m \in \mathcal{P}\) zu einem Block bzw. einer Nachrichteneinheit zusammen, d.h. wir schreiben den Text \(m\) als Folge \(m_1m_2m_3m_4\dots\), wobei \(m_i\) einen abgeschlossenen Block aus \(k\) Zeichen des Alphabets \(\Sigma\) bezeichnet. Sollte die Anzahl der Zeichen im Klartext kein Vielfaches der Blockgröße \(k\) sein, so erweitert man den Klartext \(m\) häufig mit beliebigen Zeichen (im Englischen: padding), die keine Bedeutung für den Textinhalt haben.

Die Verschlüsselungsfunktionen \(f_K \in \mathcal{E}\) sollen dann zunächst auf der Menge der Blöcke bzw. Nachrichteneinheiten wirken, d.h. wir haben bijektive Funktionen \(f_K:\Sigma^k\to \Sigma^k\). Man spricht dann von einer Blockchiffrierung oder einer Blockchiffre.

Weiterhin unterscheiden wir Blockchiffren nach der Art, wie sie die Zeichen innerhalb eines Blocks verändern. In Substitutionschiffren wenden wir uns zunächst den Substitutionschiffren zu, welche die Zeichen innerhalb eines Blocks durch andere Zeichen ersetzen, aber deren Reihenfolge nicht verändern. Anschließend werden wir uns in Permutationschiffren mit sogenannten Permutationschiffren beschäftigen, welche die Zeichen innerhalb eines Blocks nicht ersetzen, jedoch deren Reihenfolge beliebig verändern können.