AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Text entschlüsseln, Algorithmus nur teilweise bekannt
Thema durchsuchen
Ansicht
Themen-Optionen

Text entschlüsseln, Algorithmus nur teilweise bekannt

Ein Thema von Björn Ole · begonnen am 22. Feb 2011 · letzter Beitrag vom 22. Feb 2011
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Björn Ole
Björn Ole

Registriert seit: 10. Jul 2008
166 Beiträge
 
Delphi XE Professional
 
#1

Text entschlüsseln, Algorithmus nur teilweise bekannt

  Alt 22. Feb 2011, 02:35
Zu so später Stunde noch tippen, na mal schauen ob das was wird...


Ich versuche mich daran, einen Text zu entschlüsseln, welcher mit Hilfe des Programms "Encryption and Decrpytion 3.0" verschlüsselt wurde. Folgende Infos gibt die Webseite preis: AES 256 zur Datenver/entschlüsselung, SHA 256 als Hash-Algorithmus für das Passwort. Mehrfaches verschlüsseln ein und desselben Textes mit dem gleichen Passwort bringt komplett unterschiedliche Ergebnisse.

Nun, hier ein Beispiel:

Zu verschlüsselnder Text: Test
Passwort: GEHEIM
Resultat: FC343FC9164CE283FC08C9A12EEEBB26A3E0E31C5C4909A130 BD075A730F6BD2336C6F329BAA84E8F9AE531EC2CF8B75E882 420BC792CB351860CD7276FF149E4080*5590*1*28*tBuSGDvX7y5+3vorzrFiK1rAU8rO1X2Jg6Do8Q0mwMo=

Die Sterne sind anscheinend Trennzeichen, das Ergebnis besteht also aus folgenden Teilen:
  1. FC343...4080 - UpperCase HEX, höchstwahrscheinlich die verschlüsselten Hauptdaten
  2. 5590 - bin ich ratlos, scheint eine zufällige Zahl zu sein, allerdings immer 4- oder 5-stellig
  3. 1 - Anzahl an Verschlüsselungen. Wird dreimal hintereinander verschlüsselt, steht hier also eine 3
  4. 28 - diese Zahl ergibt sich aus der Länge des Textes, der verschlüsselt werden soll: 31 - ((Textlänge-1) mod 32), hier also 31 - ((4-1) mod 32) = 31 - (3 mod 32) = 31 - 3 = 28
  5. tBu...Mo= - anscheinend Base64 kodiert, ebenfalls ratlos
Mit dem DEC hab ich schon ein wenig rumgebastelt, vielleicht bekomme ich morgen einen postbaren Versuch hin.

Gibt es hier allgemein Hoffnung, darauf zu kommen und den Algorithmus nachzubauen, oder soll ich es lieber gleich sein lassen? Ich bin nicht so der Experte auf dem Gebiet, darum hoffe ich auf ein paar Meinungen von euch.


Gruß und gute Nacht, Björn.
  Mit Zitat antworten Zitat
Benutzerbild von cookie22
cookie22

Registriert seit: 28. Jun 2006
Ort: Düsseldorf
936 Beiträge
 
Delphi XE2 Professional
 
#2

AW: Text entschlüsseln, Algorithmus nur teilweise bekannt

  Alt 22. Feb 2011, 05:13
Zitat:
Mehrfaches verschlüsseln ein und desselben Textes mit dem gleichen Passwort bringt komplett unterschiedliche Ergebnisse.
Ja, weil das Programm offensichtlich Random Salts und/oder Ivs benutzt. Die werden wohl im Header der Datei stehen. Deine 2. wird eins davon sein. Deine 5. könnte die Hashsumme des Passwortes sein.

Hast du denn das Passwort? Wenn ja dann benutz doch einfach das besagte Programm, das ist doch Freeware. Welchen Sinn macht es das nachzubauen.
Gruß
Cookie
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#3

AW: Text entschlüsseln, Algorithmus nur teilweise bekannt

  Alt 22. Feb 2011, 08:04
Das erinnert mich irgendwie an die berühmte Vollbitverschlüsselung.

- Sicherheit durch Unwissenheit
> unser Hagen würde wohl sowas sagen "Sicher ist das was man kennt und es dennoch beweisbar nicht/nur schwer knacken kann"

- Mehrfachverschlüsselung bringt auch keinen Mehrgewinn an Sicherheit.
> wenn ich Hagen richtig verstanden hab, dann könnte das teilweise sogar Gegenteilig ausfallen.
> abgesehn davon, daß hier eh nur die selbe Verschlüsselung wiederholt wird und das Wieoft sogar erkenntlich ist ... also vollkommen nutzlos



Die erste große Frage bleibt also erstmal im Raum stehen:
Warum unbedingt diese Art der Verschlüsselung und wenn ja, warum nicht direkt mit diesem Programm?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#4

AW: Text entschlüsseln, Algorithmus nur teilweise bekannt

  Alt 22. Feb 2011, 08:12
Deine 5. könnte die Hashsumme des Passwortes sein.
Aber wieso sollte man die da rein packen? I.d.R. läuft es doch so: Über das Passwort und den Salt wird der Hash berechnet, der als Schlüssel für die Verschlüsselung dient. Den Hash also mit rein zu packen ist nicht nur sinnlos, sondern würde sogar den Schlüssel verraten
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Benutzerbild von cookie22
cookie22

Registriert seit: 28. Jun 2006
Ort: Düsseldorf
936 Beiträge
 
Delphi XE2 Professional
 
#5

AW: Text entschlüsseln, Algorithmus nur teilweise bekannt

  Alt 22. Feb 2011, 08:46
Deine 5. könnte die Hashsumme des Passwortes sein.
Aber wieso sollte man die da rein packen? I.d.R. läuft es doch so: Über das Passwort und den Salt wird der Hash berechnet, der als Schlüssel für die Verschlüsselung dient. Den Hash also mit rein zu packen ist nicht nur sinnlos, sondern würde sogar den Schlüssel verraten
Nein würde er nicht, denn Sha-256 ist kryptographisch sicher und durch die Hashsumme kann nicht auf das Passwort geschlossen werden. Schreibst du den Hash nicht, bzw. einen aussagekräftigen teil davon, in den Header, hast du keine Möglichkeit das Passwort auf Richtigkeit zu überprüfen. Du musst dann die Datei vollständig mit dem falschen Passwort entschlüsseln, um festzustellen ob es richtig ist oder nicht. Bei großen Dateien ist das wohl kaum praktikabel.
Gruß
Cookie
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#6

AW: Text entschlüsseln, Algorithmus nur teilweise bekannt

  Alt 22. Feb 2011, 08:54
Sofern man DEN Hash auch als Schlüssel nutzt, würde man es schon.
Um schnell prüfen zu können, ob das Entschlüsselte stimmt, kann man ja einen ebenfalls mitverschlüsselten Header vor die Daten schreiben.
Viele Archivformate arbeiten aber trotzdem nach dieser "kaum praktikabel" Methode - man erhält oft erst am Ende den Fehler "Prüfsumme falsch", wenn man das Passwort falsch angegeben hat. So hat man auch gleich den Schutz vor Bruteforce-Attacken erhöht ^^
Im Endeffekt ist es aber trotzdem nur rumgerate, da wir ja nicht wissen wie die besagte Software arbeitet.
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#7

AW: Text entschlüsseln, Algorithmus nur teilweise bekannt

  Alt 22. Feb 2011, 09:37
Wenn man den Hash des Passwortes kennt, dann kann man den Angriff erstmal auf diesen kleinen Hash auslegen
und muß dann nur noch wenige Male die großen Daten versuchen zu entschlüsseln.

veschlüsselte Daten und den Passworthash könnte man auch noch in Beziehung setzen und hätte somit ein leichteres Angriffsziel, da man diese Daten gegeneinander verifizieren könnte.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von cookie22
cookie22

Registriert seit: 28. Jun 2006
Ort: Düsseldorf
936 Beiträge
 
Delphi XE2 Professional
 
#8

AW: Text entschlüsseln, Algorithmus nur teilweise bekannt

  Alt 22. Feb 2011, 11:24
Sofern man DEN Hash auch als Schlüssel nutzt, würde man es schon.
Um schnell prüfen zu können, ob das Entschlüsselte stimmt, kann man ja einen ebenfalls mitverschlüsselten Header vor die Daten schreiben.
Viele Archivformate arbeiten aber trotzdem nach dieser "kaum praktikabel" Methode - man erhält oft erst am Ende den Fehler "Prüfsumme falsch", wenn man das Passwort falsch angegeben hat. So hat man auch gleich den Schutz vor Bruteforce-Attacken erhöht ^^
Im Endeffekt ist es aber trotzdem nur rumgerate, da wir ja nicht wissen wie die besagte Software arbeitet.
Wenn dieser Header immer gleich ist, lieferst du damit bekannten Text. Das ist ein gutes Ziel für einen Angriff. Man nennt diesen Angriff, "Known Plaintext Attack". Wenn man davon ausgeht, dass der Header klein ist, ist das sicher nicht sonderlich schlimm, aber gut ist das auch nicht. Wenn dein Schlüssel mittels Zufalls Salt und Key Derivation Funktion erzeugt wurde, spricht nichts dagegen den Hash in den Header zu schreiben. Allerdings reicht es ja schon ihn nur teilweise dort rein zuschreiben.
Gruß
Cookie
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#9

AW: Text entschlüsseln, Algorithmus nur teilweise bekannt

  Alt 22. Feb 2011, 11:42
Man nennt diesen Angriff, "Known Plaintext Attack".
Kann es sein, dass du mich für total dumm hältst? So komm ich mir zumindest gerade vor.
Der Header muss ja nicht aus fixen Daten bestehen. Denn das hinzufügen des Passwortes als Hash bringt eben weitere Probleme mit sich, wie himitsu bereits sagte. Und man muss eben zwei verschiedene Key derivation functions haben - einmal für die Verschlüsselung und einmal für den Passwort-Hash ...
Und wie gesagt, kann es ja gewollt sein, dass man erst am Ende der Entschlüsselung merkt, dass etwas nicht stimmt - das verlangsamt auf natürliche Weise Bruteforce-Angriffe (sofern natürlich kein known plaintext am Anfang vorliegt. Aber so ziemlich jedes komplexere Format als eine Textdatei hat einen Header mit einem oft fixen Wert - der nennt sich "magic number" ).
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Benutzerbild von cookie22
cookie22

Registriert seit: 28. Jun 2006
Ort: Düsseldorf
936 Beiträge
 
Delphi XE2 Professional
 
#10

AW: Text entschlüsseln, Algorithmus nur teilweise bekannt

  Alt 22. Feb 2011, 12:05
Kann es sein, dass du mich für total dumm hältst?
Wenn ich dich für dumm halten würde, würde ich hier nichts posten.


Und man muss eben zwei verschiedene Key derivation functions haben.
Nein, muss man nicht. Man muss eine Hash-Funktion und eine KDF haben. Das sind zwei völlig verschiedene Dinge.

Aber so ziemlich jedes komplexere Format als eine Textdatei hat einen Header mit einem oft fixen Wert - der nennt sich "magic number"
Ein Grund mehr den Header nicht zu verschlüsseln und dort nur kryptographisch nicht relevante Daten zu speichern.
Gruß
Cookie
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz