Allgemeines 22.007 Themen, 148.997 Beiträge

Was genau sind MD5 Prüfsummen? Und wie "prüft" man damit?

Silent Bob / 13 Antworten / Baumansicht Nickles

hallo allerseits.

was genau sind md5 prüfsummen? angeblich kann man damit ja überprüfen, ob z.b. eine runtergeladene datei in ordnung ist.

aber wie prüft man sowas? wie setzen sich prüfsummen zusammen? und was sind "Hash-Werte"? (den begriff höre ich des öfteren mal in verbindung mit "md5")

vielen dank

bei Antwort benachrichtigen
xafford Silent Bob „Was genau sind MD5 Prüfsummen? Und wie "prüft" man damit?“
Optionen

zuerst mal zu hash....hash ist nichts anderes als eine prüfsumme für eine menge von daten, unabhängig von der art, wie sie erzeugt wurde. md5 ist eine spezielle art der hashfunktionen. dabei wird aus einer menge von daten für die jeweiligen datenblöcke ein hashwert nach einem festen algorithmus erzeugt. falls es dich interessiert, der algorithums sieht flgendermaßen aus:
A := h0
B := h1
C := h2
D := h3
FOR t = 0 TO 63 DO
BEGIN
T := B + ((A + ft(B,C,D) + W(t) + Kt), Rk)
B := A
A := D
D := C
C := T
END
h0 := h0 + A
h1 := h1 + B
h2 := h2 + C
h3 := h3 + D

wobei Ft eine funktion ist, die für 4 wertebreiche (verschiedene stufen) einzeln definiert ist:

Ft(x,y,z):=(x^y)v((-,x)^z) für 0 Ft(x,y,z):=(x^y)v(x^z)v(y^z) für 16 Ft(x,y,z):=x+y+z (kein plus, sondern skalarprodukt, wenn ich mich recht erinnere) für 32 Ft(x,y,z):=y+(xv(-;z)) (wieder das skalarprodukt) für 48 und Kt sind Konstanten, abhängig von der stelle des algorithmus die über:
Kt:=|sin(t)|*230
definiert sind.
grundgedanke von md5 ist, daß es möglichst unwahrscheinlich ist, zwei grundgesamtheiten an daten zu finden, die den selben hashwert besitzen, der hashwert also möglichst speziell und kennzeichnend für die date ist, und daß es unmöglich ist mit anderen als brute force methoden aus dem hashwert und der kenntnis des algorithmus das urbild der daten wieder herzustellen.
nun mal ein ganz banales beispiel. du hast die datenmenge:
12345678 und willst daraus eine prüfsumme erstellen. du wendest also einen algorithmus auf diese datenmenge an, hier mal als beispiel einen ganz banalen, die quersumme:
1+2+3+4+5+6+7+8=36
dies ist allerdings ziemlich unsicher, da sich mit einfachen mitteln unzählige urbilder erzeugen lassen, die den selben hashwert haben, man muß den algorithmus also verfeinern:
aufteilen in datenblöcke:
1 2
3 4
5 6
7 8
einzelne quersummen bilden:
3 7 11 15
1 und 3 addieren :14
2 und 4 addieren :22
1 und 4 addieren :18
2 ud 3 addieren :18
die zahlen jeweils mit einer konstanten multipilieren und anschließen addieren.
jetzt wird es schon schwerer, einen 2. datensatz herzuführen, der genau den selben hashwert besitzt (was ich vergessenhabe ist, daß auch die größe der ursprünglichen datenmenge mt einbezogen wird).
es wird allerdings auch immer schwerer, die urprungsdaten aus dem errechneten hashwert zu ermitteln (was auch nicht sinn ist).
wenn nun allerdings die daten übermittelt werden und dazu ihr hashwert und die daten werden bei der übermittlung beschädigt, so stimmen grundmenge und hash nicht mehr überein, es steht also fest, daß die ursprungsdaten nicht mehr korrekt sind.
ich hoffe die erklärung bringt dir was, sie ist leider auch ziemlich unprofessionell und ich hoffe nciht allzu verkehrt ;o)

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen
Borlander xafford „zuerst mal zu hash....hash ist nichts anderes als eine prüfsumme für eine...“
Optionen

Weißt Du das alles auswendig?
Oder wo hasst Du das "geklaut"? ;-)

CU Borlander

bei Antwort benachrichtigen
xafford Borlander „Weißt Du das alles auswendig? Oder wo hasst Du das geklaut ? - CU Borlander“
Optionen

natürlich geklaut, wozu sitzt man denn an ner uni ;o)

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen
Heinz_Malcher Silent Bob „Was genau sind MD5 Prüfsummen? Und wie "prüft" man damit?“
Optionen

@ xafford: gibt es eigentlich etwas das du nicht kannst?? ;-D

bei Antwort benachrichtigen
Klaus_T Silent Bob „Was genau sind MD5 Prüfsummen? Und wie "prüft" man damit?“
Optionen

Und ueberprueft werden die mit:

md5sum (Datei)

Ich weiss allerdings nicht, ob Windows auch diesen Befehl kennt.

Bye, Klaus

bei Antwort benachrichtigen
FreddyK. Klaus_T „Und ueberprueft werden die mit: md5sum Datei Ich weiss allerdings nicht, ob...“
Optionen

Damit schon:

http://www.md5summer.org/


Gruß FreddyK.

Dieser Beitrag wurde unter Debian GNU/Linux 7.1 Wheezy verbrochen. https://de.wikipedia.org/wiki/Vorratsdatenspeicherung
bei Antwort benachrichtigen
Borlander Klaus_T „Und ueberprueft werden die mit: md5sum Datei Ich weiss allerdings nicht, ob...“
Optionen

Über Kommandozeile oder als eigenes Programm gibt es das nicht unter Windows. In der WIN32-API sind aber entsprechende Befehle vorhanden.

CU Borlander

bei Antwort benachrichtigen
Silent Bob Nachtrag zu: „Was genau sind MD5 Prüfsummen? Und wie "prüft" man damit?“
Optionen

hi leute!

vielen dank für die mühe.

ich hab zwar nicht viel kapiert, aber immerhin weiß ich jetzt wie man mit diesen md5 summen umgeht und wozu sie da sind.

thx

bei Antwort benachrichtigen
Silent Bob Nachtrag zu: „Was genau sind MD5 Prüfsummen? Und wie "prüft" man damit?“
Optionen

@borlander:

"in der Win32API sind entsprechende befehle vorhanden"???

und wie komme ich daran?

bei Antwort benachrichtigen
Borlander Silent Bob „Was genau sind MD5 Prüfsummen? Und wie "prüft" man damit?“
Optionen

>und wie komme ich daran?
Du solltest eigentlich mit jeder Entwicklungsumgebung für Windows Zugriff auf die API haben.
Welche Entwicklungsumgebung nutzt Du denn?

CU Borlander

bei Antwort benachrichtigen
Silent Bob Nachtrag zu: „Was genau sind MD5 Prüfsummen? Und wie "prüft" man damit?“
Optionen

"entwicklungsumgebung"???

bei Antwort benachrichtigen
xafford Silent Bob „ entwicklungsumgebung ???“
Optionen

z.b. microsoft visual studio, borland Jbuilder u.a...
im prinzip das, was frontpage und dreamweaver für webseiten sind, nur für die system-programmierung.

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen
ludwig. k. Silent Bob „Was genau sind MD5 Prüfsummen? Und wie "prüft" man damit?“
Optionen

@xafford, weltklasse erklärt!!!!!

gruss ludwig

bei Antwort benachrichtigen