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-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.
Release files for pycryptodomex 3.16.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pycryptodomex-3.16.0.tar.gz | 4.5 MB | Details |
Built distributions (wheels)
Total release size: 52.6 MB
Release files / pycryptodomex-3.16.0.tar.gz
| Download URL | pycryptodomex-3.16.0.tar.gz |
|---|---|
| Size | 4.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e9ba9d8ed638733c9e95664470b71d624a6def149e2db6cc52c1aca5a6a2df1d
|
|
BLAKE2b-256 checksum How to use checksums |
5d22575c7dd7c86843e07a791cfa2143e7292d6b380f5a7cce966a49b9d6c9f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 CPython/3.10.8
|
Release files / pycryptodomex-3.16.0-pp37-pypy37_pp73-win_amd64.whl
| Download URL | pycryptodomex-3.16.0-pp37-pypy37_pp73-win_amd64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | PyPy 3.7 PyPy 3.7 7.3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0ba28aa97cdd3ff5ed1a4f2b7f5cd04e721166bd75bd2b929e2734433882b583
|
|
BLAKE2b-256 checksum How to use checksums |
436fa802ca47be90b9ddb12ada1e9b04c3348be693214fe5cb7296a1712ac691
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 CPython/3.10.8
|
Release files / pycryptodomex-3.16.0-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
| Download URL | pycryptodomex-3.16.0-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | Linux glibc 2.12+ x86-64 Linux glibc 2.5+ x86-64 PyPy 3.7 PyPy 3.7 7.3 |
|
SHA-256 checksum How to use checksums |
e2453162f473c1eae4826eb10cd7bce19b5facac86d17fb5f29a570fde145abd
|
|
BLAKE2b-256 checksum How to use checksums |
7eeded617116c8a6520e4f48483e59f1dec669037ce2ecc3042a58748d62a1c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 CPython/3.10.8
|
Release files / pycryptodomex-3.16.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
| Download URL | pycryptodomex-3.16.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl |
|---|---|
| Size | 1.7 MB |
| Tags | Linux glibc 2.12+ x86-32 Linux glibc 2.5+ x86-32 PyPy 3.7 PyPy 3.7 7.3 |
|
SHA-256 checksum How to use checksums |
f2b971a7b877348a27dcfd0e772a0343fb818df00b74078e91c008632284137d
|
|
BLAKE2b-256 checksum How to use checksums |
d4c10a040af326cc30b638ccab1220bffdfdc41a07b20a5b68cebf5083fa9a70
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 CPython/3.10.8
|
Release files / pycryptodomex-3.16.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
| Download URL | pycryptodomex-3.16.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | PyPy 3.7 PyPy 3.7 7.3 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
ba57ac7861fd2c837cdb33daf822f2a052ff57dd769a2107807f52a36d0e8d38
|
|
BLAKE2b-256 checksum How to use checksums |
1bb52de3bb55434f907ebeef12cdb7d76ce80e5f6084725a4a0344d5aae96cd9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 CPython/3.10.8
|
Release files / pycryptodomex-3.16.0-pp27-pypy_73-win32.whl
| Download URL | pycryptodomex-3.16.0-pp27-pypy_73-win32.whl |
|---|---|
| Size | 1.7 MB |
| Tags | PyPy 2.7 PyPy 7.3 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
6a465e4f856d2a4f2a311807030c89166529ccf7ccc65bef398de045d49144b6
|
|
BLAKE2b-256 checksum How to use checksums |
af75531f59f08805d5aa832aee179c9a89e005310d25e4c97ed4a6344238d52e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 CPython/3.10.8
|
Release files / pycryptodomex-3.16.0-pp27-pypy_73-manylinux2010_x86_64.whl
| Download URL | pycryptodomex-3.16.0-pp27-pypy_73-manylinux2010_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | Linux glibc 2.12+ x86-64 PyPy 2.7 PyPy 7.3 |
|
SHA-256 checksum How to use checksums |
893f8a97d533c66cc3a56e60dd3ed40a3494ddb4aafa7e026429a08772f8a849
|
|
BLAKE2b-256 checksum How to use checksums |
36a8bcec40040c406db97f17a4ace94ce6ea52662e501e47ad9dc1fd6a836bde
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 CPython/3.10.8
|
Release files / pycryptodomex-3.16.0-pp27-pypy_73-macosx_10_9_x86_64.whl
| Download URL | pycryptodomex-3.16.0-pp27-pypy_73-macosx_10_9_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | PyPy 2.7 PyPy 7.3 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
4dbbe18cc232b5980c7633972ae5417d0df76fe89e7db246eefd17ef4d8e6d7a
|
|
BLAKE2b-256 checksum How to use checksums |
4620159656548a85e89382e38469c6aabe91be27d44ece0053b3b6f96bc73a63
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 CPython/3.10.8
|
Release files / pycryptodomex-3.16.0-cp35-abi3-win_amd64.whl
| Download URL | pycryptodomex-3.16.0-cp35-abi3-win_amd64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.5 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
231dc8008cbdd1ae0e34645d4523da2dbc7a88c325f0d4a59635a86ee25b41dd
|
|
BLAKE2b-256 checksum How to use checksums |
2e122d6cf2cfdf7c3b67fced83b3877594eca9e50229c1b396e215b1a2cc60bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 CPython/3.10.8
|
Release files / pycryptodomex-3.16.0-cp35-abi3-win32.whl
| Download URL | pycryptodomex-3.16.0-cp35-abi3-win32.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.5 Windows x86-32 abi3 |
|
SHA-256 checksum How to use checksums |
daa67f5ebb6fbf1ee9c90decaa06ca7fc88a548864e5e484d52b0920a57fe8a5
|
|
BLAKE2b-256 checksum How to use checksums |
0ca773e17f18c43a7e0d3f583c7b99ea1fa66d312e8608d79f91bb9e1730b589
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 CPython/3.10.8
|
Release files / pycryptodomex-3.16.0-cp35-abi3-musllinux_1_1_x86_64.whl
| Download URL | pycryptodomex-3.16.0-cp35-abi3-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.5 Linux musl 1.1+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
04610536921c1ec7adba158ef570348550c9f3a40bc24be9f8da2ef7ab387981
|
|
BLAKE2b-256 checksum How to use checksums |
b97957f0f7c8d971154e1883174cd8f2d2a5ef7abb160a66fd32728abefbf725
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 CPython/3.10.8
|
Release files / pycryptodomex-3.16.0-cp35-abi3-musllinux_1_1_i686.whl
| Download URL | pycryptodomex-3.16.0-cp35-abi3-musllinux_1_1_i686.whl |
|---|---|
| Size | 2.2 MB |
| Tags | CPython 3.5 Linux musl 1.1+ x86-32 abi3 |
|
SHA-256 checksum How to use checksums |
1cda60207be8c1cf0b84b9138f9e3ca29335013d2b690774a5e94678ff29659a
|
|
BLAKE2b-256 checksum How to use checksums |
e510dd517f66e49e7f434e8f7a60187c29d73ed7fc18e27819e0b6ed3462c987
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 CPython/3.10.8
|
Release files / pycryptodomex-3.16.0-cp35-abi3-musllinux_1_1_aarch64.whl
| Download URL | pycryptodomex-3.16.0-cp35-abi3-musllinux_1_1_aarch64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.5 Linux musl 1.1+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
7993d26dae4d83b8f4ce605bb0aecb8bee330bb3c95475ef06f3694403621e71
|
|
BLAKE2b-256 checksum How to use checksums |
38e0567e7f95e399d3001dea85aaf41525085ccd4a3a9e95ab6b88e6fcd31ed4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 CPython/3.10.8
|
Release files / pycryptodomex-3.16.0-cp35-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
| Download URL | pycryptodomex-3.16.0-cp35-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.5 Linux glibc 2.12+ x86-64 Linux glibc 2.5+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
70288d9bfe16b2fd0d20b6c365db614428f1bcde7b20d56e74cf88ade905d9eb
|
|
BLAKE2b-256 checksum How to use checksums |
76dd7276f37251f84931bd97bb42fe10455cad782dcb9a38b9820f65d2a098e8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 CPython/3.10.8
|
Release files / pycryptodomex-3.16.0-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
| Download URL | pycryptodomex-3.16.0-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl |
|---|---|
| Size | 2.4 MB |
| Tags | CPython 3.5 Linux glibc 2.12+ x86-32 Linux glibc 2.5+ x86-32 abi3 |
|
SHA-256 checksum How to use checksums |
1619087fb5b31510b0b0b058a54f001a5ffd91e6ffee220d9913064519c6a69d
|
|
BLAKE2b-256 checksum How to use checksums |
cb5dbfb44a67cae89510fce065a2e2a8bb3bbc5c3b148715a0b04045b436829e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 CPython/3.10.8
|
Release files / pycryptodomex-3.16.0-cp35-abi3-manylinux2014_aarch64.whl
| Download URL | pycryptodomex-3.16.0-cp35-abi3-manylinux2014_aarch64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.5 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
22aed0868622d95179217c298e37ed7410025c7b29dac236d3230617d1e4ed56
|
|
BLAKE2b-256 checksum How to use checksums |
042e72b100976b25bbe34984b7cbb0a294fd0b1e30ed2210df6e5507864b33ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 CPython/3.10.8
|
Release files / pycryptodomex-3.16.0-cp35-abi3-macosx_10_9_x86_64.whl
| Download URL | pycryptodomex-3.16.0-cp35-abi3-macosx_10_9_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.5 abi3 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
0da835af786fdd1c9930994c78b23e88d816dc3f99aa977284a21bbc26d19735
|
|
BLAKE2b-256 checksum How to use checksums |
70f50f2108fd00185226d3ab52d2b120e71043cd9e2fd5f01deff617623ffe9a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 CPython/3.10.8
|
Release files / pycryptodomex-3.16.0-cp27-cp27mu-manylinux2014_aarch64.whl
| Download URL | pycryptodomex-3.16.0-cp27-cp27mu-manylinux2014_aarch64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 2.7 CPython 2.7 pymalloc wide-unicode Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
b0789a8490114a2936ed77c87792cfe77582c829cb43a6d86ede0f9624ba8aa3
|
|
BLAKE2b-256 checksum How to use checksums |
33296c79b3820f40d6560c112350898424955dcac4c79b215ca39954e5d753e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 CPython/3.10.8
|
Release files / pycryptodomex-3.16.0-cp27-cp27mu-manylinux2010_x86_64.whl
| Download URL | pycryptodomex-3.16.0-cp27-cp27mu-manylinux2010_x86_64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 2.7 CPython 2.7 pymalloc wide-unicode Linux glibc 2.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
e25a2f5667d91795f9417cb856f6df724ccdb0cdd5cbadb212ee9bf43946e9f8
|
|
BLAKE2b-256 checksum How to use checksums |
355d5b014038010bea0b11eaabab9c706a2177a7b6538952f59091e9b326b550
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 CPython/3.10.8
|
Release files / pycryptodomex-3.16.0-cp27-cp27mu-manylinux2010_i686.whl
| Download URL | pycryptodomex-3.16.0-cp27-cp27mu-manylinux2010_i686.whl |
|---|---|
| Size | 2.4 MB |
| Tags | CPython 2.7 CPython 2.7 pymalloc wide-unicode Linux glibc 2.12+ x86-32 |
|
SHA-256 checksum How to use checksums |
2ad9bb86b355b6104796567dd44c215b3dc953ef2fae5e0bdfb8516731df92cf
|
|
BLAKE2b-256 checksum How to use checksums |
52df08cf176aaece0598c5a217d18ffbcd020df3213a3ded5f1a474dd5bfa8cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 CPython/3.10.8
|
Release files / pycryptodomex-3.16.0-cp27-cp27m-win_amd64.whl
| Download URL | pycryptodomex-3.16.0-cp27-cp27m-win_amd64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 2.7 CPython 2.7 pymalloc Windows x86-64 |
|
SHA-256 checksum How to use checksums |
8dd2d9e3c617d0712ed781a77efd84ea579e76c5f9b2a4bc0b684ebeddf868b2
|
|
BLAKE2b-256 checksum How to use checksums |
550837fb8481d47a87a2c275cb4c80d3d57ee1f036f454e075a0e9abb06306b9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 CPython/3.10.8
|
Release files / pycryptodomex-3.16.0-cp27-cp27m-win32.whl
| Download URL | pycryptodomex-3.16.0-cp27-cp27m-win32.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 2.7 CPython 2.7 pymalloc Windows x86-32 |
|
SHA-256 checksum How to use checksums |
8851585ff19871e5d69e1790f4ca5f6fd1699d6b8b14413b472a4c0dbc7ea780
|
|
BLAKE2b-256 checksum How to use checksums |
8aef33ecf4a99af5c0750086b3545274b2ecbbb2e790f2385ec1815d8887834d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 CPython/3.10.8
|
Release files / pycryptodomex-3.16.0-cp27-cp27m-manylinux2014_aarch64.whl
| Download URL | pycryptodomex-3.16.0-cp27-cp27m-manylinux2014_aarch64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 2.7 CPython 2.7 pymalloc Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
a1c0ae7123448ecb034c75c713189cb00ebe2d415b11682865b6c54d200d9c93
|
|
BLAKE2b-256 checksum How to use checksums |
b3fe4548ef10ec836704df01fe2b6bbe568e87a2e5e6120ccd0619b2171058e8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 CPython/3.10.8
|
Release files / pycryptodomex-3.16.0-cp27-cp27m-manylinux2010_x86_64.whl
| Download URL | pycryptodomex-3.16.0-cp27-cp27m-manylinux2010_x86_64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 2.7 CPython 2.7 pymalloc Linux glibc 2.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
ce338a9703f54b2305a408fc9890eb966b727ce72b69f225898bb4e9d9ed3f1f
|
|
BLAKE2b-256 checksum How to use checksums |
be6186d0af91c77bc0c23dc9ba71a2b97697dda9cbd1619470575c4c040b6de8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 CPython/3.10.8
|
Release files / pycryptodomex-3.16.0-cp27-cp27m-manylinux2010_i686.whl
| Download URL | pycryptodomex-3.16.0-cp27-cp27m-manylinux2010_i686.whl |
|---|---|
| Size | 2.4 MB |
| Tags | CPython 2.7 CPython 2.7 pymalloc Linux glibc 2.12+ x86-32 |
|
SHA-256 checksum How to use checksums |
e5a670919076b71522c7d567a9043f66f14b202414a63c3a078b5831ae342c03
|
|
BLAKE2b-256 checksum How to use checksums |
bdcf0e2d1bda04848bb67944021106986f4523e6cfbfdac335bf1f57573ede8e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 CPython/3.10.8
|
Release files / pycryptodomex-3.16.0-cp27-cp27m-macosx_10_9_x86_64.whl
| Download URL | pycryptodomex-3.16.0-cp27-cp27m-macosx_10_9_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 2.7 CPython 2.7 pymalloc macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
b3d04c00d777c36972b539fb79958790126847d84ec0129fce1efef250bfe3ce
|
|
BLAKE2b-256 checksum How to use checksums |
fe2ac4d7575cde5721e60f9ac1bc7fdaef3c60e6fb577cbc9eb2e8f6bc1be30b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 CPython/3.10.8
|