Einzelnen Beitrag anzeigen

gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#10

AW: DEC 5.2 mit Vector deccipher Umbau von DOT net auf Delphi

  Alt 8. Mär 2013, 11:42
Was mache ich falsch? Funktioniert das überhaupt zusammen mit dem DEC oder muss ich AES_CBC_Decrypt aus deiner Lib nehmen? Wenn ja, könntest du mir da bitte erläutern, was die Parameter bedeuten bzw. was da rein muss?
Ja Du machst mM was falsch, und eigentlich sollte das mit dem DEC dann funktionieren. Du willst doch offensichtlich AES-128 benutzen, jedenfalls wird mit pbkdf1(hash,@Password, SizeOf(password),@Salt,2,key,16); ein 16-Byte = 128-Bit Schlüssel generiert. Mit
Delphi-Quellcode:
var
  key: array[0..63] of byte;
//..
rind.Init(key,Length(key),InitVector,SizeOf(InitVector));
stopfst Du aber 512-Bit in die Init-Routine, was den Fehler 'Zu großer Key' erklärt. Am einfachsten änderst Du die key-deklaration in
Delphi-Quellcode:
var
  key: array[0..15] of byte;
oder verwendest explizit den Wert 16 in
Delphi-Quellcode:
//..
rind.Init(key,16,InitVector,SizeOf(InitVector));
Laß Dir doch einmal auf beiden Seiten den erzeugten Schlüssel an zeigen.

Wenn Du Glück hast, läuft es dann mit dieser Änderung. (Ich bin allerdings immer mißtrauisch wenn in DEC sowas wie cmCBCx auftaucht. Wenn die Kryptotextlänge kein Vielfaches von 16 ist, schaltet mW DEC in einen Spezialmodus - der Fairness halber: auch mein AES_CBC benutzt dann CipherTextStealing). Wenn Du mein AES verwenden willst, must Du einige Dinge 'zu Fuß' erledigen: Base64-Umwandlung, eventuell Padding (die Parameter sind eigentlich immer ctp: Pointer auf Ciphertext, ptp: Pointer auf Plaintext).
  Mit Zitat antworten Zitat