5.1.1 Definitionen
Die Zusammenfassung von Zeichen des Klartextes
oder Geheimtextes
zu einer Einheit nennt man Block. Die Anzahl der Zeichen
in einem Block heißt Blocklänge.
Sei
ein symmetrisches Kryptosystem. Werden die Verschlüsselungsfunktion
und die Entschlüsselungsfunktion
auf Blöcke angewendet, nennt man das Kryptosystem eine Blockchiffre.
5.1.2 Generische Angriffe
Es gibt grundsätzlich zwei Arten von generischen Angriffen:
- Vollständige Schlüsselsuche (engl.: Exhaustive search)
- Wertetabelle
Wir gehen davon aus, dass unser Alphabet nur aus 0 und 1 besteht (binär). Bei einer Blocklänge von
gibt es
verschiedene Klartexte:
. Es gibt
mögliche Zuordnungen von Klartext zu Geheimtext. Dies nennt man eine vollständige Blockchiffre. Das Verfahren ist analog zu einer monoalphabetischen Substitution. Bei einer solchen ist es durch Häufigkeitsanalyse möglich, Rückschlüsse vom Geheimtext auf den Klartext zu ziehen. Das muss hier verhindert werden.
Annahmen:
- Angreifer hat Computer mit 1 PFlop, also 1015 Operationen pro Sekunde
- Eine Blockverschlüsselung entspricht einer Rechenoperation
Aufwand für vollständige Schlüsselsuche:
Die Grenze des heute Machbaren liegt etwa bei 80-90Bit Schlüssellänge.
5.1.3 Designkriterien für Blockchiffren
Kriterien für gute Blockchiffren sind:
- Konfusion: Beseitigung der statistischen Eigenschaften des Geheimtextes („Verrauschen”)
- Diffusion: Jedes Klartext-Bit beeinflusst viele Geheimtext-Bits, jedes Schlüssel-Bit beeinflusst viele Geheimtext-Bits
- Avalanche-Kriterium: Änderung eines Eingangs-Bit bewirkt Änderung ca. der Hälfte der Ausgangs-Bit
- Striktes Avalanche-Kriterium: Änderung eines Eingangs-Bit bewirkt Änderung jedes Ausgangs-Bit mit Wahrscheinlichkeit 0,5
- Nichtlinearität: Keine Abhängigkeit eines Ausgangs-Bit von einem Eingangs-Bit


