[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