AES decrypting IV

2 views
Skip to first unread message

Russell Robinson

unread,
Feb 5, 2004, 2:55:08 AM2/5/04
to crypto...@eskimo.com
Hi,

Can someone confirm that when using AES, the IV that was used for the
encryption must be sent to the decryptor in addition to the
ciphertext>

Implementations of RC4 I've seen, for example, automatically append the IV
to the ciphertext.

It appears AES in Crypto++ doesn't do this so I have to append it
myself.

Correct?

Thanks.

--
Russell Robinson (mailto:russro...@tectite.com)
Author of Tectite (CRM and Licensing for Software Developers)
Download your free CRM from: http://www.tectite.com/

Shawn Masters

unread,
Feb 5, 2004, 7:11:11 AM2/5/04
to Russell Robinson, crypto...@eskimo.com
AES does not have an IV associated with it. IV's (Intial Vectors)
are part of certain modes of using a block cipher. What mode are you using?

Also remember that Crypto++ is a toolkit. It gives you the base
primitives to be put together, and you can then make just about anything you
need. In common cases though it may have a set of primitives tied together
already for doing common tasks.

73,
Shawn

David Young

unread,
Feb 5, 2004, 11:28:34 AM2/5/04
to crypto...@eskimo.com
If he's using Denis Bider's implementation of aesphm, it uses AES in CFB
mode, which does require an IV. I believe Denis' implementation
generates the IV from a 256 Hash of a randomly generated IV seed.

However, I don't believe that implementation takes the IV in as a
parameter. Instead, it buries the IV_SEED in the encrypted text and
then pulls it back out during the decryption.

If you look at the .Net implementation of Rijndael, it also requires an
IV to be passed to the encryptor and decryptor objects.

David

Russell Robinson

unread,
Feb 5, 2004, 2:46:58 PM2/5/04
to crypto...@eskimo.com
Hi Shawn,

Thanks for the reply.

Shawn> AES does not have an IV associated with it. IV's (Intial Vectors)
Shawn> are part of certain modes of using a block cipher. What mode are you using?

I'm using CBC mode:
CBC_Mode<AES >::Encryption encryption(pass,AES::DEFAULT_KEYLENGTH,iv);

Reply all
Reply to author
Forward
0 new messages