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.3-pp36-pypy36_pp73-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca1c6bfae983eb23e0651a29393b0b0de71e06699a5d800d457a062a6a13bc34 |
|
MD5 | f53a863b4f6b24943c2010d61d775902 |
|
BLAKE2b-256 | 230901c98c6b7660fd91a59cbc4a0e3209ffd2e7a137cdefb27cd12aa6af4f45 |
Hashes for pycryptodomex-3.10.3-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf80f94a3e3a20f5242077cfd7483fa8f083345af7d0f049dccc293ccdd0927a |
|
MD5 | a338638e9f08cc9b31e10d460098d69e |
|
BLAKE2b-256 | 2da4b2673a11a7ede2fc1a1074aa77f407344ece2ae02f0c4f45e274c277a48b |
Hashes for pycryptodomex-3.10.3-pp36-pypy36_pp73-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 388974729c46f21b3e5961f899374f71bd11e07688b29b803767bfde632ac523 |
|
MD5 | c53f46620d8b4dae00580806800c70f7 |
|
BLAKE2b-256 | 4d818e5f42fd9f482ab05a5491cce9a0486694f353e9ba36e8bddd483ecdaecd |
Hashes for pycryptodomex-3.10.3-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1396761c247f6264bafef1a6947c76bb4beae9b19c959c9e565b7deacc6effda |
|
MD5 | 31f000972272c1899f45749a27d4841c |
|
BLAKE2b-256 | c5e1b16fa273dfc78f00dedee562261bc2359157c72d3a0aab7b76c46b78183a |
Hashes for pycryptodomex-3.10.3-pp27-pypy_73-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ec27bdf365b2d0099c7841f700ecff64912ec6d0115cdbe575145ac88dc106a |
|
MD5 | fc668b76afd70deb4f0f5f9cc46a3f69 |
|
BLAKE2b-256 | 1760d3df4d7e85bea7a35b7bd2f20bc7cfd768dd88cc269c7a0944f4ef5ab04b |
Hashes for pycryptodomex-3.10.3-pp27-pypy_73-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a834432cdc5aec628df6cd5e9576d15bbae8c2bb9e1d2093851d2606fbb76383 |
|
MD5 | 8ff572d42c35678b2fd33f019f20981d |
|
BLAKE2b-256 | f3c0c891941e9a3ff16dcf15da066636cc7961eff4b82f6e4ac2f7cdce53d1d4 |
Hashes for pycryptodomex-3.10.3-pp27-pypy_73-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4bc42f340d244e125559ba0ca49c7eaf54d1fccad81da748e1f80ed877499a8e |
|
MD5 | 39d2627381ec5f3fcf08d8374a8d70e1 |
|
BLAKE2b-256 | 9a0251603dd34eba55b129761f2a33d3e9592cea8ce6bf27c5689a6e7762039f |
Hashes for pycryptodomex-3.10.3-pp27-pypy_73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bcab5673fc432de7cc900d56c7db97458e442e80a687675555d16a9ca007cbf0 |
|
MD5 | cda72f7c26c1a594f1daf8e6eb9ab7f2 |
|
BLAKE2b-256 | 0f77ce18495c5ce2fc1e0e6d7cc4d08d7778c379bfbab4014ca4d985ec6528cc |
Hashes for pycryptodomex-3.10.3-cp35-abi3-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b4fa20c3031046a6b27bb0e01a87155b10fabc97fffac826c7a5ef809488bc4 |
|
MD5 | 9d3cc8f904b9437505e733e745eac7d5 |
|
BLAKE2b-256 | b01fb16765ac06ad161f66c883a89ca2a9fb1767bb5ab681e08b3fe884176a78 |
Hashes for pycryptodomex-3.10.3-cp35-abi3-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 342ab4b6e9e475eccc04a2e5306118f4745449253afd6ba4274e08dbf3a1883a |
|
MD5 | b432036928edf7ce044d16ec28fe2618 |
|
BLAKE2b-256 | 55043f3bd275598b74372c48e2084d56edbce1b0bd0b7489f58d0fbcf5626d1a |
Hashes for pycryptodomex-3.10.3-cp35-abi3-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5d6b54b1dd87dd6af75026dd982725c1d3e039ebeb69ba887b947feec73d859 |
|
MD5 | fbb3cc3e411eb85271ca962cdc51a696 |
|
BLAKE2b-256 | 294b1f1b2980e26dcfeeb919739e5c9a31280295c23df90f99863c49db5dff2f |
Hashes for pycryptodomex-3.10.3-cp35-abi3-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23573025ec9d450899b58319bf6c1b25ca29c44457ab0dea45cc327f87231a66 |
|
MD5 | 25c3e6053be9117f93f51a166ed91ffb |
|
BLAKE2b-256 | 2a8490fb18ea0dbbf128b2f4e0d4da07c7e5f6b553566c2110cfbdcc09f22144 |
Hashes for pycryptodomex-3.10.3-cp35-abi3-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 034f74e292d02737f47e81da33825bf4d8b1ec57b11b6e28434eb51373d3a06f |
|
MD5 | f050431c63bfa7a397d040680ade3390 |
|
BLAKE2b-256 | 085b1ceb054f590fa192e7b802878ecbaefb9e202ef60f9aa21ef6e7e569b49b |
Hashes for pycryptodomex-3.10.3-cp35-abi3-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e0f7c9e5e9adc7ef1232fc661c6385ac56afe8520a661aa0414545800bd4fac |
|
MD5 | f9340177c297bc9dd9d55e7b7ad4a5c0 |
|
BLAKE2b-256 | b5b84259d3bac7f5447479f0298f9fc2fd85ab46dd1c310f76f6393796c78d90 |
Hashes for pycryptodomex-3.10.3-cp35-abi3-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67fadc2b206905e10eb9eebf2795f550be04f2172833912824750f66157fcd33 |
|
MD5 | 4f6d8beec380bb8a09394fd9010b7ad8 |
|
BLAKE2b-256 | e2a79b3afa0a71f19f005cd1cd7499c2b5a3cd39f9124dd4593640d7ad10ec37 |
Hashes for pycryptodomex-3.10.3-cp35-abi3-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eef8d7ccf1c7accf375ddfafc59e4656aa29568dec488b0e3c32754216aa962f |
|
MD5 | 0a6ca1747b1c59ce35f86a3a9c370025 |
|
BLAKE2b-256 | 5eb83ae1ef9c470c257b289f44436b6505d06ebfbbc470f4615573506adbd0fe |
Hashes for pycryptodomex-3.10.3-cp27-cp27mu-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b17330320e973aba60f661559e81e796e4217ed8ddadcf4b6e1aeae47809ba40 |
|
MD5 | 9e6b65e0f8066a451cd60f4cc4606385 |
|
BLAKE2b-256 | cae34a4ee6fde06f1ba7151d865fbb73f78a36a39693191ef5da5b153ac94f51 |
Hashes for pycryptodomex-3.10.3-cp27-cp27mu-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 096325e458d5fe06ef37c24a388add8230337d4168fbffafb282f1be9d2a5181 |
|
MD5 | 33cf4258d5efb693a32d6b8921713917 |
|
BLAKE2b-256 | 6bde931941f975b1b6ee3dc94148653a0a1098041d0ccd0368a9364a623685e9 |
Hashes for pycryptodomex-3.10.3-cp27-cp27mu-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfa158ed0ac7aa3f18dfecbe9ee10ad522e8eaf086f161eabf41768990d6b82f |
|
MD5 | ab0e18476b1d37599472d5cc4aaffe8a |
|
BLAKE2b-256 | 3e8397d7afad0ae6286336e90d8396992aaa3a77f1fce80bfd5b6913d8cc1283 |
Hashes for pycryptodomex-3.10.3-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6a2c96603834b26a45e83cc241d97a179461438850bb7f463fc5ddc1ef5e333 |
|
MD5 | ddb5a2d36be1045522c994f1d3588481 |
|
BLAKE2b-256 | bb5c9fe6723a8d66a37b639a31ef5ab8486bd2708c898f8720594f8e38fb8182 |
Hashes for pycryptodomex-3.10.3-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63fe77027d8f51921e942becdc51cae915cc28b460d265b20c71f6fb78fec86b |
|
MD5 | c13d3ed5c1a482d22edee5946221bc6c |
|
BLAKE2b-256 | ac8060a590a084151437ec058dc3e6a06f71e637400203bc4ffea837ca6a7e59 |
Hashes for pycryptodomex-3.10.3-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87f7958035078cec223c01b2e9607ca6fb455f50cc986a30d42bcafcb1b3c967 |
|
MD5 | 27a32f33ba219da456443af6bf235cd4 |
|
BLAKE2b-256 | 75cd531e7c20a6fc5ff8ba4cbca2f8a9480c5f8039ff67e420226d9aa012e11d |
Hashes for pycryptodomex-3.10.3-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4dcf1509800b9de42f01c0a444aafc2b16bf2e5f8c4e85ac368a49a7fb892a20 |
|
MD5 | 860cead3ffe0b725e0eb20f535b6de3a |
|
BLAKE2b-256 | d37505f7406192cbfb3b58ea595e0bf1b14354cb50977c8411cbb83122515933 |
Hashes for pycryptodomex-3.10.3-cp27-cp27m-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52773b2eb23c7e64e8d4435e4463a9f91734a7a26b64adcc8c74c96cab338004 |
|
MD5 | 621923bdf8d976e52da3cc0d5f5d8e19 |
|
BLAKE2b-256 | 70ee8e8b50be1de65365f039018ed7f53c55733d558bf552be92f7f26c1d097a |
Hashes for pycryptodomex-3.10.3-cp27-cp27m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b587124145e26ad8f2bc1c9e4c17cb20c6ff223bf6aff6b23dfed87c5b512fe7 |
|
MD5 | 5df3d7983e4390775aadd9d57f1e90ed |
|
BLAKE2b-256 | 26c272b96b96449f7f3d2242f6a98df6232f98e406f61b3e59ef9b5f5edcd316 |
Hashes for pycryptodomex-3.10.3-cp27-cp27m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9978e1fcd1ebd22011f1c0609c630bfdd07485623c52b2dffe7882d4d946c42 |
|
MD5 | ef942924bb9cbaae418ed6ec3b4f5c5a |
|
BLAKE2b-256 | 2eb22e3831a550e50f496bff5e657431258f0d8e8c83b0c465fe769ca6e7b9f1 |
Hashes for pycryptodomex-3.10.3-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1407e00b97d31281d415151cbfa8f3e5b982c6b0cda6950c67cea0d080dada6b |
|
MD5 | abf5b154d9195c8685e5a1ec4ba7c532 |
|
BLAKE2b-256 | 4b771cf5afaa974371ef5ef07a4dbd2418965c9a8e210c5982cb2ee0885110f3 |
Hashes for pycryptodomex-3.10.3-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4ae41ff1b493c6542934ddcb14252e0ea7e94e7036c7fe2d17e847528ea615b |
|
MD5 | 88fbc1dfa55b7cd9c143f8747bf7fc98 |
|
BLAKE2b-256 | 9db09c52862d4ae26db77fbb0548d2f19b711213279d4f0354f3d43db1752392 |
Hashes for pycryptodomex-3.10.3-cp27-cp27m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b733dc3fa67fed355814284975c93af9c2d1da2c8fb606cd6503aa5d00f7a907 |
|
MD5 | 8afd738808c1e342f01174d727ab03f6 |
|
BLAKE2b-256 | b121cc0f39016b005e7811459c52a99c95866553511d888ae744cd1a13e56c35 |