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.11.0-pp36-pypy36_pp73-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15d25c532de744648f0976c56bd10d07b2a44b7eb2a6261ffe2497980b1102d8 |
|
MD5 | 588e2746ffc7bac068715f5254f34cf2 |
|
BLAKE2b-256 | 880f702192adc13ed47a6cc9e4784ed03e24ef85ecaddff0bed227ab1129eed4 |
Hashes for pycryptodomex-3.11.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c7c6418a3c08b2ebfc2cf50ce52de267618063b533083a2c73b40ec54a1b6f5 |
|
MD5 | f94b4ff018b5a1ea36b0cd53d9d8fbef |
|
BLAKE2b-256 | 678c50f7a294e7da86903b405cfba492ede8b801f49355913783706dc2fbdb22 |
Hashes for pycryptodomex-3.11.0-pp36-pypy36_pp73-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef25d682d0d9ab25c5022a298b5cba9084c7b148a3e71846df2c67ea664eacc7 |
|
MD5 | 05241147968f23aef0f9a16e6505254a |
|
BLAKE2b-256 | 5c14e750bf53c87855ac478603a460c547dfc9e9ebb3e08cd30bb6aa9f6b77fd |
Hashes for pycryptodomex-3.11.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c43ddcff251e8b427b3e414b026636617276e008a9d78a44a9195d4bdfcaa0fe |
|
MD5 | 47cd796820e1c525d45329b69d2b861d |
|
BLAKE2b-256 | 3f6a42544447021b8ecbf9e7830437f108ef5303198d1d60ee8d0b60032ff0cf |
Hashes for pycryptodomex-3.11.0-pp27-pypy_73-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1dd4271d8d022216533c3547f071662b44d703fd5dbb632c4b5e77b3ee47567f |
|
MD5 | 28ab4ccd44c6a3bdfeca79d48de031a7 |
|
BLAKE2b-256 | 24bfe1fe3f1212ce8d259a66084bd7bde57ad82fbd01aca45e6dde1b5c2052fe |
Hashes for pycryptodomex-3.11.0-pp27-pypy_73-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 207e53bdbf3a26de6e9dcf3ebaf67ba70a61f733f84c464eca55d278211c1b71 |
|
MD5 | 2f14476db7ee786f0850153526a0cd19 |
|
BLAKE2b-256 | 4baca102641bf3e1d0a440d878a6964339ae125140daa3194ea5285108235e6b |
Hashes for pycryptodomex-3.11.0-pp27-pypy_73-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91662b27f5aa8a6d2ad63be9a7d1a403e07bf3c2c5b265a7cc5cbadf6f988e06 |
|
MD5 | 60d67c464f2c84927d504a8b46d8b3fa |
|
BLAKE2b-256 | f940fa43d9ae56bf86b17407e1d07c41316cda43ad4a10fbc2904cb6b8965c94 |
Hashes for pycryptodomex-3.11.0-pp27-pypy_73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c10b2f6bcbaa9aa51fe08207654100074786d423b03482c0cbe44406ca92d146 |
|
MD5 | acba05cf334310a7c831a2d10c21d14d |
|
BLAKE2b-256 | a2e381f9634c3276018c9fec82668be08cc72d280c0a2a6f0625dcac89697ace |
Hashes for pycryptodomex-3.11.0-cp35-abi3-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 919cadcedad552e78349d1626115cfd246fc03ad469a4a62c91a12204f0f0d85 |
|
MD5 | 975f778396b8b4e9d98829b6db279d6f |
|
BLAKE2b-256 | 7e5a0965a6318fbd7ce3ce8b1ffae1ca0c694327af80d9e0d2867433a6823f14 |
Hashes for pycryptodomex-3.11.0-cp35-abi3-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5baf690d27f39f2ba22f06e8e32c5f1972573ca65db6bdbb8b2c7177a0112dab |
|
MD5 | fb3cf8e25a274e8c726cd7f3325cf17d |
|
BLAKE2b-256 | 2d6b15e4843103ed3367ee12284c344b4f6aafa59e144ee866abc6e801c3e59d |
Hashes for pycryptodomex-3.11.0-cp35-abi3-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f35ccfa44a1dd267e392cd76d8525cfcfabee61dd070e15ad2119c54c0c31ddf |
|
MD5 | dd16d8bedd60fa40c16d0a6d35f0498b |
|
BLAKE2b-256 | a25a54216e1f88644253792b856ba9c9bb80e6503746924e3c9cb6e835b5ef2b |
Hashes for pycryptodomex-3.11.0-cp35-abi3-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b586d13ef07fa6197b6348a48dbbe9525f4f496205de14edfa4e91d99e69672 |
|
MD5 | 72d0090ca00fa64f92fa897a61aa1ba9 |
|
BLAKE2b-256 | c602e8b7807f1fa89b794e5f36fb7adeff463c129c412ae80da635e808a89b7f |
Hashes for pycryptodomex-3.11.0-cp35-abi3-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d4d13c59d2cfbc0863c725f5812d66ff0d6836ba738ef26a52e1291056a1c7c |
|
MD5 | a925a4f355b5ecbcc08c7d698776f087 |
|
BLAKE2b-256 | 139320f9d6f85cd5d4270a480f8a2c5056b9cb7048550c908d2b954f3cb3240b |
Hashes for pycryptodomex-3.11.0-cp35-abi3-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff0826f3886e85708a0e8ef7ec47020723b998cfed6ae47962d915fcb89ec780 |
|
MD5 | 699a7eca9fe82a071db1a63612abac75 |
|
BLAKE2b-256 | 45dc9f25aeb3b23c9d95510c5ecb89e778ddc37895d64b22e6a84efc88ecbd38 |
Hashes for pycryptodomex-3.11.0-cp35-abi3-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe2b8c464ba335e71aed74f830bf2b2881913f8905d166f9c0fe06ca44a1cb5e |
|
MD5 | 2aac8892dcbdd946528bddd9bb2e7d2d |
|
BLAKE2b-256 | ee6c112ee34b22333dcd9965228c73b8bd50d352cbd40c9c8d0e3f62e7406352 |
Hashes for pycryptodomex-3.11.0-cp35-abi3-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf2ea67eaa1fff0aecef6da881144f0f91e314b4123491f9a4fa8df0598e48fe |
|
MD5 | cd7015de223073db322544a8b52e1432 |
|
BLAKE2b-256 | 461238158d9b9b566755d842e40b04fc14bd3b6b956eea4a1acac21b4debf37a |
Hashes for pycryptodomex-3.11.0-cp27-cp27mu-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 252ac9c1e1ae1c256a75539e234be3096f2d100b9f4bae42ef88067787b9b249 |
|
MD5 | cd3c2afaaf3c0f680d924f44e33338b4 |
|
BLAKE2b-256 | 6234a5469cd8e9e544b569ec957a5ea0ccc86cd8da6f3c67487079fbb511357f |
Hashes for pycryptodomex-3.11.0-cp27-cp27mu-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64a83ab6f54496ab968a6f21a41a620afe0a742573d609fd03dcab7210645153 |
|
MD5 | 7510211be0e23ca91ba899b10c002928 |
|
BLAKE2b-256 | 22844959cbd00c88868b1e105b96f0ba26f5ce1696a06e6e319f62b18b129282 |
Hashes for pycryptodomex-3.11.0-cp27-cp27mu-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c391ec5c423a374a36b90f7c8805fdf51a0410a2b5be9cebd8990e0021cb6da4 |
|
MD5 | b32e476036b2ea071cceb52e7ec0b25f |
|
BLAKE2b-256 | c1fbc42cde83a479166ed885aa70d31ddcfe68933d9ef1522094f07e24133232 |
Hashes for pycryptodomex-3.11.0-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c91772cf6808cc2d80279e80b491c48cb688797b6d914ff624ca95d855c24ee5 |
|
MD5 | 94689d600c190709e42f4db0bc7dda62 |
|
BLAKE2b-256 | 07366242fccf7909d01a1e739de76f5a70a40c2efc87b6dd50af834d36b2ded3 |
Hashes for pycryptodomex-3.11.0-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf30b5e03d974874185b989839c396d799f6e2d4b4d5b2d8bd3ba464eb3cc33f |
|
MD5 | 6f9a0941d147c09a8a0b8d51070da29c |
|
BLAKE2b-256 | 44e0af412d95c4766b6f6ad02babe274b2709df169b3f24cdddab5d793402208 |
Hashes for pycryptodomex-3.11.0-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | adc25aa8cfc537373dd46ae97863f16fd955edee14bf54d3eb52bde4e4ac8c7b |
|
MD5 | dd4c9f834d0bfd3de81796e0dfd6f54a |
|
BLAKE2b-256 | 5a0252f21e9e01d2bca4d485bd4b74c77435a2026124321eee9f76e7b7f5a786 |
Hashes for pycryptodomex-3.11.0-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9eace1e5420abc4f9e76de01e49caca349b7c80bda9c1643193e23a06c2a332c |
|
MD5 | 7c0605a3e94e7426a50bc59388c514bc |
|
BLAKE2b-256 | 520e4b24ab9ec9c58ced228c19885c1c4437cf56d8539a596f7c7f28445e9f2f |
Hashes for pycryptodomex-3.11.0-cp27-cp27m-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbe09e3ae95f47c7551a24781d2e348974cde4a0b33bc3b1566f6216479db2b1 |
|
MD5 | 50d19e505068cefeff687352fa9a4f1b |
|
BLAKE2b-256 | d29f6e78b121c62d8af3bf0460738f22e2520376c2be9debb8618a31bb2d5c84 |
Hashes for pycryptodomex-3.11.0-cp27-cp27m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7cc5ee80b2d5ee8f59a761741cfb916a068c97cac5e700c8ce01e1927616aa2f |
|
MD5 | f48eec83c3c2d21d3c789198a1868769 |
|
BLAKE2b-256 | 19cd18ec008e82ea9cd5ca4499ac1d512fcd7bbb60c672a548b591cc040bdd81 |
Hashes for pycryptodomex-3.11.0-cp27-cp27m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c825611a951baad63faeb9ef1517ef96a20202d6029ae2485b729152cc703fab |
|
MD5 | d5625d1900ac2379d4065f00111f2433 |
|
BLAKE2b-256 | a9b80e623d2d81ff77f6b791aa5f92ac7d009cba1b60fcf4b955e897f696d97f |
Hashes for pycryptodomex-3.11.0-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1580db5878b1d16a233550829f7c189c43005f7aa818f2f95c7dddbd6a7163cc |
|
MD5 | 400571362a90cc0d778f4b9819a46856 |
|
BLAKE2b-256 | 4980a2dd7a54ee6177818fe64f027e511cc20b5535de7b879a1d1557b7725e1e |
Hashes for pycryptodomex-3.11.0-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a76d7821ae43df8a0e814cca32114875916b9fc2158603b364853de37eb9002 |
|
MD5 | 15a148b3e0dcf7c0a0282be866b0f88f |
|
BLAKE2b-256 | d54bb448534fe4f18b8ff34277aaef520755f06ee187a4009dd9a9cf38e13c22 |
Hashes for pycryptodomex-3.11.0-cp27-cp27m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7abfd84a362e4411f7c5f5758c18cbf377a2a2be64b9232e78544d75640c677e |
|
MD5 | 464e42c48ad07bfd059a7d24d0c701cc |
|
BLAKE2b-256 | 56c9a7504e40960e0f9fb76728eb02d75c03c38433375cf7cbcd44f5895acbdd |