Warum wird MD5 immer noch stark genutzt?

17

MD5 scheint gut dokumentierte Schwachstellen zu haben und ist dennoch in seiner Verwendung weit verbreitet. Hat jemand Gründe dafür, dass es eine gangbare Option bleibt, wenn andere Alternativen (z. B. SHA-2) robuster erscheinen?

David in Dakota
quelle

Antworten:

16

Es ist schnell zu generieren und oft ist die Tatsache, dass Kollisionen theoretisch möglich sind, kein großes Problem. dh prüfen, ob sich eine zwischengespeicherte Datei geändert hat, um das Herunterladen einer neuen Kopie zu vermeiden.

Ein 1996 durchgeführter kurzer Benchmark zeigt Folgendes:

            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

Für eine moderne Verwendung - auf eingebetteten Chips kann MD5 bei gleichen Informationen 2-3x schneller produziert werden als der SHA1.

Rich Bradshaw
quelle
10

Ein MD5-Hash ist für die meisten einfachen Aufgaben "gut genug". Denken Sie daran, dass es immer noch unglaublich schwierig ist, sinnvolle Kollisionen in der gleichen Anzahl von Bytes zu erzeugen.

Angenommen, Sie laden nächste Woche das neue Ubuntu 9.10 von einem vertrauenswürdigen Spiegel herunter. Sie möchten überprüfen, ob die Datei korrekt und vollständig heruntergeladen wurde. Starten Sie einfach MD5 und hashen Sie die ISO. Vergleichen Sie den Hash mit dem veröffentlichten Hash. Wenn die Hashes übereinstimmen, können Sie sicher sein, dass die ISO korrekt und vollständig kopiert wurde.

eleven81
quelle
Es ist nicht mehr schwierig. Und wie ist es schwerer zu rennen sha256sum filename.isoals md5sum filename.iso?
Mechanische Schnecke
Wenn Ihr ISP böse ist, garantiert MD5 nicht , dass die ISO korrekt heruntergeladen wurde. Der ISP könnte das ISO-Image manipulieren, um etwas Böses zu tun.
Mechanische Schnecke
4
  1. Es ist kurz - leichter zu lesen.
  2. Es ist weit verbreitet - große Interoperabilität mit anderen Systemen
  3. Es ist üblich - jeder ist nur daran gewöhnt.

und die Sicherheit kann durch Einsalzen verbessert werden.

Josip Medved
quelle
3

MD5 wird häufig als Prüfsummen-Hash-Funktion verwendet, da es schnell ist und eine extrem niedrige Kollisionsrate aufweist. Eine MD5-Prüfsumme besteht aus 32 hexadezimalen Ziffern, die zusammen eine 1: 3,42e34-Wahrscheinlichkeit einer Kollision ergeben. Sie könnten theoretisch alle Dateien auf allen Computern in einem Land der Größe der USA hashen und keine Kollision erzeugen (*).

Für die Kryptografie ist MD5 eine gültige Alternative, wenn die Sicherheit nur ein mäßiges Problem darstellt. Dies ist eine sehr praktikable Option für das Hashing von Datenbankkennwörtern oder anderen Feldern, für deren Geschwindigkeit hauptsächlich interne Sicherheit erforderlich ist, aber auch, weil MD5 ein angemessenes Sicherheitsniveau bietet, bei dem starke Verschlüsselung keine Rolle spielt.


(*) Für die meisten Prüfsummenzwecke ist eine Kollision nur dann sinnvoll, wenn sie zwischen zwei Objekten gleicher Herkunft und Größe auftritt. Trotz einer hohen MD5-Eindeutigkeitswahrscheinlichkeit können möglicherweise Kollisionen zwischen zwei sehr unterschiedlichen Dateien auftreten. Angenommen, eine 1,5-MB-Datenbankdatei und eine 35-KB-GIF-Datei. Für die meisten Zwecke ist dies eine bedeutungslose Kollision. Dies gilt umso mehr, als MD5 nur ein Element der Dateiindizierung ist. Dateigröße ist ein weiterer wichtiger Punkt.

Ein Zwerg
quelle
2

MD5 ist weit verbreitet, weil es weit verbreitet ist, und die Unterbrechungen sind noch nicht signifikant genug, um ein offensichtliches Problem in bestehenden Systemen zu sein.

Douglas Leeder
quelle