Changeset 4514


Ignore:
Timestamp:
Feb 9, 2012, 4:59:13 PM (10 years ago)
Author:
Sven Rech
Message:

fixed md5 doku

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/MD5/DetailedDescription/doc.xml

    r4507 r4514  
    1111    (Message-Digest Algorithm 5) ist eine weit verbreitete kryptographische Hash-Funktion, die einen 128-Bit-Hashwert erzeugt. MD5 wurde 1991 von Ronald L. Rivest entwickelt. Die errechneten MD5-Summen (kurz md5sum) werden zum Beispiel zur Integritätsprüfung von Dateien eingesetzt.
    1212    <section headline="Geschichte">
    13       MD5 ist ein Vertreter aus einer Reihe von (kryptologischen) Hash-Funktionen, die von Professor Ronald L. Rivest am Massachusetts Institute of Technology entwickelt wurden. Als Analysen ergaben, dass der Vorgänger MD4 wahrscheinlich unsicher ist, wurde MD5 1991 als sicherer Ersatz entwickelt. Tatsächlich wurden später von Hans Dobbertin Schwächen in MD4 gefunden.
     13      MD5 ist ein Vertreter aus einer Reihe von (kryptographischen) Hash-Funktionen, die von Professor Ronald L. Rivest am Massachusetts Institute of Technology entwickelt wurden. Als Analysen ergaben, dass der Vorgänger MD4 wahrscheinlich unsicher ist, wurde MD5 1991 als sicherer Ersatz entwickelt. Tatsächlich wurden später von Hans Dobbertin Schwächen in MD4 gefunden.
    1414      1996 meldete Dobbertin eine Kollision in der Kompressionsfunktion von MD5. Dies war zwar kein Angriff auf die vollständige MD5-Funktion, dennoch empfahlen Kryptographen bereits damals, wenn möglich, auf sicherere Algorithmen wie SHA-256 oder RIPEMD-160 umzusteigen. Im August 2004 fanden chinesische Forscher Kollisionen für die vollständige MD5-Funktion. Wie sich diese Entdeckung auf die Verwendung von MD5 auswirkt, bleibt abzuwarten.
    1515      Diese Attacken wirken sich allerdings nur auf Kollisionsangriffe aus, Preimage-Angriffe können auch mit diesen Methoden nicht in sinnvoller Zeit durchgeführt werden. So kann ein bestehendes, mit MD5 erzeugtes Zertifikat nach wie vor nicht gefälscht werden.     
    1616    </section>
    1717    <section headline="Algorithmus">
    18       MD5 erzeugt aus einer Nachricht variabler Länge eine Ausgabe fester Länge (128 Bit). Die Ausgangsnachricht wird zunächst so aufgefüllt, dass ihre Länge 64 Bits davon entfernt ist durch 512 teilbar zu sein. Als erstes wird eine Eins angehängt, dann soviele Nullen wie nötig. Bei dem unwahrscheinlichen Fall, dass die Ausgangsnachricht schon die gewünschte Länge besitzt wird trotzdem eine Eins angehängt. Nun wird eine 64-Bit Zahl, die die Länge der Ausgangsnachricht repräsentiert, angehängt. Die Nachrichtenlänge ist jetzt durch 512 teilbar.
    19       Der Hauptalgorithmus von MD5 arbeitet mit einem 128-Bit-Puffer, der in vier 32-Bit-Wörter A, B, C und D unterteilt ist. Diese werden mit bestimmten Konstanten initialisiert. Auf diesen Puffer wird nun die Verschlüsselungsfunktion (häufig auch Komprimierungsfunktion genannt) mit dem ersten 512-Bit-Block als Schlüsselparameter aufgerufen. Die Behandlung eines Nachrichtenblocks geschieht in vier einander ähnlichen Stufen, von Kryptografen „Runden“ genannt. Jede Runde besteht aus 16 Operationen, basierend auf einer nichtlinearen Funktion „F“, modularer Addition und Linksrotation. Es gibt vier mögliche „F“-Funktionen, in jeder Runde wird davon eine andere verwendet:
     18      MD5 erzeugt aus einer Nachricht variabler Länge eine Ausgabe fester Länge (128 Bit). Die Ausgangsnachricht wird zunächst so aufgefüllt, dass ihre Länge 64 Bits davon entfernt ist, durch 512 teilbar zu sein. Als erstes wird eine Eins angehängt, dann so viele Nullen wie nötig. Bei dem unwahrscheinlichen Fall, dass die Ausgangsnachricht schon die gewünschte Länge besitzt wird trotzdem eine Eins angehängt. Nun wird eine 64-Bit Zahl, die die Länge der Ausgangsnachricht repräsentiert, angehängt. Die Nachrichtenlänge ist jetzt durch 512 teilbar.
     19      Der Hauptalgorithmus von MD5 arbeitet mit einem 128-Bit-Puffer, der in vier 32-Bit-Wörter A, B, C und D unterteilt ist. Diese werden mit bestimmten Konstanten initialisiert. Auf diesen Puffer wird nun die Verschlüsselungsfunktion (häufig auch Komprimierungsfunktion genannt) mit dem ersten 512-Bit-Block als Schlüsselparameter aufgerufen. Die Behandlung eines Nachrichtenblocks geschieht in vier einander ähnlichen Stufen, von Kryptographen „Runden“ genannt. Jede Runde besteht aus 16 Operationen, basierend auf einer nichtlinearen Funktion „F“, modularer Addition und Linksrotation. Es gibt vier mögliche „F“-Funktionen, in jeder Runde wird davon eine andere verwendet:
    2020      <newline/>
    2121      <img src="MD5/DetailedDescription/Images/MD5.png"/>
     
    3535 
    3636  <presentation lang="de-DE">
    37     Die Präsentation der MD5-Komponente erlaubt es die Teilschritte der Hash-Erzeugung nachzuvollziehen.
     37    In der Präsentationsansicht der MD5-Komponente kann man die Teilschritte der Hash-Erzeugung nachvollziehen.
    3838    Zu diesem Zwecke muss der Benutzer die Berechnung manuell weiterschalten.
    3939  </presentation>
Note: See TracChangeset for help on using the changeset viewer.