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.13.0-pp36-pypy36_pp73-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05e0e3b78b7ccc0b7c5f88596d51fdc8533adb91070b93e18cec12ca3b43deb3 |
|
MD5 | 73f23b71575372a60df5b3dec37c72ed |
|
BLAKE2b-256 | 99decd2c9389d0b0bf0d2015a5f9268bbd9710bfef32e43eeef4bbaf1fce9d3f |
Hashes for pycryptodomex-3.13.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80eedc23c4c4d3655c6a7d315a01f0e9d460c7070c5c3af4952937b4f2c0da6f |
|
MD5 | 4aa460d68ae21fc1a1368c5f05696f32 |
|
BLAKE2b-256 | d4035c5ef8c224c1219bd487817a364cb895fee22d53f05ba372bc865d8419eb |
Hashes for pycryptodomex-3.13.0-pp36-pypy36_pp73-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ec86fca2114e8c58fe6bfc7e04ee91568a813139dcf4334819aa44876764bcf |
|
MD5 | cad91e1b9414fdad3e57d22a90ed42b3 |
|
BLAKE2b-256 | 7668044c0b478c8b33c3287de463d1ed1e84aa730a0bc7b3cd61d575f6b92e0b |
Hashes for pycryptodomex-3.13.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dce2bfd0f285c3fcff89e4239c55f5fbe664ff435ee45abfc154aac0f222ab14 |
|
MD5 | eb2c2b189e81ab20e752de9c7ee1e3dd |
|
BLAKE2b-256 | 028896864d9f9f959ca6f021a4648dbfc02b6d393451e71bacc5e34e9fc9205c |
Hashes for pycryptodomex-3.13.0-pp27-pypy_73-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7b059517d84c57f25c6fd3b2e03a1b2945df2e585b96109bcd11e56f6c9e610 |
|
MD5 | 7640ea32db43cd7667d7a96b6d73e93f |
|
BLAKE2b-256 | 693f817df9bf8be7f2260f65c0a979797336838504dd2cafc8764f1e80bf0d79 |
Hashes for pycryptodomex-3.13.0-pp27-pypy_73-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f553abcb3572242fed87e308a6b91a9bc5a74b801b5d093969391b0500be718b |
|
MD5 | c4ffe0ef225edd9a2d08d5b1810071dd |
|
BLAKE2b-256 | b565e059983bda9daeefb3c8a1d82d0d20d72a0273004944b57751cdabee9460 |
Hashes for pycryptodomex-3.13.0-pp27-pypy_73-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b7656189c259bb2b838559f0a11b533d4d18409ab6d9119c00bae436c3d3e34 |
|
MD5 | 2d891913f1fbe97e13583432b7c701ec |
|
BLAKE2b-256 | 552dce1611caf1e890f86d1f6c8f77ff743937dfd69ae25680ef12acfc0147fc |
Hashes for pycryptodomex-3.13.0-pp27-pypy_73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f7db8d85294c1123e700097af407425fd4c9e6c58b688f391de7053c6a60317 |
|
MD5 | 0f4ea6f52b2a87d7ae369a6dc401fd95 |
|
BLAKE2b-256 | a75595f78b85ef3ee26beb61b2d4c4ba4208c4a013d4024295ba0e4b9f70f863 |
Hashes for pycryptodomex-3.13.0-cp35-abi3-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2ddfbcb2c4c7cb8f79db49e284280be468699c701b92d30fd1e46a786b39f5b |
|
MD5 | ef0301e39375c2933ed293411995a056 |
|
BLAKE2b-256 | 7facdca4ddb7f670dd72e31a0132bee0fe7f19a14cd08b53b85fdcdcddaf6b55 |
Hashes for pycryptodomex-3.13.0-cp35-abi3-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00e37d478c0f040639ab41a9d5280291ad2b3b5f25b9aad5baa1d5ecb578a3f6 |
|
MD5 | 01a02c57c026da5bd47c56bdbf8df106 |
|
BLAKE2b-256 | 6d35c57866cd442ef5550da97c96605183a7b277e38040a5ed719a1918c4bba8 |
Hashes for pycryptodomex-3.13.0-cp35-abi3-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfb8bcd45e504e1c26f0bfc404f3edd08f8c8057dfe04fbf6159adc8694ff97a |
|
MD5 | 6b5923be34431be8eaf2cbf9b4513bbd |
|
BLAKE2b-256 | af7aa95481b3906989b2834e2fc4ca35b4e640ab9672cc973e3b2851bd01513c |
Hashes for pycryptodomex-3.13.0-cp35-abi3-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fb188c9a0f69d4f7b607780641ef7aec7f02a8dad689512b17bdf04c96ce6e3 |
|
MD5 | df5fdbdad7a1461a248764f1803eb715 |
|
BLAKE2b-256 | 372646c3b56846e1ab86f414a048d16a10343a93e081ee6215924f11e838865b |
Hashes for pycryptodomex-3.13.0-cp35-abi3-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d50723984ba802904618ef5bfe257a0f9644e76821d323f79f27be5adb9ece7 |
|
MD5 | fbd518f98e3541833d44bc32061d381b |
|
BLAKE2b-256 | 3597debeabaaac63c565c1f6cb960313ce69f6b35eb5fdfcdb0c340b4fa75ddc |
Hashes for pycryptodomex-3.13.0-cp35-abi3-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ccd301d2e71d243b0fad8c4642116c538d7d405d35b6026cf4dcee463a667a2e |
|
MD5 | 9cefa1297d8780d2e241a26b421d2a24 |
|
BLAKE2b-256 | 09e88bd91601f17233bdbca563924ff4cc83af3526711aa70f895b3301d036f5 |
Hashes for pycryptodomex-3.13.0-cp35-abi3-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4240991748ae0f57a0120b8d905b2d9f835fee02968fc11faec929ef6915ee6 |
|
MD5 | 98e42e0ee6599b13c6675c2bbca5ef00 |
|
BLAKE2b-256 | 3a5a1f6b29856b5231f66ab19d5fe7a2898d96d6046b266b814b17049a78bfaf |
Hashes for pycryptodomex-3.13.0-cp35-abi3-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fb9d1ab6a10cfc8c8c7e11f004e01c8a1beff5fd4118370d95110735cc23117 |
|
MD5 | 394d6bfe241361c3516d2a341844d0dd |
|
BLAKE2b-256 | 6be9962303750f92f3c05ce20248c68450450bb3de6ff70fc728aa381b974b27 |
Hashes for pycryptodomex-3.13.0-cp27-cp27mu-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04a38a7dc484f5e3152a69e4eab89d9340c2ad3b7c4a27d2ee256e5fb878c469 |
|
MD5 | 348b088a0d68411502531babb3ac856f |
|
BLAKE2b-256 | 924a5b2967c11385f00acb8e1cd4fc4805d7bdb9e4581b0586d9396970ee737c |
Hashes for pycryptodomex-3.13.0-cp27-cp27mu-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b975ce778ea2c65f399ab889a661e118bb68b85db47d93e0442eb1ba1f554794 |
|
MD5 | 0c5aa26479e5b9a49dd03b6d4b13f67a |
|
BLAKE2b-256 | 4c47fbff05c3b471e77c3427db12e16cb4ac0bb988f779b9b66cfd2e952ca7eb |
Hashes for pycryptodomex-3.13.0-cp27-cp27mu-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f2bcee2ef59597bfcb755eef2c98294094c1c9b64e9b9195cc9e71be83adb92 |
|
MD5 | 6cc92e234ab91ad1850956d7a80882e6 |
|
BLAKE2b-256 | 09755ee5128bd95f9a145efc87362419db2d4a3bcd04e9331dce4b1333664cfd |
Hashes for pycryptodomex-3.13.0-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9fa76261100b450e5aca2990ba982e5294ba383f653da041a71b4ac1cbaed1ff |
|
MD5 | 2f3fb481e947b79fc731d57c27012b48 |
|
BLAKE2b-256 | efc6558d850cf340b97416ecea617898350fb15d0c4fb6389897d936d2272f06 |
Hashes for pycryptodomex-3.13.0-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 182962b3612c0d12748fa770f1ef0556ba8ba2c442834450e08acb31d9e6d2ed |
|
MD5 | cd01ceb46d0e7330f913f9cc0025deae |
|
BLAKE2b-256 | 60c0197580fc226273d6d09074ea03e61ff38bc42e6406fc260287e9c9328bb9 |
Hashes for pycryptodomex-3.13.0-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1900d7f16a03b869be3572e7664757c14316329a4d79ecee5a0083fad8c81b0 |
|
MD5 | ad75f7c7945f9739cc3584a63938c71d |
|
BLAKE2b-256 | c08466b473030122f72f72089acd61913dd88556c278036b238e848399b2fcd2 |
Hashes for pycryptodomex-3.13.0-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68fb861b41a889c2efdf2795b0d46aa05d4748543bc4e0bca5886c929c7cbdef |
|
MD5 | 4b184f910fedd48ed02853ec80047efa |
|
BLAKE2b-256 | 5deaaaf6ab8d46c2a817ee3e8beff27473f47cfeb5e800bd2435f98abb0c4798 |
Hashes for pycryptodomex-3.13.0-cp27-cp27m-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb4eea028a7ad28458abf8b98ae14af2fd9baeb327a0adb6af05a488e4d9e9a1 |
|
MD5 | c3ff08e6d7b861851002ba6aa46e583f |
|
BLAKE2b-256 | fad50fa1a87dee82c3a1e2347c98603fa747614685312f1f9e4505330ef33a2d |
Hashes for pycryptodomex-3.13.0-cp27-cp27m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b11331510cfd08ec4416f37dc8f072541d7b7240ba924c71288f7218aad36bdf |
|
MD5 | 7a26f9bb13c3089bb063bded2f077343 |
|
BLAKE2b-256 | 9993b854a1ead7fd97b79baf5ae24ee7d08c5e592986cdd62138891855b138b5 |
Hashes for pycryptodomex-3.13.0-cp27-cp27m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3a29bb51e5f9b46004b5be16bcbe4e1b2d2754cbe201e1a0b142c307bdf4c73 |
|
MD5 | 63935bbe73ca995ce034245725796bd0 |
|
BLAKE2b-256 | fe5d2e33599ef88ee303859508842b9971f49b850d2fa0a9623a6510342c2191 |
Hashes for pycryptodomex-3.13.0-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c87f62de9e167031ad4179efb1fda4012bb6f7363472a61254e4426bda6bcb64 |
|
MD5 | 63d56f38e7674ff30c55bb675e628815 |
|
BLAKE2b-256 | 84707bca4ff49dec5ffb28a6c4c86e5cdab0f76bd1731121e9b2ced768cdd917 |
Hashes for pycryptodomex-3.13.0-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b3c06e6d235f475395a7e150f2e562a3e9d749fb40c6d81240596f73809346c |
|
MD5 | bf778fbd7384af4daa0acf4adca62d53 |
|
BLAKE2b-256 | 421568cff36cabc7224f05eed0e89c9c44315164e0a2b36b18cc2b497112a8e6 |
Hashes for pycryptodomex-3.13.0-cp27-cp27m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a2014598ceb19c34f14815a26536e5cc24167ea4d402f0aec2a52b18960c668 |
|
MD5 | 122ce302d78f2b5cbe43fd876f72aa03 |
|
BLAKE2b-256 | 79c18c9629b6e75c7fc8eb56e9e1b80cf6511e112521d157c105602e3cca651b |