libcrypto 1.2.1__tar.gz → 1.4.8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {libcrypto-1.2.1/src/libcrypto.egg-info → libcrypto-1.4.8}/PKG-INFO +1 -1
- {libcrypto-1.2.1 → libcrypto-1.4.8}/pyproject.toml +1 -1
- {libcrypto-1.2.1 → libcrypto-1.4.8}/setup.py +1 -1
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/__init__.py +1 -1
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/AES.py +235 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/AES.pyi +156 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/ARC2.py +175 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/ARC2.pyi +35 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/ARC4.py +136 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/ARC4.pyi +16 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/Blowfish.py +159 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/Blowfish.pyi +35 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/CAST.py +159 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/CAST.pyi +35 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/ChaCha20.py +291 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/ChaCha20.pyi +25 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/ChaCha20_Poly1305.py +334 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/ChaCha20_Poly1305.pyi +28 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/DES.py +158 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/DES.pyi +35 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/DES3.py +187 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/DES3.pyi +37 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/PKCS1_OAEP.py +231 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/PKCS1_OAEP.pyi +35 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/PKCS1_v1_5.py +189 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/PKCS1_v1_5.pyi +20 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/Salsa20.py +167 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/Salsa20.pyi +26 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/_EKSBlowfish.py +131 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/_EKSBlowfish.pyi +15 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/__init__.py +91 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/__init__.pyi +0 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_cbc.py +293 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_cbc.pyi +25 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_ccm.py +671 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_ccm.pyi +52 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_cfb.py +293 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_cfb.pyi +26 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_ctr.py +393 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_ctr.pyi +27 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_eax.py +408 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_eax.pyi +45 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_ecb.py +220 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_ecb.pyi +19 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_gcm.py +620 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_gcm.pyi +45 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_kw.py +158 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_kwp.py +135 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_ocb.py +532 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_ocb.pyi +36 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_ofb.py +282 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_ofb.pyi +25 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_openpgp.py +206 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_openpgp.pyi +20 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_siv.py +392 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_siv.pyi +38 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Cipher/_pkcs1_oaep_decode.py +41 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/BLAKE2b.py +247 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/BLAKE2b.pyi +32 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/BLAKE2s.py +247 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/BLAKE2s.pyi +26 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/CMAC.py +306 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/CMAC.pyi +30 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/HMAC.py +238 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/HMAC.pyi +25 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/KMAC128.py +179 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/KMAC128.pyi +33 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/KMAC256.py +74 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/KMAC256.pyi +10 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/KangarooTwelve.py +222 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/KangarooTwelve.pyi +16 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/MD2.py +166 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/MD2.pyi +19 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/MD4.py +185 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/MD4.pyi +19 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/MD5.py +184 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/MD5.pyi +19 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/Poly1305.py +217 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/Poly1305.pyi +24 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/RIPEMD.py +26 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/RIPEMD.pyi +3 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/RIPEMD160.py +169 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/RIPEMD160.pyi +19 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/SHA.py +24 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/SHA.pyi +4 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/SHA1.py +185 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/SHA1.pyi +19 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/SHA224.py +186 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/SHA224.pyi +19 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/SHA256.py +185 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/SHA256.pyi +18 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/SHA384.py +186 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/SHA384.pyi +19 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/SHA3_224.py +174 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/SHA3_224.pyi +19 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/SHA3_256.py +174 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/SHA3_256.pyi +19 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/SHA3_384.py +179 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/SHA3_384.pyi +19 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/SHA3_512.py +174 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/SHA3_512.pyi +19 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/SHA512.py +204 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/SHA512.pyi +22 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/SHAKE128.py +145 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/SHAKE128.pyi +14 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/SHAKE256.py +146 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/SHAKE256.pyi +14 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/TupleHash128.py +136 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/TupleHash128.pyi +22 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/TupleHash256.py +70 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/TupleHash256.pyi +5 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/TurboSHAKE128.py +112 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/TurboSHAKE128.pyi +17 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/TurboSHAKE256.py +22 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/TurboSHAKE256.pyi +12 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/__init__.py +69 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/__init__.pyi +57 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/cSHAKE128.py +187 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/cSHAKE128.pyi +14 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/cSHAKE256.py +56 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/cSHAKE256.pyi +8 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/keccak.py +181 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Hash/keccak.pyi +23 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/IO/PEM.py +191 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/IO/PEM.pyi +10 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/IO/PKCS8.py +226 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/IO/PKCS8.pyi +17 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/IO/_PBES.py +546 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/IO/_PBES.pyi +26 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/IO/__init__.py +31 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Math/Numbers.py +47 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Math/Numbers.pyi +2 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Math/Primality.py +369 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Math/Primality.pyi +18 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Math/_IntegerBase.py +412 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Math/_IntegerBase.pyi +67 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Math/_IntegerCustom.py +162 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Math/_IntegerCustom.pyi +8 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Math/_IntegerGMP.py +799 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Math/_IntegerGMP.pyi +3 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Math/_IntegerNative.py +382 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Math/_IntegerNative.pyi +3 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Math/__init__.py +0 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Protocol/DH.py +192 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Protocol/DH.pyi +19 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Protocol/HPKE.py +483 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Protocol/KDF.py +647 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Protocol/KDF.pyi +44 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Protocol/SecretSharing.py +297 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Protocol/SecretSharing.pyi +22 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Protocol/__init__.py +31 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Protocol/__init__.pyi +1 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/PublicKey/DSA.py +682 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/PublicKey/DSA.pyi +31 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/PublicKey/ECC.py +1342 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/PublicKey/ECC.pyi +80 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/PublicKey/ElGamal.py +286 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/PublicKey/ElGamal.pyi +18 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/PublicKey/RSA.py +871 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/PublicKey/RSA.pyi +78 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/PublicKey/__init__.py +94 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/PublicKey/__init__.pyi +0 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/PublicKey/_curve.py +37 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/PublicKey/_edwards.py +116 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/PublicKey/_montgomery.py +152 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/PublicKey/_nist_ecc.py +246 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/PublicKey/_openssh.py +135 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/PublicKey/_openssh.pyi +7 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/PublicKey/_point.py +493 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/PublicKey/_point.pyi +49 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Random/__init__.py +57 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Random/__init__.pyi +19 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Random/random.py +138 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Random/random.pyi +22 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/__init__.py +64 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/common.py +510 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_AES.py +1351 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_ARC2.py +167 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_ARC4.py +471 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_Blowfish.py +160 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_CAST.py +101 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_CBC.py +556 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_CCM.py +970 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_CFB.py +411 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_CTR.py +472 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_ChaCha20.py +529 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_ChaCha20_Poly1305.py +776 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_DES.py +374 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_DES3.py +195 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_EAX.py +773 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_GCM.py +951 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_KW.py +175 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_OCB.py +845 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_OFB.py +238 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_OpenPGP.py +218 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_SIV.py +552 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_Salsa20.py +367 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_pkcs1_15.py +283 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_pkcs1_oaep.py +506 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/__init__.py +62 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/common.py +290 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_BLAKE2.py +492 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_CMAC.py +448 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_HMAC.py +548 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_KMAC.py +346 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_KangarooTwelve.py +367 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_MD2.py +62 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_MD4.py +64 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_MD5.py +94 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_Poly1305.py +542 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_RIPEMD160.py +71 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_SHA1.py +84 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_SHA224.py +63 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_SHA256.py +94 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_SHA384.py +61 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_SHA3_224.py +79 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_SHA3_256.py +80 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_SHA3_384.py +79 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_SHA3_512.py +79 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_SHA512.py +140 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_SHAKE.py +151 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_TupleHash.py +302 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_TurboSHAKE.py +468 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_cSHAKE.py +178 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_keccak.py +250 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/IO/__init__.py +47 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/IO/test_PBES.py +118 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/IO/test_PKCS8.py +459 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Math/__init__.py +51 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Math/test_Numbers.py +838 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Math/test_Primality.py +118 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Math/test_modexp.py +201 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Math/test_modmult.py +120 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Protocol/__init__.py +45 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Protocol/test_HPKE.py +491 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Protocol/test_KDF.py +809 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Protocol/test_SecretSharing.py +290 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Protocol/test_ecdh.py +770 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Protocol/test_rfc1751.py +62 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/__init__.py +63 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/test_DSA.py +247 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/test_ECC_Curve25519.py +283 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/test_ECC_Curve448.py +246 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/test_ECC_Ed25519.py +341 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/test_ECC_Ed448.py +336 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/test_ECC_NIST.py +1440 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/test_ElGamal.py +217 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/test_RSA.py +324 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/test_import_Curve25519.py +385 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/test_import_Curve448.py +351 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/test_import_DSA.py +554 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/test_import_ECC.py +2782 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/test_import_RSA.py +636 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Random/__init__.py +39 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Random/test_random.py +167 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Signature/__init__.py +41 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Signature/test_dss.py +1369 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Signature/test_eddsa.py +604 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Signature/test_pkcs1_15.py +348 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Signature/test_pss.py +377 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Util/__init__.py +46 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Util/test_Counter.py +67 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Util/test_Padding.py +153 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Util/test_asn1.py +851 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Util/test_number.py +192 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Util/test_rfc1751.py +38 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/Util/test_strxor.py +280 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/__init__.py +102 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/__main__.py +43 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/loader.py +250 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/SelfTest/st_common.py +55 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Signature/DSS.py +403 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Signature/DSS.pyi +27 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Signature/PKCS1_PSS.py +55 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Signature/PKCS1_PSS.pyi +28 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Signature/PKCS1_v1_5.py +53 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Signature/PKCS1_v1_5.pyi +16 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Signature/__init__.py +36 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Signature/eddsa.py +343 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Signature/eddsa.pyi +21 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Signature/pkcs1_15.py +223 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Signature/pkcs1_15.pyi +17 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Signature/pss.py +387 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Signature/pss.pyi +30 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Util/Counter.py +79 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Util/Counter.pyi +5 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Util/Padding.py +119 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Util/Padding.pyi +6 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Util/RFC1751.py +386 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Util/RFC1751.pyi +7 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Util/__init__.py +41 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Util/_cpu_features.py +46 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Util/_cpu_features.pyi +2 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Util/_file_system.py +54 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Util/_file_system.pyi +4 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Util/_raw_api.py +325 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Util/_raw_api.pyi +27 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Util/asn1.py +1064 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Util/asn1.pyi +80 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Util/number.py +1525 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Util/number.pyi +19 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Util/py3compat.py +185 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Util/py3compat.pyi +33 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Util/strxor.py +146 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/Util/strxor.pyi +6 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/__init__.py +6 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/__init__.pyi +4 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/Crypto/py.typed +0 -0
- libcrypto-1.4.8/src/libcrypto/cryptod/lib/__init__.py +5 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8/src/libcrypto.egg-info}/PKG-INFO +1 -1
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto.egg-info/SOURCES.txt +305 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/LICENSE +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/README.md +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/setup.cfg +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/_version.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/addresses.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/bip32.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cli.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/constants.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/AES.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/AES.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/ARC2.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/ARC2.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/ARC4.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/ARC4.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/Blowfish.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/Blowfish.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/CAST.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/CAST.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/ChaCha20.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/ChaCha20.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/ChaCha20_Poly1305.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/ChaCha20_Poly1305.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/DES.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/DES.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/DES3.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/DES3.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/PKCS1_OAEP.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/PKCS1_OAEP.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/PKCS1_v1_5.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/PKCS1_v1_5.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/Salsa20.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/Salsa20.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/_EKSBlowfish.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/_EKSBlowfish.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/__init__.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/__init__.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/_mode_cbc.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/_mode_cbc.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/_mode_ccm.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/_mode_ccm.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/_mode_cfb.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/_mode_cfb.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/_mode_ctr.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/_mode_ctr.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/_mode_eax.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/_mode_eax.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/_mode_ecb.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/_mode_ecb.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/_mode_gcm.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/_mode_gcm.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/_mode_kw.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/_mode_kwp.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/_mode_ocb.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/_mode_ocb.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/_mode_ofb.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/_mode_ofb.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/_mode_openpgp.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/_mode_openpgp.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/_mode_siv.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/_mode_siv.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Cipher/_pkcs1_oaep_decode.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/BLAKE2b.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/BLAKE2b.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/BLAKE2s.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/BLAKE2s.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/CMAC.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/CMAC.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/HMAC.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/HMAC.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/KMAC128.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/KMAC128.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/KMAC256.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/KMAC256.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/KangarooTwelve.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/KangarooTwelve.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/MD2.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/MD2.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/MD4.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/MD4.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/MD5.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/MD5.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/Poly1305.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/Poly1305.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/RIPEMD.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/RIPEMD.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/RIPEMD160.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/RIPEMD160.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/SHA.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/SHA.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/SHA1.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/SHA1.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/SHA224.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/SHA224.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/SHA256.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/SHA256.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/SHA384.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/SHA384.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/SHA3_224.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/SHA3_224.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/SHA3_256.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/SHA3_256.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/SHA3_384.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/SHA3_384.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/SHA3_512.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/SHA3_512.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/SHA512.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/SHA512.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/SHAKE128.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/SHAKE128.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/SHAKE256.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/SHAKE256.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/TupleHash128.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/TupleHash128.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/TupleHash256.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/TupleHash256.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/TurboSHAKE128.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/TurboSHAKE128.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/TurboSHAKE256.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/TurboSHAKE256.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/__init__.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/__init__.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/cSHAKE128.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/cSHAKE128.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/cSHAKE256.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/cSHAKE256.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/keccak.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Hash/keccak.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/IO/PEM.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/IO/PEM.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/IO/PKCS8.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/IO/PKCS8.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/IO/_PBES.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/IO/_PBES.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/IO/__init__.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Math/Numbers.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Math/Numbers.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Math/Primality.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Math/Primality.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Math/_IntegerBase.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Math/_IntegerBase.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Math/_IntegerCustom.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Math/_IntegerCustom.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Math/_IntegerGMP.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Math/_IntegerGMP.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Math/_IntegerNative.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Math/_IntegerNative.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Math/__init__.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Protocol/DH.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Protocol/DH.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Protocol/HPKE.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Protocol/KDF.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Protocol/KDF.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Protocol/SecretSharing.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Protocol/SecretSharing.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Protocol/__init__.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Protocol/__init__.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/PublicKey/DSA.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/PublicKey/DSA.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/PublicKey/ECC.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/PublicKey/ECC.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/PublicKey/ElGamal.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/PublicKey/ElGamal.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/PublicKey/RSA.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/PublicKey/RSA.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/PublicKey/__init__.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/PublicKey/__init__.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/PublicKey/_curve.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/PublicKey/_edwards.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/PublicKey/_montgomery.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/PublicKey/_nist_ecc.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/PublicKey/_openssh.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/PublicKey/_openssh.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/PublicKey/_point.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/PublicKey/_point.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Random/__init__.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Random/__init__.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Random/random.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Random/random.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/__init__.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/common.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_AES.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_ARC2.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_ARC4.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_Blowfish.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_CAST.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_CBC.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_CCM.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_CFB.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_CTR.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_ChaCha20.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_ChaCha20_Poly1305.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_DES.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_DES3.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_EAX.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_GCM.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_KW.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_OCB.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_OFB.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_OpenPGP.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_SIV.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_Salsa20.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_pkcs1_15.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_pkcs1_oaep.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/__init__.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/common.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_BLAKE2.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_CMAC.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_HMAC.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_KMAC.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_KangarooTwelve.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_MD2.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_MD4.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_MD5.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_Poly1305.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_RIPEMD160.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_SHA1.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_SHA224.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_SHA256.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_SHA384.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_SHA3_224.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_SHA3_256.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_SHA3_384.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_SHA3_512.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_SHA512.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_SHAKE.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_TupleHash.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_TurboSHAKE.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_cSHAKE.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_keccak.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/IO/__init__.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/IO/test_PBES.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/IO/test_PKCS8.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Math/__init__.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Math/test_Numbers.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Math/test_Primality.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Math/test_modexp.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Math/test_modmult.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Protocol/__init__.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Protocol/test_HPKE.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Protocol/test_KDF.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Protocol/test_SecretSharing.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Protocol/test_ecdh.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Protocol/test_rfc1751.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/__init__.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/test_DSA.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/test_ECC_Curve25519.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/test_ECC_Curve448.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/test_ECC_Ed25519.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/test_ECC_Ed448.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/test_ECC_NIST.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/test_ElGamal.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/test_RSA.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/test_import_Curve25519.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/test_import_Curve448.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/test_import_DSA.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/test_import_ECC.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/test_import_RSA.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Random/__init__.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Random/test_random.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Signature/__init__.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Signature/test_dss.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Signature/test_eddsa.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Signature/test_pkcs1_15.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Signature/test_pss.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Util/__init__.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Util/test_Counter.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Util/test_Padding.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Util/test_asn1.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Util/test_number.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Util/test_rfc1751.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/Util/test_strxor.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/__init__.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/__main__.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/loader.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/SelfTest/st_common.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Signature/DSS.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Signature/DSS.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Signature/PKCS1_PSS.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Signature/PKCS1_PSS.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Signature/PKCS1_v1_5.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Signature/PKCS1_v1_5.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Signature/__init__.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Signature/eddsa.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Signature/eddsa.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Signature/pkcs1_15.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Signature/pkcs1_15.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Signature/pss.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Signature/pss.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Util/Counter.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Util/Counter.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Util/Padding.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Util/Padding.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Util/RFC1751.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Util/RFC1751.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Util/__init__.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Util/_cpu_features.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Util/_cpu_features.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Util/_file_system.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Util/_file_system.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Util/_raw_api.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Util/_raw_api.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Util/asn1.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Util/asn1.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Util/number.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Util/number.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Util/py3compat.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Util/py3compat.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Util/strxor.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/Util/strxor.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/__init__.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/__init__.pyi +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/Crypto/py.typed +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/__init__.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/bench_monty.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/compiler_opt.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/pct-speedtest.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/setup.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/src/make_ecc_table.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/src/test/common.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/src/test/make_tests_addmul.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/src/test/make_tests_addmul128.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/src/test/make_tests_ladder_step.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/src/test/make_tests_mont_mult.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/src/test/make_tests_mul_25519.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/src/test/make_tests_poly1305_accumulate.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/src/test/make_tests_poly1305_load_m.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/src/test/make_tests_poly1305_load_r.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/src/test/make_tests_poly1305_multiply.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/src/test/make_tests_poly1305_reduce.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/src/test/make_tests_product.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/src/test/make_tests_square.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/test_vectors/pycryptodome_test_vectors/__init__.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/cryptod/test_vectors/setup.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/formats.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/hash.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/keys.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/mnemonic.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/secp256k1.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto/wallet.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto.egg-info/dependency_links.txt +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto.egg-info/entry_points.txt +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto.egg-info/not-zip-safe +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto.egg-info/requires.txt +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/src/libcrypto.egg-info/top_level.txt +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/tests/test_addresses.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/tests/test_bip32.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/tests/test_constants.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/tests/test_cryptod.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/tests/test_formats.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/tests/test_keys.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/tests/test_mnemonic.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/tests/test_secp256k1.py +0 -0
- {libcrypto-1.2.1 → libcrypto-1.4.8}/tests/test_wallet.py +0 -0
|
@@ -17,7 +17,7 @@ def get_long_description():
|
|
|
17
17
|
|
|
18
18
|
setup(
|
|
19
19
|
name="libcrypto",
|
|
20
|
-
version="1.
|
|
20
|
+
version="1.4.8",
|
|
21
21
|
description="Comprehensive cryptocurrency wallet library with BIP39/BIP32 support using embedded cryptographic primitives",
|
|
22
22
|
long_description=get_long_description(),
|
|
23
23
|
long_description_content_type="text/markdown",
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# Cipher/AES.py : AES
|
|
4
|
+
#
|
|
5
|
+
# ===================================================================
|
|
6
|
+
# The contents of this file are dedicated to the public domain. To
|
|
7
|
+
# the extent that dedication to the public domain is not available,
|
|
8
|
+
# everyone is granted a worldwide, perpetual, royalty-free,
|
|
9
|
+
# non-exclusive license to exercise all rights associated with the
|
|
10
|
+
# contents of this file for any purpose whatsoever.
|
|
11
|
+
# No rights are reserved.
|
|
12
|
+
#
|
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
14
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
15
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
16
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
|
17
|
+
# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
|
18
|
+
# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
19
|
+
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
20
|
+
# SOFTWARE.
|
|
21
|
+
# ===================================================================
|
|
22
|
+
|
|
23
|
+
import sys
|
|
24
|
+
|
|
25
|
+
from Crypto.Cipher import _create_cipher
|
|
26
|
+
from Crypto.Util._raw_api import (load_pycryptodome_raw_lib,
|
|
27
|
+
VoidPointer, SmartPointer,
|
|
28
|
+
c_size_t, c_uint8_ptr)
|
|
29
|
+
|
|
30
|
+
from Crypto.Util import _cpu_features
|
|
31
|
+
from Crypto.Random import get_random_bytes
|
|
32
|
+
|
|
33
|
+
MODE_ECB = 1 #: Electronic Code Book (:ref:`ecb_mode`)
|
|
34
|
+
MODE_CBC = 2 #: Cipher-Block Chaining (:ref:`cbc_mode`)
|
|
35
|
+
MODE_CFB = 3 #: Cipher Feedback (:ref:`cfb_mode`)
|
|
36
|
+
MODE_OFB = 5 #: Output Feedback (:ref:`ofb_mode`)
|
|
37
|
+
MODE_CTR = 6 #: Counter mode (:ref:`ctr_mode`)
|
|
38
|
+
MODE_OPENPGP = 7 #: OpenPGP mode (:ref:`openpgp_mode`)
|
|
39
|
+
MODE_CCM = 8 #: Counter with CBC-MAC (:ref:`ccm_mode`)
|
|
40
|
+
MODE_EAX = 9 #: :ref:`eax_mode`
|
|
41
|
+
MODE_SIV = 10 #: Synthetic Initialization Vector (:ref:`siv_mode`)
|
|
42
|
+
MODE_GCM = 11 #: Galois Counter Mode (:ref:`gcm_mode`)
|
|
43
|
+
MODE_OCB = 12 #: Offset Code Book (:ref:`ocb_mode`)
|
|
44
|
+
MODE_KW = 13 #: Key Wrap (:ref:`kw_mode`)
|
|
45
|
+
MODE_KWP = 14 #: Key Wrap with Padding (:ref:`kwp_mode`)
|
|
46
|
+
|
|
47
|
+
_cproto = """
|
|
48
|
+
int AES_start_operation(const uint8_t key[],
|
|
49
|
+
size_t key_len,
|
|
50
|
+
void **pResult);
|
|
51
|
+
int AES_encrypt(const void *state,
|
|
52
|
+
const uint8_t *in,
|
|
53
|
+
uint8_t *out,
|
|
54
|
+
size_t data_len);
|
|
55
|
+
int AES_decrypt(const void *state,
|
|
56
|
+
const uint8_t *in,
|
|
57
|
+
uint8_t *out,
|
|
58
|
+
size_t data_len);
|
|
59
|
+
int AES_stop_operation(void *state);
|
|
60
|
+
"""
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
# Load portable AES
|
|
64
|
+
_raw_aes_lib = load_pycryptodome_raw_lib("Crypto.Cipher._raw_aes",
|
|
65
|
+
_cproto)
|
|
66
|
+
|
|
67
|
+
# Try to load AES with AES NI instructions
|
|
68
|
+
try:
|
|
69
|
+
_raw_aesni_lib = None
|
|
70
|
+
if _cpu_features.have_aes_ni():
|
|
71
|
+
_raw_aesni_lib = load_pycryptodome_raw_lib("Crypto.Cipher._raw_aesni",
|
|
72
|
+
_cproto.replace("AES",
|
|
73
|
+
"AESNI"))
|
|
74
|
+
# _raw_aesni may not have been compiled in
|
|
75
|
+
except OSError:
|
|
76
|
+
pass
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
def _create_base_cipher(dict_parameters):
|
|
80
|
+
"""This method instantiates and returns a handle to a low-level
|
|
81
|
+
base cipher. It will absorb named parameters in the process."""
|
|
82
|
+
|
|
83
|
+
use_aesni = dict_parameters.pop("use_aesni", True)
|
|
84
|
+
|
|
85
|
+
try:
|
|
86
|
+
key = dict_parameters.pop("key")
|
|
87
|
+
except KeyError:
|
|
88
|
+
raise TypeError("Missing 'key' parameter")
|
|
89
|
+
|
|
90
|
+
if len(key) not in key_size:
|
|
91
|
+
raise ValueError("Incorrect AES key length (%d bytes)" % len(key))
|
|
92
|
+
|
|
93
|
+
if use_aesni and _raw_aesni_lib:
|
|
94
|
+
start_operation = _raw_aesni_lib.AESNI_start_operation
|
|
95
|
+
stop_operation = _raw_aesni_lib.AESNI_stop_operation
|
|
96
|
+
else:
|
|
97
|
+
start_operation = _raw_aes_lib.AES_start_operation
|
|
98
|
+
stop_operation = _raw_aes_lib.AES_stop_operation
|
|
99
|
+
|
|
100
|
+
cipher = VoidPointer()
|
|
101
|
+
result = start_operation(c_uint8_ptr(key),
|
|
102
|
+
c_size_t(len(key)),
|
|
103
|
+
cipher.address_of())
|
|
104
|
+
if result:
|
|
105
|
+
raise ValueError("Error %X while instantiating the AES cipher"
|
|
106
|
+
% result)
|
|
107
|
+
return SmartPointer(cipher.get(), stop_operation)
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
def _derive_Poly1305_key_pair(key, nonce):
|
|
111
|
+
"""Derive a tuple (r, s, nonce) for a Poly1305 MAC.
|
|
112
|
+
|
|
113
|
+
If nonce is ``None``, a new 16-byte nonce is generated.
|
|
114
|
+
"""
|
|
115
|
+
|
|
116
|
+
if len(key) != 32:
|
|
117
|
+
raise ValueError("Poly1305 with AES requires a 32-byte key")
|
|
118
|
+
|
|
119
|
+
if nonce is None:
|
|
120
|
+
nonce = get_random_bytes(16)
|
|
121
|
+
elif len(nonce) != 16:
|
|
122
|
+
raise ValueError("Poly1305 with AES requires a 16-byte nonce")
|
|
123
|
+
|
|
124
|
+
s = new(key[:16], MODE_ECB).encrypt(nonce)
|
|
125
|
+
return key[16:], s, nonce
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
def new(key, mode, *args, **kwargs):
|
|
129
|
+
"""Create a new AES cipher.
|
|
130
|
+
|
|
131
|
+
Args:
|
|
132
|
+
key(bytes/bytearray/memoryview):
|
|
133
|
+
The secret key to use in the symmetric cipher.
|
|
134
|
+
|
|
135
|
+
It must be 16 (*AES-128)*, 24 (*AES-192*) or 32 (*AES-256*) bytes long.
|
|
136
|
+
|
|
137
|
+
For ``MODE_SIV`` only, it doubles to 32, 48, or 64 bytes.
|
|
138
|
+
mode (a ``MODE_*`` constant):
|
|
139
|
+
The chaining mode to use for encryption or decryption.
|
|
140
|
+
If in doubt, use ``MODE_EAX``.
|
|
141
|
+
|
|
142
|
+
Keyword Args:
|
|
143
|
+
iv (bytes/bytearray/memoryview):
|
|
144
|
+
(Only applicable for ``MODE_CBC``, ``MODE_CFB``, ``MODE_OFB``,
|
|
145
|
+
and ``MODE_OPENPGP`` modes).
|
|
146
|
+
|
|
147
|
+
The initialization vector to use for encryption or decryption.
|
|
148
|
+
|
|
149
|
+
For ``MODE_CBC``, ``MODE_CFB``, and ``MODE_OFB`` it must be 16 bytes long.
|
|
150
|
+
|
|
151
|
+
For ``MODE_OPENPGP`` mode only,
|
|
152
|
+
it must be 16 bytes long for encryption
|
|
153
|
+
and 18 bytes for decryption (in the latter case, it is
|
|
154
|
+
actually the *encrypted* IV which was prefixed to the ciphertext).
|
|
155
|
+
|
|
156
|
+
If not provided, a random byte string is generated (you must then
|
|
157
|
+
read its value with the :attr:`iv` attribute).
|
|
158
|
+
|
|
159
|
+
nonce (bytes/bytearray/memoryview):
|
|
160
|
+
(Only applicable for ``MODE_CCM``, ``MODE_EAX``, ``MODE_GCM``,
|
|
161
|
+
``MODE_SIV``, ``MODE_OCB``, and ``MODE_CTR``).
|
|
162
|
+
|
|
163
|
+
A value that must never be reused for any other encryption done
|
|
164
|
+
with this key (except possibly for ``MODE_SIV``, see below).
|
|
165
|
+
|
|
166
|
+
For ``MODE_EAX``, ``MODE_GCM`` and ``MODE_SIV`` there are no
|
|
167
|
+
restrictions on its length (recommended: **16** bytes).
|
|
168
|
+
|
|
169
|
+
For ``MODE_CCM``, its length must be in the range **[7..13]**.
|
|
170
|
+
Bear in mind that with CCM there is a trade-off between nonce
|
|
171
|
+
length and maximum message size. Recommendation: **11** bytes.
|
|
172
|
+
|
|
173
|
+
For ``MODE_OCB``, its length must be in the range **[1..15]**
|
|
174
|
+
(recommended: **15**).
|
|
175
|
+
|
|
176
|
+
For ``MODE_CTR``, its length must be in the range **[0..15]**
|
|
177
|
+
(recommended: **8**).
|
|
178
|
+
|
|
179
|
+
For ``MODE_SIV``, the nonce is optional, if it is not specified,
|
|
180
|
+
then no nonce is being used, which renders the encryption
|
|
181
|
+
deterministic.
|
|
182
|
+
|
|
183
|
+
If not provided, for modes other than ``MODE_SIV``, a random
|
|
184
|
+
byte string of the recommended length is used (you must then
|
|
185
|
+
read its value with the :attr:`nonce` attribute).
|
|
186
|
+
|
|
187
|
+
segment_size (integer):
|
|
188
|
+
(Only ``MODE_CFB``).The number of **bits** the plaintext and ciphertext
|
|
189
|
+
are segmented in. It must be a multiple of 8.
|
|
190
|
+
If not specified, it will be assumed to be 8.
|
|
191
|
+
|
|
192
|
+
mac_len (integer):
|
|
193
|
+
(Only ``MODE_EAX``, ``MODE_GCM``, ``MODE_OCB``, ``MODE_CCM``)
|
|
194
|
+
Length of the authentication tag, in bytes.
|
|
195
|
+
|
|
196
|
+
It must be even and in the range **[4..16]**.
|
|
197
|
+
The recommended value (and the default, if not specified) is **16**.
|
|
198
|
+
|
|
199
|
+
msg_len (integer):
|
|
200
|
+
(Only ``MODE_CCM``). Length of the message to (de)cipher.
|
|
201
|
+
If not specified, ``encrypt`` must be called with the entire message.
|
|
202
|
+
Similarly, ``decrypt`` can only be called once.
|
|
203
|
+
|
|
204
|
+
assoc_len (integer):
|
|
205
|
+
(Only ``MODE_CCM``). Length of the associated data.
|
|
206
|
+
If not specified, all associated data is buffered internally,
|
|
207
|
+
which may represent a problem for very large messages.
|
|
208
|
+
|
|
209
|
+
initial_value (integer or bytes/bytearray/memoryview):
|
|
210
|
+
(Only ``MODE_CTR``).
|
|
211
|
+
The initial value for the counter. If not present, the cipher will
|
|
212
|
+
start counting from 0. The value is incremented by one for each block.
|
|
213
|
+
The counter number is encoded in big endian mode.
|
|
214
|
+
|
|
215
|
+
counter (object):
|
|
216
|
+
(Only ``MODE_CTR``).
|
|
217
|
+
Instance of ``Crypto.Util.Counter``, which allows full customization
|
|
218
|
+
of the counter block. This parameter is incompatible to both ``nonce``
|
|
219
|
+
and ``initial_value``.
|
|
220
|
+
|
|
221
|
+
use_aesni: (boolean):
|
|
222
|
+
Use Intel AES-NI hardware extensions (default: use if available).
|
|
223
|
+
|
|
224
|
+
Returns:
|
|
225
|
+
an AES object, of the applicable mode.
|
|
226
|
+
"""
|
|
227
|
+
|
|
228
|
+
kwargs["add_aes_modes"] = True
|
|
229
|
+
return _create_cipher(sys.modules[__name__], key, mode, *args, **kwargs)
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
# Size of a data block (in bytes)
|
|
233
|
+
block_size = 16
|
|
234
|
+
# Size of a key (in bytes)
|
|
235
|
+
key_size = (16, 24, 32)
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
from typing import Dict, Optional, Tuple, Union, overload
|
|
2
|
+
from typing_extensions import Literal
|
|
3
|
+
|
|
4
|
+
Buffer=bytes|bytearray|memoryview
|
|
5
|
+
|
|
6
|
+
from Crypto.Cipher._mode_ecb import EcbMode
|
|
7
|
+
from Crypto.Cipher._mode_cbc import CbcMode
|
|
8
|
+
from Crypto.Cipher._mode_cfb import CfbMode
|
|
9
|
+
from Crypto.Cipher._mode_ofb import OfbMode
|
|
10
|
+
from Crypto.Cipher._mode_ctr import CtrMode
|
|
11
|
+
from Crypto.Cipher._mode_openpgp import OpenPgpMode
|
|
12
|
+
from Crypto.Cipher._mode_ccm import CcmMode
|
|
13
|
+
from Crypto.Cipher._mode_eax import EaxMode
|
|
14
|
+
from Crypto.Cipher._mode_gcm import GcmMode
|
|
15
|
+
from Crypto.Cipher._mode_siv import SivMode
|
|
16
|
+
from Crypto.Cipher._mode_ocb import OcbMode
|
|
17
|
+
|
|
18
|
+
MODE_ECB: Literal[1]
|
|
19
|
+
MODE_CBC: Literal[2]
|
|
20
|
+
MODE_CFB: Literal[3]
|
|
21
|
+
MODE_OFB: Literal[5]
|
|
22
|
+
MODE_CTR: Literal[6]
|
|
23
|
+
MODE_OPENPGP: Literal[7]
|
|
24
|
+
MODE_CCM: Literal[8]
|
|
25
|
+
MODE_EAX: Literal[9]
|
|
26
|
+
MODE_SIV: Literal[10]
|
|
27
|
+
MODE_GCM: Literal[11]
|
|
28
|
+
MODE_OCB: Literal[12]
|
|
29
|
+
|
|
30
|
+
# MODE_ECB
|
|
31
|
+
@overload
|
|
32
|
+
def new(key: Buffer,
|
|
33
|
+
mode: Literal[1],
|
|
34
|
+
use_aesni : bool = ...) -> \
|
|
35
|
+
EcbMode: ...
|
|
36
|
+
|
|
37
|
+
# MODE_CBC
|
|
38
|
+
@overload
|
|
39
|
+
def new(key: Buffer,
|
|
40
|
+
mode: Literal[2],
|
|
41
|
+
iv : Optional[Buffer] = ...,
|
|
42
|
+
use_aesni : bool = ...) -> \
|
|
43
|
+
CbcMode: ...
|
|
44
|
+
|
|
45
|
+
@overload
|
|
46
|
+
def new(key: Buffer,
|
|
47
|
+
mode: Literal[2],
|
|
48
|
+
IV : Optional[Buffer] = ...,
|
|
49
|
+
use_aesni : bool = ...) -> \
|
|
50
|
+
CbcMode: ...
|
|
51
|
+
|
|
52
|
+
# MODE_CFB
|
|
53
|
+
@overload
|
|
54
|
+
def new(key: Buffer,
|
|
55
|
+
mode: Literal[3],
|
|
56
|
+
iv : Optional[Buffer] = ...,
|
|
57
|
+
segment_size : int = ...,
|
|
58
|
+
use_aesni : bool = ...) -> \
|
|
59
|
+
CfbMode: ...
|
|
60
|
+
|
|
61
|
+
@overload
|
|
62
|
+
def new(key: Buffer,
|
|
63
|
+
mode: Literal[3],
|
|
64
|
+
IV : Optional[Buffer] = ...,
|
|
65
|
+
segment_size : int = ...,
|
|
66
|
+
use_aesni : bool = ...) -> \
|
|
67
|
+
CfbMode: ...
|
|
68
|
+
|
|
69
|
+
# MODE_OFB
|
|
70
|
+
@overload
|
|
71
|
+
def new(key: Buffer,
|
|
72
|
+
mode: Literal[5],
|
|
73
|
+
iv : Optional[Buffer] = ...,
|
|
74
|
+
use_aesni : bool = ...) -> \
|
|
75
|
+
OfbMode: ...
|
|
76
|
+
|
|
77
|
+
@overload
|
|
78
|
+
def new(key: Buffer,
|
|
79
|
+
mode: Literal[5],
|
|
80
|
+
IV : Optional[Buffer] = ...,
|
|
81
|
+
use_aesni : bool = ...) -> \
|
|
82
|
+
OfbMode: ...
|
|
83
|
+
|
|
84
|
+
# MODE_CTR
|
|
85
|
+
@overload
|
|
86
|
+
def new(key: Buffer,
|
|
87
|
+
mode: Literal[6],
|
|
88
|
+
nonce : Optional[Buffer] = ...,
|
|
89
|
+
initial_value : Union[int, Buffer] = ...,
|
|
90
|
+
counter : Dict = ...,
|
|
91
|
+
use_aesni : bool = ...) -> \
|
|
92
|
+
CtrMode: ...
|
|
93
|
+
|
|
94
|
+
# MODE_OPENPGP
|
|
95
|
+
@overload
|
|
96
|
+
def new(key: Buffer,
|
|
97
|
+
mode: Literal[7],
|
|
98
|
+
iv : Optional[Buffer] = ...,
|
|
99
|
+
use_aesni : bool = ...) -> \
|
|
100
|
+
OpenPgpMode: ...
|
|
101
|
+
|
|
102
|
+
@overload
|
|
103
|
+
def new(key: Buffer,
|
|
104
|
+
mode: Literal[7],
|
|
105
|
+
IV : Optional[Buffer] = ...,
|
|
106
|
+
use_aesni : bool = ...) -> \
|
|
107
|
+
OpenPgpMode: ...
|
|
108
|
+
|
|
109
|
+
# MODE_CCM
|
|
110
|
+
@overload
|
|
111
|
+
def new(key: Buffer,
|
|
112
|
+
mode: Literal[8],
|
|
113
|
+
nonce : Optional[Buffer] = ...,
|
|
114
|
+
mac_len : int = ...,
|
|
115
|
+
assoc_len : int = ...,
|
|
116
|
+
use_aesni : bool = ...) -> \
|
|
117
|
+
CcmMode: ...
|
|
118
|
+
|
|
119
|
+
# MODE_EAX
|
|
120
|
+
@overload
|
|
121
|
+
def new(key: Buffer,
|
|
122
|
+
mode: Literal[9],
|
|
123
|
+
nonce : Optional[Buffer] = ...,
|
|
124
|
+
mac_len : int = ...,
|
|
125
|
+
use_aesni : bool = ...) -> \
|
|
126
|
+
EaxMode: ...
|
|
127
|
+
|
|
128
|
+
# MODE_GCM
|
|
129
|
+
@overload
|
|
130
|
+
def new(key: Buffer,
|
|
131
|
+
mode: Literal[10],
|
|
132
|
+
nonce : Optional[Buffer] = ...,
|
|
133
|
+
use_aesni : bool = ...) -> \
|
|
134
|
+
SivMode: ...
|
|
135
|
+
|
|
136
|
+
# MODE_SIV
|
|
137
|
+
@overload
|
|
138
|
+
def new(key: Buffer,
|
|
139
|
+
mode: Literal[11],
|
|
140
|
+
nonce : Optional[Buffer] = ...,
|
|
141
|
+
mac_len : int = ...,
|
|
142
|
+
use_aesni : bool = ...) -> \
|
|
143
|
+
GcmMode: ...
|
|
144
|
+
|
|
145
|
+
# MODE_OCB
|
|
146
|
+
@overload
|
|
147
|
+
def new(key: Buffer,
|
|
148
|
+
mode: Literal[12],
|
|
149
|
+
nonce : Optional[Buffer] = ...,
|
|
150
|
+
mac_len : int = ...,
|
|
151
|
+
use_aesni : bool = ...) -> \
|
|
152
|
+
OcbMode: ...
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
block_size: int
|
|
156
|
+
key_size: Tuple[int, int, int]
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# Cipher/ARC2.py : ARC2.py
|
|
4
|
+
#
|
|
5
|
+
# ===================================================================
|
|
6
|
+
# The contents of this file are dedicated to the public domain. To
|
|
7
|
+
# the extent that dedication to the public domain is not available,
|
|
8
|
+
# everyone is granted a worldwide, perpetual, royalty-free,
|
|
9
|
+
# non-exclusive license to exercise all rights associated with the
|
|
10
|
+
# contents of this file for any purpose whatsoever.
|
|
11
|
+
# No rights are reserved.
|
|
12
|
+
#
|
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
14
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
15
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
16
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
|
17
|
+
# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
|
18
|
+
# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
19
|
+
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
20
|
+
# SOFTWARE.
|
|
21
|
+
# ===================================================================
|
|
22
|
+
"""
|
|
23
|
+
Module's constants for the modes of operation supported with ARC2:
|
|
24
|
+
|
|
25
|
+
:var MODE_ECB: :ref:`Electronic Code Book (ECB) <ecb_mode>`
|
|
26
|
+
:var MODE_CBC: :ref:`Cipher-Block Chaining (CBC) <cbc_mode>`
|
|
27
|
+
:var MODE_CFB: :ref:`Cipher FeedBack (CFB) <cfb_mode>`
|
|
28
|
+
:var MODE_OFB: :ref:`Output FeedBack (OFB) <ofb_mode>`
|
|
29
|
+
:var MODE_CTR: :ref:`CounTer Mode (CTR) <ctr_mode>`
|
|
30
|
+
:var MODE_OPENPGP: :ref:`OpenPGP Mode <openpgp_mode>`
|
|
31
|
+
:var MODE_EAX: :ref:`EAX Mode <eax_mode>`
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
import sys
|
|
35
|
+
|
|
36
|
+
from Crypto.Cipher import _create_cipher
|
|
37
|
+
from Crypto.Util.py3compat import byte_string
|
|
38
|
+
from Crypto.Util._raw_api import (load_pycryptodome_raw_lib,
|
|
39
|
+
VoidPointer, SmartPointer,
|
|
40
|
+
c_size_t, c_uint8_ptr)
|
|
41
|
+
|
|
42
|
+
_raw_arc2_lib = load_pycryptodome_raw_lib(
|
|
43
|
+
"Crypto.Cipher._raw_arc2",
|
|
44
|
+
"""
|
|
45
|
+
int ARC2_start_operation(const uint8_t key[],
|
|
46
|
+
size_t key_len,
|
|
47
|
+
size_t effective_key_len,
|
|
48
|
+
void **pResult);
|
|
49
|
+
int ARC2_encrypt(const void *state,
|
|
50
|
+
const uint8_t *in,
|
|
51
|
+
uint8_t *out,
|
|
52
|
+
size_t data_len);
|
|
53
|
+
int ARC2_decrypt(const void *state,
|
|
54
|
+
const uint8_t *in,
|
|
55
|
+
uint8_t *out,
|
|
56
|
+
size_t data_len);
|
|
57
|
+
int ARC2_stop_operation(void *state);
|
|
58
|
+
"""
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
def _create_base_cipher(dict_parameters):
|
|
63
|
+
"""This method instantiates and returns a handle to a low-level
|
|
64
|
+
base cipher. It will absorb named parameters in the process."""
|
|
65
|
+
|
|
66
|
+
try:
|
|
67
|
+
key = dict_parameters.pop("key")
|
|
68
|
+
except KeyError:
|
|
69
|
+
raise TypeError("Missing 'key' parameter")
|
|
70
|
+
|
|
71
|
+
effective_keylen = dict_parameters.pop("effective_keylen", 1024)
|
|
72
|
+
|
|
73
|
+
if len(key) not in key_size:
|
|
74
|
+
raise ValueError("Incorrect ARC2 key length (%d bytes)" % len(key))
|
|
75
|
+
|
|
76
|
+
if not (40 <= effective_keylen <= 1024):
|
|
77
|
+
raise ValueError("'effective_key_len' must be at least 40 and no larger than 1024 "
|
|
78
|
+
"(not %d)" % effective_keylen)
|
|
79
|
+
|
|
80
|
+
start_operation = _raw_arc2_lib.ARC2_start_operation
|
|
81
|
+
stop_operation = _raw_arc2_lib.ARC2_stop_operation
|
|
82
|
+
|
|
83
|
+
cipher = VoidPointer()
|
|
84
|
+
result = start_operation(c_uint8_ptr(key),
|
|
85
|
+
c_size_t(len(key)),
|
|
86
|
+
c_size_t(effective_keylen),
|
|
87
|
+
cipher.address_of())
|
|
88
|
+
if result:
|
|
89
|
+
raise ValueError("Error %X while instantiating the ARC2 cipher"
|
|
90
|
+
% result)
|
|
91
|
+
|
|
92
|
+
return SmartPointer(cipher.get(), stop_operation)
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
def new(key, mode, *args, **kwargs):
|
|
96
|
+
"""Create a new RC2 cipher.
|
|
97
|
+
|
|
98
|
+
:param key:
|
|
99
|
+
The secret key to use in the symmetric cipher.
|
|
100
|
+
Its length can vary from 5 to 128 bytes; the actual search space
|
|
101
|
+
(and the cipher strength) can be reduced with the ``effective_keylen`` parameter.
|
|
102
|
+
:type key: bytes, bytearray, memoryview
|
|
103
|
+
|
|
104
|
+
:param mode:
|
|
105
|
+
The chaining mode to use for encryption or decryption.
|
|
106
|
+
:type mode: One of the supported ``MODE_*`` constants
|
|
107
|
+
|
|
108
|
+
:Keyword Arguments:
|
|
109
|
+
* **iv** (*bytes*, *bytearray*, *memoryview*) --
|
|
110
|
+
(Only applicable for ``MODE_CBC``, ``MODE_CFB``, ``MODE_OFB``,
|
|
111
|
+
and ``MODE_OPENPGP`` modes).
|
|
112
|
+
|
|
113
|
+
The initialization vector to use for encryption or decryption.
|
|
114
|
+
|
|
115
|
+
For ``MODE_CBC``, ``MODE_CFB``, and ``MODE_OFB`` it must be 8 bytes long.
|
|
116
|
+
|
|
117
|
+
For ``MODE_OPENPGP`` mode only,
|
|
118
|
+
it must be 8 bytes long for encryption
|
|
119
|
+
and 10 bytes for decryption (in the latter case, it is
|
|
120
|
+
actually the *encrypted* IV which was prefixed to the ciphertext).
|
|
121
|
+
|
|
122
|
+
If not provided, a random byte string is generated (you must then
|
|
123
|
+
read its value with the :attr:`iv` attribute).
|
|
124
|
+
|
|
125
|
+
* **nonce** (*bytes*, *bytearray*, *memoryview*) --
|
|
126
|
+
(Only applicable for ``MODE_EAX`` and ``MODE_CTR``).
|
|
127
|
+
|
|
128
|
+
A value that must never be reused for any other encryption done
|
|
129
|
+
with this key.
|
|
130
|
+
|
|
131
|
+
For ``MODE_EAX`` there are no
|
|
132
|
+
restrictions on its length (recommended: **16** bytes).
|
|
133
|
+
|
|
134
|
+
For ``MODE_CTR``, its length must be in the range **[0..7]**.
|
|
135
|
+
|
|
136
|
+
If not provided for ``MODE_EAX``, a random byte string is generated (you
|
|
137
|
+
can read it back via the ``nonce`` attribute).
|
|
138
|
+
|
|
139
|
+
* **effective_keylen** (*integer*) --
|
|
140
|
+
Optional. Maximum strength in bits of the actual key used by the ARC2 algorithm.
|
|
141
|
+
If the supplied ``key`` parameter is longer (in bits) of the value specified
|
|
142
|
+
here, it will be weakened to match it.
|
|
143
|
+
If not specified, no limitation is applied.
|
|
144
|
+
|
|
145
|
+
* **segment_size** (*integer*) --
|
|
146
|
+
(Only ``MODE_CFB``).The number of **bits** the plaintext and ciphertext
|
|
147
|
+
are segmented in. It must be a multiple of 8.
|
|
148
|
+
If not specified, it will be assumed to be 8.
|
|
149
|
+
|
|
150
|
+
* **mac_len** : (*integer*) --
|
|
151
|
+
(Only ``MODE_EAX``)
|
|
152
|
+
Length of the authentication tag, in bytes.
|
|
153
|
+
It must be no longer than 8 (default).
|
|
154
|
+
|
|
155
|
+
* **initial_value** : (*integer*) --
|
|
156
|
+
(Only ``MODE_CTR``). The initial value for the counter within
|
|
157
|
+
the counter block. By default it is **0**.
|
|
158
|
+
|
|
159
|
+
:Return: an ARC2 object, of the applicable mode.
|
|
160
|
+
"""
|
|
161
|
+
|
|
162
|
+
return _create_cipher(sys.modules[__name__], key, mode, *args, **kwargs)
|
|
163
|
+
|
|
164
|
+
MODE_ECB = 1
|
|
165
|
+
MODE_CBC = 2
|
|
166
|
+
MODE_CFB = 3
|
|
167
|
+
MODE_OFB = 5
|
|
168
|
+
MODE_CTR = 6
|
|
169
|
+
MODE_OPENPGP = 7
|
|
170
|
+
MODE_EAX = 9
|
|
171
|
+
|
|
172
|
+
# Size of a data block (in bytes)
|
|
173
|
+
block_size = 8
|
|
174
|
+
# Size of a key (in bytes)
|
|
175
|
+
key_size = range(5, 128 + 1)
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
from typing import Union, Dict, Iterable, Optional
|
|
2
|
+
|
|
3
|
+
Buffer = bytes|bytearray|memoryview
|
|
4
|
+
|
|
5
|
+
from Crypto.Cipher._mode_ecb import EcbMode
|
|
6
|
+
from Crypto.Cipher._mode_cbc import CbcMode
|
|
7
|
+
from Crypto.Cipher._mode_cfb import CfbMode
|
|
8
|
+
from Crypto.Cipher._mode_ofb import OfbMode
|
|
9
|
+
from Crypto.Cipher._mode_ctr import CtrMode
|
|
10
|
+
from Crypto.Cipher._mode_openpgp import OpenPgpMode
|
|
11
|
+
from Crypto.Cipher._mode_eax import EaxMode
|
|
12
|
+
|
|
13
|
+
ARC2Mode = int
|
|
14
|
+
|
|
15
|
+
MODE_ECB: ARC2Mode
|
|
16
|
+
MODE_CBC: ARC2Mode
|
|
17
|
+
MODE_CFB: ARC2Mode
|
|
18
|
+
MODE_OFB: ARC2Mode
|
|
19
|
+
MODE_CTR: ARC2Mode
|
|
20
|
+
MODE_OPENPGP: ARC2Mode
|
|
21
|
+
MODE_EAX: ARC2Mode
|
|
22
|
+
|
|
23
|
+
def new(key: Buffer,
|
|
24
|
+
mode: ARC2Mode,
|
|
25
|
+
iv : Optional[Buffer] = ...,
|
|
26
|
+
IV : Optional[Buffer] = ...,
|
|
27
|
+
nonce : Optional[Buffer] = ...,
|
|
28
|
+
segment_size : int = ...,
|
|
29
|
+
mac_len : int = ...,
|
|
30
|
+
initial_value : Union[int, Buffer] = ...,
|
|
31
|
+
counter : Dict = ...) -> \
|
|
32
|
+
Union[EcbMode, CbcMode, CfbMode, OfbMode, CtrMode, OpenPgpMode]: ...
|
|
33
|
+
|
|
34
|
+
block_size: int
|
|
35
|
+
key_size: Iterable[int]
|