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.11-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 590bbbc6d896989bf2c91816d48d15ff8eafac6a6f0e46eed7330ae926398c41 |
|
MD5 | 3284f9376b651498437cbd510ec6b1ae |
|
BLAKE2b-256 | e9458ae4732b9050160b301b7665bac3b65d1672e44437c6af7df164ef431f5e |
Hashes for pycryptodomex-3.4.11-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f6d7fa8c24b504def26577d6b025590998da3e78095a644ac98322bbbe32133 |
|
MD5 | 312b2ceb5c9d11d5a588e6221a02a97d |
|
BLAKE2b-256 | ee80f5562134766c174e2a7552d6feea6a4af478eaaf44dedbf1c85776744ca9 |
Hashes for pycryptodomex-3.4.11-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3197c03bc02da539f29f355a9edfc26bca58387a31f279595e95b49f226ffeb7 |
|
MD5 | 5b65b9e0d3c85028272d4e29195d6068 |
|
BLAKE2b-256 | c82d56e9099ca5279a11fb6ca3c4b506d6a782bb243716e36e789f6b63d6ad07 |
Hashes for pycryptodomex-3.4.11-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2142e3011083763f52d6733de031374f4e1aab0fc05baea4728c24a0a86466b2 |
|
MD5 | 6bb0ac2a2aa86f7c85e538076fe00220 |
|
BLAKE2b-256 | 89d9ce9986d395b6d7f6f0ee7bfb85b2e8c6ce27ccdcc881b42b0cd772630fdb |
Hashes for pycryptodomex-3.4.11-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 183e0209a561c891e6036477c6138e78d8e74e23bc290ba7ed70b13b1cc2d079 |
|
MD5 | 2fe7421d486cba9cdeb9f5c366234c42 |
|
BLAKE2b-256 | ce9193c5711af9e247623bf3d0b29f194096873e6bf0bfb23bf0964e7725c1b8 |
Hashes for pycryptodomex-3.4.11-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4bb4b275255332fa24004741a8e2d4ad24ce3107d266e5172b71d8fb87189342 |
|
MD5 | 0357917514155934472643d9f42b5e7e |
|
BLAKE2b-256 | bbdf542951d30064670535eaf94deac21ffad38bfb5a1ab9d50818002f1ae5d9 |
Hashes for pycryptodomex-3.4.11-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d67ed828c2a3d509c9cd278103a44a0769af3c6aec31d0d601b7d841859d59e |
|
MD5 | 7beafdeeedc74797c000cf12e60f9703 |
|
BLAKE2b-256 | 1482a00a91608b860f8d2dfd1f8b9acf928e0c78e110538381a688b0bbbce0f1 |
Hashes for pycryptodomex-3.4.11-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dad135418b6ac3a10c27ff4e2e259f2b610fa3cf8fbc1fd8bd9adbf9a39b7f59 |
|
MD5 | f96e2a1cdb24024cf31e667d7aacc447 |
|
BLAKE2b-256 | ae3e0def5e2528c73328f0532e39bb7fec51cadc9022e9b0c5a0d5e5164530b5 |
Hashes for pycryptodomex-3.4.11-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce8fb19b13b62edc022afe0624b651af8f48231009ba2ad5b4e06f6c489e2608 |
|
MD5 | 31aa0afc771a69702162915481f7a2a1 |
|
BLAKE2b-256 | 7d8ef9d3412d4641ce2372b88f5c28070e3431945b6ca8bcaeeef966db1d43a9 |
Hashes for pycryptodomex-3.4.11-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6aeb00d72b3fed509e233acfa390e601d51fcb32dce5cb4ebab4cd397aa0c63e |
|
MD5 | c5e77ef6903b9e74e561599630afb2ce |
|
BLAKE2b-256 | 47678dda9f8e5812cf3559b78dcc1a8cae1be4fb3fdff88308f62972468372c8 |
Hashes for pycryptodomex-3.4.11-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97f192178725b7cbf9e9b3cd0a3ad55eae3e298545fdf782908abd99b3b96810 |
|
MD5 | 2ea737dd25789ee3ecf47c40f6c663f4 |
|
BLAKE2b-256 | 2796892696e5f4bd10a25e69863c17a612a136090b2d1b9086ebc134125d945f |
Hashes for pycryptodomex-3.4.11-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9b0cc221dfa896edbe69a84950da424c5a829ce5785f71d0868f7ba2531ae68 |
|
MD5 | fc0703bd9eb89f4596ba8df6836e7634 |
|
BLAKE2b-256 | ba8d455549b1f6c1eb8662a1d04e8ad3f6aaf6a94191c017cd49fe31adb67b6b |
Hashes for pycryptodomex-3.4.11-cp33-cp33m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | deb94ae99ab1daa7008788292c5909732326f66e0a630e43fdaa0f0f6ac1a513 |
|
MD5 | 1ad1fffd60ce10c7246a1a652a673e4b |
|
BLAKE2b-256 | a127f4ac48d08b4802115624a330a521b74677e94426c1b90688b9bc88780550 |
Hashes for pycryptodomex-3.4.11-cp33-cp33m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 57edd90597062ab8f893126194a7504f038cefbbb5f5809bf2678d6fd50b3543 |
|
MD5 | 74722dde662cae3c503cb96e269c7f8a |
|
BLAKE2b-256 | f6229210406de12f075dfc0da0325fc72a073bb6dddfc3e652003300fa1225d2 |
Hashes for pycryptodomex-3.4.11-cp33-cp33m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e2a6076b284c78edd1658d4678b4764f2124a6b9fe30ac75309426c9e5a0af6 |
|
MD5 | c9d4fb4bda9fd3001e3a79c4865e6328 |
|
BLAKE2b-256 | 523245be014dfe9bbddd0398b1d37a42975a20fc18bf094e1bb8fc428aa5340e |
Hashes for pycryptodomex-3.4.11-cp33-cp33m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8690f6d28f459f3bb6f31c2ddd3640a57e29486ccb2ca5681a220d67a05f091 |
|
MD5 | c723fba0f5f2ec5111b8290751c9bf82 |
|
BLAKE2b-256 | 98ef659f4cba09b689425ff4fba9840fcfeff7f1d2d0be9900d98e78d59412ae |
Hashes for pycryptodomex-3.4.11-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63435158f6634d24f0446ba2fa372be678b0912fb824c62b998297852916a2b7 |
|
MD5 | 0c82b592eafbbade663663220e0acbc4 |
|
BLAKE2b-256 | 246cf89a464734340e3ea08d23e22567a474d38f5a31af3c8e2e52f1f7fdf6a1 |
Hashes for pycryptodomex-3.4.11-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eac73a0906200948da020cacca7dda4f3968556975ad65f6b6eafced53f10320 |
|
MD5 | 7ce9e33b346e0c953a1c972e9a4a001e |
|
BLAKE2b-256 | adcc56c307ed95a521c18083be1a313efeb0854700658f91342f3dfc7df57cb5 |
Hashes for pycryptodomex-3.4.11-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e369e36f680dab0597634ddffd01ca40c02dea9ce9dd084d3a896f0c0d48bd86 |
|
MD5 | 31e33d91bb2794dbb4742744b5834ced |
|
BLAKE2b-256 | babba4f6a693492488819539a540efa45834c9711d845176872f1f737f2966ff |
Hashes for pycryptodomex-3.4.11-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fad85886450c7e09341081715f9e94c6d40f7980b3158860828054f19e62ea38 |
|
MD5 | 4f261c8986af2a5d6918922c63859357 |
|
BLAKE2b-256 | c3e2b5e652a2fadbdd38984b285513b779c3432f9db9cc89f7e028aa6a2479f8 |
Hashes for pycryptodomex-3.4.11-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63c7ff3557136c3b9bc55a81054b43642a7c25edcf71373dabd00cbe805ae8c5 |
|
MD5 | e1816872a72a495d48218ee15289608b |
|
BLAKE2b-256 | 437feb571dd0002f6650d176f9b2b1eb81f62c0dc8a0f4faaf9168144bae88c2 |
Hashes for pycryptodomex-3.4.11-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8923023519402029e7fad57ab0dbb44823398718f58d7fd7072879a414ae758a |
|
MD5 | 2787d0cc0c7d0cc29889eb565120623d |
|
BLAKE2b-256 | 0feac5262d1ac624d55a99ebdc57ea8eac19cd520043e20473b14dd26c4f7242 |