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.8-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30406ce86f9f43a869d88b2b978d53d1ea9b3e1964c6647e56c2e98bd0641102 |
|
MD5 | b23ea8c7d8285d186cce83a292d722e8 |
|
BLAKE2b-256 | 802c6142e75e9be8c2c8e2b5f364d9c64a1449a04c6ddc7b295d3a58fd5ac5d2 |
Hashes for pycryptodomex-3.4.8-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fcfa57a367c2b7f43bc56416eed167f6db730279ba8e0e5b87a8da6a32a99ee3 |
|
MD5 | f4b1b24eec33376b69eef786a35a0cbd |
|
BLAKE2b-256 | 1c914074d001ab0ec261d3817fa85a75a21fe564e1b6ed313d933e47cce586ef |
Hashes for pycryptodomex-3.4.8-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ee097cc9138cae698eb4f7da6cb160824ca80d4a187dc4d8bb7dd1ae2bc6536 |
|
MD5 | 38fe81e8637ea1ff3eefc40ad758ad36 |
|
BLAKE2b-256 | 9f35e2eedaf7ffbe831d49102f4c6428d91f1e9b345db1a562bdac272ff25876 |
Hashes for pycryptodomex-3.4.8-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5695f56016a4db1bc9e4169db100476f61fd63752a7984440ea7bff524713fe |
|
MD5 | 63c1e5603056103cd9a44b3e5f256f54 |
|
BLAKE2b-256 | 8042d7b65ff1d588a4cee86728014b629776ce2b04ba58108ced53eda08089da |
Hashes for pycryptodomex-3.4.8-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81c388792b3536d972622e769239d75bbef937bc0e31bdb3eee3e99e3aa22a88 |
|
MD5 | 1088dd7e697151f045b287354f7b3585 |
|
BLAKE2b-256 | 9bf1ee0e3db72012b3ccd1104d3dc6bba2856babbc7862e4b14fe2e1a4b2d920 |
Hashes for pycryptodomex-3.4.8-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1df5af996e8d9c0dec0019c3b9e5ff9af0b469e165860ecc80344357f4e2163 |
|
MD5 | 38ad2ef98b24c0b87cebc93f455af7a8 |
|
BLAKE2b-256 | edb23a04329a3609d10d6a5824932737689ab4b2a02b627e866b0b1bca875698 |
Hashes for pycryptodomex-3.4.8-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f92a7953dfb3ca24efffad3f400f90053dd1d3c89fa830795b03741f40ccf6de |
|
MD5 | 319aa14a77ee0f6a26544ace4d891e35 |
|
BLAKE2b-256 | 850ecbfa8827879da9deeaab0564b1f69cc1457478dbe1994c49bb0797b4b696 |
Hashes for pycryptodomex-3.4.8-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 770c0439a11b34239312c5fd8d6cf93eaa576ec92e96b4c12d6cdfc131acfaef |
|
MD5 | 3a56ec83672ee0e33d1c1740114fa3b4 |
|
BLAKE2b-256 | 686254b71231f50864c53427c4878ba911d4bf4347e6ddae986d8e5cdda6721b |
Hashes for pycryptodomex-3.4.8-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d18cde14068a80ee1f873a0926c0ebcb5aba2753bea3d9865b73a32beda9e26d |
|
MD5 | 3204e56d8ec017f9d533230dd0087047 |
|
BLAKE2b-256 | c4b487585b4f5f326123e641b179906012d65d4ba78c63295ba21d4169e88cc8 |
Hashes for pycryptodomex-3.4.8-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74d69628e149ca088a5200c641fa384dedc81098980f3bcde1dfce8deb1bb57b |
|
MD5 | 0c10fd63f60dbe147eb3727c05809852 |
|
BLAKE2b-256 | ce213da6cc48e7f6227fc181bf78219afcdb0031699e41d45637752368f50c3a |
Hashes for pycryptodomex-3.4.8-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30c37d0b703a7c98f019cee6cf6db7cce7a3749ab4e09986722c653f3e8cc97a |
|
MD5 | 37a339010fc8829ae329a4433095c0a6 |
|
BLAKE2b-256 | e89f9d5c7a3d52d4a0336b1410a1f2d94e8b920aa66ab7aece7b003051a7231e |
Hashes for pycryptodomex-3.4.8-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19ae411bd86c7ce0a1e022eef3342f373af6d8925ef1b4cee70da11294919fed |
|
MD5 | a0713bd427e2ea87cf09a5c4e32b9bbf |
|
BLAKE2b-256 | 0b51b94c931bed58d47142483665d09577f57ea9907bfd666ed3667385aeab34 |
Hashes for pycryptodomex-3.4.8-cp33-cp33m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd0edcdd53410ea78c7a1a365edaf7faefadd5064bf7db4b4556939a1f9e0e9f |
|
MD5 | dd7a099d7b2274b151ca5fa956ea94f9 |
|
BLAKE2b-256 | 14ed9cd1eaa530a9a9fe4dfc884b8988772e9a2e8fb2388a79ae2225f3793f96 |
Hashes for pycryptodomex-3.4.8-cp33-cp33m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00740de9231e6ce222043d3030f62838b1638e7dce7f324c8fd2e350f932373e |
|
MD5 | 1750876a1f2473d05b300563c610928e |
|
BLAKE2b-256 | 05fa6e60a4b51d3ba2530646a0e0c5678c24c8c2221a8b7a1f6538caf628508b |
Hashes for pycryptodomex-3.4.8-cp33-cp33m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a530d7dee11cca52f961537c883a2f0fe65b80f446cd5b57e76b2d073950ce1 |
|
MD5 | 0877ab24917b5c73c578e55aff9e580a |
|
BLAKE2b-256 | ad86db41936dd4cd1db19431cd07ef125018db68bf450eb37aaa0f5a416426de |
Hashes for pycryptodomex-3.4.8-cp33-cp33m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4194466840f0440247b26166e82c43bbab11194b69254c05658e4961069e34f4 |
|
MD5 | 81fcf326c481ea692a9b22fd5b144bc2 |
|
BLAKE2b-256 | 818f699301587569f65e36120157390615a1a4b36e0e4e0959f49540c315c92d |
Hashes for pycryptodomex-3.4.8-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3ff4afb9db5d9794aa4a32593b4f9304f13fe80584803ca4caf5cb078d2ded7 |
|
MD5 | eea73ce4dfee694e0e96829713e5decf |
|
BLAKE2b-256 | 63c9d2fea1780762a7dc8428f881d6a29e1c2145ba60dd897df7a32ceccb7c34 |
Hashes for pycryptodomex-3.4.8-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7690d71e1a61d33d3f33f0f9e1f52b72cc6ecb5c87ffd6251e6b3c7937a65abb |
|
MD5 | e245f4e91016f8f3ec3a81eb99f9b481 |
|
BLAKE2b-256 | 8e109ffe40cce3fe613abf22ed018c092c984e3746eafbd5393e6032ccd3a959 |
Hashes for pycryptodomex-3.4.8-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b284acce82a183e38dc7ebc492abcfa83fbf98b8378d35cdea1a099eeab23b25 |
|
MD5 | bfd5a2ca8c015d366be9c403c8751cf2 |
|
BLAKE2b-256 | 7e6559429235f7675513b0ce65faf6cb51ffae892bea34193924c88726e754a8 |
Hashes for pycryptodomex-3.4.8-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6771dfefd84f126e0b3997d29666d97de5399c24a28c51a03feee3c9df667e51 |
|
MD5 | a9a84ccf1e1ea248f86c4ecf9507eada |
|
BLAKE2b-256 | af01e50758133a04d5f21af40c6bea09399b66ce516cd05dcbcb3e0526cc56d4 |
Hashes for pycryptodomex-3.4.8-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 074a0c420c441868a5da2d7167d2d84716f399d68b14a8e6b1067c502c5f710e |
|
MD5 | e7ade6b7a4043a5398e1ff850b8a82c9 |
|
BLAKE2b-256 | dbdf531dc1f08fce39f8fac1d628e0538e0a1ce7b5ac42249e51fec215416e69 |
Hashes for pycryptodomex-3.4.8-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1754a233be83dca8999a8c3f742c53c6e37988a0d09e70d44ca5570806ee2a0 |
|
MD5 | 2b570f2720cb9d64c3f9601517ab8645 |
|
BLAKE2b-256 | 2a3aca4287abcc3b46eeb0fa600be2ab2cd96d10a38c2bc89a898e7fdf93d6b4 |