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.14.0-pp36-pypy36_pp73-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 484ad0f50fd49bec4d2b8c0e5a3ad70e278ed3390bfd5c4515dc896f31b45d6c |
|
MD5 | 1066a6ecb78b0655ca649fef20b12ae3 |
|
BLAKE2b-256 | bb15cfcf2a4972f268d99907f8421fdd9ae77ce715383fc752d0c9344dfd238e |
Hashes for pycryptodomex-3.14.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0277a201196b7825b21a405e0a70167f277b8d5666031e65c9af7a715cb0833 |
|
MD5 | 070f5c493dbada543f90ae8a06789322 |
|
BLAKE2b-256 | 5e0e72da0f7d6bac2addb66db16fb2aeacd2adca3e2bd6577b6cf1d45d61d111 |
Hashes for pycryptodomex-3.14.0-pp36-pypy36_pp73-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 88eb239d6af71ba2098a4cfea516add37881d55b76b38d9e297f77a65bb9a8cf |
|
MD5 | 5bd1c60270f18e0807d49368fdee17a9 |
|
BLAKE2b-256 | c77aa3fbb84c4c06efd074bddb8b44d818f7e4a3ec6a14792a39711456cc0ed1 |
Hashes for pycryptodomex-3.14.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b07a13ed73d00a97af7c3733b807007d2249cd236a33955a7dec1939c232b28 |
|
MD5 | 5f9d96ed9fb00e3088aed3f51d00f390 |
|
BLAKE2b-256 | 7ea301659099784f65ec13861c09d35570859a0a0248a5a8532b7314676e9ef8 |
Hashes for pycryptodomex-3.14.0-pp27-pypy_73-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3bb1e722ad57de1999c8db54b58507b47771de4a294115c00f785f1d5913ec1 |
|
MD5 | f259dc23f8d087ec27610b0cffc492c7 |
|
BLAKE2b-256 | f523a56af5cc58e01f04f729fe584cc24b71035998ff9c41760faa51743de676 |
Hashes for pycryptodomex-3.14.0-pp27-pypy_73-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c195eecd43e48d0a06267df6945958f5f566eef160a5b01c519434cfa6d368a |
|
MD5 | e8c9330759bab30ae41f94ed3dca5592 |
|
BLAKE2b-256 | 7754243b643cc9f9fb0166aa34742f88848bc8550c6f164faafa243312f3fe00 |
Hashes for pycryptodomex-3.14.0-pp27-pypy_73-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a11884621c2a5fe241ccf2adf34e4fdde162e91fbc3207f0a0db122ad2b7a061 |
|
MD5 | 1bde59aa7a27b5e226f66b2843ac62f5 |
|
BLAKE2b-256 | 201881d97e4bb29ebc21a81f7de03ab92871b73dfbe85446727697bc97006b0b |
Hashes for pycryptodomex-3.14.0-pp27-pypy_73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5ff95687c4008f76091849e5333692e6a54a93399cd8fda7e1ba523734136f4 |
|
MD5 | 113990129975b6ce38a48425cdadc19e |
|
BLAKE2b-256 | 6731b0f72983ae78a67c2096c5130fc5c423d2c305588b8e0d83e6fff1ede56d |
Hashes for pycryptodomex-3.14.0-cp35-abi3-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6940b6730bab7128c993b562abf018560aa5b861da92854cf050b5f96d4713df |
|
MD5 | 88b18d56e0f28ee67e3082bf5f840fe7 |
|
BLAKE2b-256 | 04b6048f9c9b4d598cb2b7ec81bf87cecf60956a2b6d0500d0702b52d75f9945 |
Hashes for pycryptodomex-3.14.0-cp35-abi3-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00eb17ee2b8eb9d84df37d54bc7070ff45903b90535558c2e0ddb5e6957521d3 |
|
MD5 | bce960b94d0845304276fefbfa4b1329 |
|
BLAKE2b-256 | 0e8b4f4b249f92a934629b38ef8613dea7a751e140d990872491ae1a50f30a97 |
Hashes for pycryptodomex-3.14.0-cp35-abi3-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50684f16b12f1dcca8018d2711fb87044c74038ce9322d36f6ee9d09fcda7e6f |
|
MD5 | 4e69df7431b6fb898475a354ba0214c8 |
|
BLAKE2b-256 | df259f87e93d11a6622a5184a5c1dc351dff7613afc7b92cac8cd2e86efb8e36 |
Hashes for pycryptodomex-3.14.0-cp35-abi3-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8310782ac84fa1df93703081af6791549451a380ad88670c2484f75e26c6485f |
|
MD5 | 68b7c2099b37cb551eaf28392e1b752a |
|
BLAKE2b-256 | 377e2b3b4c1332409ce11e82af12663bfac20631afd40d7751d01bb81cb54733 |
Hashes for pycryptodomex-3.14.0-cp35-abi3-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76fe9ad943480507952cd7c96c20f6c8af78145f944cb66bbba63f2872d9988e |
|
MD5 | e3724d06049f217ab436994210eeaecc |
|
BLAKE2b-256 | 9cd0705f78737f4caa8d1ed2a0258af2b809798bb60dd100155ffb8c475849fd |
Hashes for pycryptodomex-3.14.0-cp35-abi3-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d689b368ca8b3ec1e60cc609eae14d4e352d10fe807ca9906f77f0712ab05a37 |
|
MD5 | f959343b0e0bd8d533f9acf7b60f7ba7 |
|
BLAKE2b-256 | 1fe454de98a058c1b7efc732085aed86f7430a8403fb6d5296726e985a041027 |
Hashes for pycryptodomex-3.14.0-cp35-abi3-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbff384c2080106b3f5f7cfa96728f02e627be7f7cd1657d9cf63300a16d0864 |
|
MD5 | aa2aaf1f3d5a96f10303c763c2ae9378 |
|
BLAKE2b-256 | eb0fdc7f22353cfbb287c6871baca5841c48f18a5b9854eaa52cc23ccfe9540d |
Hashes for pycryptodomex-3.14.0-cp35-abi3-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15e6f5b4a81109eb8e9a02c954fe119f6c57836fd55a9891ba703ddfbd690587 |
|
MD5 | 7193e38b8ec643ec9eb32cd3a5a37a34 |
|
BLAKE2b-256 | cf6518e87aecbe61fd906e75708c5a286dd69b685a5839b6dc6528109fb38940 |
Hashes for pycryptodomex-3.14.0-cp27-cp27mu-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ad75e24a0e25396901273a9a2aaba0286fa74703e5b61731942f6914a1e1cbe |
|
MD5 | 2f16cab7ae42dc0db529c10c2aee1094 |
|
BLAKE2b-256 | 6e3dffac3c5378694d1236291e3fecf5a5a86d97671dfd5e93c9676894593e84 |
Hashes for pycryptodomex-3.14.0-cp27-cp27mu-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2040a22a30780da743835c7c71307558688065d6c22e18ac3e44082dc3323d8f |
|
MD5 | b788cf422dbe62882909107671f199c4 |
|
BLAKE2b-256 | e0f4aa605f76716e8529655f6e5343397df0b879b4b806d25b51d3ea2ba7949a |
Hashes for pycryptodomex-3.14.0-cp27-cp27mu-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05b36726ce5521ce0feb25ea11e866261089edd7fad44df4ced9f7f45a9d4c3b |
|
MD5 | 39397bff1907fee6339a338a39751bab |
|
BLAKE2b-256 | a2727aec05039b73ad0bd82377afe29e36751b603dddd0162481bdf000d419b1 |
Hashes for pycryptodomex-3.14.0-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b046c3d50fe4bb57386567ff47a588b1bbe1ddf3d9e2b23aede09fa97511f5f |
|
MD5 | f96e411d7cd49eb132b21bb36b50a914 |
|
BLAKE2b-256 | 0cb4e708cacecf107f3c8d1f1065655df7eac7273454db446295615e09d4615d |
Hashes for pycryptodomex-3.14.0-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 264a701bb6e8aedf4b71bcb9eb83b93020041e96112ccfe873a16964d41ade74 |
|
MD5 | 03a56b4a45665dc6b53481c8f2ad13cb |
|
BLAKE2b-256 | ee8ed7637e4e58e9e3e9bb0176ba8df0f0b4158ee67bc0349d63cd8a4d396eea |
Hashes for pycryptodomex-3.14.0-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c565b89fb91ecb60273b2dcedb5149b48a1ec4227cef8c63fd77ec0f33eaf75a |
|
MD5 | 724c8d299280dce8c1dcffc9586750c6 |
|
BLAKE2b-256 | a8b8f542ce96995e399be09be5ce32e609d6e223b3ad6f98a13f706d78e4cc9a |
Hashes for pycryptodomex-3.14.0-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9afea78c31f3714b06673d2c5b8874f31c19c03258645733546a320da2e6df23 |
|
MD5 | 374dbd7d968869b2b224bada698540d2 |
|
BLAKE2b-256 | 4075dba45bc89e91093e222be4cd0672cdbf578e2173231090b11bef2389068e |
Hashes for pycryptodomex-3.14.0-cp27-cp27m-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7bcc5d3904abe5cfac5acc67679e330b0402473e839f94b59e13efdc2c2945d5 |
|
MD5 | 375e9668a5205973251f5f90663c534c |
|
BLAKE2b-256 | 5f61f309dc96fb99f110f8f2b269c0f4c995ee0f73c79bc118afb9a664b54b9e |
Hashes for pycryptodomex-3.14.0-cp27-cp27m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd2657134b633523db551b96b095387083a459d77e93b9cc888c9f13edb7a6f6 |
|
MD5 | 320354c0b99fef3a1f19a90d688dfaa1 |
|
BLAKE2b-256 | c5a13b18ea4eacc539f08b0424a4c15d6fdce721cea0ffc7632fffdf3a5dd061 |
Hashes for pycryptodomex-3.14.0-cp27-cp27m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c06abf17c68cf87c4e81e1745f0afbe4427413684a122a9d044a8a1d3c6d959 |
|
MD5 | 72939b0121951c6b09c5d3ca234cd519 |
|
BLAKE2b-256 | 87b4d3e0bbb1ce202aaa118dc62e1bf67a186d6dd25dda70c00cd4c7d40f6f3a |
Hashes for pycryptodomex-3.14.0-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c9ee5e77dd9cb19fe09765b6c02e3784cdbd2e5ecfbc67c8e9628073f79b981 |
|
MD5 | 4b261986f09c84c8d99a63699360baad |
|
BLAKE2b-256 | f1a64fcb25196a13f72a493ce1a091f5df9df95b26bb9c413d78531001fd2caf |
Hashes for pycryptodomex-3.14.0-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e2da1eabb426cbeb4922c981bb843f36427f8365ef7e46bc581a55d7ea67643 |
|
MD5 | 214a859a2de64532de7bc084a811333d |
|
BLAKE2b-256 | d9178a94439347a5c9faf31af60f05851bdb942fc2c72f3d938a9d0d65a493ef |
Hashes for pycryptodomex-3.14.0-cp27-cp27m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 110b319189915a66d14df13d233a2dbb54f00df21f3167de1cad340bf4dd88bd |
|
MD5 | 6e4811620606b2d38d62153fdda4baf6 |
|
BLAKE2b-256 | f68ba198b4b5bb2ff815acffcd256130ec3a2038286aa77bdd696b3cafc98db1 |