MD5 Hashalgorythmus - 4 Runden - 16 Operationen - ? |
||
---|---|---|
#0
| ||
28.10.2003, 10:50
Member
Beiträge: 55 |
||
|
||
28.10.2003, 19:17
Member
Themenstarter Beiträge: 55 |
#2
Dann beantworte ich mal meine Fragen selber, denn ich bin schon draufgekommen. Wenns irgendjemand mal braucht:
1.Antwort: ja B,C,D werden mit sich selbst addiert. 2.Antwort: X[] sind keine Konstanten, sie enthalten den klartext, von dem der hash gebildet werden soll. Es gibt sechzen X[] wörter (wobei ein wort 32bit hat)-> 512bit T[] sind konstanten (insgesamt 64 stück) |
|
|
ich ackere mich gerade durch RFC1321, welcher für den MD5 Algo steht.
Hab im großen und ganzen so ziemlich alles verstanden und wollte mich vergewissern, ob mein Verständnis richtig war. Der MD5 Hashwert (128bit) wird in die 32bit register A,B,C,D hinterlegt
Weiß das jemand zufällig, ob das richtig ist:
1.Frage:
Nach den 4 Runden mit jeweils 16 Operationen, wird immer das Register A verändert. Die Register B,C,D werden erst nach einer kompletten Message Abarbeitung (512bit) mit sich selbst addiert.
B=B+B, C=C+C, D=D+D ???
2.Frage:
Allgemeine Formeln für die Runden:
Runde 1: a = b+((a+F(b,c,d)+X[k]+T[i]<<<s)
Runde 2: a = b+((a+G(b,c,d)+X[k]+T[i]<<<s)
Runde 3: a = b+((a+H(b,c,d)+X[k]+T[i]<<<s)
Runde 4: a = b+((a+I(b,c,d)+X[k]+T[i]<<<s)
eigentliche Frage:
Sind X[k] und T[i] Konstanten?
X[k] einfachfache Konstanten, die am Anfang definiert wurden?
T[i] Konstanten von dieser komischen sinusberechnung? Wie kommt man auf sie?
Die Fragen sollten für jemanden, der sich mit dem Algo auskennt nicht schwer sein. Ich hoffe es findet sich jemand. Diesmal wars etwas anspruchsvolleres
Hoffe der Thread bleibt nicht leer... *g*
Liebe Grüße
4cray