0Pricing
Cryptology Academy · Lekcja

MD5: historia, zastosowania i przyczyny złamania

Poznaj działanie MD5 i ataki kolizyjne, które doprowadziły do jego wycofania.

MD5: historia, zastosowania i przyczyny złamania to bezpłatna lekcja Cryptology Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cryptology Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cryptology Academy zawiera 4 lekcji w sumie.

Wprowadzenie

MD5 był kiedyś najczęściej używaną funkcją skrótu. Obecnie jest całkowicie złamany do celów bezpieczeństwa. Warto zrozumieć dlaczego i co poszło nie tak.

Przegląd MD5

MD5 (Message Digest 5) został zaprojektowany przez Rona Rivesta w 1991 roku. Generuje skrót 128-bitowy (16 bajtów). Przykład wyniku: MD5('hello') = 5d41402abc4b2a76b9719d911017c592

Struktura algorytmu MD5

MD5 korzysta z konstrukcji Merkle'a–Damgårda z blokami o długości 512 bitów. Każdy blok przechodzi przez cztery rundy, z których każda obejmuje 16 operacji. Operacje wykorzystują bitowe AND, OR, XOR, NOT, dodawanie i rotacje w lewo.

MD5 w Pythonie

import hashlib hash = hashlib.md5(b'hello').hexdigest() print(hash) # 5d41402abc4b2a76b9719d911017c592 print(len(hash)) # 32 hex chars = 128 bits

Zastosowania historyczne

MD5 był używany do: weryfikacji integralności plików, przechowywania haseł, certyfikatów SSL, podpisów cyfrowych i podpisywania kodu. Jego szybkość (był szybki!) przyczyniła się do jego popularności.

Pierwsze pęknięcia: ataki różnicowe 1996

W 1996 roku Hans Dobbertin znalazł kolizje w funkcji kompresji MD5. Był to sygnał ostrzegawczy, ale MD5 pozostał powszechnie używany jeszcze przez wiele lat.

Pełna kolizja: Wang i in. 2004

W 2004 roku zespół Xiaoyun Wang znalazł pełne kolizje MD5 w ciągu kilku sekund. Dwa różne pliki mogły odtąd mieć tę samą wartość skrótu. MD5 oficjalnie przestał zapewniać odporność na kolizje.

Złośliwe oprogramowanie Flame (2012)

Złośliwe oprogramowanie Flame wykorzystało kolizje MD5 do sfałszowania certyfikatu firmy Microsoft do podpisywania kodu. Dzięki temu złośliwe oprogramowanie wyglądało na legalnie podpisane przez Microsoft.

MD5 do zastosowań niezwiązanych z bezpieczeństwem

MD5 jest nadal akceptowalny w przypadku sum kontrolnych niezwiązanych z bezpieczeństwem (na przykład weryfikacji pobrania pliku, gdy ataki kolizyjne nie stanowią zagrożenia) oraz niekryptograficznych tablic haszujących. Nigdy jednak nie należy używać go do celów związanych z bezpieczeństwem.

Nieudane przechowywanie haseł

Hasła przechowywane za pomocą MD5 można złamać w banalny sposób: istnieją ogromne tablice tęczowe dla hashy MD5. Niesolone MD5('password') zawsze daje ten sam hash. CrackStation potrafi łamać miliardy hashy na sekundę.

Odejście od MD5

MD5 należy zastąpić przez SHA-256 (ogólna integralność), SHA-3 (nowe projekty), bcrypt/Argon2 (hasła) lub HMAC-SHA256 (uwierzytelnianie wiadomości). Bez wyjątków.

Szybkie sprawdzenie

Dlaczego wycofano MD5 z zastosowań związanych z bezpieczeństwem?

Podsumowanie

MD5 nie nadaje się już do zastosowań związanych z bezpieczeństwem. Następnie omówimy SHA-1 i rodzinę SHA-2, aby zrozumieć ulepszenia, które pojawiły się później.

Często zadawane pytania

Czy lekcja „MD5: historia, zastosowania i przyczyny złamania” jest bezpłatna?

Tak — pełny tekst „MD5: historia, zastosowania i przyczyny złamania” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cryptology Academy, przejdź na CoddyKit PRO. Kurs Cryptology Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „MD5: historia, zastosowania i przyczyny złamania”?

Poznaj działanie MD5 i ataki kolizyjne, które doprowadziły do jego wycofania. Ćwiczysz Cryptology Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Cryptology Academy?

Nie wymagamy żadnego doświadczenia. Cryptology Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „MD5: historia, zastosowania i przyczyny złamania”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Cryptology Academy?

Tak. Każda lekcja Cryptology Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Co wyróżnia dobrą funkcję skrótu
  2. MD5: historia, zastosowania i przyczyny złamania
  3. Rodzina SHA-1 i SHA-2
  4. Zastosowania funkcji skrótu: sumy kontrolne, HMAC i Git
← Powrót do Cryptology Academy