Cryptographic library for Python
Project description
PyCryptodome is a self-contained Python package of low-level cryptographic primitives.
It supports Python 2.6 and 2.7, Python 3.4 and newer, and PyPy.
You can install it with:
pip install pycryptodomex
All modules are installed under the Cryptodome package.
Check the pycryptodome project for the equivalent library that works under the Crypto package.
PyCryptodome is a fork of PyCrypto. It brings several enhancements with respect to the last official version of PyCrypto (2.6.1), for instance:
Authenticated encryption modes (GCM, CCM, EAX, SIV, OCB)
Accelerated AES on Intel platforms via AES-NI
First class support for PyPy
Elliptic curves cryptography (NIST P-256, P-384 and P-521 curves only)
Better and more compact API (nonce and iv attributes for ciphers, automatic generation of random nonces and IVs, simplified CTR cipher mode, and more)
SHA-3 (including SHAKE XOFs) and BLAKE2 hash algorithms
Salsa20 and ChaCha20 stream ciphers
scrypt and HKDF
Deterministic (EC)DSA
Password-protected PKCS#8 key containers
Shamir’s Secret Sharing scheme
Random numbers get sourced directly from the OS (and not from a CSPRNG in userspace)
Simplified install process, including better support for Windows
Cleaner RSA and DSA key generation (largely based on FIPS 186-4)
Major clean ups and simplification of the code base
PyCryptodome is not a wrapper to a separate C library like OpenSSL. To the largest possible extent, algorithms are implemented in pure Python. Only the pieces that are extremely critical to performance (e.g. block ciphers) are implemented as C extensions.
For more information, see the homepage.
All the code can be downloaded from GitHub.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for pycryptodomex-3.9.7-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ecc9db7409db67765eb008e558879d298406642d33ade43a6488224d23e8081 |
|
MD5 | 01448ba4567cced57e4ac501c0ddd934 |
|
BLAKE2b-256 | 07ebae45a89e5d91e162f0e912c3ebff0c2216f3155a651b52a398ef7341520a |
Hashes for pycryptodomex-3.9.7-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf391b377413a197000b43ef2b74359974d8927d329a897c9f5ba7b63dca7b9c |
|
MD5 | 0eb3ec3804a65ed1c95f9dcbef7ac8ce |
|
BLAKE2b-256 | 9ccf2099b3edc6c016532df291802f098f3f4be1d7184204408ac1ed67a9032a |
Hashes for pycryptodomex-3.9.7-cp38-cp38-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c9b3fba037ea52c626060c5a87ee6de7e86c99e8a7c6ee07302539985d2bd64 |
|
MD5 | a613f76eb8f252772e0554b2d77b2e24 |
|
BLAKE2b-256 | 45805ec3419a504503cf00c984027f75ce683c553b98a458d7f5776f50c3d775 |
Hashes for pycryptodomex-3.9.7-cp38-cp38-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae3d44a639fd11dbdeca47e35e94febb1ee8bc15daf26673331add37146e0b85 |
|
MD5 | 7711a81002e38a80a47c0b63dc90e1d0 |
|
BLAKE2b-256 | ac5cdc3f23a50d53736d9ef844422d02a0e5a2ef0b031e2ffd02d07075e311aa |
Hashes for pycryptodomex-3.9.7-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb350e31e55211fec8ddc89fc0256f3b9bc3b44b68a8bde1cf44b3b4e80c0e42 |
|
MD5 | a593b5dd59671152a571b8da92fd5603 |
|
BLAKE2b-256 | 138a9f8caf7daa814901ee5e466f1b1a14f84765b40371d0c53f30169382fc6c |
Hashes for pycryptodomex-3.9.7-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c436919117c23355740c669f89720673578b9aa4569bbfe105f6c10101fc1966 |
|
MD5 | 87fb8200b5166497c8a9e1c799dde346 |
|
BLAKE2b-256 | 061d0f2a749de95b5ec766880d9c0fafc9157c6b912f3bf7019f1eb1e0d058ce |
Hashes for pycryptodomex-3.9.7-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | afb4c2fa3c6f492fd9a8b38d76e13f32d429b8e5e1e00238309391b5591cde0d |
|
MD5 | bf558a695f0cca49a2ea96cab613bef1 |
|
BLAKE2b-256 | 4b238547aa89d1859adcd7ad1c02f6c01c00f401e148dfd2a40f248c2714dc20 |
Hashes for pycryptodomex-3.9.7-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1515ce3a8a2c3fa537d137c5ca5f8b7a902044d04e07d7c3aa26c3e026120fb |
|
MD5 | 875ae14befb9858cc282b0a23870dc7e |
|
BLAKE2b-256 | 0f12e199901e310840450ce3bf5eaccce21ee75bef65211793c27e98281f1131 |
Hashes for pycryptodomex-3.9.7-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d20ab8369b7558168fc014a0745c678613f9f486dae468cca2d68145196b8a4 |
|
MD5 | 8ae2985019d063de020d3fcb8d00971a |
|
BLAKE2b-256 | 4499762d2821290cf54724651cebfb5db6296fba268ce4a448f08dc9c4b2802d |
Hashes for pycryptodomex-3.9.7-cp37-cp37m-macosx_10_6_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2c3c280975638e2a2c2fd9cb36ab111980219757fa163a2755594b9448e4138 |
|
MD5 | 6a77ed13b374c53ab5e131feff376261 |
|
BLAKE2b-256 | 71a4672501dcfee3ef7b7591f7723937b1dbf78d061743de6cef62a023b2f29e |
Hashes for pycryptodomex-3.9.7-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 45ee555fc5e28c119a46d44ce373f5237e54a35c61b750fb3a94446b09855dbc |
|
MD5 | 8b5abf78035e1cd9c86e14b977818bdc |
|
BLAKE2b-256 | 049280efbff8b4447c15902d4b099ad92171a381b4de299206cfefe4e07026bb |
Hashes for pycryptodomex-3.9.7-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e585d530764c459cbd5d460aed0288807bb881f376ca9a20e653645217895961 |
|
MD5 | 050ac773f53753dd154762e1fe1dfce4 |
|
BLAKE2b-256 | 11202bd5f05f57cabc264ad19db1636071b04356a91247fb9083cf05afbc21e9 |
Hashes for pycryptodomex-3.9.7-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5797a39933a3d41526da60856735e6684b2b71a8ca99d5f79555ca121be2f4b |
|
MD5 | c3854d9bd5a850926d426cb73aedffad |
|
BLAKE2b-256 | bc9768a589e4913b5081e365920a9303a712ccc1e6f6f30cafba2f1fc3644f5e |
Hashes for pycryptodomex-3.9.7-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e938ed51a59e29431ea86fab60423ada2757728db0f78952329fa02a789bd31 |
|
MD5 | dc6378a438227aae3f3a30b762200d1a |
|
BLAKE2b-256 | 2d59260204010e3f5fdc63d1d22a809c9fa5709d93a6e8c8e3f1e931e1085873 |
Hashes for pycryptodomex-3.9.7-cp36-cp36m-macosx_10_6_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68650ce5b9f7152b8283302a4617269f821695a612692640dd247bd12ab21c0b |
|
MD5 | ba1ab90d7634689d6ddb5bcb0796b458 |
|
BLAKE2b-256 | 4dba5f88c2162c38dd454e67b777ccd090cf4b165aa4bf4f7b806558826fb0c3 |
Hashes for pycryptodomex-3.9.7-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 99be3a1df2b2b9f731ebe1c264a2c07c465e71cee68e35e1640b645b5213a755 |
|
MD5 | 0d76052751c58357917b7e03c049898b |
|
BLAKE2b-256 | b1eca89739213bbd2daf13b48c909645903183db05cc1025f077d0cf61d1b753 |
Hashes for pycryptodomex-3.9.7-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59b0ea9cda5490f924771456912a225d8d9e678891f9f986661af718534719b2 |
|
MD5 | 035526bfca93af33f5f8ea6ba2ba7a48 |
|
BLAKE2b-256 | d1b77fcf36c5c091e232286032d9c2b5e905ef1629b19e4362bb178cd9b95b73 |
Hashes for pycryptodomex-3.9.7-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c3dd9d4c9c1e279d3945ae422895c901f98987333acc132dc094faf52afec35 |
|
MD5 | 7d02792645ca9baaa019fada760788f9 |
|
BLAKE2b-256 | 4002168eddd303cbf170ce49cc9a8ac880bfb06088167f00f0279b253719c90e |
Hashes for pycryptodomex-3.9.7-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87aa70daad6f039e814790a06422a3189311198b674b62f13933a2bdcb6b1bcc |
|
MD5 | c511262ca80121be3b247f933c86006e |
|
BLAKE2b-256 | 11c9be50797f9e5c328b8fe16811b43675ea7435eccc56d69f907926e2caa59f |
Hashes for pycryptodomex-3.9.7-cp35-cp35m-macosx_10_6_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c93038ac011b36512cb0bf2ee3e2aec774e8bc81021d015917c89fe02bb0ee5 |
|
MD5 | fc6b67311ceccb726ded63d3d071432d |
|
BLAKE2b-256 | afa0af0904adea8083aeab6a107b016ac5a8eae418f5ff02be8bf8985bf73fe3 |
Hashes for pycryptodomex-3.9.7-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b3a9a562688996f760b5077714c3ab8b62ca56061b6e9ab7906841e43e19f91 |
|
MD5 | 1faf8763de4a69c3e343a941908b2761 |
|
BLAKE2b-256 | 76c7f2d535815aaa5a8df4bdaae8123b42c697defe1b1fa41aba80c6056cf8c0 |
Hashes for pycryptodomex-3.9.7-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e76e6638ead4a7d93262a24218f0ff3ff74de6b6c823b7e19dccb31b6a481978 |
|
MD5 | 93ede1c755e0785c0abd1d2c52ba505a |
|
BLAKE2b-256 | 0f45e421af80b2f02291da49f44146e62081bf49d68aae1fb16a2000373a2332 |
Hashes for pycryptodomex-3.9.7-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7e5fc5e124200b19a14be33fb0099e956e6ebb5e25d287b0829ef0a78ed76c7 |
|
MD5 | 8db231c4701c26a2401ba3c7e063961e |
|
BLAKE2b-256 | 182bd589fb800f5358bb21d2572d684ef1b4bb3fa9c817695262ef248a4818e0 |
Hashes for pycryptodomex-3.9.7-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5fff8da399af16a1855f58771223acbbdac720b9969cd03fc5013d2e9a7bd9a4 |
|
MD5 | 2dfae7e0a252d85f0191674fe55cc2fa |
|
BLAKE2b-256 | 544b9fe9108ca9d1968b4518cf25b74ea664b1aefe374f6f0b45eb1b4f1d9803 |
Hashes for pycryptodomex-3.9.7-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ebfc2f885cafda076c31ae30fa0dd81e7e919ec34059a88d3018ed66e83fcce3 |
|
MD5 | 19c8af3d88ddd4a5548ca41302343020 |
|
BLAKE2b-256 | 7ef1eee8dd7d4aa0a8d7c97616daf77e66c6af508a7aee3f70f3522333e49fa1 |
Hashes for pycryptodomex-3.9.7-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37033976f72af829fe15f7fe5fe1dbed308cc43a98d9dd9d2a0a76de8ca5ee78 |
|
MD5 | 640e67214a8e7bac6cc2ecb6f68f2e82 |
|
BLAKE2b-256 | bab782deb0b301f051458f7c6bb16925a692def1bcff24d4844d4319fb5e45ec |
Hashes for pycryptodomex-3.9.7-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5cf306a17cccc327a33cdc3845629fa13f4573a4ec620ed607c79cf6785f2e27 |
|
MD5 | ef58052dcf2caf09de9d14b3718f3c0f |
|
BLAKE2b-256 | 890c02f3d77caf991c7a4757089536736d07cfbdaafb456f5a075388070c66c1 |
Hashes for pycryptodomex-3.9.7-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1537d2d15b604b303aef56e7f440895a1c81adbee786b91f1f06eddc34da5314 |
|
MD5 | 5a06c463c1ee44dde9980889fa854f37 |
|
BLAKE2b-256 | dbf73108ea8111ca028e9fc77161ca44341a95566b12d15e0b18f61a6c6c238f |
Hashes for pycryptodomex-3.9.7-cp27-cp27m-macosx_10_6_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3f2908666e6f74b8c4893f86dd02e16170f50e4a78ae7f3468b6208d54bc205 |
|
MD5 | 9b32b50f7a27e49552d2a2fbf293be53 |
|
BLAKE2b-256 | 6dbdf643a57ebb4e10c4d1c929f169365e01646b8f2e92e425f1ddf402afc0e3 |