Crypter avec LockBox Decrypter avec Chillkat
Bonjour à tous,
Je suis en train de faire qq essais de cryptage/décryptage de chaînes de caractères avec différents composants.
J'ai des chaînes de caractères qui ont déjà été crypté avec LockBox (V2) de la manière suivante :
Code:
1 2 3 4 5 6 7 8 9
|
Function TForm1.CrypteLockBox(Code,CryptKey : AnsiString):AnsiString;
Begin
Result:='';
LbRijndael1.CipherMode:=cmCBC;
LbRijndael1.KeySize:=ks256;
LbRijndael1.GenerateKey(CryptKey);
Result:=LbRijndael1.EncryptString(Code);
End; |
La valeur de "CryptKey" m'est bien sûr connue.
Je cherche maintenant à décrypter avec le composant "ChillKat" ce texte,
J'ai actuellement tenté la méthode suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
Function TForm1.DecrypteChilKat(Bdd,CryptKey : AnsiString) : AnsiString;
var
crypt: HCkCrypt2;
Function StrToPWideChar(Str_ : AnsiString) : PWideChar;
Var
Len : Integer;
Begin
Len := 2 * (Length(Str_) + 1);
Result := AllocMem(Len);
StringToWideChar(Str_, Result, Len);
End;
Begin
Result:='';
crypt:=CkCrypt2_Create();
CkCrypt2_UnlockComponent(crypt,'');
CkCrypt2_putCryptAlgorithm(crypt,'aes');
CkCrypt2_putCipherMode(crypt,'cbc');
CkCrypt2_putKeyLength(crypt,256);
CkCrypt2_putPaddingScheme(crypt,0);
CkCrypt2_putEncodingMode(crypt,'Base32');
CkCrypt2_SetSecretKeyViaPassword(crypt,StrToPWideChar(CryptKey));
Result:=WideCharToString(CkCrypt2__decryptStringENC(crypt,StrToPWideChar(Bdd)));
CkCrypt2_Dispose(crypt);
End; |
Mais le texte retourné ne correspond à rien.
Mon problème à mon avis est que je ne connais ni le PaddingScheme, ni le EncodingMode, ni le vecteur d'initialisation utilisé pour le cryptage sous LockBox. COmment puis-je initialiser mon composant Chillkat pour le faire correspondre au composant LockBox?
Je ne suis pas du tout une spécialiste en cryptographie. J'arrive à crypter/décrypter via Lockbox, Crypter/décrypter via Chillkat mais pas à croiser les infos entre les 2 méthodes.
Si quelqu'un pouvait éclairer ma lanterne :)
Merci d'avance
Nono