跳转到主要内容

Python的加密库

项目描述

PyCryptodome是一个包含低级加密原语的自包含Python包。

它支持Python 2.7、Python 3.6及更高版本,以及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、Curve25519)

  • 更好的、更紧凑的API(加密算法的 nonceiv 属性,自动生成随机nonce和IV,简化CTR加密模式等)

  • SHA-3(包括SHAKE XOFs)和BLAKE2哈希算法

  • Salsa20和ChaCha20流加密算法

  • scrypt和HKDF

  • 确定性(EC)DSA和EdDSA

  • 密码保护的PKCS#8密钥容器

  • Shamir的秘密共享方案

  • 随机数直接从操作系统(而不是用户空间的CSPRNG)获取

  • 简化安装过程,包括更好的Windows支持

  • 更清洁的RSA和DSA密钥生成(主要基于FIPS 186-4)

  • 对代码库的主要清理和简化

PyCryptodome不是像OpenSSL那样的独立C库的包装器。尽可能多地在纯Python中实现算法。只有对性能极端关键的组件(例如块密码)才实现为C扩展。

更多信息,请参阅主页

所有代码均可从GitHub下载。

支持者

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面