Project description
PyCryptodome is a self-contained Python package of low-levelcryptographic primitives.
It supports Python 2.7, Python 3.5 and newer, and PyPy.
You can install it with:
pip install pycryptodome
All modules are installed under the Crypto package.
Check the pycryptodomex project for the equivalent library thatworks under the Cryptodome package.
PyCryptodome is a fork of PyCrypto. It brings several enhancementswith 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-curves; Ed25519, Ed448)
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 and EdDSA
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
Statistics
GitHub statistics:
View statistics for this project via Libraries.io, or by using our public dataset on Google BigQuery
Meta
License: Apache Software License, BSD License, Public Domain (BSD, Public Domain)
Author: Helder Eijs
Requires: Python >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*
Maintainers
Classifiers
- Development Status
- Intended Audience
- License
- Operating System
- Programming Language
- Topic
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
pycryptodome-3.19.0.tar.gz (4.8 MB view hashes)
Uploaded source
Built Distributions
pycryptodome-3.19.0-pp310-pypy310_pp73-win_amd64.whl (1.7 MB view hashes)
Uploaded pp310
pycryptodome-3.19.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view hashes)
Uploaded pp310
pycryptodome-3.19.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.6 MB view hashes)
Uploaded pp310
pycryptodome-3.19.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl (1.6 MB view hashes)
Uploaded pp310
pycryptodome-3.19.0-pp39-pypy39_pp73-win_amd64.whl (1.7 MB view hashes)
Uploaded pp39
pycryptodome-3.19.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view hashes)
Uploaded pp39
pycryptodome-3.19.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.6 MB view hashes)
Uploaded pp39
pycryptodome-3.19.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (1.5 MB view hashes)
Uploaded pp39
pycryptodome-3.19.0-pp27-pypy_73-win32.whl (1.7 MB view hashes)
Uploaded pp27
pycryptodome-3.19.0-pp27-pypy_73-manylinux2010_x86_64.whl (1.6 MB view hashes)
Uploaded pp27
pycryptodome-3.19.0-cp35-abi3-win_amd64.whl (1.7 MB view hashes)
Uploaded cp35
pycryptodome-3.19.0-cp35-abi3-win32.whl (1.7 MB view hashes)
Uploaded cp35
pycryptodome-3.19.0-cp35-abi3-musllinux_1_1_x86_64.whl (2.1 MB view hashes)
Uploaded cp35
pycryptodome-3.19.0-cp35-abi3-musllinux_1_1_i686.whl (2.2 MB view hashes)
Uploaded cp35
pycryptodome-3.19.0-cp35-abi3-musllinux_1_1_aarch64.whl (2.0 MB view hashes)
Uploaded cp35
pycryptodome-3.19.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB view hashes)
Uploaded cp35
pycryptodome-3.19.0-cp35-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view hashes)
Uploaded cp35
pycryptodome-3.19.0-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (2.1 MB view hashes)
Uploaded cp35
pycryptodome-3.19.0-cp35-abi3-macosx_10_9_x86_64.whl (1.6 MB view hashes)
Uploaded cp35
pycryptodome-3.19.0-cp35-abi3-macosx_10_9_universal2.whl (2.4 MB view hashes)
Uploaded cp35
pycryptodome-3.19.0-cp27-cp27mu-musllinux_1_1_aarch64.whl (2.0 MB view hashes)
Uploaded cp27
pycryptodome-3.19.0-cp27-cp27mu-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view hashes)
Uploaded cp27
pycryptodome-3.19.0-cp27-cp27mu-manylinux2010_x86_64.whl (2.3 MB view hashes)
Uploaded cp27
pycryptodome-3.19.0-cp27-cp27mu-manylinux2010_i686.whl (2.3 MB view hashes)
Uploaded cp27
pycryptodome-3.19.0-cp27-cp27m-win_amd64.whl (1.7 MB view hashes)
Uploaded cp27
pycryptodome-3.19.0-cp27-cp27m-win32.whl (1.7 MB view hashes)
Uploaded cp27
pycryptodome-3.19.0-cp27-cp27m-musllinux_1_1_aarch64.whl (2.0 MB view hashes)
Uploaded cp27
pycryptodome-3.19.0-cp27-cp27m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view hashes)
Uploaded cp27
pycryptodome-3.19.0-cp27-cp27m-manylinux2010_x86_64.whl (2.3 MB view hashes)
Uploaded cp27
pycryptodome-3.19.0-cp27-cp27m-manylinux2010_i686.whl (2.3 MB view hashes)
Uploaded cp27
pycryptodome-3.19.0-cp27-cp27m-macosx_10_9_x86_64.whl (1.6 MB view hashes)
Uploaded cp27
Close
Hashes for pycryptodome-3.19.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc35d463222cdb4dbebd35e0784155c81e161b9284e567e7e933d722e533331e | |
MD5 | b6f99715010bbb3f5e0400adc0063dfb | |
BLAKE2b-256 | 1a72acc37a491b95849b51a2cced64df62aaff6a5c82d26aca10bc99dbda025b |
Close
Close
Hashes for pycryptodome-3.19.0-pp310-pypy310_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7919ccd096584b911f2a303c593280869ce1af9bf5d36214511f5e5a1bed8c34 | |
MD5 | 614b5e7f654d5c1e440a0c8c57c46366 | |
BLAKE2b-256 | 53adf56dab6f62dfc09583c15f4bcdb70a4dda775e4ce1b31aeb5eef74624db9 |
Close
Close
Hashes for pycryptodome-3.19.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c1601e04d32087591d78e0b81e1e520e57a92796089864b20e5f18c9564b3fa | |
MD5 | c4a5e0863ba3ea3bd3f9761aaff9a997 | |
BLAKE2b-256 | 23e0b3ecb14fd9869b68706ff234583471e05104c7ca2db196ed234f5a030d05 |
Close
Close
Hashes for pycryptodome-3.19.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 506c686a1eee6c00df70010be3b8e9e78f406af4f21b23162bbb6e9bdf5427bc | |
MD5 | ab31ef827d9a6d4ab626230426476d2a | |
BLAKE2b-256 | 4415d6e3bbc6be85058d7a9997c4b119fe6b7f1804fb65513ddd1537ecaa225d |
Close
Close
Hashes for pycryptodome-3.19.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0101f647d11a1aae5a8ce4f5fad6644ae1b22bb65d05accc7d322943c69a74a6 | |
MD5 | 56bdc61095c0176a88fbf5eebb61a703 | |
BLAKE2b-256 | 307f728391d15a1d71d78232539a2141b472a6e7f6cd12af316c150beb3093f0 |
Close
Close
Hashes for pycryptodome-3.19.0-pp39-pypy39_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d04f5f623a280fbd0ab1c1d8ecbd753193ab7154f09b6161b0f857a1a676c15f | |
MD5 | 3d5ae4c73b000428f51faf7ef809869b | |
BLAKE2b-256 | 21c22ecf1d8645df123f0a67f8a965cf961b291c738cfc38625cb34bd33af4de |
Close
Close
Hashes for pycryptodome-3.19.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1cc2f2ae451a676def1a73c1ae9120cd31af25db3f381893d45f75e77be2400 | |
MD5 | f7799bd30500b2cfd9b791c76558dbc1 | |
BLAKE2b-256 | c8c19978ddb32d54569e4c160a5a9db20b7c7cdb1043d63da3b4135ce417643c |
Close
Close
Hashes for pycryptodome-3.19.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17940dcf274fcae4a54ec6117a9ecfe52907ed5e2e438fe712fe7ca502672ed5 | |
MD5 | d49ac799901a8458686911786161921e | |
BLAKE2b-256 | e01925a95c687bf0d79c977170fd085e395990ea2b6f3ed888cd66e8543f9127 |
Close
Close
Hashes for pycryptodome-3.19.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 560591c0777f74a5da86718f70dfc8d781734cf559773b64072bbdda44b3fc3e | |
MD5 | 4da44ab9a46b5ee3d44f0b3008045763 | |
BLAKE2b-256 | 1bad2699516926592369917dbd1894ac5d25e371680f53b628b530e94db314b5 |
Close
Close
Hashes for pycryptodome-3.19.0-pp27-pypy_73-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0ab84755f4539db086db9ba9e9f3868d2e3610a3948cbd2a55e332ad83b01b0 | |
MD5 | 87ad0d4d92e119752ba5cc7bed2f9e3a | |
BLAKE2b-256 | 15e2e2c1da755bcaf09bda2856ea3d6238d86291fe00b4d2799c8937cf2c717a |
Close
Close
Hashes for pycryptodome-3.19.0-pp27-pypy_73-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8999316e57abcbd8085c91bc0ef75292c8618f41ca6d2b6132250a863a77d1e7 | |
MD5 | 4aa5fc31dfcba80ed5a12b54c7b254d1 | |
BLAKE2b-256 | d543df7e6633563ee913bac35b05ef9b40359e4be06961c870953b23310095ab |
Close
Close
Hashes for pycryptodome-3.19.0-cp35-abi3-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04dd31d3b33a6b22ac4d432b3274588917dcf850cc0c51c84eca1d8ed6933810 | |
MD5 | 709a57f96c717639221680b4efa161a1 | |
BLAKE2b-256 | 87c4c979db0914a23541d62c9e4b5e8a30f56a78c6dec8677db6a5327d306be5 |
Close
Close
Hashes for pycryptodome-3.19.0-cp35-abi3-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 536f676963662603f1f2e6ab01080c54d8cd20f34ec333dcb195306fa7826997 | |
MD5 | 9e050f2da6f5f08f5b0c42ec8b9874a3 | |
BLAKE2b-256 | 33352b14645adfaa081d5b30c28e5d433bf460d8d47c2834f172cedf62b26978 |
Close
Close
Hashes for pycryptodome-3.19.0-cp35-abi3-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b1986c761258a5b4332a7f94a83f631c1ffca8747d75ab8395bf2e1b93283d9 | |
MD5 | 2c598ee2c0e54e33652e7a587077b8a6 | |
BLAKE2b-256 | 3884d429fafe45c0a32dc7d759fbb9b917282944d6852cdaf9e5dc743ea7b0aa |
Close
Close
Hashes for pycryptodome-3.19.0-cp35-abi3-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 139ae2c6161b9dd5d829c9645d781509a810ef50ea8b657e2257c25ca20efe33 | |
MD5 | be5e4b8d0f74625605bd4dcf05cb1c17 | |
BLAKE2b-256 | 82b7876ced7a574843bf6358da5a2faa910925a8b9eb79bb7f164d070dbf72ae |
Close
Close
Hashes for pycryptodome-3.19.0-cp35-abi3-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 84c3e4fffad0c4988aef0d5591be3cad4e10aa7db264c65fadbc633318d20bde | |
MD5 | 22aab0aca4af2288cf74fc4da52ad033 | |
BLAKE2b-256 | b897243bc2019517abb13051e197f33deaf69493bbe020846e6571c7a485a428 |
Close
Close
Hashes for pycryptodome-3.19.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e249a784cc98a29c77cea9df54284a44b40cafbfae57636dd2f8775b48af2434 | |
MD5 | 76f9b282cdb240271affcf6849cb5a12 | |
BLAKE2b-256 | 00e673931df4046e34a6354d323b4a5b5c18e5184f4a08687806ee3353c81a6b |
Close
Close
Hashes for pycryptodome-3.19.0-cp35-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d49a6c715d8cceffedabb6adb7e0cbf41ae1a2ff4adaeec9432074a80627dea1 | |
MD5 | a1ad7c646792504dc8cc3e94249cdfbe | |
BLAKE2b-256 | 2d8aa05cb7434cda97da2491bee1418be9651ce99fec74bfe95320e153845853 |
Close
Close
Hashes for pycryptodome-3.19.0-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d033947e7fd3e2ba9a031cb2d267251620964705a013c5a461fa5233cc025270 | |
MD5 | 1d00004ac96df3d6e5ffb9083bf5b2ae | |
BLAKE2b-256 | da6343feb85e3183e4bcd0d3780579c8006f37e8bd2438812a210a4738728244 |
Close
Close
Hashes for pycryptodome-3.19.0-cp35-abi3-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61bb3ccbf4bf32ad9af32da8badc24e888ae5231c617947e0f5401077f8b091f | |
MD5 | 6277040a45903f7ecc881d8b69b5521f | |
BLAKE2b-256 | 2003bd639213eba37d29a16d359b42def13def905a456358f8af52107fc4e8a4 |
Close
Close
Hashes for pycryptodome-3.19.0-cp35-abi3-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 542f99d5026ac5f0ef391ba0602f3d11beef8e65aae135fa5b762f5ebd9d3bfb | |
MD5 | 52b5bb8e807bd2e607208cb704ebc768 | |
BLAKE2b-256 | d6df295e56dca0b4834665626326359c5a1f3092287be56db4b316926df7ad0c |
Close
Close
Hashes for pycryptodome-3.19.0-cp27-cp27mu-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc7a79590e2b5d08530175823a242de6790abc73638cc6dc9d2684e7be2f5e49 | |
MD5 | f87fd48993a6d4e0b8367792afed92f1 | |
BLAKE2b-256 | 145473900e62cb7fc998556f2aa47089a6eef0b5cb7ecba61c5f6ac58bcf28c2 |
Close
Close
Hashes for pycryptodome-3.19.0-cp27-cp27mu-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 829b813b8ee00d9c8aba417621b94bc0b5efd18c928923802ad5ba4cf1ec709c | |
MD5 | 1274a42ff20f0016c6d33c9e2c5a326a | |
BLAKE2b-256 | 3c336db737891448ad0607b683f34c5ced7b39620b7826aed52a83cb233fc2b9 |
Close
Close
Hashes for pycryptodome-3.19.0-cp27-cp27mu-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05e33267394aad6db6595c0ce9d427fe21552f5425e116a925455e099fdf759a | |
MD5 | 9d15c613ef0193fb2eecd978129077e9 | |
BLAKE2b-256 | 95bc4ae55ac69dd31c0004c38b1e34c8cefbce0d384927de596a3d73d7e506a3 |
Close
Close
Hashes for pycryptodome-3.19.0-cp27-cp27mu-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7822f36d683f9ad7bc2145b2c2045014afdbbd1d9922a6d4ce1cbd6add79a01e | |
MD5 | a4841c031541602f0902a8fc204f6a1a | |
BLAKE2b-256 | d1ba990582a3bcf5eaeb7a9442d853dc921ba0d185f19aad9521ed1951c7b96f |
Close
Close
Hashes for pycryptodome-3.19.0-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22e0ae7c3a7f87dcdcf302db06ab76f20e83f09a6993c160b248d58274473bfa | |
MD5 | f1a36de76d1f760a6ad365e13f1a0ae3 | |
BLAKE2b-256 | a862a25ffede38886e42e7b4d4c13b8529fdbebc441b0ef74ff9d2ddac60f019 |
Close
Close
Hashes for pycryptodome-3.19.0-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 190c53f51e988dceb60472baddce3f289fa52b0ec38fbe5fd20dd1d0f795c551 | |
MD5 | d02b38e1f17a35861f01dbeb79105413 | |
BLAKE2b-256 | fce32a39e57b25b3ec374171e314596d550440a7ee1609374e388f63c2ab08e6 |
Close
Close
Hashes for pycryptodome-3.19.0-cp27-cp27m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9bcd5f3794879e91970f2bbd7d899780541d3ff439d8f2112441769c9f2ccea | |
MD5 | fc5745faeff1a40b5d87ad014a2fbc7a | |
BLAKE2b-256 | 4299a0fd55f1fa59d6a5cd6541432dcbd13b9ad7d8787530c7212ddec707b58a |
Close
Close
Hashes for pycryptodome-3.19.0-cp27-cp27m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 45430dfaf1f421cf462c0dd824984378bef32b22669f2635cb809357dbaab405 | |
MD5 | 48a0a7fb2a862343ebe810e8af6c36b9 | |
BLAKE2b-256 | 16ec90760498fa5342a17f62feb19d126198c7992e29e4319723f6bcf025365c |
Close
Close
Hashes for pycryptodome-3.19.0-cp27-cp27m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08ce3558af5106c632baf6d331d261f02367a6bc3733086ae43c0f988fe042db | |
MD5 | 567c888f54c4819ea5e138d2fd83f4c7 | |
BLAKE2b-256 | 44f02286a280a94471fb9248a8afa36b264e7d7ea778620f18b81284e02fdf38 |
Close
Close
Hashes for pycryptodome-3.19.0-cp27-cp27m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c760c8a0479a4042111a8dd2f067d3ae4573da286c53f13cf6f5c53a5c1f631 | |
MD5 | fb522003d6ae2f6b3fdc7cf9628835cb | |
BLAKE2b-256 | 914eef9af3cbd716ea80e920c791af0c66b1615542dd4453312117acf8327667 |
Close
Close
Hashes for pycryptodome-3.19.0-cp27-cp27m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3006c44c4946583b6de24fe0632091c2653d6256b99a02a3db71ca06472ea1e4 | |
MD5 | 4978df46216bac71b7a48587757fe3a0 | |
BLAKE2b-256 | 5fa7ea48485b470ac50d914fc668620578b8ddb2c42033893d09af1b9fe90a31 |
Close