Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Text entschlüsseln, Algorithmus nur teilweise bekannt (https://www.delphipraxis.net/158552-text-entschluesseln-algorithmus-nur-teilweise-bekannt.html)

Deep-Sea 22. Feb 2011 12:11

AW: Text entschlüsseln, Algorithmus nur teilweise bekannt
 
Zitat:

Zitat von cookie22 (Beitrag 1083465)
Nein, muss man nicht. Man muss eine Hash-Funktion und eine KDF haben. Das sind zwei völlig verschiedene Dinge.

Naja, "völlig verschieden" nun auch nicht wirklich.
Man muss halt beachten, auch einen Salt für den Passwort-Hash zu nutzen.

Zitat:

Zitat von cookie22 (Beitrag 1083465)
Ein Grund mehr den Header nicht zu verschlüsseln und dort nur kryptographisch nicht relevante Daten zu speichern.

Was nicht so einfach ist, wenn man z.B. beliebige Dateien verschlüsseln will.
Alles eine Frage des Zwecks :-D

Björn Ole 22. Feb 2011 12:24

AW: Text entschlüsseln, Algorithmus nur teilweise bekannt
 
Zitat:

Zitat von cookie22 (Beitrag 1083375)
Hast du denn das Passwort?

Ja, wie im ersten Posting angegeben. Ich habe das Programm installiert und ein paar Testverschlüsselungen gemacht, um auf die Struktur zu kommen.
Zitat:

Zitat von cookie22 (Beitrag 1083375)
Wenn ja dann benutz doch einfach das besagte Programm, das ist doch Freeware.

Das versuche ich zu vermeiden. Es geht hier auch allein um die Entschlüsselung, ich werde sicherlich nicht nach diesem Schema verschlüsseln.
Zitat:

Zitat von cookie22 (Beitrag 1083375)
Welchen Sinn macht es das nachzubauen.

Ich würde gerne einige Texte automatisiert entschlüsseln, und da ich mich ungern mit dieser Software weiter befassen mag (hat himitsu schon alles zu gesagt ;)), hatte ich gehofft, dass sich das nachbauen lässt. Sollte es möglich sein, wird eventuell über einen besseren Weg nachgedacht, die Daten verschlüsselt abzulegen, aber das ist noch weit weg.


Ich habe jetzt mittels DEC folgendes zusammengebastelt:
Delphi-Quellcode:
uses DECUtil, DECCipher, DECHash, DECFmt;

function Decode: string;
const
  PASS = 'GEHEIM';
  DATA = 'FC343FC9164CE283FC08C9A12EEEBB26A3E0E31C5C4909A130BD075A730F6BD2336C6F329BAA84E8F9AE531EC2CF8B75E882420BC792CB351860CD7276FF149E4080';
  WAS_IST_DAS = '5590';
  SALT = 'tBuSGDvX7y5+3vorzrFiK1rAU8rO1X2Jg6Do8Q0mwMo=';
  AKDFIndex: LongWord = 1;
var
  APass: Binary;
  ASalt: Binary;
  AData: Binary;
  ALen: Integer;
begin
  with TCipher_Rijndael.Create, Context do
  begin
    try
      ASalt := TFormat_MIME64.Decode(SALT);
      SetLength(ASalt, 16); // brauch ich das?

      APass := PASS;
      APass := THash_SHA256.KDFx(APass[1], Length(APass) * SizeOf(APass[1]), ASalt[1], Length(ASalt), KeySize, TFormat_Copy, AKDFIndex); // was macht KDFx()?

      AData := TFormat_HEX.Decode(DATA);
      ALen := Length(AData);

      Mode := cmCBCx; { Möglichkeiten: cmCTSx, cmCBCx, cmCFB8, cmCFBx, cmOFB8, cmOFBx, cmCFS8, cmCFSx, cmECBx }
      Init(APass);
      SetLength(Result, ALen div SizeOf(AData[1]));
      Decode(AData[1], Result[1], ALen);
    finally
      Free;
      ProtectBinary(ASalt);
      ProtectBinary(AData);
      ProtectBinary(APass);
    end;
  end;
end;
Hier kommt wie erwartet nur Müll bei raus, daher hoffe ich auf ein paar Tipps, wo Fehler liegen könnten.

cookie22 22. Feb 2011 14:29

AW: Text entschlüsseln, Algorithmus nur teilweise bekannt
 
Warum schreibst du den Autor des Programmes nicht an und fragst?

Satty67 22. Feb 2011 14:44

AW: Text entschlüsseln, Algorithmus nur teilweise bekannt
 
Zumindest was das Resultat angeht, würde ich etwas anders interpretieren.

Also eher Richtung erst Header, dann Daten. Der CipherText am Ende (grün) sieht mir eher wir der encryptete Text aus, wenn auch ein paar Zeichen zu lang. Die (rote) 5590 sowie die HEX-Folge am Anfag könnte zur Schlüsselerstellung gehören (key/iv). Evtl. Salt und Anzahl Iterationen für den Key-Generator.

Dass das ohne genau Infos zur Key-Generierung erraten wird, kann ich mir schwer vorstellen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:43 Uhr.
Seite 2 von 2     12   

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