PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ein MD5 Hash und Unendlich Passwörter dafür ?



jesus010
30.07.2008, 23:34
Hi,

also das es für einen md5 hash nicht unendlich passwörter gibt ist klar, aber ich hab mir mal folgendes überlegt:

also angenommen man hat ein passwort mit 4 stellen, und man kann die zahlen 0-9 dafür einsetzten, dann ergibt das 10^4 möglichkeiten, also 10000.

wenn mann jetzt aus den zeichen a-z und 0-9 auswählt und ein 32 stelliges passwort hat, ergibt das 36^32 möglichkeiten, also nicht ganz 64000000000000000000000000000000000000000000000000 0

ja das ist schon ne menge, und es müsste genausoviele verschiedene md5 hashes geben.

nehmen wir einfach mal äü und ö dazu, und bilden 32 stellige passwörter ergibt das 39^32 möglichkeiten, also mehr als es md5 hashes gibt, daraus folgere ich, das ein md5 hash für mehrere passwörter stehen muss, oder wie ?

mfg

jesus

bizzit
30.07.2008, 23:35
Es gibt doch noch Sonderzeichen , dann gibt es nen Unterschied zwischen Groß- und kleinschreibung.

Tix
30.07.2008, 23:38
hö was willst du ?


ein md5 hash hat immer 32 stellen oO ? kp was du meinst sry :p

Hamtaro
30.07.2008, 23:42
Da hst du recht, da es unendlkiche viele Möglichkeiten für einen Plaintext gibt, von "1234" bis zum Quellcode von Windows Vista, aber nur eine bregrenzte Anzahl md5 hashes, kommen mathematisch auf jeden md5 unendlich viele Plaintexte

jesus010
31.07.2008, 00:10
kann mir jemand nen beispiel geben ?

Hamtaro
31.07.2008, 00:24
das jetzt nicht, und wer sich allein schon die vielen vielen möglichkeiten ausrechnet, weiß warum. ;)
128 bit fasst ein md5 hash, ein bit hat die zustände 0 oder 1, also nach Adam Riese und Schürmans Rechenbuch:
2 hoch 128 = 3,40282367 × 10 hoch 38
viel spaß beim durchprobieren ;)
ps:
http://www.wer-weiss-was.de/theme9/article2234027.html

36c
31.07.2008, 08:43
stellen, und man kann die zahlen 0-9 dafür einsetzten, dann ergibt das 10^4 möglichkeiten, also 10000.
wenn mann jetzt aus den zeichen a-z und 0-9 auswählt und ein 32 stelliges passwort hat, ergibt das 36^32 möglichkeiten, also nicht ganz 64000000000000000000000000000000000000000000000000 0
ja das ist schon ne menge, und es müsste genausoviele verschiedene md5 hashes geben.

Ein Md5 ist immer 32 Zeichen lang und hat nur die Zeichen a-f 0-9 enthalten, das sind 16. Um jetzt die Anzahl aller möglichen einzigartigen MD5 herauszufinden muss man einfach 16^32 rechnen was etwa 3,4x10^38 ergibt.

Ich weiß zwar nicht genau was du damit ausrechnen willst, aber hey, Mathe ist immer cool.

necory
31.07.2008, 09:50
willst du auf md5 kollisionen hinaus?

jesus010
31.07.2008, 11:05
Ich hab etz keinen Plan was man unter ein md5 kollisin versteht, aber wäre auch nett, wenn du mir das erklären kannst, ich denke das ist bei rainbowtables der fall, wenn man inerhalb einer chain mehrmals den selben plaintext hat.

maoshe
31.07.2008, 11:07
das was er meint ist, dass es "nur" 10^32 md5-hashes gibt, es aber mehr passwort-kombinationen gibt. dazu kommt noch, dass man von dateien auch md5s errechnen kann...
die frage beschäftigt mich auch schon lange

36c
31.07.2008, 12:46
das was er meint ist, dass es "nur" 16^32 md5-hashes gibt, es aber mehr passwort-kombinationen gibt.

Die Anzahl an md5 Möglichkeiten ist begrenzt, korrekt.
Die Anzahl an Zeichenkombinationen ist nahezu unendlich.
Der Fehler im System ist wie so oft der Mensch der schlechte Passwörter nimmt. Doch dagegen wird inzwischen mit Salts angegangen.

Eine Kollision ist wenn:
md5('hallo') == md5('holla')
was natürlich sehr selten auftritt bei den Zahlenmengen von denen wir hier sprechen.

Lidloses_Auge
31.07.2008, 18:24
Er meint es einfach folgendermaßen:

Lim Plaintextpasswortmöglichkeiten → ∞
MD5 Möglichkeiten = 36^32

Lim Plaintextpasswortmöglichkeiten / MD5 Möglichkeiten → ∞

Q.E.D