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.6.5-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ca56a59711d1fb5efd07dffec3f663ce76af51adc6fc2f3ddd6d37165126e84 |
|
MD5 | 2c18b6640c5c731cc4ae3c6ec4c5f9b2 |
|
BLAKE2b-256 | 152f3f6742be903ca7af8cb0e7d2b769edfae5aca8b06e862ebff06e4f2f6f1d |
Hashes for pycryptodomex-3.6.5-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59c3dcd5374d03141d03b1920e8e07cc8f747f40a48cce9b8934f71204eaa76e |
|
MD5 | ce8817197ae20c01511afea06eafd0a7 |
|
BLAKE2b-256 | aa0c68b7d21acc24301b6a999cbf4f205ef6a5909bd0b0e4b909f0d6e9e60969 |
Hashes for pycryptodomex-3.6.5-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a6c002f3c9f93b828e312c60f6d7cd56996de09b5d50e9e9b90291db25fcb778 |
|
MD5 | 969c41784d3e5dce9dc4567bfbc68f81 |
|
BLAKE2b-256 | a6c4b2ca24eb52839a23e785f943f6143a74786555f5790847977b5ef6e84857 |
Hashes for pycryptodomex-3.6.5-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c30583ec24c33f3dc72cb2f7eb2af07d577b4169f8aafcbcf85934ea0c905490 |
|
MD5 | 096c96cce86357449a252b49ae770400 |
|
BLAKE2b-256 | 8ed645007c6112355aff87d9aea70626c8fbd66d363117ef40affd5ed9f07d1a |
Hashes for pycryptodomex-3.6.5-cp37-cp37m-macosx_10_6_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f55302d5dd4a29693cd0b9ee4ac464fb423d69afcd1150c43d2ff212ef32349 |
|
MD5 | 7ab551ac64fb3d46984534fde93d14f6 |
|
BLAKE2b-256 | ef76013b93553e63a2bb0ff5a08ada19278e225ec769be4675e5eb267e173ed1 |
Hashes for pycryptodomex-3.6.5-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3cbbdc3d06787075001cdcbaf205f8aa88283928f80943d1c51153f585d0a630 |
|
MD5 | 5db93da3a3314ed61815252538a94bf6 |
|
BLAKE2b-256 | 3811926096c15bbccaacd696fad9135751461452b2f403245fa74ef1991361c4 |
Hashes for pycryptodomex-3.6.5-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6258c2126ecf7fcf242cdef4a22754a026a20119eb8f48ea778686bbbfa22efe |
|
MD5 | 1b5edb20971addaab1c5432d42eb6f1d |
|
BLAKE2b-256 | af7e62fe8446438d708cb021d14d400f41f229198e700993faffa22da1f3bd6f |
Hashes for pycryptodomex-3.6.5-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3710619c9e4b033f999072ec90540fd6e775e044420c61cb62f15189b3f42a2 |
|
MD5 | bcd121f06f2684b0b1eca0afcb6b38ca |
|
BLAKE2b-256 | 14346ef725efd442f92ade379a5a4591cd43bbb37555301b4a8876cf677f7977 |
Hashes for pycryptodomex-3.6.5-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e06018d715ffebd3dc3cc78eb54f0c59144e319326c1460c220ec3a6bf0be06 |
|
MD5 | e86d24ea3c94f517f495f497fe0b4208 |
|
BLAKE2b-256 | ce176a77824d2642f7ded722194f1877f565626b16385608264cfcb3e6c01623 |
Hashes for pycryptodomex-3.6.5-cp36-cp36m-macosx_10_6_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72f97af0d26fae5c80546b8358cd81b5934786cc43d2f37882f1ae0d8479c934 |
|
MD5 | b8e28ef6b886f29e4020d5b92fa53847 |
|
BLAKE2b-256 | 013a9110fcfef9d1dbb6bca25b0b22a0595e4161bc47705b8ee92506d2bece79 |
Hashes for pycryptodomex-3.6.5-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a376880dcaf50a422abfe4fce57f23eef21d3a2d596872fdeee53ab6f914ccfb |
|
MD5 | c1fde59bcb71c4085bb4d9db328bb891 |
|
BLAKE2b-256 | 16902ec898ac791b4cd5f33918791b54de370d3170bb9784f0128495e012e9c4 |
Hashes for pycryptodomex-3.6.5-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c59c83f1702131cc40d2ad395325e209f4f6c8c46f8b215d0432ef708e340565 |
|
MD5 | 3169ae2f71b106e56e525f51734c591d |
|
BLAKE2b-256 | a9c9618b595e8b955ef7d870375675de8e8277605ca9dadb2adc669aea05a718 |
Hashes for pycryptodomex-3.6.5-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f40c5be29d70384ec0935b18af8f517d55ccdfebf86ea8f730747f0c35b4bce |
|
MD5 | 21abed4ddc189699a0d45b4d00ca8ad8 |
|
BLAKE2b-256 | a17951a16346f45fa6a7f174ef562ecfd07c843503afd25005814b38feea441b |
Hashes for pycryptodomex-3.6.5-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90a94b485fce88f1b0f8a001e8ae22ba37bfc248be44b4f089e2fad37953510f |
|
MD5 | a8aef0317ebba4af33203b97c5e773b1 |
|
BLAKE2b-256 | b6e35c7d8a4becba72468616f0a3294b09d93820557308668946327ef7143118 |
Hashes for pycryptodomex-3.6.5-cp35-cp35m-macosx_10_6_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0fdce0ee392994152e27002bfae2aa40661344dd644061bcb7f88add2059bdae |
|
MD5 | d93964afa01142799c341d4b698dfbb3 |
|
BLAKE2b-256 | 75a7233c8a37a97c90c36baa7108352dfa48bc0eb1dc20b0b48c61fd54cb15c1 |
Hashes for pycryptodomex-3.6.5-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ccc4e619182e9136efa139e80a83b30dc5e85d6d12849925058cc4aeb07dfc49 |
|
MD5 | 44fe0cfbd3fc98f7e615767b4f532141 |
|
BLAKE2b-256 | 07aa21851b8e6fd43e2057dd87cba3845064a579afc7ac91405ac8202012076d |
Hashes for pycryptodomex-3.6.5-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc58a2fe5d6ced54038b1d5586383322263d12ed75dcd89792263b003701b50e |
|
MD5 | e8431ebf6907e71f4a92e1665fa81c8f |
|
BLAKE2b-256 | 7adbf25ec286e5059b22713e951d71705c7f00ee3596cd277b3c4db6f534923d |
Hashes for pycryptodomex-3.6.5-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9af7f12f3a322c7c2355cc5a18b3dc6a7a5a7e54af2aae883ae6cd53efc2c4fd |
|
MD5 | 5ad18c982674ffef5a2e36f6550c6e49 |
|
BLAKE2b-256 | 4ac24fbc2bd950b1dc3eb56046d1e0754dea69369135531bfc3d60dbd6ba6d34 |
Hashes for pycryptodomex-3.6.5-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 193b84f4a16f0f5699a54b1609ed4a6f8424fafb1fe554d5fb5423949e96e877 |
|
MD5 | 1b7a289feec32ba9a30d13f1257b1728 |
|
BLAKE2b-256 | 9327f518d4b27433429fb0aaa38c48dbcfb9b907420d3a7f88ceb168f2ed93c3 |
Hashes for pycryptodomex-3.6.5-cp34-cp34m-macosx_10_6_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8c44eada2bccb16a05faf07822b6ee4e31c14d102485be4e1510ce21a194f53 |
|
MD5 | 7e1581aef3cacc3ff4835e7900a19101 |
|
BLAKE2b-256 | 834839ce6e6dbbe0765f2250fffa91c72302a2161a874aa9c3e1351fe4196048 |
Hashes for pycryptodomex-3.6.5-cp33-cp33m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c869ef71b2dfc9316195a1e80c131aab45cea45f6e7cfc0d1c26375793f4f963 |
|
MD5 | 85a17674492313da6329350cd4761129 |
|
BLAKE2b-256 | 84059bc84d23b8ff0939ddee1940e56ffff526464c72e9ad2417e5b98d22e861 |
Hashes for pycryptodomex-3.6.5-cp33-cp33m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3ea44f82a50bb94de225baef542bbe194d89f6b80f62351a09c1c0fd3023511 |
|
MD5 | 12a861608a56c23f2f35c491ade28767 |
|
BLAKE2b-256 | 60a08a93c61711bc69d22d6518abd7d0315b677fed37f4ce88667991a864f760 |
Hashes for pycryptodomex-3.6.5-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1104ad76fd0f5cc25950e202b57a9fa9ccaceb6732939fbadb5ba2d5e99275c |
|
MD5 | 83f197abd4e331521d6c8d8b84734ded |
|
BLAKE2b-256 | d836ed63896aba15d01de156fc54d71c6b188138cb03a7bcf8698762aa95e959 |
Hashes for pycryptodomex-3.6.5-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c5e2441c051ea9cd7b03dc7f0b0f04cf5e6cd3c516a8d5125370200c9a556f3 |
|
MD5 | bcf39bb241f380f162ccd9f3fc42edbe |
|
BLAKE2b-256 | 6acaf6ddbeb2b2196057e1d8feaea3b05024366f0ec9d912a5f93871988f4f5d |
Hashes for pycryptodomex-3.6.5-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a2fd3bd42e32e92d56e81bd18a9d6e7c72a0498a86c0171bd0c13b22b949ccc |
|
MD5 | e48916d7ff7cacf149a61aa11533c794 |
|
BLAKE2b-256 | af478619fb55aeabad7f5da6af122076bac943fef5ad83f85c4cd51f9fa1a757 |
Hashes for pycryptodomex-3.6.5-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d62bcdc2370fe37aa0e9997e142559eac1f311f70dbdba2372fbcb01644498e |
|
MD5 | 0499174977b6cc311891aac3c4a79fdc |
|
BLAKE2b-256 | ec22a5bdbbeabeebe832046d7a16c552b9a9ea21f2aa627f6ad5fd78cb968e15 |
Hashes for pycryptodomex-3.6.5-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 845de8cd1cd827568bb923954eaf969111534e3a9cefc38e43372f2f3aa99837 |
|
MD5 | adbb9040da5a8fab5fc0751de1bbb1e2 |
|
BLAKE2b-256 | d3dd78f97627ade648acd7b7c4024881c8a97b42f0b1e09a8cc1824026a77e12 |
Hashes for pycryptodomex-3.6.5-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a735175631e605975e91f7b334adbecf82dbc352828b17493f1c01cbe3ed3406 |
|
MD5 | 82b2f64dff9b17025a964fd4074b1c22 |
|
BLAKE2b-256 | f52386dc05b8bb358d071951f07c5219471dc85a2590e4e73ff54d2c204192c4 |
Hashes for pycryptodomex-3.6.5-cp27-cp27m-macosx_10_6_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd3c1f3062c3f04c45ef18b73e69347c48e3c822e72d0ec911464338897c2fea |
|
MD5 | c7c5a2b20a81575c37c35ee8db9921a8 |
|
BLAKE2b-256 | 83af9837a78f79fa921d7cc4631b99089fdb56bf2014e5087c99e32019be08e9 |