Funkcja haszująca

Słownik kwalifikacji INF.04 - Projektowanie, programowanie i testowanie aplikacji

Co to jest funkcja haszująca?

Funkcja haszująca (funkcja skrótu, ang. hash function) to algorytm, który przekształca dane wejściowe dowolnej długości na wynik o stałej długości, nazywany skrótem, haszem lub digestem.

Najważniejsza cecha: funkcja haszująca jest jednokierunkowa. Oznacza to, że z hasza nie powinno dać się odtworzyć danych wejściowych.

Przykład działania

Dla tekstu:

Egzamin INF.04

funkcja haszująca wygeneruje ciąg znaków, np. w postaci szesnastkowej. Nawet mała zmiana danych wejściowych powinna dać zupełnie inny wynik.

Zastosowania funkcji haszujących

Funkcje haszujące stosuje się m.in. do:

  • przechowywania skrótów haseł zamiast jawnych haseł,
  • sprawdzania integralności plików,
  • podpisów cyfrowych,
  • identyfikowania danych,
  • struktur danych, np. tablic mieszających.

Funkcja haszująca a szyfrowanie

Funkcji haszującej nie należy mylić z szyfrowaniem.

  • Szyfrowanie jest odwracalne po użyciu odpowiedniego klucza.
  • Haszowanie jest jednokierunkowe i nie służy do odzyskiwania oryginalnych danych.

Przykładowo AES i DES to algorytmy szyfrowania symetrycznego, RSA to algorytm kryptografii asymetrycznej, a MD5 to funkcja haszująca.

Ważne na egzaminie

Jeśli pytanie dotyczy „jednokierunkowej funkcji skrótu” lub „funkcji haszującej”, należy szukać algorytmów takich jak MD5, SHA-1, SHA-256, a nie algorytmów szyfrowania.