[Botan-devel] Botan C++ vs TPLockBox

atlantida sotlef at atlantida.perm.ru
Sun Sep 16 04:29:27 EDT 2007


Hi, I do remake of a program that uses TPLockBox library.
It writen in Delphi and uses following code for initialization
TPLockBox:

[code]
var
  gAes : TLbRijndael;
  gServerKey, gMessage, gEncryptedMessage : string;
  i : integer;
begin
  gServerKey := '';
  for i := 4 to 131 do
    gServerKey := gServerKey + chr(i); // length(gServerKey) will be 127
  gAes := TLbRijndael.Create(nil);
  gAes.CipherMode := cmCBC;
  gAes.KeySize := ks256;
  gAes.GenerateKey(gServerKey);		//here I think gAes will use only first
32 bytes
  ...  //forming gMessage  
  gEncryptedMessage := gAes.EncryptString(gMessage);
  ... //processing gEncryptedMessage (in example,
writeln(gEncryptedMessage);

>From this program I made a small, that assignes gMessage := 'Hello,
World'; gEncryptedMessage got value:
"037PNBHfqyr7FwnIvk9XQYVYuQqngW/Wr4U0qKXmfns="

I try to find equivalent code for Botan:
#include <botan/botan.h>
#include <stdio.h>

using namespace Botan;

int main(int argc, char* argv[]) {
	LibraryInitializer init;
	byte key[32], *src =
(byte*)"037PNBHfqyr7FwnIvk9XQYVYuQqngW/Wr4U0qKXmfns=", dst[500];
	bzero(dst, 500);
	for (int i = 0, k = 4; i < 32; i++,k++) key[i] = k;
	BlockCipher *c = get_block_cipher("AES-256");
	c->set_key(key, 32);
	c->decrypt(src, dst);
	delete c;
	printf("%s\n", dst);
	return 0;	
}

After running this, I got other decrypted message (but with same lenght
as 'Hello, World' :-) ). Is there some ideas?





More information about the botan-devel mailing list