Jednokierunkowa funkcja mieszająca to funkcja matematyczna, która generuje odcisk palca danych wejściowych, ale nie ma możliwości powrotu do oryginalnego wejścia. Jeśli dane wejściowe są takie same, to hash jest zawsze taki sam, jeśli w ogóle się zmienia, nawet o jeden znak, hash wyjściowy jest zupełnie inny. Skrót może być użyty do sprawdzenia, czy dane wejściowe A są identyczne z danymi wejściowymi B, ale nie można ich użyć do odzyskania danych wejściowych z danych wyjściowych, jak w przypadku innej funkcji matematycznej, szyfrowania.
Technipages wyjaśnia jednokierunkową funkcję skrótu
Dane wyjściowe jednokierunkowego skrótu mają zawsze tę samą długość, niezależnie od długości danych wejściowych. Na przykład wynik algorytmu mieszającego md5 to zawsze 32 znaki, jeśli jest reprezentowany w szesnastkowy, jest to prawdziwe, jeśli dane wejściowe mają długość jednego znaku lub długość całej pracy Szekspir.
Hash jest idealny do sprawdzenia, czy dwie rzeczy są identyczne, ma to dwa główne zastosowania. „Weryfikacja integralności” służy do sprawdzenia, czy pobrany plik jest identyczny z plikiem na serwerze, poprzez porównanie znanego skrótu pliku serwera ze skrótem pobranego pliku.
Algorytmy haszujące są również używane w bazach danych w celu sprawdzenia, czy hash przesłanego hasła jest zgodny z przechowywanym hashem. Oznacza to również, że jeśli haker uzyska nieautoryzowany dostęp do bazy danych, nie otrzyma samych haseł, ale ich skróty, których nie można użyć do bezpośredniego logowania.
Długość danych wyjściowych algorytmu mieszającego określa limity liczby możliwych wyjść i jako taka opisuje jego siłę w walce z „atakami kolizji” haszujących. Ataki kolizyjne polegają na tym, że dwa różne dane wejściowe generują ten sam wynik. Dosyć trudno jest znaleźć dwa losowe dane wejściowe, które generują te same dane wyjściowe, znacznie trudniej jest znaleźć kolizję dla jednego określonego wyniku mieszania.
Typowe zastosowania jednokierunkowej funkcji skrótu
- Istnieją dwa typy jednokierunkowych algorytmów haszujących, szybki i wolny, szybki używany do weryfikacji plików i wolny do haszowania haseł.
- Dane wejściowe jednokierunkowego algorytmu mieszającego nie mogą być określone przez analizę danych wyjściowych lub przepuszczenie ich przez inną funkcję.
- Gdy haker ma listę skrótów haseł ze skradzionej bazy danych, sprawdza, jaki jednokierunkowy algorytm skrótu został użyty, a następnie zgaduje, jak wielu możliwych haseł, jak tylko mogą, gdy mają dane wyjściowe, które pasują do wpisu w bazie danych, wiedzą, że dane wejściowe są hasło.
Częste nadużycia jednokierunkowej funkcji skrótu
- Jednokierunkowy algorytm haszujący jest rodzajem szyfrowania i może być używany do bezpiecznego przechowywania danych do późniejszego odzyskania za pomocą hasła i innej funkcji.