Dlaczego MD5 jest nadal intensywnie używany?

17

MD5 wydaje się mieć dobrze udokumentowane luki a jednak pozostaje rozpowszechniony w jego użyciu. Czy ktoś ma jakiekolwiek powody, aby pozostać realną opcją, gdy inne alternatywy (np. SHA-2) wydają się być bardziej solidne?

David in Dakota
źródło

Odpowiedzi:

16

Szybko się generuje, a często fakt, że kolizje są teoretycznie możliwe, nie jest wielkim problemem. tj. sprawdzanie, czy plik z pamięci podręcznej zmienił się, aby uniknąć pobierania nowej kopii.

ZA szybki benchmark wykonany w 1996 roku pokazuje:

            Digest Performance in MegaBytes per Second

      Pentium P5     Power Mac    SPARC 4     DEC Alpha
          90 MHz        80 MHz      110 MHz      200 MHz

MD5         13.1          3.1         5.1          8.5
SHA1         2.5          1.2         2.0          3.3

Dla nowoczesnego zastosowania - na wbudowanych układach scalonych MD5 może być 2-3 razy szybszy w produkcji niż SHA1 dla tych samych informacji.

Rich Bradshaw
źródło
10

Wartość skrótu MD5 jest „wystarczająco dobra” dla większości trudnych zadań. Przypomnij sobie, że wciąż jest niezwykle trudno wyprodukować sensowne kolizje w tej samej liczbie bajtów.

Na przykład, powiedzmy, że pobierzesz nowy Ubuntu 9.10 w przyszłym tygodniu z zaufanego lustra. Chcesz sprawdzić, czy plik został pobrany poprawnie i całkowicie. Po prostu uruchom MD5 i zmień ISO. Porównaj hash z opublikowanym hashem. Jeśli skróty są zgodne, możesz być pewien, że ISO zostało skopiowane poprawnie i całkowicie.

eleven81
źródło
To już nie jest trudne. A jak trudniej jest uruchomić sha256sum filename.iso zamiast md5sum filename.iso?
Mechanical snail
Co więcej, jeśli twój ISP jest zły, MD5 tak nie Gwarantuję, że ISO został pobrany poprawnie. Usługodawca internetowy może manipulować obrazem ISO, aby zrobić coś złego.
Mechanical snail
4
  1. Jest krótki - łatwiejszy do czytania.
  2. Jest to powszechne - wielka interoperacyjność z innymi systemami
  3. To jest zwyczajne - wszyscy są do tego przyzwyczajeni.

a bezpieczeństwo można poprawić dzięki soleniu.

Josip Medved
źródło
3

MD5 jest powszechnie stosowany jako funkcja skrótu sum kontrolnych, ponieważ jest szybki i charakteryzuje się wyjątkowo niskim współczynnikiem kolizji. Suma kontrolna MD5 składa się z 32 cyfr szesnastkowych, które razem dają prawdopodobieństwo kolizji 1 na ~ 3,42e34. Można teoretycznie mieszać wszystkie pliki na wszystkich komputerach w kraju wielkości USA i nie powodować kolizji (*).

W kryptografii MD5 jest ważną alternatywą, jeśli bezpieczeństwo jest tylko umiarkowanym problemem. Jest to bardzo realna opcja do mieszania haseł baz danych lub innych pól wymagających wewnętrznego bezpieczeństwa głównie ze względu na szybkość, ale także dlatego, że MD5 oferuje rozsądny poziom bezpieczeństwa, gdzie silne szyfrowanie nie stanowi problemu.


(*) dla większości celów sumy kontrolnej kolizja ma znaczenie tylko wtedy, gdy ma miejsce między dwoma obiektami o podobnym pochodzeniu io tym samym rozmiarze. Pomimo wysokiego prawdopodobieństwa unikalności MD5, kolizje mogą ostatecznie wystąpić między dwoma bardzo różnymi plikami. Powiedz, plik bazy danych 1,5 MB i plik gif 35 kB. Dla większości celów jest to bezsensowna kolizja. Tym bardziej, że MD5 to tylko jeden element indeksowania plików. Kolejny ważny jest rozmiar pliku.

A Dwarf
źródło
2

MD5 jest szeroko stosowany, ponieważ był powszechnie stosowany, a przerwy nie są jeszcze wystarczająco znaczące, aby stanowić oczywisty problem w istniejących systemach.

Douglas Leeder
źródło