[Versuch] Hash's entschluesseln..

Suchfunktion

Erfahrenes Mitglied
Hallo.

Als erstes:
Ja ich weiss, Hash's kann man nicht entschluesseln, aber wuerdet ihr euch den Thread durchlesen wenn ich irgendeinen langweiligen Titel genommen haette? *grins*

Naja, aber es geht schon um das entschhluesseln von Hash's, bzw. das 'umgehen' der entschluesselung um an den Inhalt zu kommen.

Es gibt natuerlich viele Ideen, Theorien, etc. zu dem Thema und jetz dachte ich mir dass ich das ja einfach mal ausprobieren koennte und zwar so, wie Kevin Mitnick es in seinem Buch beschrieben hatte:

1.) Grosse Wort-List schnappen
2.) Wort auslesen und in einen Hash verwandeln, dann mit dem Haupt-Hash (der, dessen Inhalt man wissen moechte) vergleichen.
3.) Wenn die Hash's uebereinstimmen, dann ausgabe des Wortes, wenn nicht, dann zurueck zu Punkt 2 mit dem naechsten Wort aus der Wort-Liste..

usw.

Also einfach bekannte Hash's mit unbekanntem Hash vergleichen bis eine Uebereinstimmung vorhanden ist.

Ich weiss natuerlich, dass durch diese Art des Ablaufes mehrere Woerter am Ende richtig sein koennten, das is ja das 'gemeine' an hashes.. aber trotzdem waer es mal einen Versuch wert so ein 'Tool' zu erstellen.
(Natuerlich isses dann Opensource, hab Kommerz nicht noetig ;))

Ich weiss, ziemlich aufwendig, aber hab ja jetz erstmal Urlaub und genug Zeit dafuer ^^


Jetz zum Thema des Thread's:
Da dies ziemlich rechner- und Zeitintensiv ist, den Hash-Inhalt herauszufinden, sollte es schon eine moeglichst schnelle Anwendung werden, also muss es auf einer schnellen Programmiersprache basieren.

Aber welche?
Habt ihr irgendwelche Info's fuer mich?
Welche Programmiersprache(n) waere(n) dafuer am besten geeignet?

Danke im Voraus.

mfg
(Der manchmal ganz schoen beknackte) Suchfunktion
 
Zuletzt bearbeitet:
Erstmal:
Hashes haben mit Ver-/Entschlüsselung rein gar nichts zu tun. Die beiden sollte man nichtmal im gleichen Satz bzw. Absatz erwähnen.

Ad Tool:
Wenn du dich mit Performance und Optimierungen auseinandersetzen willst, wäre es vielleicht gar nicht so schlecht, dich einem Thema zu widmen, welches nicht so einfach misbraucht werden kann. Ich weiß, in meiner Antwort liegt nicht sehr viel Vertrauen, aber sieh dir das Internet heute an und du weißt warum.
Prinzipiell sollte so ein Programm kein Problem darstellen, aber macht es Sinn? Ich denke nicht.

"Schnelle Programmiersprache"
Was verstehst du unter einer schnellen Programmiersprache? Hier gilt es wohl darauf zu sehen, dass der vom Programmierer erzeugte Code performant und nicht speicherverbrauchend ist.
Viele werden jetzt wieder schreiben, dass hier Java bzw. .NET nicht das Optimum wäre. Nun, beide brauchen vermutlich länger um zu laden, danach machts aber keinerlei Unterschied mehr - wie gesagt, es hängt vom Code ab und sicherlich nicht von der Programmiersprache (bzw. nur zu einem sehr sehr geringen Teil).
 
Zuletzt bearbeitet:
Ich weiß, in meiner Antwort liegt nicht sehr viel Vertrauen, aber sieh dir das Internet heute an und du weißt warum.

Jup, ne menge misstrauen.. kann ich aber verstehen!

Prinzipiell sollte so ein Programm kein Problem darstellen, aber macht es Sinn? Ich denke nicht.

Der Sinn ist die Frage, der absolut jede Erfindung/Revolution zugrunde liegt:
Ist es moeglich?

Es ist ja schliesslich so, ob ich das mache oder nicht ist voellig egal, da es vermutlich eh genug typen gibt die soetwas oder aehnliches vorhaben, aber damit wirklich shice bauen wollen. Ich habe nicht wirklich die absicht damit irgendwas illegales anzufangen. Ich bin mehr so der Typ der einfach irgendwas ausprobieren will, was ihm durch den Kopf schiesst, wie man an vielen meiner Beitraegen erkennen kann..

Es ist einfach der Drang mal etwas neues auszuprobieren.
 
Wie soll ich sagen? Deine Idee is kacke :) War jetzt hart is aber so :p

Selbst ich hab mir darüber gedanken gemacht und fände diesse Lösung wesentlich interresanter:
Man erzeugt einfach die hashes für alle Wörter bis Stelle hm 6 oder so und speichert die in ne DB. Einfache Rechnung mit ner indizierten db: 1milliarde schlüssel --> 500 millionen --> 250 millionen --> 125 m --> 70 --> 35 --> 14 --> 7 etc. man sieht (wenn man jetzt verstanden hat was ich meine :p) das suchen ansich geht verdammt fix. Nur das EIntragen würd bisl lang dauern.
 
Code:
Es gibt natuerlich viele Ideen, Theorien, etc. zu dem Thema und jetz dachte ich mir dass ich das ja einfach mal ausprobieren koennte
...es gibt genug praktische Beispiele... du kannst sicher sein, dass es auf dem Gebiet keinen Gedanken gibt, der noch nicht gedacht und in die Tat umgesetzt wurde:)

Bruteforce-Tools mit Wortlisten gibts genug, Sicaines Idee ist sicher effektiver, und auch dafür gibts bereits Tools, welche diese Hash-Tabellen erstellen.... fertige hash-Tabellen kann man sich bei Bedarf auch auf DVD bestellen :suspekt:
 
Naja, die Sache is ja die, dass ich nicht auf so ein Tool angewiesen bin..

Bei mir geht es ganz allein um die erstellung.. es geht darum, selber so ein ding zu programmieren, und nich sowas gezielt irgendwo einzusetzen..
 
Das Problem an der Sache ist halt, dass es ewig dauert.

Welche Sprache das am Schnellsten machen könnte, weiss ich nicht.... aber selbst bei einer sehr schnellen Ausführung dauert das Zusammenstellen halbwegs brauchbarer Datenmengen(auf normalen Systemen) immer noch Jahre, wenn nicht gar Jahrzehnte.
 
So mal bisl was statistisches:
Wenn wir berücksichtigen Wörter mit einer max. Länge von 7 Zeichen zu benützen und klein, großschreibung, zahlen und öäü zu berücksichtigen, sind wir bei 68 Zeichen.

68 Zeichen würen bei 7 Stellen 3.521.614.606.208 Möglichkeiten. Wenn wir davon ausgehen, dass wir die Position des Hashes berechnen können(also das Wort dfj83 müsste an Pos xy stehen) bräcuhten wir die namen nicht mitspeichern und würden so auf 10,24 Terrabyte Daten kommen. Ansich kein Problem wir bräuchten aber min. ein Raid - 1 :p (Kostenpunkt irgendwas mit 1000 bis 2000 Euro. So da das Raidsystem sowieso nur optimal auf nem Serverboardlaufen würde und da auch meistens 2 xeon 2,4 Ghz drauf passen, können wir von 5Ghz ausgehen. Ichhatte hier nur 2,8 und WinXP laufen und dann noch php und mysql benützt und bin so im durchschnitt auf nur 1k Hashschlüssel pro Sekunde gekommen. Dijeser Faktor wird einmal durch prozigeschwindigkeit auf min. 2k erhöht dann dadurch dass wir das ganze in ass optimieren und c++ benützen, kommen wir auf 4k da wir ja auch direkt auf die HDD dann schreiben würden und nich mehr in die DB. Also auf jeden fall 4k schlüssel pro sek wären dass immer noch 27,9 Jahre. Wenn wir aber davon ausgehen, dass wir wörterlisten benützen etc. könnten wir den Markt eine Trefferchance von 50% liefern. Die Betriebskosten pro tag wären aber min. (leicht untertrieben :) ) so bei 100 bis 500 Euro und die müsste man dann auch reinbekommen. Ob der Markt da is? ^^
 
hi Sicaine,

Nice Statistik.

Wollt nur mal fragen wie du auf 3.521.614.606.208 Möglichkeiten kommst.( !Das ist keine Kritik! )
Ich hab so gerechnet 68^7 =6.722.988.818.432 Möglichkeiten. Allein schon 7-stellige Wörter.
Hab ich was übersehn?

Mfg Col.Blake
 
Ups haste recht :) Warn Fehler in meiner Exceltabelle :p

Bei 68 Möglichkeiten sind es 19,5 Terrabyte und es würde bei 4k glatte 53Jahre dauern .
 
Zurück