NexTutor
Wirtualne laboratorium/Matematyka/Kryptografia/Funkcja skrótu (hash) — efekt lawinowy

Funkcja skrótu (hash) — efekt lawinowy

Funkcja skrótu zamienia dowolne dane w krótki „odcisk". Zmień jeden znak wejścia i zobacz efekt lawinowy — cały skrót się zmienia. Model poglądowy (nie prawdziwy SHA).

Matematyka · Kryptografia · Funkcja skrótu (hash) — efekt lawinowy
Wejście A
Który znak zmieniamy w Bznak #4 „u"
Zmiana jednego znaku w wejściu funkcji skrótu zmienia wynik…
długość A
11 zn.
długość skrótu
128 bit
zmienionych bitów
funkcja
det. ✓

Co się właśnie stało?

Zamieniliśmy w wejściu jeden znak, a skrót zmienił się w blisko połowie bitów — bez żadnego podobieństwa do poprzedniego. Tak zachowuje się dobra funkcja skrótu.

Czym jest funkcja skrótu (hash)?

To odwzorowanie, które dowolnie długie dane wejściowe przekształca w skrót o stałej długości (tu: 128 bitów, czyli 32 znaki hex). Formalnie:

h:{0,1}{0,1}nh:\{0,1\}^{*} \to \{0,1\}^{n}

Każde wejście — „kot" czy całe zdanie — daje wynik tej samej długości nn. Funkcja jest deterministyczna: to samo wejście zawsze zwraca ten sam skrót.

Efekt lawinowy

Kluczowa własność kryptograficznych funkcji skrótu: zmiana jednego bitu wejścia zmienia około połowy bitów wyniku, w sposób nieprzewidywalny:

xx  Pr ⁣[bi(h(x))bi(h(x))]12x \ne x' \ \Rightarrow\ \Pr\!\big[\,b_i(h(x)) \ne b_i(h(x'))\,\big] \approx \tfrac{1}{2}

Dlatego z samego skrótu nie da się „cofnąć" do wejścia ani zgadnąć, jak mała zmiana wpłynie na wynik.

Po co to komu?

Skrót to cyfrowy „odcisk palca" danych. Skoro każda modyfikacja go zmienia, służy do:

  • integralności danych — porównujesz skrót pobranego pliku z oryginalnym; różnica = plik zmieniony,
  • przechowywania haseł — baza trzyma skrót, nie hasło,
  • podpisów cyfrowych i blockchainu — podpisuje się skrót dokumentu, nie cały dokument.

Zapamiętaj:

Funkcja skrótu: dowolne wejście → stała długość wyniku, deterministycznie, z efektem lawinowym. Mała zmiana wejścia = wielka, nieprzewidywalna zmiana skrótu.

Uwaga: to model poglądowy — użyliśmy własnej, prostej funkcji miksującej (FNV-1a + finalizer), by pokazać zasadę. Prawdziwe funkcje (np. SHA-256) są znacznie mocniejsze, ale rządzą się tą samą regułą efektu lawinowego.

Model poglądowy · Wirtualne laboratorium NexTutor

Najczęstsze pytania

Jak zmiana jednego znaku wpływa na skrót?

Całkowicie go zmienia (efekt lawinowy) — około połowa bitów wyniku ulega zmianie.

Do czego służą funkcje skrótu?

Do sprawdzania integralności danych, przechowywania haseł i podpisów cyfrowych.

Powiązane eksperymenty