Cryptographic library for Python
Project description
PyCryptodome is a self-contained Python package of low-level cryptographic primitives.
It supports Python 2.7, Python 3.5 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.10.1-pp36-pypy36_pp73-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2959304d1ce31ab303d9fb5db2b294814278b35154d9b30bf7facc52d6088d0a |
|
MD5 | edf1ecb098319590bf4c734c17a31113 |
|
BLAKE2b-256 | dc9f13f48d5a5076abb4109867638636c045348fe3dab74078d9a02e11282771 |
Hashes for pycryptodomex-3.10.1-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 961333e7ee896651f02d4692242aa36b787b8e8e0baa2256717b2b9d55ae0a3c |
|
MD5 | 0657da4a61cd7de30ea23e0e0a13e324 |
|
BLAKE2b-256 | a1d39f65c137c8627e4695fe27c095cef05f5da5fff574141c0134f03eb7405c |
Hashes for pycryptodomex-3.10.1-pp36-pypy36_pp73-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00a584ee52bf5e27d540129ca9bf7c4a7e7447f24ff4a220faa1304ad0c09bcd |
|
MD5 | 86eb9aec04697dbce8c2c7d084fb7ce0 |
|
BLAKE2b-256 | 94c12e960e6558fbb8f6b0140b4dceba1c8d2127695b22c2e1006f184ea5337c |
Hashes for pycryptodomex-3.10.1-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37ec1b407ec032c7a0c1fdd2da12813f560bad38ae61ad9c7ce3c0573b3e5e30 |
|
MD5 | 1b4de86e2ffb4294639501ab791e3ef1 |
|
BLAKE2b-256 | b8958f283ba3e896ec5016029dc254871e107bb0b6e90847bdc5e4eb7df2473c |
Hashes for pycryptodomex-3.10.1-pp27-pypy_73-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36dab7f506948056ceba2d57c1ade74e898401960de697cefc02f3519bd26c1b |
|
MD5 | aa8828589fc5c06d413cd5097ea067ea |
|
BLAKE2b-256 | 670f427926dfcc8a16d0d574e9e31d1df31581225d480f5a5a100746fa8bc719 |
Hashes for pycryptodomex-3.10.1-pp27-pypy_73-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2abeb4c4ce7584912f4d637b2c57f23720d35dd2892bfeb1b2c84b6fb7a8c88 |
|
MD5 | a183339d3ce83b9840a8baf5b34d6385 |
|
BLAKE2b-256 | 80a2c3f0ec71acddbf5cb33ffad429880cc58654fa74c1ae9d2fb65faa5d4162 |
Hashes for pycryptodomex-3.10.1-pp27-pypy_73-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8fae5ba3d34c868ae43614e0bd6fb61114b2687ac3255798791ce075d95aece |
|
MD5 | 14111c35b35e96443098f08e1a6c0ad0 |
|
BLAKE2b-256 | c2f1418fdf64578d7c8439c698654ebfbba6ecc4a398dab7ea3128fbcc358092 |
Hashes for pycryptodomex-3.10.1-pp27-pypy_73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 940db96449d7b2ebb2c7bf190be1514f3d67914bd37e54e8d30a182bd375a1a9 |
|
MD5 | 4d2f27488bc577cb05062ea750790121 |
|
BLAKE2b-256 | e87148aa3c107b5cdb0a265b4f890375b0b83fe07f498829f35734986b7b9b90 |
Hashes for pycryptodomex-3.10.1-cp35-abi3-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3dfce70c4e425607ae87b8eae67c9c7dbba59a33b62d70f79417aef0bc5c735b |
|
MD5 | 3a21874588681b329fbbcae459659821 |
|
BLAKE2b-256 | 1c63185b403c095031aca67d753998d9a734201a5b7272a1dcbe758f13de7cec |
Hashes for pycryptodomex-3.10.1-cp35-abi3-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc9c55dc1ed57db76595f2d19a479fc1c3a1be2c9da8de798a93d286c5f65f38 |
|
MD5 | 2513b6131c79b8658c2d9c5eac3da1d8 |
|
BLAKE2b-256 | 8bc5b040588c864420cb51778ae512995bdc5d36c990456ae8b022a377ef24c0 |
Hashes for pycryptodomex-3.10.1-cp35-abi3-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20c45a30f3389148f94edb77f3b216c677a277942f62a2b81a1cc0b6b2dde7fc |
|
MD5 | 67aa93f3d7af3f7599612eba1ce68ca5 |
|
BLAKE2b-256 | 86be02b903e4dd0fb211991ed4cfdedf6ce138a9154d7516270e7de979d8dd9f |
Hashes for pycryptodomex-3.10.1-cp35-abi3-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e090a8609e2095aa86978559b140cf8968af99ee54b8791b29ff804838f29f10 |
|
MD5 | a670d79d82884d9f0a22ef084933423d |
|
BLAKE2b-256 | e59d99a949925b5fc9604cb65219951fd270ef30d0fd4f064d1b363eb8bb5e9b |
Hashes for pycryptodomex-3.10.1-cp35-abi3-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72f44b5be46faef2a1bf2a85902511b31f4dd7b01ce0c3978e92edb2cc812a82 |
|
MD5 | da3b150459bd53d9f8f020159a1b6f2a |
|
BLAKE2b-256 | 3f77198f0d269b46c2475227f845a792aeb0c53733a8c8378e76cf4c715a73b2 |
Hashes for pycryptodomex-3.10.1-cp35-abi3-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04265a7a84ae002001249bd1de2823bcf46832bd4b58f6965567cb8a07cf4f00 |
|
MD5 | e8fa2d8d70a3ff2a703603512c9fef6e |
|
BLAKE2b-256 | 5e1249071b981f96720ccf26732de16b0fea7b13b676e4fe0643d8cdb69e199e |
Hashes for pycryptodomex-3.10.1-cp35-abi3-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3bb267df679f70a9f40f17d62d22fe12e8b75e490f41807e7560de4d3e6bf9f |
|
MD5 | 6b06b73113fa09521903ce26d2e835d0 |
|
BLAKE2b-256 | 2505aff9d325ede8a248810b6dbc8885f2149045840de20c78c66db32eb524d2 |
Hashes for pycryptodomex-3.10.1-cp35-abi3-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b8eb85b3cc7f083d87978c264d10ff9de3b4bfc46f1c6fdc2792e7d7ebc87bb |
|
MD5 | e1fe2c5c138d35bd63188d4f5c092027 |
|
BLAKE2b-256 | d25b2f9b8fd9f1e63306a164fbe0dbc3b270100703a5bfbf56ecaafffbeb7d04 |
Hashes for pycryptodomex-3.10.1-cp27-cp27mu-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4a1245e7b846e88ba63e7543483bda61b9acbaee61eadbead5a1ce479d94740 |
|
MD5 | c775011d45980cd5cca6f6ea170fc093 |
|
BLAKE2b-256 | 98d4f22c0035dfd592c16877d4ca21821c448615663cf37c2c3655d75a96e8e6 |
Hashes for pycryptodomex-3.10.1-cp27-cp27mu-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 564063e3782474c92cbb333effd06e6eb718471783c6e67f28c63f0fc3ac7b23 |
|
MD5 | 86c1e60f6822e8386bc4db06fc01ee72 |
|
BLAKE2b-256 | 4252214203cf9ecca75b907fe2598ff76040c7c5f255abee650f095a5e8080f8 |
Hashes for pycryptodomex-3.10.1-cp27-cp27mu-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbd2c361db939a4252589baa94da4404d45e3fc70da1a31e541644cdf354336e |
|
MD5 | 42f0429bb301be7c67188fced1d4a546 |
|
BLAKE2b-256 | f5465d188f03b0cf56bb6a018bece98d5c68feecf3c3c94060bb6898870ffa34 |
Hashes for pycryptodomex-3.10.1-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a98e02cbf8f624add45deff444539bf26345b479fc04fa0937b23cd84078d91 |
|
MD5 | dbbe5cbf6bd2f2061823ecfff4f1c334 |
|
BLAKE2b-256 | 1eb4ea5c5d3c5e4b93602efafb31c360aab977c5fbac73a218c40ea9848a7970 |
Hashes for pycryptodomex-3.10.1-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 418f51c61eab52d9920f4ef468d22c89dab1be5ac796f71cf3802f6a6e667df0 |
|
MD5 | c016fc454fdff0e144ad8780ff56c98e |
|
BLAKE2b-256 | 17124f92b25c7db890e19389a7424a22e792cab76439761311b9029f42eafa59 |
Hashes for pycryptodomex-3.10.1-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f713ffb4e27b5575bd917c70bbc3f7b348241a351015dbbc514c01b7061ff7e |
|
MD5 | c644e27f008fd7e8adf6a93e2e94dcc8 |
|
BLAKE2b-256 | fb201258f231f3429ecebb7cabb6d2ecb9d3bb320ed2fc5abde2974cf9d4e4a2 |
Hashes for pycryptodomex-3.10.1-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4195604f75cdc1db9bccdb9e44d783add3c817319c30aaff011670c9ed167690 |
|
MD5 | 1722e190feea235e95e77b432c2608f5 |
|
BLAKE2b-256 | f7414abaf70f58316582549e3f9962fa32a6402d718f77682a9b1e77cfb8c496 |
Hashes for pycryptodomex-3.10.1-cp27-cp27m-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a6584ae58001d17bb4dc0faa8a426919c2c028ef4d90ceb4191802ca6edb8204 |
|
MD5 | 13d2b858c3657dc652d707b1deba3668 |
|
BLAKE2b-256 | 46f93604f7d9b4b0447fd0ad8296a5d42194e5895070f8e5c7eba082a98a9414 |
Hashes for pycryptodomex-3.10.1-cp27-cp27m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2b680987f418858e89dbb4f09c8c919ece62811780a27051ace72b2f69fb1be |
|
MD5 | cc64457725c9d23dfcca8e06c72a6885 |
|
BLAKE2b-256 | 7e5bbfba46c9e46c8602ccf61529691e212b4dbbe2e64a9302cea0b42a49d0d1 |
Hashes for pycryptodomex-3.10.1-cp27-cp27m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec9901d19cadb80d9235ee41cc58983f18660314a0eb3fc7b11b0522ac3b6c4a |
|
MD5 | 6368604378762ca92ba7843fd52e72d1 |
|
BLAKE2b-256 | 350f230dd61f2080353025e9f397d9c5a04524320f46f8642e4d37b1b82786dc |
Hashes for pycryptodomex-3.10.1-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bd35af6a18b724c689e56f2dbbdd8e409288be71952d271ba3d9614b31d188c |
|
MD5 | 5ceb5a28cdb03564ac7412a06bbd8c79 |
|
BLAKE2b-256 | 1351265a122997eb633f59969a9e56b1878e43f2a5b0a29cf5f65f652502124b |
Hashes for pycryptodomex-3.10.1-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f933ecf4cb736c7af60a6a533db2bf569717f2318b265f92907acff1db43bc34 |
|
MD5 | 4df4c39ad34b2264d74c5cbb2bf33d76 |
|
BLAKE2b-256 | 04bcf6791bc5b76f9e981a467804f43a49375ed815f7619892d08c62ca2fb0aa |
Hashes for pycryptodomex-3.10.1-cp27-cp27m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4344ab16faf6c2d9df2b6772995623698fb2d5f114dace4ab2ff335550cf71d5 |
|
MD5 | d62676cfa16c83386793f8fa3201e80d |
|
BLAKE2b-256 | ecd77717ec1e76a622e13e8953bfb7a31bd79ee7e979ff16b8e958982d9d50e4 |