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.9-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6dd0b1e5253846dcd6e80b7792935613e6e6d6b8874fa90d4d039ca5b47984f |
|
MD5 | 0088504ec7a2984e6b0cd7eda6db3994 |
|
BLAKE2b-256 | 6193234fa42159da01596a10f3b4837477c0c8bddcbc2be656a31dde482b9a6c |
Hashes for pycryptodomex-3.4.9-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be5acb5d84435bad11940be08a0a3a7ec68ece02ad2f7c26e347249eff1ab934 |
|
MD5 | ba69ecda1a5fc432543879e06c0dff19 |
|
BLAKE2b-256 | 289d06e72ea47318eb0ae37588e76371818a9df780fbdbc7fe26fa958b7e128e |
Hashes for pycryptodomex-3.4.9-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 749c0da01efc3e9304cd50836d4161145dde6dd747d30213c9b65b4134533682 |
|
MD5 | ba471d7c1b143e418a7e898d752a47ce |
|
BLAKE2b-256 | 9fb627039d7369830accfc79a23ddf9708b1e01407627740d835f95132587ea0 |
Hashes for pycryptodomex-3.4.9-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3d39718b5724d669ef434da2bdfbde6b80eaa5a51e4e11dd08e9dd715c4122d |
|
MD5 | 03f2bb3a4a7f6e405517a447f9a47b4e |
|
BLAKE2b-256 | b4d2bc756a4a9a42b204191bee84594716d220179fcec20e5060d9e188e05520 |
Hashes for pycryptodomex-3.4.9-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e58bf67a9f3df5c4bc57b3216a01771d07750bcbb2b69e0ef269ace67ad1aa90 |
|
MD5 | a6c91c6d0992d9e6d6a82d295f9778d0 |
|
BLAKE2b-256 | 861f7e1f4ddb0b34e3544b33440fe040a621ed829b034ec7375164469b693d9f |
Hashes for pycryptodomex-3.4.9-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2eecdc4d0aa864061a71b69fcd815eb11ecb7b29a79d3e754882576112377522 |
|
MD5 | 73cfcf51da393793380244f283d58314 |
|
BLAKE2b-256 | f2455a2e867ac95213c71631e54697b868ac8bd097ad20e44b78bf2bdca4fd46 |
Hashes for pycryptodomex-3.4.9-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0504af3911db08c76310232578b10e06028958eca72b36b0c2cbed63f0a8584d |
|
MD5 | f8f10864636f8ce62c3a7187aa934865 |
|
BLAKE2b-256 | 356429f8c1184fffb5d18ed6e786e6195a6a6dfb72c276fa132e585e910c1e91 |
Hashes for pycryptodomex-3.4.9-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb1435943ea476959d995ad61b4254c25f2046a471a65edd2a442e1645879913 |
|
MD5 | 0ea10f2878bbab91a75df1e6d1e936ad |
|
BLAKE2b-256 | cdc1f1dba2f276f0b744817886419791c319706164aa33ac56666b17c80379a0 |
Hashes for pycryptodomex-3.4.9-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0b3a9208811cef240c99f833def4261025c261654ae354181a58aff902e69b3 |
|
MD5 | bfa0168e9b57024b2b9134bfb426b797 |
|
BLAKE2b-256 | b740ec3baf12654a7b21d0b69ddefcc427868abbb5d9adc10110d177293fbbe6 |
Hashes for pycryptodomex-3.4.9-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48f182143fe5f372ae136a37a926b5220d616aeaec21f576be030f37fad63e04 |
|
MD5 | 45de2a339faafc8c58698112a46e14c0 |
|
BLAKE2b-256 | 79f488fb3b24d6de3ab270077dafc367e3872b26b24e6ff0b3b2b70ea288d18f |
Hashes for pycryptodomex-3.4.9-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f133f3217b5bea87b38fac48aadbd697965bb328f7c1e3ecda7948c6ac5146a |
|
MD5 | ada96c29b6c061903e4e9dd0f10c4b46 |
|
BLAKE2b-256 | 80dc1554672b44ff788c5652d77533050af0ac6fb469ba63895c2fab9964f87f |
Hashes for pycryptodomex-3.4.9-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b2fa8f5e36ba3ea1e9a7b405367e346a9a6ed916d54828529b3571c8540fce0 |
|
MD5 | 474cdce8a9ac3ef98713ce3e4677dd02 |
|
BLAKE2b-256 | 3d17b54719253aa97fbfcc13c5c81954b8e9e958c70bebe865f64332b2f249ab |
Hashes for pycryptodomex-3.4.9-cp33-cp33m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | def781aa714aca57b101cac7d23bfc7d2be3b297b16ded0fe97d28e0cfdc73e3 |
|
MD5 | 0a7a91c67cd3594d45e8bd6ac667bbd2 |
|
BLAKE2b-256 | b6040946b463319b2ce9d943c0faf92d23f145d816710ea59690f1642ec53479 |
Hashes for pycryptodomex-3.4.9-cp33-cp33m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce44d2d8411499b7d816a5688d470b7465d8971d745537c9053e0af48a976a28 |
|
MD5 | fee61aef4ff809a387cce601318657f1 |
|
BLAKE2b-256 | 04559e4c9c0bcd0b6c2d4081071975323df0ae5758defe79bc2c5b66a60e06b3 |
Hashes for pycryptodomex-3.4.9-cp33-cp33m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d703952c3688de7438f97f5b04f60a38e3348598126b45cb982d557906221c49 |
|
MD5 | f0a8f2563dd865dcbd1dd54e33051274 |
|
BLAKE2b-256 | 2acde92e8daaa61063f172f0d7734a3a41b80ea39779239c8744609c4dbbc363 |
Hashes for pycryptodomex-3.4.9-cp33-cp33m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 200beb18b251295f656e440843a2d4d2abf55d946f1ee5920c75e4a61fe4d3e2 |
|
MD5 | 3d5498e7458fb3a2468762f143dbc4a5 |
|
BLAKE2b-256 | ad22adb3f8003a7713cb68edd0c660a1e9f469e8be5186e5e21ab11aad26c221 |
Hashes for pycryptodomex-3.4.9-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc29b8ae99cdd9e613665b1a35ab28ff0d5b6cb86ee8791928addb13dd607c50 |
|
MD5 | 5ba623d84a222d55f178590870bf87ff |
|
BLAKE2b-256 | 970351e27b805b64d577dcfdd58c19dd0d4694d9407857eeca9748f4f614cda7 |
Hashes for pycryptodomex-3.4.9-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | adcd5761f0dbfeafce105792cf5ff49b6fdab45f7521bf65cd70163dccde0df9 |
|
MD5 | 7d91619d3e9738e7e52aff7551e8417c |
|
BLAKE2b-256 | 5125c12cac6344601d53d07ccceb3b9403adeea1437371897cf238fdf3db7bac |
Hashes for pycryptodomex-3.4.9-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2b7b09fe7c69fb27c66e4d61659b759283f835c4744ab2578ac01feb157c805 |
|
MD5 | 91edc41488c208d739bd238b8f818cae |
|
BLAKE2b-256 | b1f6d6b4844a3d82ff61f9b992883cf2653399ca1f2f0febcca73e88f771804a |
Hashes for pycryptodomex-3.4.9-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5aab64e452043c9195fbf692c2409acf618c7dd8bfeb7ca5c0121b7cce31e6ed |
|
MD5 | 03cab1ef1a74a619191586365f7e114f |
|
BLAKE2b-256 | 3d56c880f082588498c5b1a12da73cc6ff03700ba895bb23f827fa06a178b897 |
Hashes for pycryptodomex-3.4.9-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7bd4f4541faf5a7e0e74c590b46d7cbb50afab5a68a4ca0a3c08976fffc8f45f |
|
MD5 | 2f23400199f26ae3bc887a780e18a179 |
|
BLAKE2b-256 | 9aaf04ad16d19905058bb821dd3df227a6762d943fd0fbb145995e281a0e46b6 |
Hashes for pycryptodomex-3.4.9-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb1e342836754bcd787a4cfddeef3672f46cac8560177bca48a26fe794b23bf8 |
|
MD5 | d8a1f60715a417b8e387660f726ace91 |
|
BLAKE2b-256 | 6554183d13c53ad75a41bae7c063a032789000a928d94d89358624d222c8b733 |