[Python-modules-commits] [pycryptodome] 01/07: import pycryptodome_3.4.6.orig.tar.gz

Christopher Stuart Hoskin mans0954 at moszumanska.debian.org
Tue Jun 6 21:05:50 UTC 2017


This is an automated email from the git hooks/post-receive script.

mans0954 pushed a commit to branch master
in repository pycryptodome.

commit 223540de1154f40034a4be1703ef751522f99d5a
Author: Christopher Hoskin <mans0954 at debian.org>
Date:   Tue Jun 6 15:15:35 2017 +0100

    import pycryptodome_3.4.6.orig.tar.gz
---
 AUTHORS.rst                                        |    48 +
 Changelog.rst                                      |   310 +
 Doc/Changelog.pycrypto                             |   772 +
 Doc/LEGAL/00INDEX                                  |     3 +
 Doc/LEGAL/COPYRIGHT.pycrypto                       |    61 +
 Doc/LEGAL/copy/00INDEX                             |     4 +
 Doc/LEGAL/copy/LICENSE.libtom                      |     5 +
 Doc/LEGAL/copy/LICENSE.orig                        |    15 +
 Doc/LEGAL/copy/LICENSE.python-2.2                  |   253 +
 Doc/LEGAL/copy/stmts/Andrew_M_Kuchling.mbox        |   156 +
 Doc/LEGAL/copy/stmts/Barry_A_Warsaw.mbox           |   135 +
 Doc/LEGAL/copy/stmts/Jeethu_Rao.mbox               |   277 +
 Doc/LEGAL/copy/stmts/Joris_Bontje.mbox             |   298 +
 Doc/LEGAL/copy/stmts/Mark_Moraes.mbox              |   340 +
 Doc/LEGAL/copy/stmts/Paul_Swartz.mbox              |   211 +
 Doc/LEGAL/copy/stmts/Robey_Pointer.asc             |    53 +
 Doc/LEGAL/copy/stmts/Wim_Lewis.asc                 |    45 +
 Doc/LEGAL/tsu-notify.mbox                          |   130 +
 Doc/Makefile                                       |   153 +
 Doc/conf.py                                        |   258 +
 Doc/epydoc-config                                  |    24 +
 Doc/index.rst                                      |    15 +
 Doc/make.bat                                       |   190 +
 Doc/python-3-changes.txt                           |   109 +
 Doc/src/api.rst                                    |     5 +
 Doc/src/changelog.rst                              |     1 +
 Doc/src/contribute_support.rst                     |    39 +
 Doc/src/examples.rst                               |   133 +
 Doc/src/features.rst                               |   108 +
 Doc/src/future.rst                                 |     4 +
 Doc/src/installation.rst                           |     1 +
 Doc/src/introduction.rst                           |     1 +
 Doc/src/license.rst                                |     5 +
 FuturePlans.rst                                    |    32 +
 INSTALL.rst                                        |   257 +
 LICENSE.rst                                        |    76 +
 MANIFEST.in                                        |    10 +
 PKG-INFO                                           |    76 +
 README.rst                                         |    93 +
 lib/Crypto/Cipher/AES.py                           |   292 +
 lib/Crypto/Cipher/ARC2.py                          |   218 +
 lib/Crypto/Cipher/ARC4.py                          |   179 +
 lib/Crypto/Cipher/Blowfish.py                      |   195 +
 lib/Crypto/Cipher/CAST.py                          |   202 +
 lib/Crypto/Cipher/ChaCha20.py                      |   220 +
 lib/Crypto/Cipher/DES.py                           |   193 +
 lib/Crypto/Cipher/DES3.py                          |   237 +
 lib/Crypto/Cipher/PKCS1_OAEP.py                    |   261 +
 lib/Crypto/Cipher/PKCS1_v1_5.py                    |   236 +
 lib/Crypto/Cipher/Salsa20.py                       |   164 +
 lib/Crypto/Cipher/__init__.py                      |   130 +
 lib/Crypto/Cipher/_errors.py                       |     0
 lib/Crypto/Cipher/_mode_cbc.py                     |   247 +
 lib/Crypto/Cipher/_mode_ccm.py                     |   620 +
 lib/Crypto/Cipher/_mode_cfb.py                     |   251 +
 lib/Crypto/Cipher/_mode_ctr.py                     |   346 +
 lib/Crypto/Cipher/_mode_eax.py                     |   379 +
 lib/Crypto/Cipher/_mode_ecb.py                     |   178 +
 lib/Crypto/Cipher/_mode_gcm.py                     |   535 +
 lib/Crypto/Cipher/_mode_ocb.py                     |   515 +
 lib/Crypto/Cipher/_mode_ofb.py                     |   240 +
 lib/Crypto/Cipher/_mode_openpgp.py                 |   204 +
 lib/Crypto/Cipher/_mode_siv.py                     |   394 +
 lib/Crypto/Hash/BLAKE2b.py                         |   273 +
 lib/Crypto/Hash/BLAKE2s.py                         |   273 +
 lib/Crypto/Hash/CMAC.py                            |   352 +
 lib/Crypto/Hash/HMAC.py                            |   264 +
 lib/Crypto/Hash/MD2.py                             |   188 +
 lib/Crypto/Hash/MD4.py                             |   186 +
 lib/Crypto/Hash/MD5.py                             |    86 +
 lib/Crypto/Hash/RIPEMD.py                          |    26 +
 lib/Crypto/Hash/RIPEMD160.py                       |   191 +
 lib/Crypto/Hash/SHA.py                             |    24 +
 lib/Crypto/Hash/SHA1.py                            |    86 +
 lib/Crypto/Hash/SHA224.py                          |   173 +
 lib/Crypto/Hash/SHA256.py                          |   173 +
 lib/Crypto/Hash/SHA384.py                          |   173 +
 lib/Crypto/Hash/SHA3_224.py                        |   168 +
 lib/Crypto/Hash/SHA3_256.py                        |   168 +
 lib/Crypto/Hash/SHA3_384.py                        |   168 +
 lib/Crypto/Hash/SHA3_512.py                        |   168 +
 lib/Crypto/Hash/SHA512.py                          |   173 +
 lib/Crypto/Hash/SHAKE128.py                        |   151 +
 lib/Crypto/Hash/SHAKE256.py                        |   151 +
 lib/Crypto/Hash/__init__.py                        |    48 +
 lib/Crypto/Hash/keccak.py                          |   203 +
 lib/Crypto/IO/PEM.py                               |   174 +
 lib/Crypto/IO/PKCS8.py                             |   261 +
 lib/Crypto/IO/_PBES.py                             |   388 +
 lib/Crypto/IO/__init__.py                          |    44 +
 lib/Crypto/Math/Numbers.py                         |   145 +
 lib/Crypto/Math/Primality.py                       |   356 +
 lib/Crypto/Math/_Numbers_gmp.py                    |   720 +
 lib/Crypto/Math/_Numbers_int.py                    |   415 +
 lib/Crypto/Math/__init__.py                        |    33 +
 lib/Crypto/Protocol/KDF.py                         |   389 +
 lib/Crypto/Protocol/SecretSharing.py               |   331 +
 lib/Crypto/Protocol/__init__.py                    |    43 +
 lib/Crypto/PublicKey/DSA.py                        |   717 +
 lib/Crypto/PublicKey/ECC.py                        |   835 +
 lib/Crypto/PublicKey/ElGamal.py                    |   345 +
 lib/Crypto/PublicKey/RSA.py                        |   767 +
 lib/Crypto/PublicKey/__init__.py                   |   103 +
 lib/Crypto/Random/__init__.py                      |    57 +
 lib/Crypto/Random/random.py                        |   138 +
 lib/Crypto/SelfTest/Cipher/__init__.py             |    59 +
 lib/Crypto/SelfTest/Cipher/common.py               |   328 +
 lib/Crypto/SelfTest/Cipher/test_AES.py             |  1251 +
 lib/Crypto/SelfTest/Cipher/test_ARC2.py            |   130 +
 lib/Crypto/SelfTest/Cipher/test_ARC4.py            |   464 +
 lib/Crypto/SelfTest/Cipher/test_Blowfish.py        |   124 +
 lib/Crypto/SelfTest/Cipher/test_CAST.py            |    66 +
 lib/Crypto/SelfTest/Cipher/test_CBC.py             |   410 +
 lib/Crypto/SelfTest/Cipher/test_CCM.py             |   675 +
 lib/Crypto/SelfTest/Cipher/test_CFB.py             |   401 +
 lib/Crypto/SelfTest/Cipher/test_CTR.py             |   351 +
 lib/Crypto/SelfTest/Cipher/test_ChaCha20.py        |   214 +
 lib/Crypto/SelfTest/Cipher/test_DES.py             |   336 +
 lib/Crypto/SelfTest/Cipher/test_DES3.py            |   155 +
 lib/Crypto/SelfTest/Cipher/test_EAX.py             |   528 +
 lib/Crypto/SelfTest/Cipher/test_GCM.py             |   658 +
 lib/Crypto/SelfTest/Cipher/test_OCB.py             |   648 +
 lib/Crypto/SelfTest/Cipher/test_OFB.py             |   235 +
 lib/Crypto/SelfTest/Cipher/test_OpenPGP.py         |   205 +
 lib/Crypto/SelfTest/Cipher/test_SIV.py             |   359 +
 lib/Crypto/SelfTest/Cipher/test_Salsa20.py         |   239 +
 lib/Crypto/SelfTest/Cipher/test_pkcs1_15.py        |   172 +
 lib/Crypto/SelfTest/Cipher/test_pkcs1_oaep.py      |   367 +
 .../Cipher/test_vectors/AES/CBCGFSbox128.rsp       |    95 +
 .../Cipher/test_vectors/AES/CBCGFSbox192.rsp       |    83 +
 .../Cipher/test_vectors/AES/CBCGFSbox256.rsp       |    71 +
 .../Cipher/test_vectors/AES/CBCKeySbox128.rsp      |   263 +
 .../Cipher/test_vectors/AES/CBCKeySbox192.rsp      |   299 +
 .../Cipher/test_vectors/AES/CBCKeySbox256.rsp      |   203 +
 .../SelfTest/Cipher/test_vectors/AES/CBCMCT128.rsp |  1212 +
 .../SelfTest/Cipher/test_vectors/AES/CBCMCT192.rsp |  1212 +
 .../SelfTest/Cipher/test_vectors/AES/CBCMCT256.rsp |  1212 +
 .../SelfTest/Cipher/test_vectors/AES/CBCMMT128.rsp |   131 +
 .../SelfTest/Cipher/test_vectors/AES/CBCMMT192.rsp |   131 +
 .../SelfTest/Cipher/test_vectors/AES/CBCMMT256.rsp |   131 +
 .../Cipher/test_vectors/AES/CBCVarKey128.rsp       |  1547 +
 .../Cipher/test_vectors/AES/CBCVarKey192.rsp       |  2315 +
 .../Cipher/test_vectors/AES/CBCVarKey256.rsp       |  3083 +
 .../Cipher/test_vectors/AES/CBCVarTxt128.rsp       |  1547 +
 .../Cipher/test_vectors/AES/CBCVarTxt192.rsp       |  1547 +
 .../Cipher/test_vectors/AES/CBCVarTxt256.rsp       |  1547 +
 .../Cipher/test_vectors/AES/CFB128GFSbox128.rsp    |    95 +
 .../Cipher/test_vectors/AES/CFB128GFSbox192.rsp    |    83 +
 .../Cipher/test_vectors/AES/CFB128GFSbox256.rsp    |    71 +
 .../Cipher/test_vectors/AES/CFB128KeySbox128.rsp   |   263 +
 .../Cipher/test_vectors/AES/CFB128KeySbox192.rsp   |   299 +
 .../Cipher/test_vectors/AES/CFB128KeySbox256.rsp   |   203 +
 .../Cipher/test_vectors/AES/CFB128MCT128.rsp       |  1212 +
 .../Cipher/test_vectors/AES/CFB128MCT192.rsp       |  1212 +
 .../Cipher/test_vectors/AES/CFB128MCT256.rsp       |  1212 +
 .../Cipher/test_vectors/AES/CFB128MMT128.rsp       |   131 +
 .../Cipher/test_vectors/AES/CFB128MMT192.rsp       |   131 +
 .../Cipher/test_vectors/AES/CFB128MMT256.rsp       |   131 +
 .../Cipher/test_vectors/AES/CFB128VarKey128.rsp    |  1547 +
 .../Cipher/test_vectors/AES/CFB128VarKey192.rsp    |  2315 +
 .../Cipher/test_vectors/AES/CFB128VarKey256.rsp    |  3083 +
 .../Cipher/test_vectors/AES/CFB128VarTxt128.rsp    |  1547 +
 .../Cipher/test_vectors/AES/CFB128VarTxt192.rsp    |  1547 +
 .../Cipher/test_vectors/AES/CFB128VarTxt256.rsp    |  1547 +
 .../Cipher/test_vectors/AES/CFB8GFSbox128.rsp      |    95 +
 .../Cipher/test_vectors/AES/CFB8GFSbox192.rsp      |    83 +
 .../Cipher/test_vectors/AES/CFB8GFSbox256.rsp      |    71 +
 .../Cipher/test_vectors/AES/CFB8KeySbox128.rsp     |   263 +
 .../Cipher/test_vectors/AES/CFB8KeySbox192.rsp     |   299 +
 .../Cipher/test_vectors/AES/CFB8KeySbox256.rsp     |   203 +
 .../Cipher/test_vectors/AES/CFB8MCT128.rsp         |  1212 +
 .../Cipher/test_vectors/AES/CFB8MCT192.rsp         |  1212 +
 .../Cipher/test_vectors/AES/CFB8MCT256.rsp         |  1212 +
 .../Cipher/test_vectors/AES/CFB8MMT128.rsp         |   131 +
 .../Cipher/test_vectors/AES/CFB8MMT192.rsp         |   131 +
 .../Cipher/test_vectors/AES/CFB8MMT256.rsp         |   131 +
 .../Cipher/test_vectors/AES/CFB8VarKey128.rsp      |  1547 +
 .../Cipher/test_vectors/AES/CFB8VarKey192.rsp      |  2315 +
 .../Cipher/test_vectors/AES/CFB8VarKey256.rsp      |  3083 +
 .../Cipher/test_vectors/AES/CFB8VarTxt128.rsp      |  1547 +
 .../Cipher/test_vectors/AES/CFB8VarTxt192.rsp      |  1547 +
 .../Cipher/test_vectors/AES/CFB8VarTxt256.rsp      |  1547 +
 .../Cipher/test_vectors/AES/OFBGFSbox128.rsp       |    95 +
 .../Cipher/test_vectors/AES/OFBGFSbox192.rsp       |    83 +
 .../Cipher/test_vectors/AES/OFBGFSbox256.rsp       |    71 +
 .../Cipher/test_vectors/AES/OFBKeySbox128.rsp      |   263 +
 .../Cipher/test_vectors/AES/OFBKeySbox192.rsp      |   299 +
 .../Cipher/test_vectors/AES/OFBKeySbox256.rsp      |   203 +
 .../SelfTest/Cipher/test_vectors/AES/OFBMCT128.rsp |  1212 +
 .../SelfTest/Cipher/test_vectors/AES/OFBMCT192.rsp |  1212 +
 .../SelfTest/Cipher/test_vectors/AES/OFBMCT256.rsp |  1212 +
 .../SelfTest/Cipher/test_vectors/AES/OFBMMT128.rsp |   131 +
 .../SelfTest/Cipher/test_vectors/AES/OFBMMT192.rsp |   131 +
 .../SelfTest/Cipher/test_vectors/AES/OFBMMT256.rsp |   131 +
 .../Cipher/test_vectors/AES/OFBVarKey128.rsp       |  1547 +
 .../Cipher/test_vectors/AES/OFBVarKey192.rsp       |  2315 +
 .../Cipher/test_vectors/AES/OFBVarKey256.rsp       |  3083 +
 .../Cipher/test_vectors/AES/OFBVarTxt128.rsp       |  1547 +
 .../Cipher/test_vectors/AES/OFBVarTxt192.rsp       |  1547 +
 .../Cipher/test_vectors/AES/OFBVarTxt256.rsp       |  1547 +
 .../Cipher/test_vectors/AES/gcmDecrypt128.rsp      | 66156 +++++++++++++++++++
 .../Cipher/test_vectors/AES/gcmEncryptExtIV128.rsp | 66156 +++++++++++++++++++
 .../SelfTest/Cipher/test_vectors/TDES/TCBCMMT2.rsp |   169 +
 .../SelfTest/Cipher/test_vectors/TDES/TCBCMMT3.rsp |   169 +
 .../Cipher/test_vectors/TDES/TCBCinvperm.rsp       |   776 +
 .../Cipher/test_vectors/TDES/TCBCpermop.rsp        |   392 +
 .../Cipher/test_vectors/TDES/TCBCsubtab.rsp        |   236 +
 .../Cipher/test_vectors/TDES/TCBCvarkey.rsp        |   680 +
 .../Cipher/test_vectors/TDES/TCBCvartext.rsp       |   776 +
 .../Cipher/test_vectors/TDES/TCFB64MMT2.rsp        |   169 +
 .../Cipher/test_vectors/TDES/TCFB64MMT3.rsp        |   169 +
 .../Cipher/test_vectors/TDES/TCFB64invperm.rsp     |   776 +
 .../Cipher/test_vectors/TDES/TCFB64permop.rsp      |   392 +
 .../Cipher/test_vectors/TDES/TCFB64subtab.rsp      |   236 +
 .../Cipher/test_vectors/TDES/TCFB64varkey.rsp      |   680 +
 .../Cipher/test_vectors/TDES/TCFB64vartext.rsp     |   776 +
 .../Cipher/test_vectors/TDES/TCFB8MMT2.rsp         |   169 +
 .../Cipher/test_vectors/TDES/TCFB8MMT3.rsp         |   169 +
 .../Cipher/test_vectors/TDES/TCFB8invperm.rsp      |   776 +
 .../Cipher/test_vectors/TDES/TCFB8permop.rsp       |   392 +
 .../Cipher/test_vectors/TDES/TCFB8subtab.rsp       |   236 +
 .../Cipher/test_vectors/TDES/TCFB8varkey.rsp       |   680 +
 .../Cipher/test_vectors/TDES/TCFB8vartext.rsp      |   776 +
 .../SelfTest/Cipher/test_vectors/TDES/TECBMMT2.rsp |   149 +
 .../SelfTest/Cipher/test_vectors/TDES/TECBMMT3.rsp |   149 +
 .../SelfTest/Cipher/test_vectors/TDES/TOFBMMT2.rsp |   169 +
 .../SelfTest/Cipher/test_vectors/TDES/TOFBMMT3.rsp |   169 +
 .../Cipher/test_vectors/TDES/TOFBinvperm.rsp       |   776 +
 .../Cipher/test_vectors/TDES/TOFBpermop.rsp        |   392 +
 .../Cipher/test_vectors/TDES/TOFBsubtab.rsp        |   236 +
 .../Cipher/test_vectors/TDES/TOFBvarkey.rsp        |   680 +
 .../Cipher/test_vectors/TDES/TOFBvartext.rsp       |   776 +
 lib/Crypto/SelfTest/Hash/__init__.py               |    60 +
 lib/Crypto/SelfTest/Hash/common.py                 |   234 +
 lib/Crypto/SelfTest/Hash/test_BLAKE2.py            |   373 +
 lib/Crypto/SelfTest/Hash/test_CMAC.py              |   288 +
 lib/Crypto/SelfTest/Hash/test_HMAC.py              |   330 +
 lib/Crypto/SelfTest/Hash/test_MD2.py               |    62 +
 lib/Crypto/SelfTest/Hash/test_MD4.py               |    64 +
 lib/Crypto/SelfTest/Hash/test_MD5.py               |    62 +
 lib/Crypto/SelfTest/Hash/test_RIPEMD160.py         |    71 +
 lib/Crypto/SelfTest/Hash/test_SHA1.py              |    62 +
 lib/Crypto/SelfTest/Hash/test_SHA224.py            |    63 +
 lib/Crypto/SelfTest/Hash/test_SHA256.py            |    94 +
 lib/Crypto/SelfTest/Hash/test_SHA384.py            |    61 +
 lib/Crypto/SelfTest/Hash/test_SHA3_224.py          |    80 +
 lib/Crypto/SelfTest/Hash/test_SHA3_256.py          |    81 +
 lib/Crypto/SelfTest/Hash/test_SHA3_384.py          |    80 +
 lib/Crypto/SelfTest/Hash/test_SHA3_512.py          |    80 +
 lib/Crypto/SelfTest/Hash/test_SHA512.py            |    58 +
 lib/Crypto/SelfTest/Hash/test_SHAKE.py             |   144 +
 lib/Crypto/SelfTest/Hash/test_keccak.py            |   251 +
 .../Hash/test_vectors/BLAKE2b/blake2b-test.txt     |  1025 +
 .../SelfTest/Hash/test_vectors/BLAKE2b/tv1.txt     |    68 +
 .../SelfTest/Hash/test_vectors/BLAKE2b/tv2.txt     |    69 +
 .../Hash/test_vectors/BLAKE2s/blake2s-test.txt     |  1025 +
 .../SelfTest/Hash/test_vectors/BLAKE2s/tv1.txt     |    36 +
 .../SelfTest/Hash/test_vectors/BLAKE2s/tv2.txt     |    37 +
 .../test_vectors/SHA3/ShortMsgKAT_SHA3-224.txt     |  1031 +
 .../test_vectors/SHA3/ShortMsgKAT_SHA3-256.txt     |  1031 +
 .../test_vectors/SHA3/ShortMsgKAT_SHA3-384.txt     |  1031 +
 .../test_vectors/SHA3/ShortMsgKAT_SHA3-512.txt     |  1031 +
 .../test_vectors/SHA3/ShortMsgKAT_SHAKE128.txt     |  1029 +
 .../test_vectors/SHA3/ShortMsgKAT_SHAKE256.txt     |  1029 +
 .../keccak/ExtremelyLongMsgKAT_224.txt             |     7 +
 .../keccak/ExtremelyLongMsgKAT_256.txt             |     7 +
 .../keccak/ExtremelyLongMsgKAT_384.txt             |     7 +
 .../keccak/ExtremelyLongMsgKAT_512.txt             |     7 +
 .../Hash/test_vectors/keccak/LongMsgKAT_224.txt    |   262 +
 .../Hash/test_vectors/keccak/LongMsgKAT_256.txt    |   262 +
 .../Hash/test_vectors/keccak/LongMsgKAT_384.txt    |   262 +
 .../Hash/test_vectors/keccak/LongMsgKAT_512.txt    |   262 +
 .../Hash/test_vectors/keccak/ShortMsgKAT_224.txt   |  1026 +
 .../Hash/test_vectors/keccak/ShortMsgKAT_256.txt   |  1026 +
 .../Hash/test_vectors/keccak/ShortMsgKAT_384.txt   |  1026 +
 .../Hash/test_vectors/keccak/ShortMsgKAT_512.txt   |  1026 +
 .../SelfTest/Hash/test_vectors/keccak/readme.txt   |     1 +
 lib/Crypto/SelfTest/IO/__init__.py                 |    47 +
 lib/Crypto/SelfTest/IO/test_PBES.py                |    93 +
 lib/Crypto/SelfTest/IO/test_PKCS8.py               |   423 +
 lib/Crypto/SelfTest/Math/__init__.py               |    47 +
 lib/Crypto/SelfTest/Math/test_Numbers.py           |   681 +
 lib/Crypto/SelfTest/Math/test_Primality.py         |   109 +
 lib/Crypto/SelfTest/Protocol/__init__.py           |    44 +
 lib/Crypto/SelfTest/Protocol/test_KDF.py           |   423 +
 lib/Crypto/SelfTest/Protocol/test_SecretSharing.py |   186 +
 lib/Crypto/SelfTest/Protocol/test_rfc1751.py       |    62 +
 lib/Crypto/SelfTest/PublicKey/__init__.py          |    54 +
 lib/Crypto/SelfTest/PublicKey/test_DSA.py          |   240 +
 lib/Crypto/SelfTest/PublicKey/test_ECC.py          |   284 +
 lib/Crypto/SelfTest/PublicKey/test_ElGamal.py      |   217 +
 lib/Crypto/SelfTest/PublicKey/test_RSA.py          |   315 +
 lib/Crypto/SelfTest/PublicKey/test_import_DSA.py   |   545 +
 lib/Crypto/SelfTest/PublicKey/test_import_ECC.py   |   392 +
 lib/Crypto/SelfTest/PublicKey/test_import_RSA.py   |   501 +
 .../PublicKey/test_vectors/ECC/ecc_p256.txt        |    18 +
 .../test_vectors/ECC/ecc_p256_private.der          |   Bin 0 -> 121 bytes
 .../test_vectors/ECC/ecc_p256_private.pem          |     5 +
 .../ECC/ecc_p256_private_enc_aes128.pem            |     8 +
 .../ECC/ecc_p256_private_enc_aes192.pem            |     8 +
 .../ECC/ecc_p256_private_enc_aes256_gcm.pem        |     8 +
 .../test_vectors/ECC/ecc_p256_private_enc_des3.pem |     8 +
 .../test_vectors/ECC/ecc_p256_private_p8.der       |   Bin 0 -> 179 bytes
 .../test_vectors/ECC/ecc_p256_private_p8.pem       |     6 +
 .../test_vectors/ECC/ecc_p256_private_p8_clear.der |   Bin 0 -> 138 bytes
 .../test_vectors/ECC/ecc_p256_private_p8_clear.pem |     5 +
 .../PublicKey/test_vectors/ECC/ecc_p256_public.der |   Bin 0 -> 91 bytes
 .../PublicKey/test_vectors/ECC/ecc_p256_public.pem |     4 +
 .../test_vectors/ECC/ecc_p256_public_openssh.txt   |     1 +
 .../PublicKey/test_vectors/ECC/ecc_p256_x509.der   |   Bin 0 -> 401 bytes
 .../PublicKey/test_vectors/ECC/ecc_p256_x509.pem   |    11 +
 .../PublicKey/test_vectors/ECC/gen_ecc_p256.sh     |    33 +
 .../PublicKey/test_vectors/ECC/openssl_version.txt |     1 +
 .../ECC/point-at-infinity.org-P256.txt             |   212 +
 lib/Crypto/SelfTest/Random/__init__.py             |    39 +
 lib/Crypto/SelfTest/Random/test_random.py          |   167 +
 lib/Crypto/SelfTest/Signature/__init__.py          |    41 +
 lib/Crypto/SelfTest/Signature/test_dss.py          |   704 +
 lib/Crypto/SelfTest/Signature/test_pkcs1_15.py     |   223 +
 lib/Crypto/SelfTest/Signature/test_pss.py          |   223 +
 .../test_vectors/DSA/FIPS_186_3_SigGen.txt         |  2228 +
 .../test_vectors/DSA/FIPS_186_3_SigVer.rsp         |  2228 +
 .../Signature/test_vectors/ECDSA/README.txt        |     3 +
 .../Signature/test_vectors/ECDSA/SigGen.txt        |   365 +
 .../Signature/test_vectors/ECDSA/SigVer.rsp        |   320 +
 .../test_vectors/PKCS1-PSS/SigGenPSS_186-2.txt     |  1291 +
 .../test_vectors/PKCS1-PSS/SigGenPSS_186-3.txt     |   420 +
 .../test_vectors/PKCS1-PSS/SigVerPSS_186-3.rsp     |  2486 +
 .../test_vectors/PKCS1-v1.5/SigGen15_186-2.txt     |  1040 +
 .../test_vectors/PKCS1-v1.5/SigGen15_186-3.txt     |   341 +
 .../test_vectors/PKCS1-v1.5/SigVer15_186-3.rsp     |  1992 +
 lib/Crypto/SelfTest/Util/__init__.py               |    44 +
 lib/Crypto/SelfTest/Util/test_Counter.py           |    66 +
 lib/Crypto/SelfTest/Util/test_Padding.py           |   151 +
 lib/Crypto/SelfTest/Util/test_asn1.py              |   769 +
 lib/Crypto/SelfTest/Util/test_number.py            |   288 +
 lib/Crypto/SelfTest/Util/test_strxor.py            |    93 +
 lib/Crypto/SelfTest/__init__.py                    |    96 +
 lib/Crypto/SelfTest/__main__.py                    |    26 +
 lib/Crypto/SelfTest/loader.py                      |   108 +
 lib/Crypto/SelfTest/st_common.py                   |    57 +
 lib/Crypto/Signature/DSS.py                        |   423 +
 lib/Crypto/Signature/PKCS1_PSS.py                  |    55 +
 lib/Crypto/Signature/PKCS1_v1_5.py                 |    53 +
 lib/Crypto/Signature/__init__.py                   |    36 +
 lib/Crypto/Signature/pkcs1_15.py                   |   259 +
 lib/Crypto/Signature/pss.py                        |   383 +
 lib/Crypto/Util/Counter.py                         |   102 +
 lib/Crypto/Util/Padding.py                         |   110 +
 lib/Crypto/Util/RFC1751.py                         |   364 +
 lib/Crypto/Util/__init__.py                        |    41 +
 lib/Crypto/Util/_file_system.py                    |    54 +
 lib/Crypto/Util/_number_new.py                     |   114 +
 lib/Crypto/Util/_raw_api.py                        |   175 +
 lib/Crypto/Util/asn1.py                            |   916 +
 lib/Crypto/Util/number.py                          |  1455 +
 lib/Crypto/Util/py3compat.py                       |   126 +
 lib/Crypto/Util/strxor.py                          |    77 +
 lib/Crypto/__init__.py                             |    47 +
 pct-speedtest.py                                   |   496 +
 setup.cfg                                          |     5 +
 setup.py                                           |   610 +
 src/AES.c                                          |  1461 +
 src/AESNI.c                                        |   265 +
 src/ARC2.c                                         |   223 +
 src/ARC4.c                                         |   101 +
 src/Blowfish-tables.h                              |   258 +
 src/Blowfish.c                                     |   230 +
 src/CAST.c                                         |   454 +
 src/DES.c                                          |   100 +
 src/DES3.c                                         |    26 +
 src/MD2.c                                          |   147 +
 src/MD4.c                                          |   229 +
 src/RIPEMD160.c                                    |   372 +
 src/SHA224.c                                       |    74 +
 src/SHA256.c                                       |    74 +
 src/SHA384.c                                       |    80 +
 src/SHA512.c                                       |    80 +
 src/Salsa20.c                                      |   262 +
 src/blake2.c                                       |   264 +
 src/blake2b.c                                      |    84 +
 src/blake2s.c                                      |    80 +
 src/block_base.h                                   |    17 +
 src/block_common.c                                 |   104 +
 src/cast5.c                                        |   438 +
 src/chacha20.c                                     |   229 +
 src/cpuid.c                                        |    59 +
 src/errors.h                                       |    20 +
 src/galois.c                                       |   213 +
 src/hash_SHA2.h                                    |    94 +
 src/hash_SHA2_template.c                           |   212 +
 src/keccak.c                                       |   473 +
 src/libtom/tomcrypt.h                              |    87 +
 src/libtom/tomcrypt_argchk.h                       |    38 +
 src/libtom/tomcrypt_cfg.h                          |   136 +
 src/libtom/tomcrypt_cipher.h                       |   890 +
 src/libtom/tomcrypt_custom.h                       |   406 +
 src/libtom/tomcrypt_des.c                          |  1912 +
 src/libtom/tomcrypt_hash.h                         |   379 +
 src/libtom/tomcrypt_mac.h                          |   384 +
 src/libtom/tomcrypt_macros.h                       |   424 +
 src/libtom/tomcrypt_math.h                         |   500 +
 src/libtom/tomcrypt_misc.h                         |    23 +
 src/libtom/tomcrypt_pk.h                           |   552 +
 src/libtom/tomcrypt_pkcs.h                         |    89 +
 src/libtom/tomcrypt_prng.h                         |   199 +
 src/pycrypto_common.h                              |    84 +
 src/raw_cbc.c                                      |   166 +
 src/raw_cfb.c                                      |   188 +
 src/raw_ctr.c                                      |   194 +
 src/raw_ecb.c                                      |   118 +
 src/raw_ocb.c                                      |   338 +
 src/raw_ofb.c                                      |   142 +
 src/scrypt.c                                       |   181 +
 src/strxor.c                                       |    47 +
 415 files changed, 298684 insertions(+)

diff --git a/AUTHORS.rst b/AUTHORS.rst
new file mode 100644
index 0000000..d5be172
--- /dev/null
+++ b/AUTHORS.rst
@@ -0,0 +1,48 @@
+Simon Arneaud
+Nevins Bartolomeo
+Thorsten E. Behrens
+Tim Berners-Lee
+Frédéric Bertolus
+Ian Bicking
+Joris Bontje
+Antoon Bosselaers
+Andrea Bottoni
+Jean-Paul Calderone
+Sergey Chernov
+Geremy Condra
+Jan Dittberner
+Andrew Eland
+Philippe Frycia
+Peter Gutmann
+Hirendra Hindocha
+Nikhil Jhingan
+Sebastian Kayser
+Ryan Kelly
+Andrew M. Kuchling
+Piers Lauder
+Legrandin
+M.-A. Lemburg
+Wim Lewis
+Dwayne C. Litzenberger
+Richard Mitchell
+Mark Moraes
+Lim Chee Siang
+Bryan Olson
+Wallace Owen
+Colin Plumb
+Robey Pointer
+Lorenz Quack
+Sebastian Ramacher
+Jeethu Rao
+James P. Rutledge
+Matt Schreiner
+Peter Simmons
+Janne Snabb
+Tom St. Denis
+Anders Sundman
+Paul Swartz
+Fabrizio Tarizzo
+Kevin M. Turner
+Barry A. Warsaw
+Eric Young
+Hannes van Niekerk
diff --git a/Changelog.rst b/Changelog.rst
new file mode 100644
index 0000000..4a3317b
--- /dev/null
+++ b/Changelog.rst
@@ -0,0 +1,310 @@
+Changelog
+=========
+
+3.4.6 (18 May 2017)
++++++++++++++++++++++++
+
+Resolved issues
+---------------
+
+* GH#65. Keccak, SHA3, SHAKE and the seek functionality for ChaCha20 were
+  not working on big endian machines. Fixed. Thanks to Mike Gilbert.
+* A few fixes in the documentation.
+
+3.4.5 (6 February 2017)
++++++++++++++++++++++++
+
+Resolved issues
+---------------
+
+* The library can also be compiled using MinGW.
+
+3.4.4 (1 February 2017)
++++++++++++++++++++++++
+
+Resolved issues
+---------------
+
+* Removed use of ``alloca()``.
+* [Security] Removed implementation of deprecated "quick check" feature of PGP block cipher mode.
+* Improved the performance of ``scrypt`` by converting some Python to C.
+
+3.4.3 (17 October 2016)
++++++++++++++++++++++++
+
+Resolved issues
+---------------
+
+* Undefined warning was raised with libgmp version < 5
+* Forgot inclusion of ``alloca.h``
+* Fixed a warning about type mismatch raised by recent versions of cffi
+
+3.4.2 (8 March 2016)
++++++++++++++++++++
+
+
+Resolved issues
+---------------
+
+* Fix renaming of package for ``install`` command.
+
+
+3.4.1 (21 February 2016)
++++++++++++++++++++
+
+New features
+------------
+
+* Added option to install the library under the ``Cryptodome`` package
+  (instead of ``Crypto``).
+
+3.4 (7 February 2016)
++++++++++++++++++++
+
+New features
+------------
+
+* Added ``Crypto.PublicKey.ECC`` module (NIST P-256 curve only), including export/import of ECC keys.
+* Added support for ECDSA (FIPS 186-3 and RFC6979).
+* For CBC/CFB/OFB/CTR cipher objects, ``encrypt()`` and ``decrypt()`` cannot be intermixed.
+* CBC/CFB/OFB, the cipher objects have both ``IV`` and ``iv`` attributes.
+  ``new()`` accepts ``IV`` as well as ``iv`` as parameter.
+* For CFB/OPENPGP cipher object, ``encrypt()`` and ``decrypt()`` do not require the plaintext
+  or ciphertext pieces to have length multiple of the CFB segment size.
+* Added dedicated tests for all cipher modes, including NIST test vectors
+* CTR/CCM/EAX/GCM/SIV/Salsa20/ChaCha20 objects expose the ``nonce`` attribute.
+* For performance reasons, CCM cipher optionally accepted a pre-declaration of
+  the length of the associated data, but never checked if the actual data passed
+  to the cipher really matched that length. Such check is now enforced.
+* CTR cipher objects accept parameter ``nonce`` and possibly ``initial_value`` in
+  alternative to ``counter`` (which is deprecated).
+* All ``iv``/``IV`` and ``nonce`` parameters are optional. If not provided,
+  they will be randomly generated (exception: ``nonce`` for CTR mode in case
+  of block sizes smaller than 16 bytes).
+* Refactored ARC2 cipher.
+* Added ``Crypto.Cipher.DES3.adjust_key_parity()`` function.
+* Added ``RSA.import_key`` as an alias to the deprecated ``RSA.importKey``
+  (same for the ``DSA`` module).
+* Added ``size_in_bits()`` and ``size_in_bytes()`` methods to ``RsaKey``.
+
+Resolved issues
+---------------
+
+* RSA key size is now returned correctly in ``RsaKey.__repr__()`` method (kudos to *hannesv*).
+* CTR mode does not modify anymore ``counter`` parameter passed to ``new()`` method.
+* CTR raises ``OverflowError`` instead of ``ValueError`` when the counter wraps around.
+* PEM files with Windows newlines could not be imported.
+* ``Crypto.IO.PEM`` and ``Crypto.IO.PKCS8`` used to accept empty passphrases.
+* GH#6: NotImplementedError now raised for unsupported methods ``sign``, ``verify``,
+  ``encrypt``, ``decrypt``, ``blind``, ``unblind`` and ``size`` in objects ``RsaKey``, ``DsaKey``,
+  ``ElGamalKey``.
+
+Breaks in compatibility
+-----------------------
+
+* Parameter ``segment_size`` cannot be 0 for the CFB mode.
+* For OCB ciphers, a final call without parameters to ``encrypt`` must end a sequence
+  of calls to ``encrypt`` with data (similarly for ``decrypt``).
+* Key size for ``ARC2``, ``ARC4`` and ``Blowfish`` must be at least 40 bits long (still very weak).
+* DES3 (Triple DES module) does not allow keys that degenerate to Single DES.
+* Removed method ``getRandomNumber`` in ``Crypto.Util.number``.
+* Removed module ``Crypto.pct_warnings``.
+* Removed attribute ``Crypto.PublicKey.RSA.algorithmIdentifier``.
+
+3.3.1 (1 November 2015)
++++++++++++++++++++
+
+New features
+------------
+
+* Opt-in for ``update()`` after ``digest()`` for SHA-3, keccak, BLAKE2 hashes
+
+Resolved issues
+------------
+
+* Removed unused SHA-3 and keccak test vectors, therefore significantly reducing
+  the package from 13MB to 3MB.
+
+Breaks in compatibility
+-----------------------
+
+* Removed method ``copy()`` from BLAKE2 hashes
+* Removed ability to ``update()`` a BLAKE2 hash after the first call to ``(hex)digest()``
+
+3.3 (29 October 2015)
++++++++++++++++++++
+
+New features
+------------
+
+* Windows wheels bundle the MPIR library
+* Detection of faults occuring during secret RSA operations
+* Detection of non-prime (weak) q value in DSA domain parameters
+* Added original Keccak hash family (b=1600 only).
+  In the process, simplified the C code base for SHA-3.
+* Added SHAKE128 and SHAKE256 (of SHA-3 family)
+
+Resolved issues
+---------------
+
+* GH#3: gcc 4.4.7 unhappy about double typedef
+
+Breaks in compatibility
+-----------------------
+
+* Removed method ``copy()`` from all SHA-3 hashes
+* Removed ability to ``update()`` a SHA-3 hash after the first call to ``(hex)digest()``
+
+3.2.1 (9 September 2015)
++++++++++++++++++++
+
+New features
+------------
+
+* Windows wheels are automatically built on Appveyor
+
+3.2 (6 September 2015)
++++++++++++++++++++
+
+New features
+------------
+
+* Added hash functions BLAKE2b and BLAKE2s.
+* Added stream cipher ChaCha20.
+* Added OCB cipher mode.
+* CMAC raises an exception whenever the message length is found to be
+  too large and the chance of collisions not negligeable.
+* New attribute ``oid`` for Hash objects with ASN.1 Object ID
+* Added ``Crypto.Signature.pss`` and ``Crypto.Signature.pkcs1_15``
+* Added NIST test vectors (roughly 1200) for PKCS#1 v1.5 and PSS signatures.
+
+Resolved issues
+---------------
+
+* tomcrypt_macros.h asm error #1
+
+Breaks in compatibility
+-----------------------
+
+* Removed keyword ``verify_x509_cert`` from module method ``importKey`` (RSA and DSA).
+* Reverted to original PyCrypto behavior of method ``verify`` in ``PKCS1_v1_5``
+  and ``PKCS1_PSS``.
+
+3.1 (15 March 2015)
++++++++++++++++++++
+
+New features
+------------
+
+* Speed up execution of Public Key algorithms on PyPy, when backed
+  by the Gnu Multiprecision (GMP) library.
+* GMP headers and static libraries are not required anymore at the time
+  PyCryptodome is built. Instead, the code will automatically use the
+  GMP dynamic library (.so/.DLL) if found in the system at runtime.
+* Reduced the amount of C code by almost 40% (4700 lines).
+  Modularized and simplified all code (C and Python) related to block ciphers.
+  Pycryptodome is now free of CPython extensions.
+* Add support for CI in Windows via Appveyor.
+* RSA and DSA key generation more closely follows FIPS 186-4 (though it is
+  not 100% compliant).
+
+Resolved issues
+---------------
+
+* None
+
+Breaks in compatibility
+-----------------------
+
+* New dependency on ctypes with Python 2.4.
+* The ``counter`` parameter of a CTR mode cipher must be generated via
+  ``Crypto.Util.Counter``. It cannot be a generic callable anymore.
+* Removed the ``Crypto.Random.Fortuna`` package (due to lack of test vectors).
+* Removed the ``Crypto.Hash.new`` function.
+* The ``allow_wraparound`` parameter of ``Crypto.Util.Counter`` is ignored.
+  An exception is always generated if the counter is reused.
+* ``DSA.generate``, ``RSA.generate`` and ``ElGamal.generate`` do not
+  accept the ``progress_func`` parameter anymore.
+* Removed ``Crypto.PublicKey.RSA.RSAImplementation``.
+* Removed ``Crypto.PublicKey.DSA.DSAImplementation``.
+* Removed ambiguous method ``size()`` from RSA, DSA and ElGamal keys.
+
+3.0 (24 June 2014)
+++++++++++++++++++
+
+New features
+------------
+
+* Initial support for PyPy.
+* SHA-3 hash family based on the April 2014 draft of FIPS 202.
+  See modules ``Crypto.Hash.SHA3_224/256/384/512``.
+  Initial Keccak patch by Fabrizio Tarizzo.
+* Salsa20 stream cipher. See module ``Crypto.Cipher.Salsa20``.
+  Patch by Fabrizio Tarizzo.
+* Colin Percival's ``scrypt`` key derivation function (``Crypto.Protocol.KDF.scrypt``).
+* Proper interface to FIPS 186-3 DSA. See module ``Crypto.Signature.DSS``.
+* Deterministic DSA (RFC6979). Again, see ``Crypto.Signature.DSS``.
+* HMAC-based Extract-and-Expand key derivation function
+  (``Crypto.Protocol.KDF.HKDF``, RFC5869).
+* Shamir's Secret Sharing protocol, compatible with *ssss* (128 bits only).
+  See module ``Crypto.Protocol.SecretSharing``.
+* Ability to generate a DSA key given the domain parameters.
+* Ability to test installation with a simple ``python -m Crypto.SelfTest``.
+
+Resolved issues
+---------------
+
+* LP#1193521: ``mpz_powm_sec()`` (and Python) crashed when modulus was odd.
+* Benchmarks work again (they broke when ECB stopped working if
+  an IV was passed. Patch by Richard Mitchell.
+* LP#1178485: removed some catch-all exception handlers.
+  Patch by Richard Mitchell.
+* LP#1209399: Removal of Python wrappers caused HMAC to silently
+  produce the wrong data with SHA-2 algorithms.
+* LP#1279231: remove dead code that does nothing in SHA-2 hashes.
+  Patch by Richard Mitchell.
+* LP#1327081: AESNI code accesses memory beyond buffer end.
+* Stricter checks on ciphertext and plaintext size for textbook RSA
+  (kudos to sharego).
+
+Breaks in compatibility
+-----------------------
+
+* Removed support for Python < 2.4.
+* Removed the following methods from all 3 public key object types (RSA, DSA, ElGamal):
+
+  - ``sign``
+  - ``verify``
+  - ``encrypt``
+  - ``decrypt``
+  - ``blind``
+  - ``unblind``
+
+  Code that uses such methods is doomed anyway. It should be fixed ASAP to
+  use the algorithms available in ``Crypto.Signature`` and ``Crypto.Cipher``.
+* The 3 public key object types (RSA, DSA, ElGamal) are now unpickable.
+* Symmetric ciphers do not have a default mode anymore (used to be ECB).
+  An expression like ``AES.new(key)`` will now fail. If ECB is the desired mode,
+  one has to explicitly use ``AES.new(key, AES.MODE_ECB)``.
+* Unsuccessful verification of a signature will now raise an exception [reverted in 3.2].
+* Removed the ``Crypto.Random.OSRNG`` package.
+* Removed the ``Crypto.Util.winrandom`` module.
+* Removed the ``Crypto.Random.randpool`` module.
+* Removed the ``Crypto.Cipher.XOR`` module.
+* Removed the ``Crypto.Protocol.AllOrNothing`` module.
+* Removed the ``Crypto.Protocol.Chaffing`` module.
+* Removed the parameters ``disabled_shortcut`` and ``overflow`` from ``Crypto.Util.Counter.new``.
+
+Other changes
+-------------
+
+* ``Crypto.Random`` stops being a userspace CSPRNG. It is now a pure wrapper over ``os.urandom``.
+* Added certain resistance against side-channel attacks for GHASH (GCM) and DSA.
+* More test vectors for ``HMAC-RIPEMD-160``.
+* Update ``libtomcrypt`` headers and code to v1.17 (kudos to Richard Mitchell).
+* RSA and DSA keys are checked for consistency as they are imported.
+* Simplified build process by removing autoconf.
+* Speed optimization to PBKDF2.
+* Add support for MSVC.
+* Replaced HMAC code with a BSD implementation. Clarified that starting from the fork,
+  all contributions are released under the BSD license.
diff --git a/Doc/Changelog.pycrypto b/Doc/Changelog.pycrypto
new file mode 100644
index 0000000..480e8a9
--- /dev/null
+++ b/Doc/Changelog.pycrypto
@@ -0,0 +1,772 @@
+2.7a1
+=====
+	* Experimental release.  This introduces a new API for AEAD modes, and
+	  makes a few other minor API changes.  These APIs should be considered
+	  experimental, and may be changed before the final release.
+	* New API for authenticated encryption with associated data (AEAD):
+	  - New block cipher modes:
+	    - MODE_CCM
+	    - MODE_EAX
+	    - MODE_GCM
+	    - MODE_SIV
+	  - New methods:
+	    - .encrypt_and_digest()
+	    - .decrypt_and_verify()
+	    - .digest()
+	    - .verify()
+	  - New MAC algorithm:
+	    - Crypto.Cipher.CMAC
+	  - New .verify() and .hexverify() methods also added to Hash and
+	    HMAC/CMAC objects, providing constant-time hash comparison.
+	  (Thanks: Legrandin, Lucas Garron)
+	* LP#1132550: Fix MODE_OPENPGP not accepting uppercase 'IV' kwarg.
+	* LP#1119552: Fix PKCS#1v1.5 not accepting signatures without the
+	  optional NULL parameter
+	* Add support for import/export of DSA keys.  (Thanks: Legrandin)
+	* Add support for PKCS#8-encrypted private keys.  (Thanks: Legrandin)
+	* LP#996193: Fix MODE_OFB requiring padding (it now behaves as a stream
+	  cipher)
+	* Improve C extension autodocs
+	* Remove pointless 'error' attribute from stream ciphers.
+	* Deprecate the disable_shortcut option to Crypto.Util.Counter;
+	  Remove __PCT_CTR_SHORTCUT__ entirely.
+	* Fix small MODE_CTR memory leak under Python 3.
+	* Fix error importing winrandom on Python 3.  (Thanks: Jason R. Coombs)
+	* FortunaAccumulator: Use time.monotonic for rate-limiting if available
+	  (i.e. Python 3.3 and later)
+	* AES-NI support (Thanks: Sebastian Ramacher)
+	* setup.py: Fix compilation on HP-UX 11.31.  (Thanks: Adam Woodbeck)
+	* ElGamal: Add blinding to ElGamal decryption. (Thanks: Legrandin)
+	* Hash: Remove pure-Python wrappers (speeds up hash init 4x-7x)
+	* Hash: Add generic Crypto.Hash.new(algo, [data]) function
+	  (like hashlib.new)
+	* Hash: Remove 'oid' attributes; Add 'name' attributes for compatibility
+	  with hashlib.
+	* Hash: Rename SHA -> SHA1 and RIPEMD -> RIPEMD160, since the original
+	  names are frequently used as the names of other algorithms.
+	* setup.py: Use autoconf to generate compiler options;
+	  Fix OpenBSD build issues.
+	* Fix RSA object serialization (i.e. pickle)
+	* LP#1061217: random.shuffle takes O(n^2) time.
+	  (Thanks: Sujay Jayakar, Andrew Cooke)
+	* _fastmath: Fix leaks when errors occur.
+	  (Thanks: Sebastian Ramacher, Andreas Stührk)
+	* SHA256/224/384/512: Don't export symbol 'add_length'
+	* setup.py: Use os.chmod instead of os.system("chmod ...").
+	  (Thanks: Sebastian Ramacher)
+	* setup.py: The 'test' command now runs the 'build' command first.
+	  (Thanks: Sebastian Ramacher)
+	* New tools/create-pythons.sh and tools/test-all.sh scripts for testing
+	  against multiple versions of Python.
+	* getStrongProne: Fix error handling (Thanks: Sebastian Ramacher)
+	* ARC4: Add ARC4-drop[n] cipher support. (Thanks: Legrandin)
+	* RSA.importKey: Properly catch IndexError. (Thanks: Sebastian Ramacher)
+	* RSA.exportKey: Raise ValueError as documented when key format is
+	  unknown. (Thanks: Sebastian Ramacher)
+	* RSA.exportKey: Always return bytes (Thanks: Sebastian Ramacher)
+	* Fix & re-enable some broken tests (Thanks: Sebastian Ramacher)
+	* Improve Python 3 compatibility
+	* Various documentation fixes and improvements
+	  (Thanks: Anton Rieder, Legrandin, Sebastian Ramacher, Stefano Rivera)
+	* Various cleanups, especially for Python 3.
+
+
+2.6.1
+=====
+	* [CVE-2013-1445] Fix PRNG not correctly reseeded in some situations.
+
+	  In previous versions of PyCrypto, the Crypto.Random PRNG exhibits a
+	  race condition that may cause forked processes to generate identical
+	  sequences of 'random' numbers.
+
+	  This is a fairly obscure bug that will (hopefully) not affect many
+	  applications, but the failure scenario is pretty bad.  Here is some
+	  sample code that illustrates the problem:
+
+	      from binascii import hexlify
+	      import multiprocessing, pprint, time
+	      import Crypto.Random
+
+	      def task_main(arg):
+	          a = Crypto.Random.get_random_bytes(8)
+	          time.sleep(0.1)
+	          b = Crypto.Random.get_random_bytes(8)
+	          rdy, ack = arg
+	          rdy.set()
+	          ack.wait()
+	          return "%s,%s" % (hexlify(a).decode(),
+	                            hexlify(b).decode())
+
+	      n_procs = 4
+	      manager = multiprocessing.Manager()
+	      rdys = [manager.Event() for i in range(n_procs)]
+	      acks = [manager.Event() for i in range(n_procs)]
+	      Crypto.Random.get_random_bytes(1)
+	      pool = multiprocessing.Pool(processes=n_procs,
+	                                  initializer=Crypto.Random.atfork)
+	      res_async = pool.map_async(task_main, zip(rdys, acks))
+	      pool.close()
+	      [rdy.wait() for rdy in rdys]
+	      [ack.set() for ack in acks]
+	      res = res_async.get()
+	      pprint.pprint(sorted(res))
+	      pool.join()
+
+	  The output should be random, but it looked like this:
+
+	      ['c607803ae01aa8c0,2e4de6457a304b34',
+	       'c607803ae01aa8c0,af80d08942b4c987',
+	       'c607803ae01aa8c0,b0e4c0853de927c4',
+	       'c607803ae01aa8c0,f0362585b3fceba4']
+
+	  This release fixes the problem by resetting the rate-limiter when
+	  Crypto.Random.atfork() is invoked.  It also adds some tests and a
+	  few related comments.
+
+2.6
+===
+	* [CVE-2012-2417] Fix LP#985164: insecure ElGamal key generation.
+	  (thanks: Legrandin)
+
+	  In the ElGamal schemes (for both encryption and signatures), g is
+	  supposed to be the generator of the entire Z^*_p group.  However, in
+	  PyCrypto 2.5 and earlier, g is more simply the generator of a random
+	  sub-group of Z^*_p.
+
+	  The result is that the signature space (when the key is used for
+	  signing) or the public key space (when the key is used for encryption)
+	  may be greatly reduced from its expected size of log(p) bits, possibly
+	  down to 1 bit (the worst case if the order of g is 2).
+
+	  While it has not been confirmed, it has also been suggested that an
+	  attacker might be able to use this fact to determine the private key.
+
+	  Anyone using ElGamal keys should generate new keys as soon as practical.
+
+	  Any additional information about this bug will be tracked at
+	  https://bugs.launchpad.net/pycrypto/+bug/985164
+
+	* Huge documentation cleanup (thanks: Legrandin).
+
+	* Added more tests, including test vectors from NIST 800-38A
+	  (thanks: Legrandin)
+
+	* Remove broken MODE_PGP, which never actually worked properly.
+	  A new mode, MODE_OPENPGP, has been added for people wishing to write
+	  OpenPGP implementations.  Note that this does not implement the full
+	  OpenPGP specification, only the "OpenPGP CFB mode" part of that
+	  specification.
+	  https://bugs.launchpad.net/pycrypto/+bug/996814
+
+	* Fix: getPrime with invalid input causes Python to abort with fatal error
+	  https://bugs.launchpad.net/pycrypto/+bug/988431
+
+	* Fix: Segfaults within error-handling paths
+	  (thanks: Paul Howarth & Dave Malcolm)
+	  https://bugs.launchpad.net/pycrypto/+bug/934294
+
+	* Fix: Block ciphers allow empty string as IV
+	  https://bugs.launchpad.net/pycrypto/+bug/997464
+
+	* Fix DevURandomRNG to work with Python3's new I/O stack.
+	  (thanks: Sebastian Ramacher)
+
+	* Remove automagic dependencies on libgmp and libmpir, let the caller
+	  disable them using args.
+
+	* Many other minor bug fixes and improvements (mostly thanks to Legrandin)
+
+2.5
+===
+	* Added PKCS#1 encryption schemes (v1.5 and OAEP).  We now have
+	  a decent, easy-to-use non-textbook RSA implementation.  Yay!
+
+	* Added PKCS#1 signature schemes (v1.5 and PSS). v1.5 required some
+	  extensive changes to Hash modules to contain the algorithm specific
+	  ASN.1 OID. To that end, we now always have a (thin) Python module to
+	  hide the one in pure C.
+
+	* Added 2 standard Key Derivation Functions (PBKDF1 and PBKDF2).
+
+	* Added export/import of RSA keys in OpenSSH and PKCS#8 formats.
+
+	* Added password-protected export/import of RSA keys (one old method
+	  for PKCS#8 PEM only).
+
+	* Added ability to generate RSA key pairs with configurable public
+	  exponent e.
+
+	* Added ability to construct an RSA key pair even if only the private
+	  exponent d is known, and not p and q.
+
... 300584 lines suppressed ...

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/pycryptodome.git



More information about the Python-modules-commits mailing list