Issue #2523 closed

PyPy2 5.7 regression with pycrypto 2.6.1

psuben
created an issue

I am building pycrypto 2.6.1 without gmp and mpir. I am able to successfully install and import pycrypto however there is a strange attribute error that occurred in the following situation:

Python 2.7.13 (fa3249d55d15b9829e1be69cdf45b5a44cec902d, Mar 21 2017, 18:46:42)
[PyPy 5.7.0 with GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>> from Crypto.Cipher import DES3
>>>> mytst = DES3.new('\x9a\xb8\x96\x84\xab\xde\xb2\xdc\xe5\x16F\xe6\xf6\xc7\xea\xd6^l\xb3f\x97\xa2\xeca')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/nail/home/psuben/project/virtualenv_pypy/site-packages/Crypto/Cipher/DES3.py", line 114, in new
    return DES3Cipher(key, *args, **kwargs)
  File "/nail/home/psuben/project/virtualenv_pypy/site-packages/Crypto/Cipher/DES3.py", line 76, in __init__
    blockalgo.BlockAlgo.__init__(self, _DES3, key, *args, **kwargs)
  File "/nail/home/psuben/project/virtualenv_pypy/site-packages/Crypto/Cipher/blockalgo.py", line 142, in __init__
    self.IV = self._cipher.IV
AttributeError: '_DES3' object has no attribute 'IV'

This does not occur in CPython2.7:

Python 2.7.6 (default, Jun 28 2016, 17:53:28)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from Crypto.Cipher import DES3
>>> mytst = DES3.new('\x9a\xb8\x96\x84\xab\xde\xb2\xdc\xe5\x16F\xe6\xf6\xc7\xea\xd6^l\xb3f\x97\xa2\xeca')
>>> mytst.IV
'\x00\x00\x00\x00\x00\x00\x00\x00'

Comments (5)

  1. Log in to comment