• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

Udo Vetter: TrueCrypt Passwort mindestens 17 Zeichen

usefulvid

Neu angemeldet

Registriert
25 Feb. 2015
Beiträge
336
Udo Vetter erwähnt auf seinen Vorträgen, dass Behörden sich gar nicht an TrueCrypt rantrauen, wenn das Passwort länger als 17 16 Zeichen ist. Jetzt frage ich mich nur woher weiß man denn vorher wie lange das Passwort ist?
 
Zuletzt bearbeitet:

mathmos

404

Registriert
14 Juli 2013
Beiträge
4.415
Kannst du bitte angeben ab welcher Minute diese Aussage im verlinkten Video getroffen wird?
 

virtus

Gehasst

Registriert
24 Apr. 2015
Beiträge
1.689
Ort
AUF DEM MOND
Vetter sagt nur, dass er häufig davon hört, dass eine Verschlüsselung häufig nicht geknackt werden kann, wenn es sich um "vernünftige" (unter Crypto-Analytikern "starke") Passwörter handelt, mit denen verschlüsselt wurde. Er schätzt, dass vernünftige Passwörter ab einer Länge von 16 Stellen vorliegen.
A. Ist das seine Einschätzung, nicht aber zwangsweise die Ansicht der Behörden.
B. Heißt das nicht, dass die tatsächliche Länge der Passwörter bekannt ist.

Bei einem Angriff auf die Verschlüsselung, der wohl von den Behörden vorgenommen wird, werden Standardpasswörter (Passwortlisten) oder Bruteforce-Angriffe angesetzt. Dabei versucht man mehr oder weniger intelligent das Passwort des Nutzers zu erraten.
Diese Angriffe haben nur eine Chance, wenn der Nutzer sog. schwache Passwörter wählt. Bspw. "Gott", "Sex", "1234", "Passwort", "Passwort1234", seinen Namen, den Namen des Partners etc.
Wählt der Nutzer ein sog. starkes Passwort (Zeichenwirrwarr), dann gelingt der oben geschilderte Angriff nicht. (Bruteforce wäre prinzipiell erfolgreich, aber der Angriff braucht schlicht zu viel Rechenzeit, um einen Erfolg zu erzielen!) In diesem Fall weiß die Behörde zwar nicht die Länge des Passworts, sie weiß aber u.U. dass es länger als x Zeichen sein muss, weil alle Passwörter mit weniger x Zeichen ausprobiert wurden, aber nicht korrekt waren.

Beachte: Vetter sagt nicht, dass die Behörden wissen, welche Länge das Passwort hat, sondern dass sie keine Chance gegen sichere Passwörter haben und diese seiner Meinung nach üblicherweise > 16 Zeichen aufweisen.

Bei Crypto gewinnt tatsächlich immer die Länge, sofern der Algorithmus keine Schwächen aufweist. ;)
 

TBow

The REAL Cheshire Cat

Registriert
15 Juli 2013
Beiträge
4.252
Bei Crypto gewinnt tatsächlich immer die Länge, ..)
Und ich dachte, die Länge wär nicht so wichtig. :D
Sorry, das musste sein.

Die vorgehensweise der Behörden ist in etwa wie folgt.
Computer wird eingesackt und zu den Forensikern, mit dem Auftrag der Auswertung, gebracht.
Diese werden das früher, oder später versuchen und dann zB bemerken, dass eine Auswertung nicht möglich ist, da zB eine Vollverschlüsselung des Betriebssystems vorliegt. Das wird dann schön ein einen Bericht reingeschrieben und der Staatsanwaltschaft zugesandt. Diese hat dann zu entscheiden, was nun weiter geschieht. Beim Hühnerdieb wars das wohl, bei schwerwiegenden Straftaten wird in Absprache mit der Foresinkabteilung entschieden, wie weiter zu verfahren ist. Lässt sich aus dem bisher gewonnen Informationen über den Verdächtigen eine sinnvolle Wörterbuchattacke zusamenstellen? Durchforstet man die beschlagnahmten Unterlagen auf Hinweise zu etwaigen Passphrasen? Kontaktiert man andere Behörden? Sieht man sich eventuell in der Privatwirtschaft um, wie zB im Fall Andrej Holm?
Jede Maßnahme der Forensiker, muss zuerst von der Staatsanwaltschaft angeordnet werden!
Im Falle des mehrfachen Kindsmörders "Maskenmann" (Martin N. aka Endokriminologe aus dem Gulli Board) kamen die deutschen Behörden auch nicht an die Daten ran, weil er diese verschlüsselt hatte und die Passwortherausgabe verweigerte.
Ich persönlich bezweifle ernst gemeinte Brute Force Attacken, da, wie schon von meinem Vorredner erwähnt, meist keinerlei Informationen über die Passphrase vorliegen. Das ist ein aussichtsloses Unterfangen. Passwortlisten durchprobieren und fertig, mehr wirds nicht geben können.
 
Zuletzt bearbeitet:

virtus

Gehasst

Registriert
24 Apr. 2015
Beiträge
1.689
Ort
AUF DEM MOND
TBow, das ist nur die halbe Wahrheit, bruteforce-Angriffe machen in letzter Linie Sinn, wenn das Passwort schwach ist oder hinreichende Rechenkapazität zur Verfügung steht. Hierbei ist Schwäche in der Länge zu sehen.

Die Anzahl der möglichen Passwörter errechnet sich aus: (Größe des Zeichensatzes) ^ (Passwortlänge)

AlphabetGröße des ZeichensatzesMöglichkeiten je Passwortlänge
0-910
Passwortlänge12345678910111213141516
Möglichkeiten101001.00010.000100.00010^610^710^810^910^1010^1110^1210^1310^1410^1510.000.000.000.000.000
A-Z26
Passwortlänge12345678910111213141516
Möglichkeiten2667617.576456.97611.881.37626^626^726^826^926^1026^1126^1226^1326^1426^1543.608.742.899.428.874.059.776
A-Z, a-z52
Passwortlänge12345678910111213141516
Möglichkeiten522.704140.6087.311.616380.204.03252^652^752^852^952^1052^1152^1252^1352^1452^152.857.942.574.656.970.690.381.479.936
A-Z, a-z, 0-964
Passwortlänge12345678910111213141516
Möglichkeiten644.096262.14416.777.2161.073.741.82464^664^764^864^964^1064^1164^1264^1364^1464^1579.228.162.514.264.337.593.543.950.336
A-Z, a-z, 0-9, Auswahl an Sonderzeichen96
Passwortlänge12345678910111213141516
Möglichkeiten969.216884.73684.934.6568.153.726.97696^696^796^896^996^1096^1196^1296^1396^1496^1552.040.292.466.647.269.602.037.015.248.896

Ein wirklich stupider bruteforce-Angriff probiert nun schlicht sämtliche Möglichkeiten aus.

Wikipedia nimmt für seinen Artikel zum Ausprobieren von Passwörtern an, dass Hardware mit einer Leistung von 1360 GigaFLOPs (10^9 FLOPs) (bspw. eine Radeon HD 6770 zur Verfügung steht und kommt selbst bei einem Zeichensatz von 96 Zeichen und 7-stelligen Passwörtern auf weniger als 1 Tag um sämtliche möglichen Passwörter auszuprobieren.
Im Vergleich dazu strebt die NSA in ihrem Data Center in Utah 1000 PetaFLOPs (10^15 FLOPs) an. Das entspricht also der 1.000.000-fachen Rechenleistung.
Anders gesagt: Bei einem Zeichensatz von 96 Zeichen und 7-stelligem Passwort braucht die NSA statt der auf Wikipedia gelisteten 21 Stunden nur noch 0,0756 (0 Komma 0-7-5-6) Sekunden. Oder: Ein Passwort, bei dem ein bruteforce Angriff nach dem Wikipedia-Artikel ehemals 19 Mio. Jahre brauchte, mit der Rechenkapazität der NSA "nur noch" 19 Jahre.
[Auch wenn die Rechnung nicht ganz korrekt ist, da a. wohl kaum sämtliche Rechenleistung in das Knacken eines Passworts investiert wird, insbesondere nicht für 19 Jahre(!) und b. durch die extreme Parallelisierung auch ein entsprechender Overhead entsteht.]


Auf Grundlage dieses Hintergrunds macht vielleicht auch Vetters Aussage Passwörter ab 16 Zeichen als vernünftig zu bezeichnen wiederum Sinn. Denn ab da treten dann selbst mit aktueller Hochleistungsanlagen Zeitkomplexitätsprobleme auf.

In so fern können wir davon ausgehen, dass zumindest Passwörter mit bis zu 7 Stellen nicht mal für eine Wald-und-Wiesen-Forensik eine wirkliche Hürde darstellen.
 

alter_Bekannter

N.A.C.J.A.C.

Registriert
14 Juli 2013
Beiträge
4.834
Ort
Midgard
Und jetzt mal in sinn voll und tatsächlich umsetzbar:
Mal erstmal die Grundlagen: http://www.duden.de/sprachwissen/sprachratgeber/zum-umfang-des-deutschen-wortschatzes

Mit anderen Worten der durchschnittliche deutschsprecher verwendet üblicherweise mindestens 12.000 Wörter

Das heisst die komplexität für ein Passwort das aus normalen Wörtern besteht errechnet sich wie folgt:
12000 ^ 1 = 12.000
12000 ^ 2 = 144.000.000
12000 ^ 3 = 1.728.000.000.000
12000 ^ 4 = 20.736.000.000.000.000
12000 ^ 5 = 248.832.000.000.000.000.000

Also selbst wenn man sich keine Mühe gibt und die Infos dem Angreifer vorliegen hoffnungslos.
 

bevoller

Neu angemeldet

Registriert
4 Aug. 2013
Beiträge
1.481
Dann bin ich mit meinem 37stelligen Passwort für Truecrypt ja richtig beraten. :D
Nicht wirklich - zumindest jetzt nicht mehr. Denn der potentielle Angreifer hat ja zumindest schon einmal die nicht ganz unwesentliche Information, dass er sich die Brute-Force-Durchläufe mit weniger als 37 Zeichen sparen kann. Das spart natürlich sehr viel Zeit. ;)

Mit anderen Worten der durchschnittliche deutschsprecher verwendet üblicherweise mindestens 12.000 Wörter
Davon die einzelnen Buchstaben aber in unterschiedlicher Häufigkeit (e, n, i, s, r). Man könnte also z.B. versuchen, eine Mustererkennung durchzuführen, bei der Zeichen anhand ihrer Häufigkeit ermittelt werden.
 

Jan_de_Marten

Aktiver NGBler

Registriert
14 Juli 2013
Beiträge
1.106
Naja ist es nicht so, daß man die Werte für unbekanntes Paßwort um die jeweilige Paßwortlänge addieren muß?!?
Also 96 + 9.216 + 884.736 + 84.934.656 + 8.153.726.976 + 96^6 + 96^7 + 96^8 + 96^9 ........usw
 

virtus

Gehasst

Registriert
24 Apr. 2015
Beiträge
1.689
Ort
AUF DEM MOND
Davon die einzelnen Buchstaben aber in unterschiedlicher Häufigkeit (e, n, i, s, r). Man könnte also z.B. versuchen, eine Mustererkennung durchzuführen, bei der Zeichen anhand ihrer Häufigkeit ermittelt werden.

Nein. Normalerweise wird nicht mit dem Passwort selbst verschlüsselt, sondern ein, nennen wir es mal besserer Hash aus dem Passwort abgeleitet. Der wird zum Verschlüsseln genommen. Du kannst weder auf diesem "Hash" noch auf dem späteren Cypher Häufigkeitsanalyse anwenden.

Bei zeitgemäßen guten Crypto-Algorithmen sind Wörterbuch- oder Bruteforceattacken der übliche Ansatzpunkt. Alles andere hat da keine Chance.





Naja ist es nicht so, daß man die Werte für unbekanntes Paßwort um die jeweilige Paßwortlänge addieren muß?!?
Also 96 + 9.216 + 884.736 + 84.934.656 + 8.153.726.976 + 96^6 + 96^7 + 96^8 + 96^9 ........usw

Schon, aber welchen Anteil macht 96 bei (96 + 9.216 + 884.736 + 84.934.656 + 8.153.726.976 + 96^6 + 96^7 + 96^8 + 96^9 .. + 96^17) aus?

Sum( a[SUP]i[/SUP] ) for i=1 to x) < 2 * a^x für alle a, x. Insbesondere ist Sum( 96[SUP]i[/SUP] ) for i=1 to 17) < 2* 96[SUP]17[/SUP]
Damit kannst du (Sum( a[SUP]i[/SUP] ) for i=1 to 17) immer noch mit O(2 * a[SUP]17[/SUP]) bzw damit auch als O(a[SUP]17[/SUP]) abschätzen, wenn du über Komplexitätsklassen sprechen möchtest.

Oder in logischer Konsequenz: Um ein 17-stelliges Passwort bei einer Zeichenentropie von 96 Zeichen durch bruteforce zu erraten, bringt es für den Angreifer einen vernachlässigbaren Aufwand alle 1 bis 17-stelligen Passwörter auszuprobieren, statt sich auf die 17-stelligen einzuschränken.
 

dexter

Cloogshicer®
Teammitglied

Registriert
14 Juli 2013
Beiträge
5.531
Oder in logischer Konsequenz: Um ein 17-stelliges Passwort bei einer Zeichenentropie von 96 Zeichen durch bruteforce zu erraten, bringt es für den Angreifer einen vernachlässigbaren Aufwand alle 1 bis 17-stelligen Passwörter auszuprobieren, statt sich auf die 17-stelligen einzuschränken.

Quark. Es ist eben ein Unterschied, ob ich eine Verschlüsselung in 10 oder 20 Stunden breche.
Ich hab da nicht so den Durchblick, aber mal übertrieben mit jeweils fiktiven Zahlen:
50 Zeichen (incl. 49,48 usw.) benötigen insg. 10 Jahre
51 Zeichen (ohne den Kram, den ich nicht brauche) benötigen allein 15 Jahre
50+51 Zeichen benötigen dann also summa summarum 25 Jahre.
Ziel ist in absehbar schnellster Zeit ein Passwort zu brechen (und/oder irgendeinen Fall zu lösen). 10 Jahre extra rechnen weil es an der Gesamtzeit "vernachlässigbar" ist, ist - ääh - Quark. Es ist nie vernachlässigbar, Zeit, Geld und andere Ressourcen zu sparen um ein Ergebnis zu bekommen. Es sei denn das Ergebnis ist qualitativ höher. Das ist hier nicht gegeben.

Vielleicht hab ich auch was falsch verstanden...
 

usefulvid

Neu angemeldet

Registriert
25 Feb. 2015
Beiträge
336
  • Thread Starter Thread Starter
  • #16
Die Diskussion ist ja wirklich spannend. Wenn ich es richtig verstehe, liegt Vetter mit seiner Aussage daneben. Wenn vorher von den Behörden nicht gesehen werden kann wie viele Stellen das PW hat kann auch aufgrund dessen keine Entscheidung getroffen werden.

Vetter sagt nur, dass er häufig davon hört, dass eine Verschlüsselung häufig nicht geknackt werden kann, wenn es sich um "vernünftige" (unter Crypto-Analytikern "starke") Passwörter handelt, mit denen verschlüsselt wurde.
Wo sagt er das?

Udo Vetter schrieb:
Ich kriege immer wieder Schreiben, dass verschlüsselte Datenbestände vorliegen, da wird immer wieder unisono gesagt, ist mit TrueCrypt verschlüsselt; kann mit vertretbaren und vorhandenen Material (also den vorhandenen Computern im LKA) da es sich um ein vernünftiges, also wohl ab 16 Stellen, Passwort handelt, nicht entschlüsselt werden[...]

Das LKA beurteilt also die Passwortstärke. Kann man sich das so vorstellen, dass die einfach einen Wörterbuchangriff fahren und wenn da nix bei rumkommt lassen die es bleiben? Gehen wir mal von einem guten Passwort (Sonderzeichen/Groß- & Kleinschreibung/Zahlen) mit 10 Zeichen aus. Würde das nicht auch die Kapazität vom LKA übersteigen?
Ich komme da auf einen Pool von 86 Zeichen. 86[SUP]10[/SUP]
Damit gäbe es 22130157888803070976 mögliche Kombinationen.
Ich habe leider keine aktuellen Zahlen gefunden was SHA-512 angeht (das kann man bei TC benutzen). Hättet ihr aktuelle Zahlen dafür?
 

virtus

Gehasst

Registriert
24 Apr. 2015
Beiträge
1.689
Ort
AUF DEM MOND
@dexter: Wir reden über Komplexität. Da ist ein konstanter Faktor < 2 lächerlich.
Du musst dir überlegen, wie sich die Komplexität eines Problems verändert, dadurch, dass du den Input erhöhst.
Also alle Möglichkeiten 96 + 96[SUP]2[/SUP] + ... + 96[SUP]16[/SUP] + 96[SUP]17[/SUP] zu berechnen, ist weniger schlimm, als 2* 96[SUP]17[/SUP] zu berechnen und das wiederum ist weniger schlimm als 96[SUP]18[/SUP] zu berechnen.
Für ein sicher 18-stelliges Passwort ergeben sich 96[SUP]18[/SUP] Möglichkeiten die berechnet werden müssen.
Für ein zwischen 1 und 17-stelliges Passwort ergeben sich im worst-case Sum(96^x) for x=1 to 17 Möglichkeiten, die berechnet werden müssen.
Allerdings ist 96[SUP]18[/SUP] > Sum(96[SUP]x[/SUP]) for x=0 to 17 (hier)

Also, um es nicht mathematisch auszudrücken: Nicht zu wissen, ob ein Passwort 1 bis 17 Zeichen hat und demzufolge alle Möglichkeiten von 1-17 stelligen Passwörtern zu berechnen, ist weniger schlimm, als sicher zu wissen, dass ein Passwort 18 Zeichen hat und alle 18 stelligen Passwörter zu berechnen.

Eine Verdopplung der Komplexität (96[SUP]1[/SUP] + ... + 96[SUP]17[/SUP] ist weniger als eine Verdopplung zu 96[SUP]17[/SUP]!) kannst du mit der Verdopplung deiner Ressourcen oder schlicht mit neueren Hardwaregenerationen, deren Leistung sich über die Generationen deutlich mehr als verdoppelt, kompensieren.
Schlimmer wäre es, wird es erst, wenn die Komplexität sich nicht mehr verdoppelt würde, sondern i.A. exponentiell oder schlimmer anstiege.

Natürlich willst du möglichst Rechenzeit sparen und natürlich macht der Faktor 2 einen Unterschied, über Komplexität gesprochen sind das allerdings Unterschiede, die du verkraften kannst. Du musst dir überlegen: Ob du für die Entschlüsselung der Daten 2 Jahre statt eines brauchst, ist das weniger schlimm, als wenn du für die Entschlüsselung plötzlich 2.000.000 Jahre statte einem brauchst. Im ersten Fall hast du immer noch Möglichkeiten, die Person zu verurteilen etc. Im zweiten Fall kannst du nicht mal sicher sein, ob dann die Menschheit/ Erde/ das Universum noch existieren.



Wenn ich es richtig verstehe, liegt Vetter mit seiner Aussage daneben. Wenn vorher von den Behörden nicht gesehen werden kann wie viele Stellen das PW hat kann auch aufgrund dessen keine Entscheidung getroffen werden.
Du kannst im Voraus sowieso überhaupt keine Entscheidung treffen. Du kannst aber sehr wohl probieren das Passwort zu erraten, also wird das auch zuerst getan. Wird es nach absehbarer Zeit nicht erraten, dann liegt ein sicheres Passwort mit mutmaßlich über x Stellen vor. Kann das Passwort erraten werden, dann ist es ganz offensichtlich ein schwaches Passwort. Wird das Passwort nicht erraten, dann ist es ganz offensichtlich ein starkes Passwort und du kannst zusätzlich sagen, dass es über x Stellen hat. Dass es über x Stellen hat, kannst du daraus schließen, dass sämtliche Passwörter mit weniger oder genau x Stellen ausprobiert wurden, aber nicht funktioniert haben.
In so fern ist seine Aussage nicht falsch.



Das hast du gerade selbst zitiert. :confused:

Ich kriege immer wieder Schreiben, dass verschlüsselte Datenbestände vorliegen, da wird immer wieder unisono gesagt, ist mit TrueCrypt verschlüsselt; kann mit vertretbaren und vorhandenen Material (also den vorhandenen Computern im LKA) da es sich um ein vernünftiges, also wohl ab 16 Stellen, Passwort handelt, nicht entschlüsselt werden

Oder verstehst du seine Aussage anders?



Das LKA beurteilt also die Passwortstärke. Kann man sich das so vorstellen, dass die einfach einen Wörterbuchangriff fahren und wenn da nix bei rumkommt lassen die es bleiben? Gehen wir mal von einem guten Passwort (Sonderzeichen/Groß- & Kleinschreibung/Zahlen) mit 10 Zeichen aus. Würde das nicht auch die Kapazität vom LKA übersteigen?
Da ich nicht beim LKA arbeite kann ich dir das genaue Vorgehen nicht sagen. Mutmaßlich werden zunächst Wörterbuch-Attacken gefahren und nur wenn diese fehlschlagen und ein besonderes Interesse an den Daten besteht, werden dann bruteforce-Maßnahmen ergriffen. Da bruteforce irgendwann (aber definitiv!) das richtige Passwort trifft, ist es eben nur eine Frage des gesetzten Zeitlimits und der zur Verfügung stehenden Ressourcen. Welche Rechenkapazitäten dem LKA zur Verfügung stehen, kann ich nicht beurteilen, ich könnte mir aber durchaus vorstellen, dass da LKA nicht selbst über derartige Systeme verfügt, sondern diese im Zuge der Behördenkooperation gestellt bekommt oder sich externer Dienstleister bedient. Wie gesagt, bruteforce mit vorliegenden Daten ist ein hochgradig parallelisierbares Problem, du kannst also z.B. gleichzeitig Rechenzeit in der Google Cloud, Amazon Cloud und z.B. beim CERN anmieten und die Maschinen mal ein bisschen die Umwelt heizen lassen. Irgendwann[SUP]TM[/SUP] gibt dir irgendeiner deiner Minions Bescheid, dass er das korrekte Passwort gefunden hat.



Ich habe leider keine aktuellen Zahlen gefunden was SHA-512 angeht (das kann man bei TC benutzen). Hättet ihr aktuelle Zahlen dafür?
SHA ist ein Hash-Algorithmus, keine Verschlüsselung.

Zur Erinnerung: Hashfunktionen sind i.A. nicht umkehrbar, Verschlüsselung muss umkehrbar sein.
Es gilt:

Es gibt zu sha512: text -> hash kein sha512[SUP]-1[/SUP]: hash -> text sodass:
sha512[SUP]-1[/SUP]( sha512( text ) ) = text

Es gibt für jede Verschlüsselungsfunktion f: (cleartext, password) -> cypher ein f[SUP]-1[/SUP]: (cypher, password) -> cleartext mit:
f[SUP]-1[/SUP]( f( cleartext, password ), password ) = cleartext

Insbesondere bei OTP gilt, dass f = f[SUP]-1[/SUP] ist. (One-Time-Pad)


Bei einem bruteforce-Angriff auf einen sha512 Hash, wirst du auch nicht zwangsweise das Urbild (also den Originaltext) finden, sondern ggf. auch nur eine Kollision.
In diesen Fällen spricht man von Kollisionsangriffen:
Zu sha512(text) =: hash wird nicht text gesucht, sondern es wird irgendein text' gesucht, der nicht zwangsweise gleich text sein muss, so dass:
sha512(text') == sha512(text) == hash

Was sha2 (darunter fällt auch sha512) betrifft, ist der englischsprachige Wikipedia-Artikel deutlich besser geeignet. Den solltest du dir mal durchlesen. Dort steht auch etwas zu Kollisionsangriffen auf sha512.
 

dexter

Cloogshicer®
Teammitglied

Registriert
14 Juli 2013
Beiträge
5.531
Nicht zu wissen, ob ein Passwort 1 bis 17 Zeichen hat und demzufolge alle Möglichkeiten von 1-17 stelligen Passwörtern zu berechnen, ist weniger schlimm, als sicher zu wissen, dass ein Passwort 18 Zeichen hat und alle 18 stelligen Passwörter zu berechnen.

Das sag ich doch? Ich sage aber auch dass es Murx ist, 10 Jahre länger zu rechnen, weil ich's kann. Wenn ich weiss, dass ein Pass 18 Zeichen hat, wozu sollte ich den ganzen 17,16usw-Schrott mitrechnen?

Schlimmer wäre es, wird es erst, wenn die Komplexität sich nicht mehr verdoppelt würde, sondern i.A. exponentiell oder schlimmer anstiege.
Ääh, geht das nochmal in nichtmathematisch? Mein nichtmathematischer begrenzter Horizont: eine Verdoppelung zwischen 17 und 18 findet nicht statt, sondern eine (Art) Potenzierung.
 

Rakorium-M

NGBler

Registriert
14 Juli 2013
Beiträge
413
Das Problem ist, dass du die Länge des Passworts vorher nicht kennst. Klar, wenn der Verdächtige damit prahlt, 17 Stellen auf seinem Container zu haben, kann man das verwenden, aber aus dem reinen Hash kann man nichts über die Länge des Passworts aussagen.
Wenn man kürzere Passwörter mit reinnimmt, macht das (wie schon erwähnt) relativ wenig aus - ungefähr 1% mehr bei 96 Zeichen, 4% mehr bei nur 26 Zeichen:
[src=python]Passwoerter Laenge 17: 4995868076798137881795553463894016
Passwoerter Laenge 1 bis 17: 5048456161817065648972348763513952
Zusaetzliche Rechenzeit: 1.05 %[/src]

Falls wer selber rechnen will: [src=python]LEN = 17
CHARCOUNT = 96

passwords = pow(CHARCOUNT, LEN)

passwordsUpTo = 0
for x in range(1, LEN+1): #counts from 1 to 17
passwordsUpTo += pow(CHARCOUNT, x)

print "Passwoerter Laenge "+str(LEN)+": ", passwords
print "Passwoerter Laenge 1 bis "+str(LEN)+":", passwordsUpTo
print "Zusaetzliche Rechenzeit: ", ((passwordsUpTo-passwords)*10000/passwords/100.0),"%"[/src]

Was virtus mit der Komplexität meint, ist ganz grob dargestellt das:
  • Kürzere Passwörter mit reinnehmen verlängert den ganzen Vorgang um einen konstanten Faktor. Bei 96 Zeichen sind das die 1,05% von oben (unabhängig von der Länge).
  • Ein Algorithmus, der einfach nur etwas langsamer läuft, ist (in den meisten Gebieten) kein Problem, da man eigentlich immer das ganze wieder um ein paar % beschleunigen kann (durch Codeoptimierung, bessere Hardware, mehr Hardware, bis hin zu Spezialhardware). In diesem Fall: Dann kauft das LKA eben 101 GPUs statt den angedachten 100. Stört nicht wirklich. Ein anderes gutes Beispiel dafür sind Bitcoin-Miner, die diesen Prozess immer weiter ausreizen.
  • Interessanter als die konkrete Laufzeit ist die Frage, wie der Algorithmus skaliert. Bruteforce bspw. skaliert verdammt bescheiden - 1 zusätzliches Zeichen sorgt dafür, dass der Algorithmus 96x so lange rechnet. Ein paar zusätzliche Zeichen erreichen damit ganz schnell die Grenze, die du nicht mehr mit Geld und Hardware überwinden kannst - weil beides einfach nicht schnell genug mitwachsen kann.
  • Problematisch wäre die Erweiterung auf < 17 Stellen also nur, wenn sie pro Passwortstelle mehr Leistung benötigen wird. Das ist nicht der Fall - der relative Overhead ist konstant, egal wie lang das Passwort ist (wird tatsächlich sogar kleiner, je mehr mögliche Zeichen man betrachtet).
 

bevoller

Neu angemeldet

Registriert
4 Aug. 2013
Beiträge
1.481
Also, um es nicht mathematisch auszudrücken: Nicht zu wissen, ob ein Passwort 1 bis 17 Zeichen hat und demzufolge alle Möglichkeiten von 1-17 stelligen Passwörtern zu berechnen, ist weniger schlimm, als sicher zu wissen, dass ein Passwort 18 Zeichen hat und alle 18 stelligen Passwörter zu berechnen.
Kann ich ebenfalls nicht nachvollziehen, wenn es um die Problemstellung des "Passwortknackens" per Brute Force geht.

Es mag ja (nicht)mathematisch weniger schlimm sein, wenn man alle Passwörter von 1-17 Zeichen durchprobiert, als wenn man nur alle Passwörter mit 18 Zeichen testet. Wenn das Passwort tatsächlich 18 Zeichen lang ist, die Länge aber unbekannt ist, dann muss ich zwangsläufig alle Passwörter von 1-17 UND 18 Zeichen durchprobieren. Um mal mit den genannten Zahlen zu rechnen, also tatsächlich 10+15 = 25 Jahre.
Weiß ich dagegen, dass die Länge des Passworts 18 Zeichen beträgt, weil der mutmaßliche Delinquent große Klappe hatte (eigentlich waren es ja nur 37 ;)), dann werde ich mir die 10 Jahre Sinnlos-Testen sicherlich sparen und sofort die "schlimmeren" 18 Zeichen Passwort in Angriff nehmen.

Da hilft mir dann auch eine sinkende oder steigende "Komplexität" nicht weiter. Wenn ich statt 15 Jahren 15+10 Jahre Passwörter durchprobieren muss, dauert es nunmal 25 Jahre und nicht nur 15. Insofern ist übrigens auch die zusätzliche Rechenzeit von 1,05% für mich nicht nachvollziehbar.
 
Oben