Lawineneffekt (Kryptographie)
# Lawineneffekt (Kryptographie)

Als Lawineneffekt bezeichnet man in der Kryptographie die Eigenschaft eines Algorithmus, bei einer minimalen Änderung der Eingabe eine völlig andere Ausgabe zu erzeugen. Diese Eigenschaft ist eine Formalisierung der Forderung, dass bei einer Blockchiffre oder kryptologischen Hashfunktion jedes Bit der Ausgabe von der ganzen Eingabe abhängen soll. Dadurch bewirkt der Lawineneffekt eine gute Diffusion.

## Strict Avalanche Criterion

Das Strict Avalanche Criterion (SAC, engl. „strenges Lawinenkriterium“) ist eine Formalisierung des Lawineneffekts, die 1985 von Webster and Tavares eingeführt wurde. Dieses Kriterium verlangt, dass sich bei einer Änderung eines Eingabebits jedes Bit der Ausgabe mit einer Wahrscheinlichkeit von 50 % ändert. Die Erfüllung des SAC ist heutzutage eine Standardforderung für kryptographische Systeme, es wurde beispielsweise von allen Finalisten des AES-Wettbewerbs erfüllt.

## Beispiele

Nachfolgend werden Beispiele kryptographischer Ansätze gegeben und deren Lawineneffekt eingeschätzt.

### SHA-1

Der SHA-1-Prüfsummenalgorithmus zeigt einen starken Lawineneffekt.

Demonstration durch beispielhafte Erzeugung zweier SHA-1-Prüfsummen (160 Bit) und deren Vergleich:

Anzahl der unterschiedlichen Bits (Hamming-Distanz): 89 Quote in diesem Beispiel: 55,6 % Bitdifferenz.

Beide Ausgaben sind trotz minimal unterschiedlicher Eingaben erheblich verschieden.

### AES

Der AES-Verschlüsselungsalgorithmus zeigt einen starken Lawineneffekt.

Verschlüsselung von 128-Bit-Wörtern durch AES: In beiden Fällen wird AES-256 im Electronic Code Book Mode mit dem alternierenden Schlüssel 010101…01 verwendet.

Anzahl der unterschiedlichen Bits (Hamming-Distanz): 62 Quote in diesem Beispiel: 48,4 % Bitdifferenz.

Beide Ausgaben sind trotz minimal unterschiedlicher Eingaben erheblich verschieden.

### Monoalphabetische Substitution

Eine Verschlüsselung durch monoalphabetische Substitution zeigt keinen Lawineneffekt.

In beiden Fällen wird folgender Auszug einer Substitutionstabelle verwendet: a → r; b → z

Beide Ausgaben sind nahezu identisch.

