Funkcje mieszające

0
(0)

Wielu różnych zastosowaniach kryptografii, a w szczególności podczas generowania podpisów cyfrowych, konieczne jest generowanie skrótów wiadomości. W tym celu zostały stworzone funkcje mieszające. Wyliczają one wartość liczbową uzależnioną od treści wiadomości. Dlatego mając tą wartość oraz treść wiadomości, można sprawdzić, czy otrzymane wiadomości nie zostały w żaden sposób zmienione. Najpopularniejszymi funkcjami haszującymi są MD5 i SHA1.

Algorytm MD5 kompresuje 512-bitowe wiadomości do 128-bitowych skrótów, korzystając ze 128-bitowych łańcuchów danych wejściowych. Do dowolnej pod względem długości wiadomości, dodawany jest bit 1 wraz z taką ilością zer, aby wynik był równy 448 modulo 512. Następnie do wiadomości dołączany jest 64-bitowy łańcuch, stanowiący binarny zapis długości wiadomości oryginalnej, po tych operacjach długość całej wiadomości jest wielokrotnością 512. Mieszanie przebiega blok po bloku, zaś każdy blok ma 512 bitów. Najpierw blok wiadomości w jest dzielony na 16 32-bitowych słów. Później wykonywane są cztery tury MD5. Cztery wyniki ostatniej rundy są dodawane modulo 232 do wartości początkowych rejestrów, w ten sposób tworząc skrót 512-bitowej wiadomości.

Ściśle powiązanym z MD5 algorytmem jest SHA-1. Posiadają one wiele cech wspólnych. Miesza on dowolnie długie wiadomości za pomocą metody szeregowej. Blok wiadomości posiadający 512 bitów kompresowany jest w 160-bitowy skrót. Wypełnianie jest identyczne jak w MD5, jednak długość wiadomości pierwotnej dołączana jest jako 64-bitowy ciąg. Mieszanie pojedynczego bloku odbywa się w 4 turach, z których każda ma 20 iteracji. Algorytm SHA-1 jest bezpieczniejszy od MD5, ponieważ przestrzeń skrótów jest w nim większa.

Jak przydatny był ten post?

Kliknij gwiazdkę, aby go ocenić!

Średnia ocena 0 / 5. Liczba głosów: 0

Jak dotąd brak głosów! Bądź pierwszą osobą, która oceni ten post.