[pycrypto] DES3 problem

Dave Pawson dave.pawson at gmail.com
Wed Nov 27 01:15:40 PST 2013


>From the lack of response, should I assume that DES3 isn't yet working?

TiA, DaveP

On 24 November 2013 14:50, Dave Pawson <dave.pawson at gmail.com> wrote:
> https://www.dlitz.net/software/pycrypto/api/current/ states DES3 requires an iv.
>
> in the api docs the example uses DES not DES3?
>
> As an example, encryption can be done as follows:
>
>>>> from Crypto.Cipher import DES
>>>> from Crypto import Random
>>>> from Crypto.Util import Counter
>>>>
>>>> key = b'-8B key-'
>>>> nonce = Random.new().read(DES.block_size/2)
>>>> ctr = Counter.new(DES.block_size*8/2, prefix=nonce)
>>>> cipher = DES.new(key, DES.MODE_CTR, counter=ctr)
>>>> plaintext = b'We are no longer the knights who say ni!'
>>>> msg = nonce + cipher.encrypt(plaintext)
>
> Using
>         iv=Random.new().read(DES3.block_size)
>         ciphere = DES3.new(key,mode,IV=iv)
>
> I'm getting
> Traceback (most recent call last):
>   File "./tester.py", line 405, in testBlock5
>     ciphere = DES3.new(key,mode,IV=iv)
>   File "/usr/lib64/python3.3/site-packages/Crypto/Cipher/DES3.py",
> line 114, in new
>     return DES3Cipher(key, *args, **kwargs)
>   File "/usr/lib64/python3.3/site-packages/Crypto/Cipher/DES3.py",
> line 76, in __init__
>     blockalgo.BlockAlgo.__init__(self, _DES3, key, *args, **kwargs)
>   File "/usr/lib64/python3.3/site-packages/Crypto/Cipher/blockalgo.py",
> line 155, in __init__
>     raise ValueError("MODE_OPENPGP requires an IV")
> ValueError: MODE_OPENPGP requires an IV
>
> Am I wrong in my usage or is the code incorrect please
> wrt iv parameter?
>
>
> Tia
>
>
>
>
>
>
> --
> Dave Pawson
> XSLT XSL-FO FAQ.
> Docbook FAQ.
> http://www.dpawson.co.uk



-- 
Dave Pawson
XSLT XSL-FO FAQ.
Docbook FAQ.
http://www.dpawson.co.uk


More information about the pycrypto mailing list