Hi.
Bin relativ neu hier aber ich wollte trotzdem mal etwas bekanntgeben bzw. euch Fragen, ob man mit meiner neuen Methode etwas anfangen kann xD
Es geht darum, dass ich mir gerade in meiner Freizeit Gedanken über die Speicherreduzierung von MD5-Rainbowtables gemacht habe und jetzt weiß ich nicht genau ob das überhaupt ein "Durchbruch" ist bzw. ob das überhaupt sooo nützlich ist.
Folgendes:
Ich habe mir eine Methode ausgedacht, mit der man die gesamtspeichergröße der kompletten MD5-Rainbowtables (also wirklich 100% ALLER möglichen MD5-Hashes) auf 49 Trilliarden TB "verkleinert".
Das klingt jetzt erstmal imemr noch extrem viel xD Aber... man kann meine Methode auch auf Teil-Rainbowtables anwenden. Also..... ka.... z.B. nen Rainbowtable, das nur Zahlen, kleine Buchstaben und nur maximal 10 stellen lang ist.
Meine neue Komprimierungsrate lautet wie folgt:
Von der gesamtgröße der jeweiligen table (also 2 spalten, einmal klartext und einmal MD5) wird erstmal 50% abgezogen und von den restlichen 50% werden dann nochmal 99,98 % abgezogen. Was dann noch übrig bleibt, ist die neue gesamtspeichermenge für die rainbowtable. Es kommt dann noch nen overhead von vllt. 10 kb oder so dazu, je nachdem wie man gewisse dinge gerne handhaben möchte.
Da mit meiner Methode die table in kleinere Abschnitte unterteilt wird, ist das durchsuchen auch ziemlich performant. Man könnte es z.b. so handhaben, dass man jeden MD5-Hash innerhalb von maximal einer Stunde gefunden hat (je schneller der Hash gefunden werden soll, desto mehr overhead braucht meine Methode. Allerdings bewegt sich der overhead im Byte- bzw. maximal im Kilobyte-Bereich).
Allerdings hat mein System einen Nachteil:
Das erstellen dieser "speziellen Tables" dauert länger als die normalen Tables. Aber wenn man eine vorhandene table nimmt und diese dann nur in mein table-format umwandelt um speicherplatz zu sparen, geht es natürlich genauso rasend schnell, da die table an sich ja schon existiert.
Also.... alles verstanden?
Sagen wir also, dass wir eine Rainbowtable haben mit Zahlen, Kleinbuchstaben und maximal 10 stellen.
Sagen wir, dass diese table mit normalen 2 spalten ca. 100 GB groß wäre (ist vermutlich viel zu klein aber ist ja nur nen Beispiel).
Dann würde meine umkonvertierung erstmal 50 GB sparen und dann nochmal 99,98 % vom Rest.
Übrig blieben dann ca. 10.737.418 Byte groß, also ca. 10 MB.
Wie ich oben schon erwähnt habe, kann man trotdem noch nicht die gesamten MD5-Hashes speichern, da man wohl kaum die "reduzierten und kleinen" 49 Trillionen TB irgendwo "frei" hat (ursprünglich würde man etwas über 99 Quadrillionen brauchen ^^°).
Klingt das System trotzdem interessant?
Wollte erstmal eure Meinung generell dazu haben, bevor ich die Methode an sich hier reinstelle und beschreibe (obwohl sie eigentlich total easy ist)
Gruß
spYro
Bin relativ neu hier aber ich wollte trotzdem mal etwas bekanntgeben bzw. euch Fragen, ob man mit meiner neuen Methode etwas anfangen kann xD
Es geht darum, dass ich mir gerade in meiner Freizeit Gedanken über die Speicherreduzierung von MD5-Rainbowtables gemacht habe und jetzt weiß ich nicht genau ob das überhaupt ein "Durchbruch" ist bzw. ob das überhaupt sooo nützlich ist.
Folgendes:
Ich habe mir eine Methode ausgedacht, mit der man die gesamtspeichergröße der kompletten MD5-Rainbowtables (also wirklich 100% ALLER möglichen MD5-Hashes) auf 49 Trilliarden TB "verkleinert".
Das klingt jetzt erstmal imemr noch extrem viel xD Aber... man kann meine Methode auch auf Teil-Rainbowtables anwenden. Also..... ka.... z.B. nen Rainbowtable, das nur Zahlen, kleine Buchstaben und nur maximal 10 stellen lang ist.
Meine neue Komprimierungsrate lautet wie folgt:
Von der gesamtgröße der jeweiligen table (also 2 spalten, einmal klartext und einmal MD5) wird erstmal 50% abgezogen und von den restlichen 50% werden dann nochmal 99,98 % abgezogen. Was dann noch übrig bleibt, ist die neue gesamtspeichermenge für die rainbowtable. Es kommt dann noch nen overhead von vllt. 10 kb oder so dazu, je nachdem wie man gewisse dinge gerne handhaben möchte.
Da mit meiner Methode die table in kleinere Abschnitte unterteilt wird, ist das durchsuchen auch ziemlich performant. Man könnte es z.b. so handhaben, dass man jeden MD5-Hash innerhalb von maximal einer Stunde gefunden hat (je schneller der Hash gefunden werden soll, desto mehr overhead braucht meine Methode. Allerdings bewegt sich der overhead im Byte- bzw. maximal im Kilobyte-Bereich).
Allerdings hat mein System einen Nachteil:
Das erstellen dieser "speziellen Tables" dauert länger als die normalen Tables. Aber wenn man eine vorhandene table nimmt und diese dann nur in mein table-format umwandelt um speicherplatz zu sparen, geht es natürlich genauso rasend schnell, da die table an sich ja schon existiert.
Also.... alles verstanden?
Sagen wir also, dass wir eine Rainbowtable haben mit Zahlen, Kleinbuchstaben und maximal 10 stellen.
Sagen wir, dass diese table mit normalen 2 spalten ca. 100 GB groß wäre (ist vermutlich viel zu klein aber ist ja nur nen Beispiel).
Dann würde meine umkonvertierung erstmal 50 GB sparen und dann nochmal 99,98 % vom Rest.
Übrig blieben dann ca. 10.737.418 Byte groß, also ca. 10 MB.
Wie ich oben schon erwähnt habe, kann man trotdem noch nicht die gesamten MD5-Hashes speichern, da man wohl kaum die "reduzierten und kleinen" 49 Trillionen TB irgendwo "frei" hat (ursprünglich würde man etwas über 99 Quadrillionen brauchen ^^°).
Klingt das System trotzdem interessant?
Wollte erstmal eure Meinung generell dazu haben, bevor ich die Methode an sich hier reinstelle und beschreibe (obwohl sie eigentlich total easy ist)

Gruß
spYro