md5 nach RFC 1321
-
;fricky schrieb:
FrEEzE2046 schrieb:
EDIT: Wofür wurde hier das Char-Array PADDING benutzt?
^^na, um die padding-bits (beginnend mit einer 1) mit anzuhängen.
Ja, aber 128 ist doch keine Angst
EDIT: 1 meine ich^^
-
FrEEzE2046 schrieb:
Ja, aber 128 ist doch keine 1
es geht doch um bits. 128(als byte) hat links eine 1 und dann 7 nullen, die anderen bytes sind jeweils für die restlichen 504 null-bits da. als bit-string ist sieht das array so aus: 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-
Ich muss nochmal fragen, da eine meiner Fragen konsequent ignoriert wird
Also, in der Dokumentation ist nur die Rede davon, dass die Nachricht auf 448 Bit "erweitert" wird. Was passiert aber, wenn die Nachricht größer ist als 56 Byte? Wird dann die Nachricht auf 112 Byte erweitert?
-
120
-
FrEEzE2046, wie kann man nur so auf dem Schlauch stehen...
Die Nachricht wird so erweitert, dass gilt
(Länge-In-Bits(Nachricht) [i]modulo[/i] 512) == 448
Dabei wirst zuerst ein Bit mit Wert 1 angehängt, und dann (solange nötig) Bits mit dem Wert 0.
Wie du auf die Idee kommen könntest dass der Hash-Wert irgendwie mit Padding versehen werden soll... keine Ahnung. Den Hash-Wert errechnest du ja erst, und der ist immer 128 Bit -- wieso sollte man da irgendein Padding dranhängen. Und wieso auf 448 Bit?
-
hustbaer schrieb:
Wie du auf die Idee kommen könntest dass der Hash-Wert irgendwie mit Padding versehen werden soll... keine Ahnung. Den Hash-Wert errechnest du ja erst, und der ist immer 128 Bit -- wieso sollte man da irgendein Padding dranhängen. Und wieso auf 448 Bit?
Komme ich überhaupt nicht. Ich habe nie gesagt, dass der Hash selbst vergrößert wird, sondern die Eingangsnachricht.
Ich hatte nur die Aussage nicht verstanden:
hustbaer schrieb:
Die Nachricht wird so erweitert, dass gilt
(Länge-In-Bits(Nachricht) [i]modulo[/i] 512) == 448
Warum ist mir jetzt auch nicht mehr klar. Ist ja eigentlich ganz einfach (56, 120, 184, 248, ...)
-
FrEEzE2046 schrieb:
hustbaer schrieb:
"Die Nachricht wird so erweitert, dass gilt
(Länge-In-Bits(Nachricht) [i]modulo[/i] 512) == 448
Warum ist mir jetzt auch nicht mehr klar.
Darauf willst du nicht wirklich eine Antwort, oder?
-
hustbaer schrieb:
Warum ist mir jetzt auch nicht mehr klar.
Darauf willst du nicht wirklich eine Antwort, oder?
die frage ist berechtigt. wahrscheinlich ist ohne dieses padding der output nicht 'zufällig' genug, bei bestimmten eingabedaten. warum das genau gemacht wird, steht im RFC auch nicht, musste wohl mal dem rivest 'ne mail schicken.
-
Ihm ist nicht klar warum er es vorher nicht kapiert hat!
-
Huch!
Eine dritte Möglichkeit wie man es verstehen kann
Ja, das wird er gemeint haben.Ich hatte es noch anders ausgelegt. Wenn man den Satz als rhetorische Frage liest, und böswillig etwas Zynismus unterstellt, bekommt er nämlich nochmal eine andere Bedeutung. Hihi. Hab ich wohl falsch interpretiert. Oops.