[pycrypto] Typo or bug?

Dave Pawson dave.pawson at gmail.com
Tue Jun 26 07:08:23 EDT 2012

On 26 June 2012 10:52, Legrandin <gooksankoo at hoiptorrow.mailexpire.com> wrote:
>>   encobj = AES.new(secret, AES.MODE_CFB)
>>   File "/usr/lib64/python2.7/site-packages/Crypto/Cipher/blockalgo.py",
>> line 141, in __init__
>>   self._cipher = factory.new(key, *args, **kwargs)
>> ValueError: IV must be 16 bytes long
>> So although the 'secret' is 16 bytes long, I'm getting a report saying it
>> isn't?
> Hi Dave,
> The key is OK, but the IV is missing and it is mandatory for CFB.
> Your code should be:
> encobj = AES.new(secret, AES.MODE_CFB, some_iv)
> where len(some_iv)==16.

I think I have it working....

  myiv = "some Random string"   # which is 16 bytes long....
  encobj = AES.new(secret, AES.MODE_CFB, myiv)

Would someone help me understand what is happening here please?

I'm guessing on both encode and decode the 'myiv' string should be identical...
but I'm unsure?
shows it in use, but with no explanation?


Dave Pawson
Docbook FAQ.

More information about the pycrypto mailing list