Elderan: 128 Bit Schlüssel erzeugen

Beitrag lesen

Hallo,

Probiere selber: http://passcracking.com/
Der nimmt übrigens auch Deinen heißgeliebten Hexstring an ;-)

Wer lesen kann:

This project is dedicated to crack md5 hashes online through web interface. At the moment we can crack md5 hashes in this character range: a-z;0-9 [8]

Dies entspricht: 32^8 bzw. ca. 2^40.
Natürlich weiß man, dass ein 40 Bit Passwort deutlich zu schlecht ist.
Benutzt man allerdings ein 12 Stellenpasswort a-z;A-Z;0-9 ergibt sich daraus:
62^12 bzw. ca. 2^72. Dieses Passwort ist gegen normale Personen ausreichen sicher, denn die durchschnittlich Laufzeit O(2^71) ist noch zu groß für den Personen ohne super Computer.

Was für ein Paßwort das ist interessiert nicht, da lediglich ein String gesucht wird, der zum selbem Hash führt.

Aber es macht Sinn, diesen String im kleineren Raum zu suchen.

Um eine Kollision zu finden, ist Brute Force die schnellste Möglichkeit bei MD5, sofern die Nachricht vorgegeben ist.
Allerdings braucht man dann für eine Kollision durchschnittlich 2^127 Berechnungen.
Da aber Passwörter i.d.R. schlecht gewählt sind, überprüfe ich erst die Strings mit einer Länge von 1,2,3,4,5,6,7,8.
Da braucht man nur ca. 2^40 Berechnungen.

Super, es gibt ja nur: 2^128 Möglichkeiten, um _nur_ die Hashwerte zu speichern braucht man also: 2^128*128 Bit = 4*10^40 Bits oder ca. 5 Quadrilliarde Terrabyte. Und dann muss man dazu noch das Passwort speichern...

Nein, das ist nicht korrekt, das geht auch deutlich geschickter.

Es gibt den Memory-Trade-Off-Angriff. Dort tauscht man Speicherplatz gegen Rechenzeit.
Das Verhältnis ist meistens:
Rechenzeit^(2/3)
Speicherplatz^(1/3)
(Kann man aber auch entsprechend anpassen).

Das bedeutet für die Rechenzeit: (2^128)^(1/3) = 4,8E+25
Dies liegt nicht im Bereich des möglichen, sofern man keine Supercomputer besitzt.

Passwörter bis zur länge 10 können so relativ schnell, mit entsprechend viel Vorberechnungen, geknackt werden. Aber ein 10 stellen Passwort ist kein _gutes_ Passwort.

Und um diese Tabelle zu berechnet, benötigt man 2^128*x Rechenschritte (x: Rechenschritte pro MD5 Hash).

Ja, das ist korrekt.

Also dauert es (fast) ewig diese Tabellen komplett zu berechnen. Auch wenn man die Leistung aller Computer bündelt.

Gehen wir davon aus, 10 Mrd. Computer schaffen es in 1 Sekunde 10 Mrd. Hashwerte zu genieren.
Man bräuchte für die vollständige Berechnung der Tabelle immernoch ca. 107 Mrd. Jahre.

Aber dieses Verfahren funktioniert bei allen Hashverfahren, egal ob MD5, SHA1 oder Hashverfahren auf diskreten Logarithmen.

Brute Force funktioniert immer, ja. Aber ist ja kein Brute Force bei MD5 mehr nötig, das ist ja der Witz.

Wie heißt dann der neue super Angriff? Kollisionen kann man nicht effektiv bei MD5 Berechnen, sofern die Nachricht/Passwort vorgegeben ist.
Was man sehr leicht finden kann, sind zwei verschiedene Nachrichten mit dem gleichen Hashwert, aber dies ist bei der Passwortabfrage nicht gegeben.

Sonst beweise mir das Gegenteil. Ich gab dir den Hashwert eines 10 Zeichenlangen Strings (a-z;0-9). Wenn es so trivial einfach für dich ist, dann liefern mir eine Kollision. Das Passwort hat _nur_ eine stärke von 50 Bit.

Bei schlechten Passwörtern hilft das beste Hashverfahren nicht, dafür ist der User zuständig....

Schlechte Paßwörter gibt es bei Brute Force nicht, da sind alle gleich.

Wenn ich weiß das der User ein 4 Zeichen langes Passwort wählt, dann kann ich das Passwort deutlich schneller knacken, als wenn der User ein 16 Zeichen langes Passwort wählt.

Denn: 32^4 = 1048576 Möglichkeiten (mit PHP Script lösbar)
32^16 = 1,20893E+24 Möglichkeiten

Grüße
Elderan

0 47

128 Bit Schlüssel erzeugen

sp7
  • programmiertechnik
  1. 0
    Elderan
    1. 0
      Sven Rautenberg
      1. 0
        Alexander Brock
        1. 0
          Elderan
          1. 0
            Christoph Zurnieden
            1. 0
              Alexander Brock
            2. 0
              Elderan
              1. 0
                Christoph Zurnieden
                1. 0
                  Elderan
                  1. 0
                    Christoph Zurnieden
                    1. 0
                      Elderan
                      1. 0
                        Christoph Zurnieden
                        1. 0
                          Christian Kruse
                          1. 0
                            Christoph Zurnieden
                            1. 0
                              Christian Kruse
                        2. 0
                          Elderan
                          1. 0
                            Christoph Zurnieden
                            1. 0
                              Alexander Brock
                              1. 0
                                Christoph Zurnieden
                                1. 0
                                  Christian Kruse
                                  1. 0
                                    Elderan
                                    1. 0
                                      Christian Kruse
                                      1. 0
                                        Elderan
                                        1. 0
                                          Christian Kruse
                                          1. 0
                                            Elderan
                                            1. 0
                                              Christian Kruse
                                              1. 0
                                                Alexander Brock
                                                1. 0
                                                  Christoph Zurnieden
                                                  1. 0
                                                    Alexander Brock
                                                  2. 0
                                                    Henryk Plötz
                                                    1. 0
                                                      Christoph Zurnieden
                                                2. 0
                                                  Christoph Zurnieden
                                                  1. 0
                                                    Alexander Brock
                                                    1. 0
                                                      Christoph Zurnieden
                                                      1. 0
                                                        Alexander Brock
                                                        1. 0
                                                          Christoph Zurnieden
                                        2. 0
                                          Christoph Zurnieden
                                      2. 0
                                        Henryk Plötz
                                        1. 0
                                          Christoph Zurnieden
                                    2. 0
                                      Christoph Zurnieden
                                      1. 0
                                        Henryk Plötz
                                        1. 0
                                          Christoph Zurnieden
                            2. 0
                              Elderan
                              1. 0
                                Christoph Zurnieden
              2. 0
                Christian Kruse
    2. 0
      Henryk Plötz