Avalanche Effect

Wprowadzenie

Avalanche Effect (Efekt Lawinowy) to jedna z najważniejszych pożądanych właściwości w kryptografii. Mówi, że nawet bardzo mała zmiana (np. jednego bitu) w danych wejściowych lub kluczu powinna powodować radykalną, nieprzewidywalną zmianę w wyniku (szyfrogramie lub hashu).

Idea Claude’a Shannona

Koncepcja pochodzi od Claude’a Shannona (ojca teorii informacji). Efekt lawinowy jest realizacją zasady diffusion (rozproszenie) – jedna z dwóch kluczowych zasad projektowania bezpiecznych szyfrów (druga to confusion – zamieszanie).

Idealny Avalanche Effect

Przy zmianie jednego bitu na wejściu powinno zmienić się średnio 50% bitów na wyjściu. Ta właściwość nazywana jest Strict Avalanche Criterion (SAC).

Przykłady algorytmów

  • AES – doskonały efekt lawinowy
  • SHA-256 / SHA-3 – bardzo silny Avalanche Effect
  • ChaCha20 – jeden z najlepszych w swojej klasie
  • DES – słaby efekt lawinowy (dlatego został zastąpiony)

Znaczenie praktyczne

  • Zapobiega atakom różnicowym (differential cryptanalysis)
  • Zwiększa bezpieczeństwo haseł – podobne hasła dają całkowicie różne hashe
  • Zapewnia integralność danych (nawet mała zmiana jest natychmiast widoczna)
  • Jest kluczowy w funkcjach skrótu i algorytmach blokowych

Testowanie

Kryptografowie testują algorytm, zmieniając po jednym bicie tysiące razy i analizując statystyczny rozkład zmian na wyjściu. Dobry algorytm powinien być bardzo bliski ideału 50%.

Powiązane pojęcia

Diffusion • Confusion • Strict Avalanche Criterion (SAC) • AES • SHA-256 • Cryptographic Hash Function • Kerckhoffs’s Principle • Differential Cryptanalysis