Cryptographic library for Python
Project description
PyCryptodome is a self-contained Python package of low-level cryptographic primitives.
It supports Python 2.4 or newer, all Python 3 versions 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 curve 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.4.12-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc30c42399b268788407a1ac692ad4011e774809034e7a0bc9559b8feb727ea1 |
|
MD5 | 988637c04d9cf0f56fe74f012c560471 |
|
BLAKE2b-256 | 1dc9262c25c76f0606a0fda3435eff187af9d22179acbdc4b0096b34a61e6e87 |
Hashes for pycryptodomex-3.4.12-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46a3c64f377f14fe9ccaa7b3307de76e312edd0cf7543edb6f159e519081254c |
|
MD5 | 4a1d7c36f5d119844191f59ad4c53603 |
|
BLAKE2b-256 | 09cba61b688b81b1d241cfe25ff211682a141f83d16367db39b1d54c207ecd15 |
Hashes for pycryptodomex-3.4.12-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf2a5b6eee8ca198eea13bcbd2df62721ed9b5f5c8660ac56be7249ff349f582 |
|
MD5 | 7c2d0c6de8d09a6dd582cb26760ad74f |
|
BLAKE2b-256 | e7e415037dada9cb61b63182df9806ec2793dbba7b8dcf9dc025defd482fa452 |
Hashes for pycryptodomex-3.4.12-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1088099e88ba7238cebd3c44b38edbe7130b229a3d7d7b4c9b0ed06533dd13e6 |
|
MD5 | 4f24642a36c7b8a421d4710f918fc1f2 |
|
BLAKE2b-256 | 77f0caf5fb6365ad86c4567dac6ccfb2bfc999fe76a4cc2cf7de8d476546e50d |
Hashes for pycryptodomex-3.4.12-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 626463deb7f760507f98504413fb6035dcff7c8f0b36c6e216605680caa337f0 |
|
MD5 | 8c462a2c0ddbd767e3604d101aac3439 |
|
BLAKE2b-256 | d8a4aa6032d39928cce7acb30990cf09171d5df09c8e5549156b41c46667d7ad |
Hashes for pycryptodomex-3.4.12-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e27f557e8aab1dbfdd1a51f0053437baf5e13fc6f04c07fbe3a0da7a5c8c51f2 |
|
MD5 | c5463b9c1c5f43a3bb052bb4adad1deb |
|
BLAKE2b-256 | 2e7cb100410ef57a74502d7c7515f9b280b388a75d62b34d9bb46daac82af150 |
Hashes for pycryptodomex-3.4.12-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51b789c2ccdc30ebf0b1dfcb2095a5e10ebaf68e2cd89bc051b1887a8e8e14d6 |
|
MD5 | 1c985b35e27eba0c2cc4b592ae3cd44a |
|
BLAKE2b-256 | dde459cbe357947c127622d4cd3741d3b2c31f2bb181e7909efd7687b59dd36e |
Hashes for pycryptodomex-3.4.12-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90c9a70005d5c02886ab98ef4e2d577347e3c41399aa0c35a4eac4ee27b1d718 |
|
MD5 | cbf7f36658eca5c3c9f70179c56c0996 |
|
BLAKE2b-256 | 9be2217435094da4c258ba16b3b6aea14f577bd562c11540ccabfd03ee231720 |
Hashes for pycryptodomex-3.4.12-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a1a4b604dd9dab1a55d43972e853be0c2fd0c50f3589f8c0e18febdb361235c |
|
MD5 | 1566b4f002ce48c58b4ddbdd11e82de2 |
|
BLAKE2b-256 | daed5d72e447d19062b6fa0ea8ae7e512590f673e86bf61b1db8db1919fc0ddc |
Hashes for pycryptodomex-3.4.12-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da75c00a761e456fb99be7e28b60568163c6d3d631f305ffc9f1365c8991c669 |
|
MD5 | 6e369d6a84aa7a9033196369c27d33df |
|
BLAKE2b-256 | 98b131f182b90c9d6154373e93bff150af2041983f5460fedcf5c105bb671acd |
Hashes for pycryptodomex-3.4.12-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ebc14df23b8bcc2734aff6255b7047b8c2f28779923f0f36f17c2d2d9fc32dc |
|
MD5 | c71d33b99d046cc4b4df67f4fceac6ad |
|
BLAKE2b-256 | 40131dec0b70557d33c0c49ebd8a354d0e684dc77905f1427fc24c8432f9c7f4 |
Hashes for pycryptodomex-3.4.12-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25d038c3d18b59e07acb0be516396d0c8ed3b098761b0f597c7f03c7516e7699 |
|
MD5 | 193ccf66c71725dab7234eb5f1b06416 |
|
BLAKE2b-256 | 0fea4bce164a6169f9e3fb3d36e897669bf03024274096ced0236cea70125f7f |
Hashes for pycryptodomex-3.4.12-cp33-cp33m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | acc287965dd1f08bb5b2e662289111e24fc5e7754c79571a20803fd5ce307c47 |
|
MD5 | 10a94a30baa159852288438494421b03 |
|
BLAKE2b-256 | f4f533b038981874ce29e412420b4c606ae3b64001099e2c30a49a35db265f15 |
Hashes for pycryptodomex-3.4.12-cp33-cp33m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b64915a430fbf992c75751c13cabecf27ba8dd43fdcc8bc0551302d87ef4c91 |
|
MD5 | 7d9a828ab8e694593f00fe2c9b264969 |
|
BLAKE2b-256 | 7f579961b8149b1bd33563a11450d9117e7b43db49da4d44d452712e042cc755 |
Hashes for pycryptodomex-3.4.12-cp33-cp33m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0307cfa4c8aff4dd943933704fc4eae2119f42439d1fe456a594bee44a7d860b |
|
MD5 | 083877f9439a7291da5d08d2d68028f9 |
|
BLAKE2b-256 | 8c07b1e8b8bea52d59caab9606e7bf02403529b2966deb6e91d08d2977f7ca03 |
Hashes for pycryptodomex-3.4.12-cp33-cp33m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14bdfc08d38a17fa54027b51c122ce175b84f979781a2e11e86015dd0dfa4157 |
|
MD5 | ed92b45397bc0efd656718c9761005a5 |
|
BLAKE2b-256 | 3a11c950a17dbaab9c96a2528478ea06d44cdce0b35d8babefd42e1ef4ca51ae |
Hashes for pycryptodomex-3.4.12-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 88f6dfb6b3efd084df29d4ed312dde085f4a7cc9efada59998f75a8826e255a2 |
|
MD5 | a82ff71ad4e4a125e64d460f605c48c5 |
|
BLAKE2b-256 | 05cf5b31267d00cb7f22a9ee5ea80efcad6ed15fd9a342495854d7c164507a6d |
Hashes for pycryptodomex-3.4.12-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3588078356c6d6f1a5765fe1b254882e1ed7ce5cd8a8a00fdc4cef507e46868d |
|
MD5 | e880dcfe5a56746954c9e60bcaf2de63 |
|
BLAKE2b-256 | 721f4c0afc5bb7e2779470776ec42aca2c8cfadb563882d4d97992129b8056d5 |
Hashes for pycryptodomex-3.4.12-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b95adb32f32bc85f1c6c1d4d344a73a5fddf7c69b3a6551e499963022200fc5e |
|
MD5 | 01c95e921484e3b95cb8fc352a7644d3 |
|
BLAKE2b-256 | 55b4a53f3f10c1006a8d2b0aa10e018477711b933a6e5449dd4a686ff2d10bc3 |
Hashes for pycryptodomex-3.4.12-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 565fa996de2ab58cae9a7b7241c7fd84e6bd705a05ff89e2ea5c4d3e6c755c58 |
|
MD5 | 8c1c72c575096b6c8acf9dd25495d6b2 |
|
BLAKE2b-256 | 571b65ed70ad379a465479aaa57f3e4f4e08d932a4236e7d787cc38f626c4c07 |
Hashes for pycryptodomex-3.4.12-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7464c5e2751e9fa9e3b66f3d7054edf4d837498a151d9a3ba156cb6532344455 |
|
MD5 | 7871bfa961a1c1ef8ef13fb3877040d0 |
|
BLAKE2b-256 | c3cab01c74cdc1c791650635d840667bac5da653101091d2304e0ab0a6f6568c |
Hashes for pycryptodomex-3.4.12-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2ac2eaafd7dc52920c902dae225badfbd9323f0d1166db0a1614fa55e2dc5b6 |
|
MD5 | ce0277b8f503863349fc40f64e3230dd |
|
BLAKE2b-256 | 1df3bba18c725367373b6636d24e1adf77c0b142b13a6c5ef3999e6e4371902c |