Python 的加密库
项目描述
PyCryptodome 是一个自包含的 Python 低级加密原语包。
它支持 Python 2.7、Python 3.5 和更新版本以及 PyPy。
您可以使用以下方式安装它:
pip install pycryptodome
所有模块都安装在Crypto包下。
检查pycryptodomex项目以获取在Cryptodome包下工作的等效库。
PyCryptodome 是 PyCrypto 的一个分支。它为 PyCrypto 的最新官方版本(2.6.1)带来了一些改进,例如:
认证加密模式(GCM、CCM、EAX、SIV、OCB)
通过 AES-NI 在 Intel 平台上加速 AES
对 PyPy 的一流支持
椭圆曲线密码学(NIST P 曲线;Ed25519、Ed448)
更好、更紧凑的 API(密码的nonce和iv属性、随机随机数和 IV 的自动生成、简化的 CTR 密码模式等)
SHA-3(包括 SHAKE XOF)和 BLAKE2 哈希算法
Salsa20 和 ChaCha20 流密码
scrypt 和 HKDF
确定性 (EC)DSA 和 EdDSA
受密码保护的 PKCS#8 密钥容器
沙米尔的秘密分享计划
随机数直接来自操作系统(而不是来自用户空间中的 CSPRNG)
简化安装过程,包括更好地支持 Windows
更清洁的 RSA 和 DSA 密钥生成(主要基于 FIPS 186-4)
代码库的主要清理和简化
PyCryptodome 不是像OpenSSL这样的单独 C 库的包装器。在最大可能的范围内,算法是在纯 Python 中实现的。只有对性能极为关键的部分(例如分组密码)才作为 C 扩展来实现。
有关详细信息,请参阅主页。
所有代码都可以从GitHub下载。