Verschlüsselung - Brute force, passt der Schlüssel?

Knacken von Verschlüsselungen bei den Projekten RC5-72, Enigma@Home und anderen
Nachricht
Autor
S3bast1an
Fingerzähler
Fingerzähler
Beiträge: 1
Registriert: 28.02.2014 16:51

Verschlüsselung - Brute force, passt der Schlüssel?

#1 Ungelesener Beitrag von S3bast1an » 28.02.2014 17:31

Hallo,

ich habe eine Frage. Vielleicht eine ganz einfache, aber ich habe bei meiner Internetrecherche nichts dazu gefunden:

Wenn ich per Bruteforce daran gehe einen verschlüsselten Text zu entschlüsseln, dann ist zwar ein Problem, dass ich lange brauche oder viele Computer oder distributed oder Rainbowtables oder oder oder. Die Geheimdienste scheinen jedenfalls, wenn Sie wollen, es hinzukriegen (immer angenommen, sie haben keine Backdoor)

Viel gravierender erscheint mir jedoch ein anderes Problem; wenn ich Milliarden und aberMilliarden Schlüssel durchprobieren, wie merke ich, dass der gerade probierte Schlüssel "passt"?
Denn den verschlüsselten Text kenne ich ja nicht, zum einfachen Vergleich.
Bemerkt das Verschlüsselungsverfahren (egal jetzt mal ob symetrisch oder assymetrisch), ob der Schlüssel passt oder nicht?
Oder bekomme ich mit einem falschen Schlüssel einfach einen Textsalat heraus und muss mir dann selbst überlegen, ob das der richtige Schlüssel gewesen sein kann und probiere dann ggf weiter?
Bei zB PGP könnte ich mir noch vorstellen, dass der öffentliche Schlüssel hier ein Testkriterium sein könnte, aber bei zB AES? Ist es so, dass ich bei PGP einen geheimen Schlüssel am öffentlichen "testen" kann, ob er der richtige ist?

Wäre es so, dass man es nicht vom Algorithmus "gesagt" bekommt. Würde ja schon das umdrehen aller Wörter (oder ähnliche Zusatz"verschlüsselung" wie zB ROT13) den Schlüsselsuchaufwand praktisch "völlig" ins unendliche treiben, oder? Man könnte den Text auch vor dem Verschlüsseln zippen, da sieht man auch nicht auf einen Blick was man vor sich hat, wenn der Schlüssel stimmte.

Vielleicht kann mir hier jemand weiterhelfen.
Oder gibts dafür sogar ein Wort/Bezeichnung/Verfahren?

Im Prinzip überlege ich gerade, wie ich aus 100 verschlüsselten Textschnipseln (alle anderer Schlüssel) den Textschnipsel finden könnte, der mit meinem Schlüssel verschlüsselt ist. Dafür hätte ich eine Anwendungsidee (kein nächstes "Facebook" 8) )

Danke
S.

Benutzeravatar
Lasse Kolb
Vereinsvorstand
Vereinsvorstand
Beiträge: 1355
Registriert: 03.12.2002 21:06
Wohnort: Braunschweig/Hondelage
Kontaktdaten:

Re: Verschlüsselung - Brute force, passt der Schlüssel?

#2 Ungelesener Beitrag von Lasse Kolb » 28.02.2014 22:53

Ich kann die Frage zwar auch nicht beantworten, aber ich könnte mir denken, dass vorher schon etwas Vorkenntnis braucht von wem Text, den man "rauskriegen" will, evtl hilft beim googeln, wenn du "Known Plaintext" oder "Chosen Plaintext" mit einbeziehst.
Vielleicht hängt das damit zusammen ?
Blog: https://lassejulius.wordpress.com
Threema ID: THNUM86Z · Twitter/Skype: lassejulius

Benutzeravatar
nico
Vereinsmitglied
Vereinsmitglied
Beiträge: 2211
Registriert: 22.12.2002 13:22
Wohnort: C-Town
Kontaktdaten:

Re: Verschlüsselung - Brute force, passt der Schlüssel?

#3 Ungelesener Beitrag von nico » 09.03.2014 11:37

Dafür gibt es a) statistische Verfahren, die erkennen, ob sie einen Text vor sich haben - auch ein ZIP ist da kein Problem und b)
bei PGP und anderen Public-Key Verfahren kannst du, wie schon selbst geschrieben, einfach mit dem öffentlichen Schlüssel gegen testen, ob du den selben verschlüsselten Text erhältst.
Bild

walbus
Mikrocruncher
Mikrocruncher
Beiträge: 17
Registriert: 01.12.2014 20:46

Re: Verschlüsselung - Brute force, passt der Schlüssel?

#4 Ungelesener Beitrag von walbus » 26.01.2015 15:25

Hallo Sebastian,
schau bitte mal hier :

http://de.wikipedia.org/wiki/Cipher_Block_Chaining_Mode

dann da :

http://en.wikipedia.org/wiki/Key_stretching

Ein gängiger Fehler, nur kurz umrissen ist zB der :
AES-256 können 32 Bytes als Key übergeben werden.
Oft wird jetzt hingegangen und der Text des Key einfach in dieses Register geschrieben

Register in Hexa :
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
48 61 6c 6c 6f 20 57 65 6c 74
Hallo Welt

So führt ein brute force Angriff schnell zum Erfolg.

Man erkennt dies zB. wenn geschrieben wird, ein Key dürfe maximal 32 Zeichen groß sein.

Ein "richtiger" Key kann aber so groß sein wie er will,
man kann prinzipiell viele tausend Zeichen oder Bytes als Grundlage der Key Berechnung für den Coder benutzen.

Defakto,
es müssen also alle Bytes des Register´s belegt werden, immer !

Dies erreicht man zB. in dem man einen Hash aus dem Passwort erzeugt, welcher binär in das Register geschrieben wird.
daher nicht als Abfolge von Ascii Zeichen !

Man erzeugt optimaler Weise einen "gestretchten" Hash, der aus einem Salt und dem Passwort besteht.
So laufen dann Angriffe mit Rainbow Tables in´s leere.

Ein md5 ist primär nicht geeignet, wird aber oft benutzt, weil er so schön "passt".

Zb. :
617D3A94832D50E328CA65F7C6797710

Dies kann man in das Key Register des AES Coders kopieren,
man erreicht aber dann faktisch nur die Sicherheit von 16 Bytes.

61 7D 3A 94 83 2D 50 E3 28 CA 65 F7 C6 79 77 10
Da, wie man jetzt schnell erkennt der Hash 16 zweistellige Hex Zahlen darstellt.
Dies kann man jetzt drehen und wenden wie man will, die Komplexität wird weder als Ascii noch als Byte Variante höher.

Als Beispiel kannst du mein Tool QUICK-AES-256 mal probieren, wenn du willst, das hier im Forum vorgestellt wird.
Verschlüsselst du damit eine kleine Datei oder einen Text, oder versteckst eine Datei in einem Bild zB. und nutzt x mal die selben Dateien und das selbe Passwort, sind die Resultate trotzdem jedesmal bis auf Bit Ebene verschieden.

Dort kannst du zB. auch den Text eines ganzen Buches als Key zugrunde legen.
Nimmst du nur einen einzigen Punkt weg oder änderst ein einziges Zeichen,
ist der 32 Byte Hash für den Coder völlig anders.

Gruß Werner

Antworten

Zurück zu „Kryptographie“