MD5 - nach den RFC Vorgaben selber basteln |
20.02.2005, 18:03 | jokin | Auf diesen Beitrag antworten » | ||||||
MD5 - nach den RFC Vorgaben selber basteln im moment erweitere ich meinen horizont aufm gebiet der kryptographie. drum versuche ich gerade eine eigene md5 funktion zu programmieren. wie genau man dabei vorzugehen hat, ist glücklicherweise für jeden zugänglich in der rfc 1321 (http://www.faqs.org/rfcs/rfc1321.html) dokumentiert. allerdings machen mir ein paar ausdrücke probleme. zum beispiel was genau nun "low order" und "high order" sind.
besonders problematisch wird das auch beim initialisieren der buffer:
bis jetzt mach ich das so, dass ich mir eben immer die zwei ziffern anstatt als hexadezimale zahl als 8 stellige binärzahl denke und diese dann eben einfach in reihe schreibe. so dass die 67 die stellen von 1 bis 128 (also die zahlen von 0 bis 255), die 45 dann die stellen von 256 bis 32768 (also zahlen von 256 bis 65536) usw... ist das so gedacht? und bei der interpretation dieser anweisung bin ich mir auch noch nicht schlüssig:
heißt das, ich soll einfach die "zahlenwerte" der words addieren und danach mittels mod 2^32 sicher stellen, dass der neue zahlenwert ebenfalls in ein word passt? wäre nett, wenn sich n paar leude vom fach dazu melden danke |
||||||||
20.02.2005, 18:49 | AD | Auf diesen Beitrag antworten » | ||||||
RE: MD5 - nach den RFC Vorgaben selber basteln
Damit ist ziemlich klar dargelegt, wie z.B. word A: 01 23 45 67 aufzufassen ist, in C-Notation A = 0x67452301 Genauso werden Zahlen in der im PC-Bereich üblichen Intel x86 Architektur gespeichert, sogenanntes Little Endian. Also gerade nicht so, wie du hier
vermutet hast - das wäre die Variante "high-order (most significant) byte first", so wie sie (glaube ich) u.a. bei den Apple Macs zum Einsatz komm, sogenanntes Big Endian. Insgesamt ist das aber eher eine Frage für das Informatiker-Board: http://www.informatikerboard.de/ |
||||||||
21.02.2005, 01:45 | Poff | Auf diesen Beitrag antworten » | ||||||
RE: MD5 - nach den RFC Vorgaben selber basteln
auf Assemblerebene brauchst bei 32Bit Registern nur drauf achten, dass ohne das Carry addiert wird, dann wird das automatisch modulo 2^32 und weiter solltest aufpassen, dass du nicht mit dem word-Begriff in unbeachtete Probleme gerätst. 'Üblicherweise' ist ein word 16Bit breit und 32Bit sind ein double word (dword) so kenne ich das jedenfalls. Kein Problem wenn das hier so verwendet wird, aber du musst genau darauf achten dass das auch überall der Fall ist. . |
||||||||
21.02.2005, 08:27 | kurellajunior | Auf diesen Beitrag antworten » | ||||||
RE: MD5 - nach den RFC Vorgaben selber basteln Hi, Genau für solche Fragen gibt es jetzt das Informatikerboard -> theoretische Informatik. Solche Fragen ruhig da stellen dann haben alle was davon... Jan |
||||||||
21.02.2005, 15:12 | jokin | Auf diesen Beitrag antworten » | ||||||
wusst nix von der existenz eines informatiker boards... kenn eben nur zufällig nen admin von dem board hier vonner schule, weshalb ich dachte, es kann nich schaden, ma hier reinzuschaun. zur technik: ich programmier in delphi (mit c syntax konnte ich mich einfach nich anfreunden, weshalb meine umschulungsversuche bisher nie erfolg hatten ^^) meine words und bytes und so weiter hab ich alle "selbst gebastelt" aus arrays von booleans. so bin ich mit der länge und größe auf der sicheren seite. für die operationen mit den daten hab ich dann jeweils funktionen geschrieben. zb für die addition oder für das zuweisen einer "normalen dezimalschreibweisen zahl" in einen 8er boolean block eines größeren arrays usw was mich jetzt grad stört: weiter unten kommt dann die sinus funktion ins spiel. es heißt, man solle eine tabelle T anlegen mit 64 elementen die sich durch den abs(sin(x)) mal irgendwas ergeben (x in rad) und die tabelle sei im anhang gegeben... dort hab ich die tabelle jedoch nich gefunden... meint ihr, dass ich die werte mit der delphi sin funktion selbst berechnen kann, oder ist das nicht genormt (auf wieviele stellen etc)? |
||||||||
21.02.2005, 15:13 | kurellajunior | Auf diesen Beitrag antworten » | ||||||
Anmerkung am Rande: Die Admins dieses Boards sind auch Admins des Informatikerboards Jan |
||||||||
Anzeige | ||||||||
|
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
Die Neuesten » |
|