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.
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.
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.