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 pycryptodome
All modules are installed under the Crypto package.
Check the pycryptodomex project for the equivalent library that works under the Cryptodome 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 pycryptodome-3.4.11-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4fd2584719895ff041cf48766014ef6b5a170f5caf0e2dc735837b182e78d081 |
|
MD5 | caad18986aca5771dc94607145c270ee |
|
BLAKE2b-256 | 3bb56a694a2b8a14b9b5fed30069df391e7031a7c5ae6e67d46ba30294ea9ec3 |
Hashes for pycryptodome-3.4.11-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb81302f3295a14722f6c26c44ab4023d66f8394db4c316ccf5658dbada2ac91 |
|
MD5 | 957f93eee6c81c7712ef8c76ffc11331 |
|
BLAKE2b-256 | abd6e3cffa1b1cfa4efa0d6b0529e7d066e68750f45bcca8527bc5c7e88f34d0 |
Hashes for pycryptodome-3.4.11-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d3065b741ec8d269327e4487eacd187e0bf909e7a73d0a959da1a0918b16fa9 |
|
MD5 | 22c0dc4d2b7fbad93522def1864296ac |
|
BLAKE2b-256 | 99c1a9d05430e4d4cc2edef7fc96e19cdd434d1fd8b7e31ff34d9b75b665e244 |
Hashes for pycryptodome-3.4.11-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ce44a755be8aef369d1057a38bff01501db0b89ba38c3292578f42ed401f355 |
|
MD5 | 632bda217ad9fa7492abc8e68e54e3ee |
|
BLAKE2b-256 | 9ec2157036d7a520b949daa07beab66c83b49c5168c36b878b842611dcf2f2d9 |
Hashes for pycryptodome-3.4.11-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ebbcdbd21b5d8569c5b44137e2071d28c14a7460afdd8b1f6398a1548c4773a |
|
MD5 | f99ef09f34de08e29dfbeba52a9b3fea |
|
BLAKE2b-256 | 0a157d9a7b41a10e1308ccac1c21cf995bd5e5e4247c73fe78ec2586af42d4b4 |
Hashes for pycryptodome-3.4.11-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3136fe71a37882ca457bea5917f1db5431f18f1bd91b0f7c4cec57ac4d57016 |
|
MD5 | 542ace51d4f6eb1bfa57c07c6a28c8ed |
|
BLAKE2b-256 | 5d0d1a5c5ac5d026d55e93cd3f8df94cbef7049a20f8bf59002a1a3cb178d812 |
Hashes for pycryptodome-3.4.11-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9ae42a88c716a7ca9a53966562968921883211b6390eeab22e5b735dbc49f49 |
|
MD5 | f5969b4147617002125dded1fb2de96d |
|
BLAKE2b-256 | d5dda15248d4a632aefc05f2699ed588827e62675fada79dc290f7d89afe9aeb |
Hashes for pycryptodome-3.4.11-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29e8d3770bc0a0366093eb693ca40c5be56ed5a7ca214af5156a0b2e23053549 |
|
MD5 | 6ae56d9c84383e048c3d4fdc3faf1611 |
|
BLAKE2b-256 | 300244de478f9f566a637336de447423049bd4d840db934b1c0b3e1bcc8e6be3 |
Hashes for pycryptodome-3.4.11-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce3110812d8823c3182fc7f841031387ee6fda27d8696da8949a99b026048e7e |
|
MD5 | 9b5b3b1505f92efbeaf596c6ebc0f355 |
|
BLAKE2b-256 | 451f82832ff9feaad93401f04e0e247e73f1e9d2dabc5efd159f659ee3992996 |
Hashes for pycryptodome-3.4.11-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11ca73effcc15596b62d601a6b3c48ea607fb5219546d406312520d63c446bf5 |
|
MD5 | c2e7525c15d9ac8e00c949ad21f73f2e |
|
BLAKE2b-256 | 4cd3ea56d49fa941d0c6639d1e6d9566a1e682c5d628daad317ef1c646f5c52f |
Hashes for pycryptodome-3.4.11-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21fd74571b3579cbf36792916ad76a4ecf91581a112bb78ec48e20389dcdb912 |
|
MD5 | fe196e5534a6971f29f2c7f07838b213 |
|
BLAKE2b-256 | bccdfeef2243a7f0e951354057f5f9f0e865cf023a42028a91320fdd99ee6013 |
Hashes for pycryptodome-3.4.11-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64a0cccf590546e7de602378f21482cb06cd1a1995cdfb121b123394c48b05c3 |
|
MD5 | abd598f2a2532c717fb16b25e7cdb468 |
|
BLAKE2b-256 | e800136b0c0c1742a424470a06db9f7bd20a59f8019a919164b30a6db54abb95 |
Hashes for pycryptodome-3.4.11-cp33-cp33m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c88e9a04d3ed89689bc76ce0a90b018cdd4edb94ab99ce31264f2e15bad9d752 |
|
MD5 | fc7422553d64346d3509604664b5d233 |
|
BLAKE2b-256 | 4fc901469c350c24310a754450ea2292076dd8b42c9f5b6e43c29b943cc3fcb7 |
Hashes for pycryptodome-3.4.11-cp33-cp33m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2aeded7095564b8a068402531c7407517cd714a0fe9872f76c69bd4400b07613 |
|
MD5 | 0911e5e1f21988679ed47145e18fb010 |
|
BLAKE2b-256 | 598b6ff38c08f1f03f05a004af49feef8cdb88dc27156cd0179d5c95d825447e |
Hashes for pycryptodome-3.4.11-cp33-cp33m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8922f187fcac3b2afa6d200ef00cd4e69719799b54b4f2f2741b2e4c96ccd61 |
|
MD5 | d22ff80558fff9b3320dc0f4606f55e7 |
|
BLAKE2b-256 | 251c45766977a2cbac9ac36f0066e06531ec4775599867a0e394670126195c74 |
Hashes for pycryptodome-3.4.11-cp33-cp33m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44ad06faf5ee589c1127a18610695a65815ed5db724b58687294ee907ec546ba |
|
MD5 | 5805654a17aa79dd3cafcb8dde89c5ef |
|
BLAKE2b-256 | 2e5faa31f826ade2a4782f60ad5c8b4d02abcbb91d80dae73aafb993628d8071 |
Hashes for pycryptodome-3.4.11-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bdd8581dae617b9fbe6e8dbdd96590c02fc33eebc411b0273fd62b4d468d0bb7 |
|
MD5 | cd2c3fb69db6734a6cc76309c64adb65 |
|
BLAKE2b-256 | dbd1f6e8464cc2b6b144d6b81239ee72fe0e2fa0aa59a2d8f27201e98bea0898 |
Hashes for pycryptodome-3.4.11-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7bda0f395fd8ef6b1fa7cded00d5cca72005ff158fc30703e1337fe32fbf2102 |
|
MD5 | 7fd57b51eb050a6291ea92e08afd08e7 |
|
BLAKE2b-256 | a0d960427c464c618b0b913d37192c573c9190391c05d423b757b61a45933160 |
Hashes for pycryptodome-3.4.11-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d390f8c6562173b913f0359cd87d5bc2e3245cc88ec4edf59d8c52107f24d29 |
|
MD5 | f641a9902f805763015381a8c257eed8 |
|
BLAKE2b-256 | dad20df662e20f2e8cfd91dad15ac1179695b48de52345f26cca47156498ef52 |
Hashes for pycryptodome-3.4.11-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89a0a233ed3a216ae117323d8fb0da38f1ca344dc1021559e38416cce23592a0 |
|
MD5 | f9d76479a36ad022e084eb3e3c82971e |
|
BLAKE2b-256 | 8e4ce7060518c80f6b62670fa9108d2f517aa8824cd8e41783f0ebe65cd59425 |
Hashes for pycryptodome-3.4.11-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29d3a581cfcc68ca66f7c5d4830944556ddca9e2747e214bde8028972bb1901f |
|
MD5 | 2d238381efb7c404abe3a0ef1024e0ac |
|
BLAKE2b-256 | e378ecdda21cf25f1990d459487fcc36726978d3a3627acb45e4489568b23774 |
Hashes for pycryptodome-3.4.11-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 444053c24b336daa7f84bf872df7a6b9950697559926aea5775f5aa757b67a3e |
|
MD5 | c683d22d0db3cd476847ae943c181997 |
|
BLAKE2b-256 | fc2d824ff38ec649584bfa57d38b4348ad3fcedab67f67d9611818f121759fa0 |