libcrypto 1.2.0__tar.gz → 1.2.2__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.0/src/libcrypto.egg-info → libcrypto-1.2.2}/PKG-INFO +3 -12
- {libcrypto-1.2.0 → libcrypto-1.2.2}/README.md +1 -11
- {libcrypto-1.2.0 → libcrypto-1.2.2}/pyproject.toml +2 -1
- {libcrypto-1.2.0 → libcrypto-1.2.2}/setup.py +3 -2
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/__init__.py +1 -1
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/addresses.py +1 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_CMAC.py +428 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_HMAC.py +627 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/Crypto/SelfTest/Protocol/test_KDF.py +1294 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/Crypto/Util/number.py +10548 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/Crypto/Util/py3compat.py +137 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/AES.py +235 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/AES.pyi +156 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/ARC2.py +175 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/ARC2.pyi +35 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/ARC4.py +136 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/ARC4.pyi +16 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/Blowfish.py +159 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/Blowfish.pyi +35 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/CAST.py +159 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/CAST.pyi +35 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/ChaCha20.py +291 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/ChaCha20.pyi +25 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/ChaCha20_Poly1305.py +334 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/ChaCha20_Poly1305.pyi +28 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/DES.py +158 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/DES.pyi +35 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/DES3.py +187 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/DES3.pyi +37 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/PKCS1_OAEP.py +231 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/PKCS1_OAEP.pyi +35 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/PKCS1_v1_5.py +189 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/PKCS1_v1_5.pyi +20 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/Salsa20.py +167 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/Salsa20.pyi +26 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/_EKSBlowfish.py +131 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/_EKSBlowfish.pyi +15 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/__init__.py +91 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/__init__.pyi +0 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_cbc.py +293 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_cbc.pyi +25 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_ccm.py +671 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_ccm.pyi +52 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_cfb.py +293 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_cfb.pyi +26 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_ctr.py +393 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_ctr.pyi +27 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_eax.py +408 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_eax.pyi +45 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_ecb.py +220 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_ecb.pyi +19 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_gcm.py +620 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_gcm.pyi +45 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_kw.py +158 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_kwp.py +135 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_ocb.py +532 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_ocb.pyi +36 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_ofb.py +282 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_ofb.pyi +25 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_openpgp.py +206 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_openpgp.pyi +20 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_siv.py +392 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/_mode_siv.pyi +38 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Cipher/_pkcs1_oaep_decode.py +41 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/BLAKE2b.py +247 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/BLAKE2b.pyi +32 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/BLAKE2s.py +247 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/BLAKE2s.pyi +26 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/CMAC.py +306 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/CMAC.pyi +30 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/HMAC.py +238 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/HMAC.pyi +25 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/KMAC128.py +179 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/KMAC128.pyi +33 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/KMAC256.py +74 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/KMAC256.pyi +10 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/KangarooTwelve.py +222 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/KangarooTwelve.pyi +16 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/MD2.py +166 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/MD2.pyi +19 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/MD4.py +185 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/MD4.pyi +19 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/MD5.py +184 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/MD5.pyi +19 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/Poly1305.py +217 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/Poly1305.pyi +24 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/RIPEMD.py +26 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/RIPEMD.pyi +3 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/RIPEMD160.py +169 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/RIPEMD160.pyi +19 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/SHA.py +24 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/SHA.pyi +4 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/SHA1.py +185 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/SHA1.pyi +19 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/SHA224.py +186 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/SHA224.pyi +19 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/SHA256.py +185 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/SHA256.pyi +18 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/SHA384.py +186 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/SHA384.pyi +19 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/SHA3_224.py +174 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/SHA3_224.pyi +19 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/SHA3_256.py +174 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/SHA3_256.pyi +19 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/SHA3_384.py +179 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/SHA3_384.pyi +19 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/SHA3_512.py +174 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/SHA3_512.pyi +19 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/SHA512.py +204 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/SHA512.pyi +22 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/SHAKE128.py +145 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/SHAKE128.pyi +14 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/SHAKE256.py +146 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/SHAKE256.pyi +14 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/TupleHash128.py +136 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/TupleHash128.pyi +22 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/TupleHash256.py +70 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/TupleHash256.pyi +5 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/TurboSHAKE128.py +112 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/TurboSHAKE128.pyi +17 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/TurboSHAKE256.py +22 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/TurboSHAKE256.pyi +12 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/__init__.py +69 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/__init__.pyi +57 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/cSHAKE128.py +187 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/cSHAKE128.pyi +14 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/cSHAKE256.py +56 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/cSHAKE256.pyi +8 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/keccak.py +181 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Hash/keccak.pyi +23 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/IO/PEM.py +191 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/IO/PEM.pyi +10 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/IO/PKCS8.py +226 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/IO/PKCS8.pyi +17 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/IO/_PBES.py +546 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/IO/_PBES.pyi +26 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/IO/__init__.py +31 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Math/Numbers.py +47 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Math/Numbers.pyi +2 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Math/Primality.py +369 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Math/Primality.pyi +18 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Math/_IntegerBase.py +412 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Math/_IntegerBase.pyi +67 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Math/_IntegerCustom.py +162 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Math/_IntegerCustom.pyi +8 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Math/_IntegerGMP.py +799 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Math/_IntegerGMP.pyi +3 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Math/_IntegerNative.py +382 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Math/_IntegerNative.pyi +3 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Math/__init__.py +0 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Protocol/DH.py +192 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Protocol/DH.pyi +19 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Protocol/HPKE.py +483 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Protocol/KDF.py +647 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Protocol/KDF.pyi +44 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Protocol/SecretSharing.py +297 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Protocol/SecretSharing.pyi +22 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Protocol/__init__.py +31 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Protocol/__init__.pyi +1 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/PublicKey/DSA.py +682 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/PublicKey/DSA.pyi +31 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/PublicKey/ECC.py +1342 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/PublicKey/ECC.pyi +80 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/PublicKey/ElGamal.py +286 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/PublicKey/ElGamal.pyi +18 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/PublicKey/RSA.py +871 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/PublicKey/RSA.pyi +78 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/PublicKey/__init__.py +94 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/PublicKey/__init__.pyi +0 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/PublicKey/_curve.py +37 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/PublicKey/_edwards.py +116 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/PublicKey/_montgomery.py +152 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/PublicKey/_nist_ecc.py +246 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/PublicKey/_openssh.py +135 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/PublicKey/_openssh.pyi +7 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/PublicKey/_point.py +493 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/PublicKey/_point.pyi +49 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Random/__init__.py +57 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Random/__init__.pyi +19 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Random/random.py +138 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Random/random.pyi +22 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/__init__.py +64 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/common.py +510 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_AES.py +1351 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_ARC2.py +167 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_ARC4.py +471 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_Blowfish.py +160 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_CAST.py +101 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_CBC.py +556 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_CCM.py +970 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_CFB.py +411 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_CTR.py +472 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_ChaCha20.py +529 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_ChaCha20_Poly1305.py +776 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_DES.py +374 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_DES3.py +195 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_EAX.py +773 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_GCM.py +951 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_KW.py +175 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_OCB.py +845 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_OFB.py +238 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_OpenPGP.py +218 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_SIV.py +552 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_Salsa20.py +367 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_pkcs1_15.py +283 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Cipher/test_pkcs1_oaep.py +506 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/__init__.py +62 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/common.py +290 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_BLAKE2.py +492 -0
- {libcrypto-1.2.0/src/libcrypto/cryptod → libcrypto-1.2.2/src/libcrypto/cryptod/lib}/Crypto/SelfTest/Hash/test_CMAC.py +7 -7
- {libcrypto-1.2.0/src/libcrypto/cryptod → libcrypto-1.2.2/src/libcrypto/cryptod/lib}/Crypto/SelfTest/Hash/test_HMAC.py +2 -2
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_KMAC.py +346 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_KangarooTwelve.py +367 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_MD2.py +62 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_MD4.py +64 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_MD5.py +94 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_Poly1305.py +542 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_RIPEMD160.py +71 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_SHA1.py +84 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_SHA224.py +63 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_SHA256.py +94 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_SHA384.py +61 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_SHA3_224.py +79 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_SHA3_256.py +80 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_SHA3_384.py +79 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_SHA3_512.py +79 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_SHA512.py +140 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_SHAKE.py +151 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_TupleHash.py +302 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_TurboSHAKE.py +468 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_cSHAKE.py +178 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Hash/test_keccak.py +250 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/IO/__init__.py +47 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/IO/test_PBES.py +118 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/IO/test_PKCS8.py +459 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Math/__init__.py +51 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Math/test_Numbers.py +838 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Math/test_Primality.py +118 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Math/test_modexp.py +201 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Math/test_modmult.py +120 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Protocol/__init__.py +45 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Protocol/test_HPKE.py +491 -0
- {libcrypto-1.2.0/src/libcrypto/cryptod → libcrypto-1.2.2/src/libcrypto/cryptod/lib}/Crypto/SelfTest/Protocol/test_KDF.py +7 -7
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Protocol/test_SecretSharing.py +290 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Protocol/test_ecdh.py +770 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Protocol/test_rfc1751.py +62 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/__init__.py +63 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/test_DSA.py +247 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/test_ECC_Curve25519.py +283 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/test_ECC_Curve448.py +246 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/test_ECC_Ed25519.py +341 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/test_ECC_Ed448.py +336 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/test_ECC_NIST.py +1440 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/test_ElGamal.py +217 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/test_RSA.py +324 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/test_import_Curve25519.py +385 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/test_import_Curve448.py +351 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/test_import_DSA.py +554 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/test_import_ECC.py +2782 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/PublicKey/test_import_RSA.py +636 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Random/__init__.py +39 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Random/test_random.py +167 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Signature/__init__.py +41 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Signature/test_dss.py +1369 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Signature/test_eddsa.py +604 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Signature/test_pkcs1_15.py +348 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Signature/test_pss.py +377 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Util/__init__.py +46 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Util/test_Counter.py +67 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Util/test_Padding.py +153 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Util/test_asn1.py +851 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Util/test_number.py +192 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Util/test_rfc1751.py +38 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/Util/test_strxor.py +280 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/__init__.py +102 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/__main__.py +43 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/loader.py +250 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/SelfTest/st_common.py +55 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Signature/DSS.py +403 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Signature/DSS.pyi +27 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Signature/PKCS1_PSS.py +55 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Signature/PKCS1_PSS.pyi +28 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Signature/PKCS1_v1_5.py +53 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Signature/PKCS1_v1_5.pyi +16 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Signature/__init__.py +36 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Signature/eddsa.py +343 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Signature/eddsa.pyi +21 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Signature/pkcs1_15.py +223 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Signature/pkcs1_15.pyi +17 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Signature/pss.py +387 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Signature/pss.pyi +30 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Util/Counter.py +79 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Util/Counter.pyi +5 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Util/Padding.py +119 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Util/Padding.pyi +6 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Util/RFC1751.py +386 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Util/RFC1751.pyi +7 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Util/__init__.py +41 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Util/_cpu_features.py +46 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Util/_cpu_features.pyi +2 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Util/_file_system.py +54 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Util/_file_system.pyi +4 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Util/_raw_api.py +325 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Util/_raw_api.pyi +27 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Util/asn1.py +1064 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Util/asn1.pyi +80 -0
- {libcrypto-1.2.0/src/libcrypto/cryptod → libcrypto-1.2.2/src/libcrypto/cryptod/lib}/Crypto/Util/number.py +1 -1
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Util/number.pyi +19 -0
- {libcrypto-1.2.0/src/libcrypto/cryptod → libcrypto-1.2.2/src/libcrypto/cryptod/lib}/Crypto/Util/py3compat.py +0 -1
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Util/py3compat.pyi +33 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Util/strxor.py +146 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/Util/strxor.pyi +6 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/__init__.py +6 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/__init__.pyi +4 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/Crypto/py.typed +0 -0
- libcrypto-1.2.2/src/libcrypto/cryptod/lib/__init__.py +5 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/hash.py +0 -9
- {libcrypto-1.2.0 → libcrypto-1.2.2/src/libcrypto.egg-info}/PKG-INFO +3 -12
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto.egg-info/SOURCES.txt +305 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto.egg-info/requires.txt +1 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/tests/test_addresses.py +24 -9
- {libcrypto-1.2.0 → libcrypto-1.2.2}/tests/test_formats.py +120 -104
- {libcrypto-1.2.0 → libcrypto-1.2.2}/LICENSE +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/setup.cfg +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/_version.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/bip32.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cli.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/constants.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/AES.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/AES.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/ARC2.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/ARC2.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/ARC4.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/ARC4.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/Blowfish.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/Blowfish.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/CAST.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/CAST.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/ChaCha20.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/ChaCha20.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/ChaCha20_Poly1305.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/ChaCha20_Poly1305.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/DES.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/DES.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/DES3.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/DES3.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/PKCS1_OAEP.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/PKCS1_OAEP.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/PKCS1_v1_5.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/PKCS1_v1_5.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/Salsa20.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/Salsa20.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/_EKSBlowfish.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/_EKSBlowfish.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/__init__.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/__init__.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/_mode_cbc.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/_mode_cbc.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/_mode_ccm.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/_mode_ccm.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/_mode_cfb.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/_mode_cfb.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/_mode_ctr.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/_mode_ctr.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/_mode_eax.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/_mode_eax.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/_mode_ecb.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/_mode_ecb.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/_mode_gcm.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/_mode_gcm.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/_mode_kw.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/_mode_kwp.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/_mode_ocb.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/_mode_ocb.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/_mode_ofb.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/_mode_ofb.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/_mode_openpgp.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/_mode_openpgp.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/_mode_siv.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/_mode_siv.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Cipher/_pkcs1_oaep_decode.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/BLAKE2b.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/BLAKE2b.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/BLAKE2s.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/BLAKE2s.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/CMAC.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/CMAC.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/HMAC.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/HMAC.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/KMAC128.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/KMAC128.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/KMAC256.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/KMAC256.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/KangarooTwelve.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/KangarooTwelve.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/MD2.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/MD2.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/MD4.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/MD4.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/MD5.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/MD5.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/Poly1305.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/Poly1305.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/RIPEMD.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/RIPEMD.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/RIPEMD160.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/RIPEMD160.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/SHA.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/SHA.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/SHA1.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/SHA1.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/SHA224.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/SHA224.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/SHA256.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/SHA256.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/SHA384.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/SHA384.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/SHA3_224.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/SHA3_224.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/SHA3_256.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/SHA3_256.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/SHA3_384.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/SHA3_384.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/SHA3_512.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/SHA3_512.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/SHA512.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/SHA512.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/SHAKE128.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/SHAKE128.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/SHAKE256.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/SHAKE256.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/TupleHash128.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/TupleHash128.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/TupleHash256.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/TupleHash256.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/TurboSHAKE128.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/TurboSHAKE128.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/TurboSHAKE256.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/TurboSHAKE256.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/__init__.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/__init__.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/cSHAKE128.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/cSHAKE128.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/cSHAKE256.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/cSHAKE256.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/keccak.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Hash/keccak.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/IO/PEM.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/IO/PEM.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/IO/PKCS8.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/IO/PKCS8.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/IO/_PBES.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/IO/_PBES.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/IO/__init__.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Math/Numbers.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Math/Numbers.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Math/Primality.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Math/Primality.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Math/_IntegerBase.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Math/_IntegerBase.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Math/_IntegerCustom.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Math/_IntegerCustom.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Math/_IntegerGMP.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Math/_IntegerGMP.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Math/_IntegerNative.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Math/_IntegerNative.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Math/__init__.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Protocol/DH.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Protocol/DH.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Protocol/HPKE.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Protocol/KDF.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Protocol/KDF.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Protocol/SecretSharing.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Protocol/SecretSharing.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Protocol/__init__.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Protocol/__init__.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/PublicKey/DSA.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/PublicKey/DSA.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/PublicKey/ECC.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/PublicKey/ECC.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/PublicKey/ElGamal.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/PublicKey/ElGamal.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/PublicKey/RSA.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/PublicKey/RSA.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/PublicKey/__init__.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/PublicKey/__init__.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/PublicKey/_curve.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/PublicKey/_edwards.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/PublicKey/_montgomery.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/PublicKey/_nist_ecc.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/PublicKey/_openssh.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/PublicKey/_openssh.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/PublicKey/_point.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/PublicKey/_point.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Random/__init__.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Random/__init__.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Random/random.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Random/random.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/__init__.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/common.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_AES.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_ARC2.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_ARC4.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_Blowfish.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_CAST.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_CBC.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_CCM.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_CFB.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_CTR.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_ChaCha20.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_ChaCha20_Poly1305.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_DES.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_DES3.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_EAX.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_GCM.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_KW.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_OCB.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_OFB.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_OpenPGP.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_SIV.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_Salsa20.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_pkcs1_15.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Cipher/test_pkcs1_oaep.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/__init__.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/common.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_BLAKE2.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_KMAC.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_KangarooTwelve.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_MD2.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_MD4.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_MD5.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_Poly1305.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_RIPEMD160.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_SHA1.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_SHA224.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_SHA256.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_SHA384.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_SHA3_224.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_SHA3_256.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_SHA3_384.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_SHA3_512.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_SHA512.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_SHAKE.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_TupleHash.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_TurboSHAKE.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_cSHAKE.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Hash/test_keccak.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/IO/__init__.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/IO/test_PBES.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/IO/test_PKCS8.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Math/__init__.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Math/test_Numbers.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Math/test_Primality.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Math/test_modexp.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Math/test_modmult.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Protocol/__init__.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Protocol/test_HPKE.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Protocol/test_SecretSharing.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Protocol/test_ecdh.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Protocol/test_rfc1751.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/__init__.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/test_DSA.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/test_ECC_Curve25519.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/test_ECC_Curve448.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/test_ECC_Ed25519.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/test_ECC_Ed448.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/test_ECC_NIST.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/test_ElGamal.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/test_RSA.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/test_import_Curve25519.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/test_import_Curve448.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/test_import_DSA.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/test_import_ECC.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/PublicKey/test_import_RSA.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Random/__init__.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Random/test_random.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Signature/__init__.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Signature/test_dss.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Signature/test_eddsa.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Signature/test_pkcs1_15.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Signature/test_pss.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Util/__init__.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Util/test_Counter.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Util/test_Padding.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Util/test_asn1.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Util/test_number.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Util/test_rfc1751.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/Util/test_strxor.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/__init__.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/__main__.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/loader.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/SelfTest/st_common.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Signature/DSS.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Signature/DSS.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Signature/PKCS1_PSS.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Signature/PKCS1_PSS.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Signature/PKCS1_v1_5.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Signature/PKCS1_v1_5.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Signature/__init__.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Signature/eddsa.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Signature/eddsa.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Signature/pkcs1_15.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Signature/pkcs1_15.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Signature/pss.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Signature/pss.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Util/Counter.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Util/Counter.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Util/Padding.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Util/Padding.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Util/RFC1751.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Util/RFC1751.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Util/__init__.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Util/_cpu_features.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Util/_cpu_features.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Util/_file_system.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Util/_file_system.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Util/_raw_api.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Util/_raw_api.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Util/asn1.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Util/asn1.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Util/number.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Util/py3compat.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Util/strxor.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/Util/strxor.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/__init__.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/__init__.pyi +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/Crypto/py.typed +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/__init__.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/bench_monty.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/compiler_opt.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/pct-speedtest.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/setup.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/src/make_ecc_table.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/src/test/common.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/src/test/make_tests_addmul.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/src/test/make_tests_addmul128.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/src/test/make_tests_ladder_step.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/src/test/make_tests_mont_mult.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/src/test/make_tests_mul_25519.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/src/test/make_tests_poly1305_accumulate.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/src/test/make_tests_poly1305_load_m.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/src/test/make_tests_poly1305_load_r.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/src/test/make_tests_poly1305_multiply.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/src/test/make_tests_poly1305_reduce.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/src/test/make_tests_product.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/src/test/make_tests_square.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/test_vectors/pycryptodome_test_vectors/__init__.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/cryptod/test_vectors/setup.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/formats.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/keys.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/mnemonic.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/secp256k1.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto/wallet.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto.egg-info/dependency_links.txt +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto.egg-info/entry_points.txt +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto.egg-info/not-zip-safe +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/src/libcrypto.egg-info/top_level.txt +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/tests/test_bip32.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/tests/test_constants.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/tests/test_cryptod.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/tests/test_keys.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/tests/test_mnemonic.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/tests/test_secp256k1.py +0 -0
- {libcrypto-1.2.0 → libcrypto-1.2.2}/tests/test_wallet.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: libcrypto
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.2
|
|
4
4
|
Summary: A professional library For Cryptography and Cryptocurrencies in Python.
|
|
5
5
|
Home-page: https://github.com/pymmdrza/libcrypto
|
|
6
6
|
Author: Mmdrza
|
|
@@ -33,6 +33,7 @@ Requires-Python: >=3.8
|
|
|
33
33
|
Description-Content-Type: text/markdown
|
|
34
34
|
License-File: LICENSE
|
|
35
35
|
Requires-Dist: rich
|
|
36
|
+
Requires-Dist: typer
|
|
36
37
|
Requires-Dist: wheel
|
|
37
38
|
Requires-Dist: setuptools
|
|
38
39
|
Provides-Extra: dev
|
|
@@ -106,20 +107,10 @@ pip3 install libcrypto
|
|
|
106
107
|
|
|
107
108
|
### Dependencies
|
|
108
109
|
|
|
109
|
-
**Core Library**: Zero external cryptographic dependencies! 🎉
|
|
110
|
-
|
|
111
110
|
The library uses:
|
|
112
111
|
- **Python stdlib**: `hashlib`, `hmac`, `os.urandom` for hashing and random number generation
|
|
113
112
|
- **Pure Python**: Custom secp256k1 elliptic curve implementation
|
|
114
|
-
|
|
115
|
-
**Optional Dependencies** (installed automatically):
|
|
116
|
-
- `rich` - Terminal formatting for CLI
|
|
117
|
-
- `typer` - CLI interface framework
|
|
118
|
-
|
|
119
|
-
**Note on Ethereum Support**:
|
|
120
|
-
- Bitcoin, Litecoin, Dogecoin, Dash, Ripple: ✅ **Fully functional** with stdlib only
|
|
121
|
-
- Ethereum, Tron: ⚠️ Use SHA3-256 fallback for address generation. For production Ethereum support, optionally install `pycryptodome>=3.18.0` to enable true Keccak256 hashing.
|
|
122
|
-
|
|
113
|
+
-
|
|
123
114
|
### Verification
|
|
124
115
|
|
|
125
116
|
Verify the library works without external crypto dependencies:
|
|
@@ -54,20 +54,10 @@ pip3 install libcrypto
|
|
|
54
54
|
|
|
55
55
|
### Dependencies
|
|
56
56
|
|
|
57
|
-
**Core Library**: Zero external cryptographic dependencies! 🎉
|
|
58
|
-
|
|
59
57
|
The library uses:
|
|
60
58
|
- **Python stdlib**: `hashlib`, `hmac`, `os.urandom` for hashing and random number generation
|
|
61
59
|
- **Pure Python**: Custom secp256k1 elliptic curve implementation
|
|
62
|
-
|
|
63
|
-
**Optional Dependencies** (installed automatically):
|
|
64
|
-
- `rich` - Terminal formatting for CLI
|
|
65
|
-
- `typer` - CLI interface framework
|
|
66
|
-
|
|
67
|
-
**Note on Ethereum Support**:
|
|
68
|
-
- Bitcoin, Litecoin, Dogecoin, Dash, Ripple: ✅ **Fully functional** with stdlib only
|
|
69
|
-
- Ethereum, Tron: ⚠️ Use SHA3-256 fallback for address generation. For production Ethereum support, optionally install `pycryptodome>=3.18.0` to enable true Keccak256 hashing.
|
|
70
|
-
|
|
60
|
+
-
|
|
71
61
|
### Verification
|
|
72
62
|
|
|
73
63
|
Verify the library works without external crypto dependencies:
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "libcrypto"
|
|
7
|
-
version = "1.2.
|
|
7
|
+
version = "1.2.2"
|
|
8
8
|
description = "A professional library For Cryptography and Cryptocurrencies in Python."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.8"
|
|
@@ -39,6 +39,7 @@ classifiers = [
|
|
|
39
39
|
]
|
|
40
40
|
dependencies = [
|
|
41
41
|
"rich",
|
|
42
|
+
"typer",
|
|
42
43
|
"wheel",
|
|
43
44
|
"setuptools",
|
|
44
45
|
]
|
|
@@ -17,7 +17,7 @@ def get_long_description():
|
|
|
17
17
|
|
|
18
18
|
setup(
|
|
19
19
|
name="libcrypto",
|
|
20
|
-
version="1.2.
|
|
20
|
+
version="1.2.2",
|
|
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",
|
|
@@ -41,6 +41,7 @@ setup(
|
|
|
41
41
|
python_requires=">=3.8",
|
|
42
42
|
install_requires=[
|
|
43
43
|
"rich>=14.0.0",
|
|
44
|
+
"typer>=0.9.0",
|
|
44
45
|
"wheel>=0.45.1",
|
|
45
46
|
"setuptools>=80.9.0",
|
|
46
47
|
],
|
|
@@ -101,7 +102,7 @@ setup(
|
|
|
101
102
|
zip_safe=False,
|
|
102
103
|
entry_points={
|
|
103
104
|
"console_scripts": [
|
|
104
|
-
|
|
105
|
+
"libcrypto=libcrypto.cli:app",
|
|
105
106
|
],
|
|
106
107
|
},
|
|
107
108
|
)
|
|
@@ -146,6 +146,7 @@ class AddressGenerator:
|
|
|
146
146
|
@classmethod
|
|
147
147
|
def _generate_ethereum_address(cls, public_key: bytes) -> str:
|
|
148
148
|
"""Generate Ethereum address (with EIP-55 checksum)."""
|
|
149
|
+
|
|
149
150
|
uncompressed_key = cls._get_uncompressed_pubkey(public_key)
|
|
150
151
|
|
|
151
152
|
keccak_hash = keccak256(uncompressed_key)
|
|
@@ -0,0 +1,428 @@
|
|
|
1
|
+
#
|
|
2
|
+
# SelfTest/Hash/CMAC.py: Self-test for the CMAC module
|
|
3
|
+
#
|
|
4
|
+
# ===================================================================
|
|
5
|
+
#
|
|
6
|
+
# Copyright (c) 2014, Legrandin <helderijs@gmail.com>
|
|
7
|
+
# All rights reserved.
|
|
8
|
+
#
|
|
9
|
+
# Redistribution and use in source and binary forms, with or without
|
|
10
|
+
# modification, are permitted provided that the following conditions
|
|
11
|
+
# are met:
|
|
12
|
+
#
|
|
13
|
+
# 1. Redistributions of source code must retain the above copyright
|
|
14
|
+
# notice, this list of conditions and the following disclaimer.
|
|
15
|
+
# 2. Redistributions in binary form must reproduce the above copyright
|
|
16
|
+
# notice, this list of conditions and the following disclaimer in
|
|
17
|
+
# the documentation and/or other materials provided with the
|
|
18
|
+
# distribution.
|
|
19
|
+
#
|
|
20
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
21
|
+
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
22
|
+
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
23
|
+
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
24
|
+
# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
25
|
+
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
26
|
+
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
27
|
+
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
28
|
+
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
29
|
+
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
30
|
+
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
31
|
+
# POSSIBILITY OF SUCH DAMAGE.
|
|
32
|
+
# ===================================================================
|
|
33
|
+
|
|
34
|
+
"""Self-test suite for Crypto.Hash.CMAC"""
|
|
35
|
+
|
|
36
|
+
import json
|
|
37
|
+
import unittest
|
|
38
|
+
from binascii import unhexlify
|
|
39
|
+
|
|
40
|
+
from ...Crypto.Util.py3compat import tobytes
|
|
41
|
+
|
|
42
|
+
from ...Crypto.Hash import CMAC
|
|
43
|
+
from ...Crypto.Cipher import AES, DES3
|
|
44
|
+
from ...Crypto.Hash import SHAKE128
|
|
45
|
+
|
|
46
|
+
from ...Crypto.Util.strxor import strxor
|
|
47
|
+
|
|
48
|
+
from ...Crypto.SelfTest.st_common import list_test_cases
|
|
49
|
+
from ...Crypto.SelfTest.loader import load_test_vectors_wycheproof
|
|
50
|
+
|
|
51
|
+
# This is a list of (key, data, result, description, module) tuples.
|
|
52
|
+
test_data = [
|
|
53
|
+
## Test vectors from RFC 4493 ##
|
|
54
|
+
## The are also in NIST SP 800 38B D.2 ##
|
|
55
|
+
(
|
|
56
|
+
"2b7e151628aed2a6abf7158809cf4f3c",
|
|
57
|
+
"",
|
|
58
|
+
"bb1d6929e95937287fa37d129b756746",
|
|
59
|
+
"RFC 4493 #1",
|
|
60
|
+
AES,
|
|
61
|
+
),
|
|
62
|
+
(
|
|
63
|
+
"2b7e151628aed2a6abf7158809cf4f3c",
|
|
64
|
+
"6bc1bee22e409f96e93d7e117393172a",
|
|
65
|
+
"070a16b46b4d4144f79bdd9dd04a287c",
|
|
66
|
+
"RFC 4493 #2",
|
|
67
|
+
AES,
|
|
68
|
+
),
|
|
69
|
+
(
|
|
70
|
+
"2b7e151628aed2a6abf7158809cf4f3c",
|
|
71
|
+
"6bc1bee22e409f96e93d7e117393172a"
|
|
72
|
+
+ "ae2d8a571e03ac9c9eb76fac45af8e51"
|
|
73
|
+
+ "30c81c46a35ce411",
|
|
74
|
+
"dfa66747de9ae63030ca32611497c827",
|
|
75
|
+
"RFC 4493 #3",
|
|
76
|
+
AES,
|
|
77
|
+
),
|
|
78
|
+
(
|
|
79
|
+
"2b7e151628aed2a6abf7158809cf4f3c",
|
|
80
|
+
"6bc1bee22e409f96e93d7e117393172a"
|
|
81
|
+
+ "ae2d8a571e03ac9c9eb76fac45af8e51"
|
|
82
|
+
+ "30c81c46a35ce411e5fbc1191a0a52ef"
|
|
83
|
+
+ "f69f2445df4f9b17ad2b417be66c3710",
|
|
84
|
+
"51f0bebf7e3b9d92fc49741779363cfe",
|
|
85
|
+
"RFC 4493 #4",
|
|
86
|
+
AES,
|
|
87
|
+
),
|
|
88
|
+
## The rest of Appendix D of NIST SP 800 38B
|
|
89
|
+
## was not totally correct.
|
|
90
|
+
## Values in Examples 14, 15, 18, and 19 were wrong.
|
|
91
|
+
## The updated test values are published in:
|
|
92
|
+
## http://csrc.nist.gov/publications/nistpubs/800-38B/Updated_CMAC_Examples.pdf
|
|
93
|
+
(
|
|
94
|
+
"8e73b0f7da0e6452c810f32b809079e5" + "62f8ead2522c6b7b",
|
|
95
|
+
"",
|
|
96
|
+
"d17ddf46adaacde531cac483de7a9367",
|
|
97
|
+
"NIST SP 800 38B D.2 Example 5",
|
|
98
|
+
AES,
|
|
99
|
+
),
|
|
100
|
+
(
|
|
101
|
+
"8e73b0f7da0e6452c810f32b809079e5" + "62f8ead2522c6b7b",
|
|
102
|
+
"6bc1bee22e409f96e93d7e117393172a",
|
|
103
|
+
"9e99a7bf31e710900662f65e617c5184",
|
|
104
|
+
"NIST SP 800 38B D.2 Example 6",
|
|
105
|
+
AES,
|
|
106
|
+
),
|
|
107
|
+
(
|
|
108
|
+
"8e73b0f7da0e6452c810f32b809079e5" + "62f8ead2522c6b7b",
|
|
109
|
+
"6bc1bee22e409f96e93d7e117393172a"
|
|
110
|
+
+ "ae2d8a571e03ac9c9eb76fac45af8e51"
|
|
111
|
+
+ "30c81c46a35ce411",
|
|
112
|
+
"8a1de5be2eb31aad089a82e6ee908b0e",
|
|
113
|
+
"NIST SP 800 38B D.2 Example 7",
|
|
114
|
+
AES,
|
|
115
|
+
),
|
|
116
|
+
(
|
|
117
|
+
"8e73b0f7da0e6452c810f32b809079e5" + "62f8ead2522c6b7b",
|
|
118
|
+
"6bc1bee22e409f96e93d7e117393172a"
|
|
119
|
+
+ "ae2d8a571e03ac9c9eb76fac45af8e51"
|
|
120
|
+
+ "30c81c46a35ce411e5fbc1191a0a52ef"
|
|
121
|
+
+ "f69f2445df4f9b17ad2b417be66c3710",
|
|
122
|
+
"a1d5df0eed790f794d77589659f39a11",
|
|
123
|
+
"NIST SP 800 38B D.2 Example 8",
|
|
124
|
+
AES,
|
|
125
|
+
),
|
|
126
|
+
(
|
|
127
|
+
"603deb1015ca71be2b73aef0857d7781" + "1f352c073b6108d72d9810a30914dff4",
|
|
128
|
+
"",
|
|
129
|
+
"028962f61b7bf89efc6b551f4667d983",
|
|
130
|
+
"NIST SP 800 38B D.3 Example 9",
|
|
131
|
+
AES,
|
|
132
|
+
),
|
|
133
|
+
(
|
|
134
|
+
"603deb1015ca71be2b73aef0857d7781" + "1f352c073b6108d72d9810a30914dff4",
|
|
135
|
+
"6bc1bee22e409f96e93d7e117393172a",
|
|
136
|
+
"28a7023f452e8f82bd4bf28d8c37c35c",
|
|
137
|
+
"NIST SP 800 38B D.3 Example 10",
|
|
138
|
+
AES,
|
|
139
|
+
),
|
|
140
|
+
(
|
|
141
|
+
"603deb1015ca71be2b73aef0857d7781" + "1f352c073b6108d72d9810a30914dff4",
|
|
142
|
+
"6bc1bee22e409f96e93d7e117393172a"
|
|
143
|
+
+ "ae2d8a571e03ac9c9eb76fac45af8e51"
|
|
144
|
+
+ "30c81c46a35ce411",
|
|
145
|
+
"aaf3d8f1de5640c232f5b169b9c911e6",
|
|
146
|
+
"NIST SP 800 38B D.3 Example 11",
|
|
147
|
+
AES,
|
|
148
|
+
),
|
|
149
|
+
(
|
|
150
|
+
"603deb1015ca71be2b73aef0857d7781" + "1f352c073b6108d72d9810a30914dff4",
|
|
151
|
+
"6bc1bee22e409f96e93d7e117393172a"
|
|
152
|
+
+ "ae2d8a571e03ac9c9eb76fac45af8e51"
|
|
153
|
+
+ "30c81c46a35ce411e5fbc1191a0a52ef"
|
|
154
|
+
+ "f69f2445df4f9b17ad2b417be66c3710",
|
|
155
|
+
"e1992190549f6ed5696a2c056c315410",
|
|
156
|
+
"NIST SP 800 38B D.3 Example 12",
|
|
157
|
+
AES,
|
|
158
|
+
),
|
|
159
|
+
(
|
|
160
|
+
"8aa83bf8cbda1062" + "0bc1bf19fbb6cd58" + "bc313d4a371ca8b5",
|
|
161
|
+
"",
|
|
162
|
+
"b7a688e122ffaf95",
|
|
163
|
+
"NIST SP 800 38B D.4 Example 13",
|
|
164
|
+
DES3,
|
|
165
|
+
),
|
|
166
|
+
(
|
|
167
|
+
"8aa83bf8cbda1062" + "0bc1bf19fbb6cd58" + "bc313d4a371ca8b5",
|
|
168
|
+
"6bc1bee22e409f96",
|
|
169
|
+
"8e8f293136283797",
|
|
170
|
+
"NIST SP 800 38B D.4 Example 14",
|
|
171
|
+
DES3,
|
|
172
|
+
),
|
|
173
|
+
(
|
|
174
|
+
"8aa83bf8cbda1062" + "0bc1bf19fbb6cd58" + "bc313d4a371ca8b5",
|
|
175
|
+
"6bc1bee22e409f96" + "e93d7e117393172a" + "ae2d8a57",
|
|
176
|
+
"743ddbe0ce2dc2ed",
|
|
177
|
+
"NIST SP 800 38B D.4 Example 15",
|
|
178
|
+
DES3,
|
|
179
|
+
),
|
|
180
|
+
(
|
|
181
|
+
"8aa83bf8cbda1062" + "0bc1bf19fbb6cd58" + "bc313d4a371ca8b5",
|
|
182
|
+
"6bc1bee22e409f96"
|
|
183
|
+
+ "e93d7e117393172a"
|
|
184
|
+
+ "ae2d8a571e03ac9c"
|
|
185
|
+
+ "9eb76fac45af8e51",
|
|
186
|
+
"33e6b1092400eae5",
|
|
187
|
+
"NIST SP 800 38B D.4 Example 16",
|
|
188
|
+
DES3,
|
|
189
|
+
),
|
|
190
|
+
(
|
|
191
|
+
"4cf15134a2850dd5" + "8a3d10ba80570d38",
|
|
192
|
+
"",
|
|
193
|
+
"bd2ebf9a3ba00361",
|
|
194
|
+
"NIST SP 800 38B D.7 Example 17",
|
|
195
|
+
DES3,
|
|
196
|
+
),
|
|
197
|
+
(
|
|
198
|
+
"4cf15134a2850dd5" + "8a3d10ba80570d38",
|
|
199
|
+
"6bc1bee22e409f96",
|
|
200
|
+
"4ff2ab813c53ce83",
|
|
201
|
+
"NIST SP 800 38B D.7 Example 18",
|
|
202
|
+
DES3,
|
|
203
|
+
),
|
|
204
|
+
(
|
|
205
|
+
"4cf15134a2850dd5" + "8a3d10ba80570d38",
|
|
206
|
+
"6bc1bee22e409f96" + "e93d7e117393172a" + "ae2d8a57",
|
|
207
|
+
"62dd1b471902bd4e",
|
|
208
|
+
"NIST SP 800 38B D.7 Example 19",
|
|
209
|
+
DES3,
|
|
210
|
+
),
|
|
211
|
+
(
|
|
212
|
+
"4cf15134a2850dd5" + "8a3d10ba80570d38",
|
|
213
|
+
"6bc1bee22e409f96"
|
|
214
|
+
+ "e93d7e117393172a"
|
|
215
|
+
+ "ae2d8a571e03ac9c"
|
|
216
|
+
+ "9eb76fac45af8e51",
|
|
217
|
+
"31b1e431dabc4eb8",
|
|
218
|
+
"NIST SP 800 38B D.7 Example 20",
|
|
219
|
+
DES3,
|
|
220
|
+
),
|
|
221
|
+
]
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
def get_tag_random(tag, length):
|
|
225
|
+
return SHAKE128.new(data=tobytes(tag)).read(length)
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
class TestCMAC(unittest.TestCase):
|
|
229
|
+
|
|
230
|
+
def test_internal_caching(self):
|
|
231
|
+
"""Verify that internal caching is implemented correctly"""
|
|
232
|
+
|
|
233
|
+
data_to_mac = get_tag_random("data_to_mac", 128)
|
|
234
|
+
key = get_tag_random("key", 16)
|
|
235
|
+
ref_mac = CMAC.new(key, msg=data_to_mac, ciphermod=AES).digest()
|
|
236
|
+
|
|
237
|
+
# Break up in chunks of different length
|
|
238
|
+
# The result must always be the same
|
|
239
|
+
for chunk_length in 1, 2, 3, 7, 10, 13, 16, 40, 80, 128:
|
|
240
|
+
|
|
241
|
+
chunks = [
|
|
242
|
+
data_to_mac[i : i + chunk_length]
|
|
243
|
+
for i in range(0, len(data_to_mac), chunk_length)
|
|
244
|
+
]
|
|
245
|
+
|
|
246
|
+
mac = CMAC.new(key, ciphermod=AES)
|
|
247
|
+
for chunk in chunks:
|
|
248
|
+
mac.update(chunk)
|
|
249
|
+
self.assertEqual(ref_mac, mac.digest())
|
|
250
|
+
|
|
251
|
+
def test_update_after_digest(self):
|
|
252
|
+
msg = b"rrrrttt"
|
|
253
|
+
key = b"4" * 16
|
|
254
|
+
|
|
255
|
+
# Normally, update() cannot be done after digest()
|
|
256
|
+
h = CMAC.new(key, msg[:4], ciphermod=AES)
|
|
257
|
+
dig1 = h.digest()
|
|
258
|
+
self.assertRaises(TypeError, h.update, msg[4:])
|
|
259
|
+
dig2 = CMAC.new(key, msg, ciphermod=AES).digest()
|
|
260
|
+
|
|
261
|
+
# With the proper flag, it is allowed
|
|
262
|
+
h2 = CMAC.new(key, msg[:4], ciphermod=AES, update_after_digest=True)
|
|
263
|
+
self.assertEqual(h2.digest(), dig1)
|
|
264
|
+
# ... and the subsequent digest applies to the entire message
|
|
265
|
+
# up to that point
|
|
266
|
+
h2.update(msg[4:])
|
|
267
|
+
self.assertEqual(h2.digest(), dig2)
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
class ByteArrayTests(unittest.TestCase):
|
|
271
|
+
|
|
272
|
+
def runTest(self):
|
|
273
|
+
|
|
274
|
+
key = b"0" * 16
|
|
275
|
+
data = b"\x00\x01\x02"
|
|
276
|
+
|
|
277
|
+
# Data and key can be a bytearray (during initialization)
|
|
278
|
+
key_ba = bytearray(key)
|
|
279
|
+
data_ba = bytearray(data)
|
|
280
|
+
|
|
281
|
+
h1 = CMAC.new(key, data, ciphermod=AES)
|
|
282
|
+
h2 = CMAC.new(key_ba, data_ba, ciphermod=AES)
|
|
283
|
+
key_ba[:1] = b"\xff"
|
|
284
|
+
data_ba[:1] = b"\xff"
|
|
285
|
+
self.assertEqual(h1.digest(), h2.digest())
|
|
286
|
+
|
|
287
|
+
# Data can be a bytearray (during operation)
|
|
288
|
+
key_ba = bytearray(key)
|
|
289
|
+
data_ba = bytearray(data)
|
|
290
|
+
|
|
291
|
+
h1 = CMAC.new(key, ciphermod=AES)
|
|
292
|
+
h2 = CMAC.new(key, ciphermod=AES)
|
|
293
|
+
h1.update(data)
|
|
294
|
+
h2.update(data_ba)
|
|
295
|
+
data_ba[:1] = b"\xff"
|
|
296
|
+
self.assertEqual(h1.digest(), h2.digest())
|
|
297
|
+
|
|
298
|
+
|
|
299
|
+
class MemoryViewTests(unittest.TestCase):
|
|
300
|
+
|
|
301
|
+
def runTest(self):
|
|
302
|
+
|
|
303
|
+
key = b"0" * 16
|
|
304
|
+
data = b"\x00\x01\x02"
|
|
305
|
+
|
|
306
|
+
def get_mv_ro(data):
|
|
307
|
+
return memoryview(data)
|
|
308
|
+
|
|
309
|
+
def get_mv_rw(data):
|
|
310
|
+
return memoryview(bytearray(data))
|
|
311
|
+
|
|
312
|
+
for get_mv in (get_mv_ro, get_mv_rw):
|
|
313
|
+
|
|
314
|
+
# Data and key can be a memoryview (during initialization)
|
|
315
|
+
key_mv = get_mv(key)
|
|
316
|
+
data_mv = get_mv(data)
|
|
317
|
+
|
|
318
|
+
h1 = CMAC.new(key, data, ciphermod=AES)
|
|
319
|
+
h2 = CMAC.new(key_mv, data_mv, ciphermod=AES)
|
|
320
|
+
if not data_mv.readonly:
|
|
321
|
+
key_mv[:1] = b"\xff"
|
|
322
|
+
data_mv[:1] = b"\xff"
|
|
323
|
+
self.assertEqual(h1.digest(), h2.digest())
|
|
324
|
+
|
|
325
|
+
# Data can be a memoryview (during operation)
|
|
326
|
+
data_mv = get_mv(data)
|
|
327
|
+
|
|
328
|
+
h1 = CMAC.new(key, ciphermod=AES)
|
|
329
|
+
h2 = CMAC.new(key, ciphermod=AES)
|
|
330
|
+
h1.update(data)
|
|
331
|
+
h2.update(data_mv)
|
|
332
|
+
if not data_mv.readonly:
|
|
333
|
+
data_mv[:1] = b"\xff"
|
|
334
|
+
self.assertEqual(h1.digest(), h2.digest())
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
class TestVectorsWycheproof(unittest.TestCase):
|
|
338
|
+
|
|
339
|
+
def __init__(self, wycheproof_warnings):
|
|
340
|
+
unittest.TestCase.__init__(self)
|
|
341
|
+
self._wycheproof_warnings = wycheproof_warnings
|
|
342
|
+
self._id = "None"
|
|
343
|
+
|
|
344
|
+
def setUp(self):
|
|
345
|
+
|
|
346
|
+
def filter_tag(group):
|
|
347
|
+
return group["tagSize"] // 8
|
|
348
|
+
|
|
349
|
+
self.tv = load_test_vectors_wycheproof(
|
|
350
|
+
("Hash", "wycheproof"),
|
|
351
|
+
"aes_cmac_test.json",
|
|
352
|
+
"Wycheproof CMAC",
|
|
353
|
+
group_tag={"tag_size": filter_tag},
|
|
354
|
+
)
|
|
355
|
+
|
|
356
|
+
def shortDescription(self):
|
|
357
|
+
return self._id
|
|
358
|
+
|
|
359
|
+
def warn(self, tv):
|
|
360
|
+
if tv.warning and self._wycheproof_warnings:
|
|
361
|
+
import warnings
|
|
362
|
+
|
|
363
|
+
warnings.warn("Wycheproof warning: %s (%s)" % (self._id, tv.comment))
|
|
364
|
+
|
|
365
|
+
def test_create_mac(self, tv):
|
|
366
|
+
self._id = "Wycheproof MAC creation Test #" + str(tv.id)
|
|
367
|
+
|
|
368
|
+
try:
|
|
369
|
+
tag = CMAC.new(tv.key, tv.msg, ciphermod=AES, mac_len=tv.tag_size).digest()
|
|
370
|
+
except ValueError as e:
|
|
371
|
+
if len(tv.key) not in (16, 24, 32) and "key length" in str(e):
|
|
372
|
+
return
|
|
373
|
+
raise e
|
|
374
|
+
if tv.valid:
|
|
375
|
+
self.assertEqual(tag, tv.tag)
|
|
376
|
+
self.warn(tv)
|
|
377
|
+
|
|
378
|
+
def test_verify_mac(self, tv):
|
|
379
|
+
self._id = "Wycheproof MAC verification Test #" + str(tv.id)
|
|
380
|
+
|
|
381
|
+
try:
|
|
382
|
+
mac = CMAC.new(tv.key, tv.msg, ciphermod=AES, mac_len=tv.tag_size)
|
|
383
|
+
except ValueError as e:
|
|
384
|
+
if len(tv.key) not in (16, 24, 32) and "key length" in str(e):
|
|
385
|
+
return
|
|
386
|
+
raise e
|
|
387
|
+
try:
|
|
388
|
+
mac.verify(tv.tag)
|
|
389
|
+
except ValueError:
|
|
390
|
+
assert not tv.valid
|
|
391
|
+
else:
|
|
392
|
+
assert tv.valid
|
|
393
|
+
self.warn(tv)
|
|
394
|
+
|
|
395
|
+
def runTest(self):
|
|
396
|
+
|
|
397
|
+
for tv in self.tv:
|
|
398
|
+
self.test_create_mac(tv)
|
|
399
|
+
self.test_verify_mac(tv)
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
def get_tests(config={}):
|
|
403
|
+
global test_data # noqa: F824 - declared but may be used dynamically
|
|
404
|
+
import types
|
|
405
|
+
from .common import make_mac_tests
|
|
406
|
+
|
|
407
|
+
wycheproof_warnings = config.get("wycheproof_warnings")
|
|
408
|
+
|
|
409
|
+
# Add new() parameters to the back of each test vector
|
|
410
|
+
params_test_data = []
|
|
411
|
+
for row in test_data:
|
|
412
|
+
t = list(row)
|
|
413
|
+
t[4] = dict(ciphermod=t[4])
|
|
414
|
+
params_test_data.append(t)
|
|
415
|
+
|
|
416
|
+
tests = make_mac_tests(CMAC, "CMAC", params_test_data)
|
|
417
|
+
tests.append(ByteArrayTests())
|
|
418
|
+
tests.append(list_test_cases(TestCMAC))
|
|
419
|
+
tests.append(MemoryViewTests())
|
|
420
|
+
tests += [TestVectorsWycheproof(wycheproof_warnings)]
|
|
421
|
+
return tests
|
|
422
|
+
|
|
423
|
+
|
|
424
|
+
if __name__ == "__main__":
|
|
425
|
+
import unittest
|
|
426
|
+
|
|
427
|
+
suite = lambda: unittest.TestSuite(get_tests())
|
|
428
|
+
unittest.main(defaultTest="suite")
|