Hash-Algorithmen

Elcrian

Commander
Registriert
Feb. 2008
Beiträge
2.493
Hallo,
was wäre ein guter Anfang um sich in das (theoretische) Thema der Hash-Kryptologie einzuarbeiten? Ich habe nun heute Abend einige deprimierende Zeit versucht den MD5-Algorithmus nachzuvollziehen und soeben resigniert. Vielleicht sollte man mal etwas niedriger stapeln. :D

Es geht um ein theoretisches und praktisches (Java) Verständnis und Nachvollziehen.

mfg
 
http://www.heise.de/developer/artik...des-Advanced-Encryption-Standard-1350362.html

wird ziemlich harter toback werden.
ich such dir mal was aus meiner schulzeit und editier danach nochmal wenn ichs gefunden hab

/edit: hätte was gefunden. pn mit deiner echten mail dann schick ichs dir.
/edit2:nachdem nichts kommt... solls ruhig für alle anderen interessierten auch lesbar sien.

das haben wir damals vor 4 jahren oder so in der schule gemacht
http://www.file-upload.net/download-3812039/WLA.doc.html
war natürlich alles zeitlich begrenzt und nur ein einstieg in die kryptographie.
das programm find ich toll wo man ausprobieren kann was welche verschlüsselung macht.
weiters ist dort eine genauere beschreibung jedes verfahrens dabei!!!!
hier der link dazu:
http://www.cryptool.org/index.php/de/about-topmenu-42.html
 
Zuletzt bearbeitet:
@Elcrian: Ich kann die Frage nicht nachvollziehen. Du spricht von theoretisch, und im nächsten Satz bringst du Java (eindeutig praktisch) ins Spiel. Was willst du denn jetzt nachvollziehen? Die Mathematik hinter MD5 oder die Implementierung in Java?
 
Hey, was genau verstehst du an MD5, bzw. an Hashfunktionen allgemein nicht? Ganz grob:

Hash bilden einen großen Definitionsbereich auf einem beschränkten Zielbereich (die Hashwerte) ab. Dabei wäre es optimal, wenn jede Eingabe eine total zufällige Ausgabe ergäbe. Leider gibt es bei Hashfunktionen immer Kollisionen, was aus der Abbildung von großen auf kleinen Raum liegt. Eine Kollision ist dabei so definiert:

Gibt es zu einem x ein x' (mit x ungleich x') so das die Hashwerte von x und x' die gleichen sind, so hat man eine Kollsion.
 
azereus schrieb:
Ich bin einfach nicht 24/7 online. Danke für die Link und die Datei, schaue ich mir an. :)

IceMatrix schrieb:
Grundverständnis -> aha! -> nachbauen. :D

Shagg schrieb:
Mein Verständnisproblem liegt nicht an Hashfunktionen allgemein; das ist ja einfacher Kram, sondern bei dem konkreten MD5-Algorithmus.
Einerseits wird der Input binär dargestellt und in 512-bit-Blöcke geteilt; damit es keinen Rest gibt wird an den String eine 1 + sowie n-mal (512-Länge-64, 64bit vor Erreichen der Teilbarkeit durch 512) eine 0 + 64bit die die Länge des Ausdruckes angeben. Korrekt?
Das ist aber ja nur das Splitting, dann kommt der eigentliche Algorithmus. Wo kommen die Konstanten her? Was sind die Zahlen-Arrays (r[ 0..15] := {7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22}), was die anderen Variablen (var uint h0 := 0x67452301)? Und wie arbeitet man mit den booleschen Anweisungen bzw. wie funktioniert der eigentliche Algorithmus? Ich finde da keinen Anfang. :freak:

[GP] mino schrieb:
du kannst auch ohne hashfunktionen auskommen. such mal nach one-time-pad :)
Mache ich mal, mich interessiert es aber trotzdem. Es geht ja nicht ums Benutzen - MD5, SAH-2 etc. kann ich mir im täglichen Gebrauch ja sogar was Java angeht intern berechnen lassen.
 
Elcrian schrieb:
Wo kommen die Konstanten her?
meist: Nothing up my sleeve number[/quote]

Elcrian schrieb:
der Pseudocode zeigt ja, wie man ihn implementiert. Warum welche Operationen durchgeführt werden, ist für uns normalsterbliche zu hoch. Da sitzen Mathematiker/Kryptographen lange Zeit daran, um sich diese Algorithmen auszudenken und dass diese gewisse Anforderungen erfüllen und wiederum gegen bekannte Angriffsarten sicher sind. Also das geht weit über das hinaus, womit wir uns beschäftigen.
Selbst in einer Kryptographie-Vorlesung an einer Uni wird das nicht behandelt, sondern weit trivialere Dinge, z.B. RSA.


Deine Wissensbegierde ehrt dich, aber das ist ein Bereich in dem du mit ziemlicher Sicherheit nie Fuß fassen wirst.
 
Zurück
Oben