Am Ziel ?!

Hallo zusammen,

dies ist der erste Versuch - ich bitte um Nachsicht.

Folgende Frage treibt mich ( Anwender ohne Hintergrundinformationen ) um :

wie stellt man bei einem brute-force-Angriff auf eine verschlüsselte Datei fest, daß man am Ziiel ist ? Welche Teile (?) der Datei werden ausgewertet ?

Mit Gruß

GB
 
Du bist am Ziel, wenn der entschlüsselte Text einen Sinn ergibt.
 
@gbush

Na, die Frage ist, was das für eine Datei ist? Wenn es ein Passwort-geschütztes zip-Archiv
ist, dann hast Du das richtige Passwort, wenn Du die Datei entpacken kannst. Bei einer
pdf-Datei, wenn Du sie ändern kannst und so weiter.
Sage am Besten mal ein Beispiel, dann wissen wir auch, was Du meinst bzw. auf was Du
hinaus willst.

MfG Rushjo
 
Hallo Gulliver, hallo Rushjo und alle anderen,

folgendes ist mir nicht klar : es gibt x verschiedene Anwenderprogramme von Text über Tabelle bis Vektografik, die meisten davon schreiben in einem eigenen Format, das sich über die Versionshistorie auch noch ändert. Dererlei Programme werden in Amerika, Europa, Asien oder sonstwo erzeugt und genutzt.

Lassen wir in in unserem Gedankenspiel also den brute-force-Angriff auf eine absichtlich schwach verschlüsselte Datei los, die Daten eines 1982 geschriebenen koreanischen CAD-Programms unter Verwendung eines kyrillischen Zeichensatzes enthält.

Bei der angenommenen schwachen Verschlüsselung sollte der key in endlicher Zeit gefunden sein - aber wie erkennt ich das ?

Wird tatsächlich der gesamte Dateiinhalt "ausgewertet" oder sind es Teile der Datei wie File-Header o.ä. ? Macht es Sinn, neben Algorithmus, Schlüssellänge etc. über die "Endpunktserkennung" nachzudenken ?

Mit Gruß

GB

PS. Die Frage tauchte bei mir auf, als ich in Artikeln Angaben über die Scan-Raten von entsprechenden Tools las, dann mit z.B. 10 MBytes Dateigröße multipizierte und staunte.
 
1. gibt es auch x verschiedene crackprogramme
2. ein Bruteforcer muss exakt auf den zu brechenden algorithmus ausgelegt sein

Hast du zb eine Datei, die in blöcken verschlüsselt wird, so kannst du davon ausgehen das die gesamte Datei so verschlüsselt ist.

Aber immer gilt: du musst wissen WIE die datei verschlüsselt worden ist. Ob du nun einen Bruteforcer benutzten willst, eine entschlüsselung oder einen Angriff auf den Verschlüsselungsalgorithmus. Egal
ob byteweise, bitweise oder in blöcken.

Das Verschlüsseln von zb nur dateihaedern macht keinen Sinn. Die Software kann zwar diese Datei nicht
mehr öffnen aber du könntest sie ohne probleme byteweise lesen und den header einfach wegwerfen.
Den eigentlichen Text hättest du dann im klartext vor dir (was sicher nicht überall so leicht sein muss).

Um auf dein beispiel zu kommen:
Bei einer solchen Datei brauchst du einen bruteforcer der alle 1982, auf koreanisch verschlüsselte dateien eines CAD Programms knacken kann :))

mfg
 
Hallo alle zusammen,

und sorry Gulliver - ich habe mich unklar ausgedrückt und versuche es deshalb mit anderen Begriffen. Soweit ich die Sache verstanden habe, sieht ein "brute-force-Algo." etwa so aus :

1) identifiziere die Art der Verschlüsselung, damit den Algo., die Mächtigkeit des Schlüsselraums etc.
2) generiere einen Schlüssel
3) wende den Schlüssel an
4) prüfe, ob "Klartext" vorliegt
5) wenn ja : ENDE mit Erfolg
6) wenn nein : prüfe, ob max. Schlüsselzahl erreicht
7) wenn ja : ENDE ohne Erfolg
8) wenn nein : generiere neuen Schlüssel und weiter bei 3)

Meine Frage richtet sich ausschließlich auf Punkt 4, alle anderen Punkte / Probleme sollen innerhalb dieses Gedankenspiels ausgeklammert bleiben.

Der Klarheit halber können wir die Sache gedanklich auch auf die Spitze treiben :

Ich produziere (WinCypher o.ä.) einen großen File, der "Zufallszahlen" enthält und verschlüssele dann mit dem 1-Zeichen-Passwort "a" sagen wir mit DES. Wenn ein Angreifer jetzt noch den Algo. kennt, sind die Rahmenbedingungen für einen brute-force-Angriff denkbar gut. Aber woran erkennt der Angreifer, dass der wirre Zahlenhaufen, den er (in dem Beispiel vielleicht schon nach dem ersten Versuch) erhält, meine Klartext-Datei voller Zufallszahlen ist ?

Da eine rein inhaltliche Analyse hier nichts mehr liefert, tauchte bei mir die Idee auf, dass andere Merkmale zur Entscheidung der Frage in o.g. Punkt 4 benutzt werden (in diese Sinne war das koreanische CAD-Programm von 1982 mit kyrillischem Zeichensatz nur eine milde Variante von "Zufallszahlen").

Mit Gruß

GB
 
wie schon gesagt. Du musst einfach nachsehen ob es einen Sinn ergibt. Wenn du selber ein solches Programm schreiben willst kannst du mit mustern arbeiten. Normale, häufig benutzte Wörter nehmen und nachsehen ob sie im text vorkommen.
Wenn du auf diese Weise Passwörter brichst, kannst du die richtigkeit ja sehr leicht feststellen - entweder funkioniert es - oder halt eben nicht.
Einen "Beweis" zu erhalten dass dein verschlüsselter text auch wirklich entschlüsselt worden ist kannst du, soweit ich weiss, nicht erbringen, ausser du hast die möglichkeit die gleiche verschlüsselung zu benutzen und kannst somit prüfen ob dein text (den du ja kennst) wirklich korrekt entschlüsselt worden ist.

Aber das bewusste einstreuen von "datenmüll" war auch schon immer eine beliebte technik um seine sachen eine spur sicherer zu verschlüsseln.

Eine nicht-inhaltliche Analyse macht nur sinn, wenn du den algo "umkehren" kannst. Alles andere ist einfach nur schlichtes machen - vergleichen.

mfg
 
Hallo, hallo,

könnte brute-force bei einer Blockchiffre so oder so änhlich aussehen : merke dir den ersten Block, wende den zu testenden Schlüssel 2 x darauf an und wenn das Ergebnis eben jenem ersten Block entspricht, haben wir chiffre->Klartext->chiffre - und bingo ?!

Setzt natürlich voraus, dass eine feste Kombination von Algo und key stets das gleiche Chiffrat erzeugt - was ich nicht weiß.

Das wären dann nur ein paar bit an Daten, ein paar Zeile code, könnte die irrsinigen Scan-Raten der Tools (ohne Einfluß der Dateigröße) erklären und käme völlig unabhängig vom Dateiinhalt auch mit koreanischen CAD- oder serbokroatischen Word-Daten klar.


Isset so simbel ??

Mit Gruß

GB

PS. ich habe weder vor, das in code zu gießen noch werde ich PWs knacken - ich bin einfach neugierig.
 
@gbush
isset so simbel ?

Nun, wenn es so simpel wäre, wozu sollte man dann noch verschlüsseln. Was ich dir versucht habe zu sagen ist allerunterstes niveau. Professionelle Cracker zu schreiben (ausser brute force) ist ein ganz anderes Kalliber (himmel sei dank)

Dein denkfehler ist weiterhin B == key/verschlüsseln == A || A == key/entschlüsseln == B
Die meisten Bruteforcer zielen auf sog. one-way algorithmen. du KANNST nur ausprobieren, wie oben schon erwähnt.

So, und jetzt ist der Punkt gekommen, wo du dich mal in einem Buchladen nach einem Exemplar über Kryptotechniken und algos umsehen solltest. :)

viel spass

mfg
 
okay -

Bibliothek ist angesagt. Aber ich werde mich (wie die ganze Zeit betont) auf Kryptoanalyse nach dem brute-force Verfahren beschränken und andere Kaliber außen vor lassen. Vielleicht finde ich dann ja auch eine Antwort auf meine Frage nach dem Positivkriterium von Analysealgorithmen, denn ich halte Bildschirmausgabe mit OK-Button für die user-Entscheidung immer noch für unwahrscheinlich.

Simpel ? Nun, ich habe mich auf den ersten Block einer Blockchiffrierung bezogen, da CBC incl. Spielarten hier wohl Standard ist. manche Quellen behaupten, dass der I-Vektor oft leicht zugänglich sei und das ganze den Charme kleiner Datenmengen hat (wofür auch einige 10exp5 keys / sec bei Benutzung von Standardrechnern sprechen könnten). Über die Resistenz guter Algorithmen gegen strukturierte Angriffe und den Zeitfaktor aus der Mächtigkeit des Schlüsselraums habe ich kein Wort verloren.

Ich bitte um Entschuldigung, sollte ich das Niveau der Seite nicht erkannt haben.

Viel Spaß noch ..

GB
 
Zurück
Oben