Kalkulator kodu skrótu MD4
Opublikowano: 16 lutego 2025 22:53:08 UTC
Ostatnia aktualizacja: 12 stycznia 2026 09:07:40 UTC
MD4 Hash Code Calculator
MD4 (Message Digest 4) to kryptograficzna funkcja skrótu opracowana przez Ronalda Rivesta w 1990 roku. Generuje stałą, 128-bitową (16-bajtową) wartość skrótu na podstawie danych wejściowych o dowolnej długości. MD4 jest obecnie uznawany za kryptograficznie niesprawny ze względu na luki w zabezpieczeniach, które umożliwiają ataki kolizyjne (znalezienie dwóch różnych danych wejściowych generujących ten sam skrót), dlatego nie powinien być stosowany przy projektowaniu nowych systemów. Został on uwzględniony w tym artykule na wypadek konieczności wygenerowania wstecznie kompatybilnego kodu skrótu.
Pełne ujawnienie: nie napisałem konkretnej implementacji funkcji hash używanej na tej stronie. Jest to standardowa funkcja dołączona do języka programowania PHP. Stworzyłem jedynie interfejs sieciowy, aby udostępnić go tutaj publicznie dla wygody.
O algorytmie skrótu MD4
Nie jestem matematykiem, więc postaram się wyjaśnić tę funkcję skrótu w sposób zrozumiały dla innych, niebędących matematykami ;-) Jeśli wolisz bardziej matematyczne wyjaśnienia, znajdziesz je na wielu innych stronach internetowych.
No dobrze, wyobraź sobie MD4 jako specjalną niszczarkę do papieru. Ale zamiast niszczyć papier, „niszczy” ona dowolną wiadomość (np. list, hasło czy książkę) do małego paragonu o stałym rozmiarze. Niezależnie od rozmiaru wiadomości, ta niszczarka zawsze generuje maleńki paragon o długości dokładnie 16 bajtów (128 bitów), czyli 32 znaków w systemie szesnastkowym.
Aby poprawnie zniszczyć wiadomość, należy wykonać cztery kroki:
Krok 1: Przygotowanie wiadomości
- Przed zniszczeniem należy dopasować papier tak, aby idealnie pasował do niszczarki.
- Jeśli Twoja wiadomość jest za krótka, możesz dodać trochę wolnego miejsca (np. rysunki lub wypełniacz), aby papier zmieścił się idealnie.
- Jeśli tekst jest za długi, należy podzielić go na kilka stron o tym samym rozmiarze.
Krok 2: Dodawanie tajnego stempla
- Po dostosowaniu wiadomości należy na jej końcu dodać tajny stempel, który będzie informował o długości oryginalnej wiadomości.
- Pomaga to niszczarce zachować oryginalny rozmiar wiadomości, bez względu na ilość dodanego wypełnienia.
Krok 3: Proces niszczenia (3 rundy magii)
- Teraz wiadomość trafia do niszczarki.
- Niszczarka ma 4 koła zębate (A, B, C i D), które obracają się razem według specjalnego wzoru.
- Koła zębate przechodzą przez 3 rundy wirowania, podczas których: mieszają słowa, odwracają niektóre części do góry nogami, przekręcają je jak kostkę Rubika, łączą ze sobą różne elementy.
- Każda kolejna runda sprawia, że wiadomość wygląda coraz bardziej jak chaotyczny bałagan, którego nie sposób rozpoznać.
Krok 4: Ostateczny odbiór
- Po całym tym kręceniu, obracaniu i rozbijaniu niszczarka wypluwa paragon — krótki ciąg cyfr i liter (hasz).
- Ten paragon ma zawsze taką samą długość, bez względu na to, czy zniszczysz pojedyncze słowo czy całą książkę!
Niestety, z czasem ludzie odkryli, że ta magiczna niszczarka nie jest idealna. Pewni sprytni ludzie wymyślili, jak oszukać niszczarkę, aby generowała ten sam paragon dla dwóch różnych wiadomości (nazywa się to kolizją) oraz przewidywać, jak będą się obracać koła zębate, a następnie wykorzystać to do tworzenia fałszywych paragonów. Z tego powodu protokół MD4 nie jest już uważany za bezpieczny dla ważnych danych.
Dalsza lektura
Jeśli podobał Ci się ten wpis, mogą Cię zainteresować również poniższe sugestie:
- Kalkulator kodu skrótu Fowler-Noll-Vo FNV1-32
- Kalkulator kodu skrótu MD2
- Kalkulator kodu skrótu SHA-512/256
