Thanx Giuliano

I am happy to store the file size in the encrypted file and then 
retrieve it during decryption.

On 20 May 2003 at 14:45, Giuliano Bertoletti wrote:

> 
> 
> Yusuf Khan-YUK wrote:
> 
> > I tried using BlockSize() but my output was still the same. Thats
> > because in my case, the the key size was 16 and BlockSize() also
> > returned 16.
> 
> There in another mistake in your code, which I did not immediately
> noticed; when you call: 
> 
> fread(buffer,sizeof(byte), KEYSIZE,fp);
> 
> you're assuming the input is multiple of KEYSIZE (or better of
> BlockSize).
> If that's not true, you implicitly append zeros at the end of your file
> to allign with the block.
> When the decryptor reverses the process it has no way of knowing the
> real file size, and therefore he cannot truncate the file correctly (how
> does it know how many zeros really belong to the plain-text file ?).
> 
> You have either to store the plain file length in the encrypted file or
> to use/implement some padding scheme. Look at previous messages, there's
> one named "questions on data block size?" where you can find an example.
> 
> > The version of crypto++ I am using is 4.2, in AESEcnryptor you can
> > only specify the key, you cannot specify the password, or the iv
> 
> That's because it is only an encryptor. But you can easily convert a
> password into a key using an hash function (say MD5). In this way you
> can take variable length input password. 
> 
> The IV can be specified through a CBCPaddedEncryptor for example, which
> can take the encryptor object (in your case AES) and the IV.
> 
> -- 
> Giuliano Bertoletti
> e-Security Manager
> 
> 
> Intrinsic - Security Monitoring
> http://www.intrinsic.it
> 
> COOL-FIRE: la soluzione Firewall per Windows NT/2000
> http://www.symbolic.it/Prodotti/cool-fire.html
> 
> SYMBOLIC S.p.A. Tel: +39 0521 776180 / Fax: +39 0521 776190
> 


Best Regards
YUK


Reply via email to