Skip to main content

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-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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pycryptodomex-3.16.0.tar.gz (4.5 MB view details)

Uploaded Source

Built Distributions

pycryptodomex-3.16.0-pp37-pypy37_pp73-win_amd64.whl (1.7 MB view details)

Uploaded PyPyWindows x86-64

pycryptodomex-3.16.0-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.6 MB view details)

Uploaded PyPymanylinux: glibc 2.12+ x86-64manylinux: glibc 2.5+ x86-64

pycryptodomex-3.16.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl (1.7 MB view details)

Uploaded PyPymanylinux: glibc 2.12+ i686manylinux: glibc 2.5+ i686

pycryptodomex-3.16.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (1.5 MB view details)

Uploaded PyPymacOS 10.9+ x86-64

pycryptodomex-3.16.0-pp27-pypy_73-win32.whl (1.7 MB view details)

Uploaded PyPyWindows x86

pycryptodomex-3.16.0-pp27-pypy_73-manylinux2010_x86_64.whl (1.6 MB view details)

Uploaded PyPymanylinux: glibc 2.12+ x86-64

pycryptodomex-3.16.0-pp27-pypy_73-macosx_10_9_x86_64.whl (1.5 MB view details)

Uploaded PyPymacOS 10.9+ x86-64

pycryptodomex-3.16.0-cp35-abi3-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.5+Windows x86-64

pycryptodomex-3.16.0-cp35-abi3-win32.whl (1.7 MB view details)

Uploaded CPython 3.5+Windows x86

pycryptodomex-3.16.0-cp35-abi3-musllinux_1_1_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.5+musllinux: musl 1.1+ x86-64

pycryptodomex-3.16.0-cp35-abi3-musllinux_1_1_i686.whl (2.2 MB view details)

Uploaded CPython 3.5+musllinux: musl 1.1+ i686

pycryptodomex-3.16.0-cp35-abi3-musllinux_1_1_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.5+musllinux: musl 1.1+ ARM64

pycryptodomex-3.16.0-cp35-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.5+manylinux: glibc 2.12+ x86-64manylinux: glibc 2.5+ x86-64

pycryptodomex-3.16.0-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl (2.4 MB view details)

Uploaded CPython 3.5+manylinux: glibc 2.12+ i686manylinux: glibc 2.5+ i686

pycryptodomex-3.16.0-cp35-abi3-manylinux2014_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.5+

pycryptodomex-3.16.0-cp35-abi3-macosx_10_9_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.5+macOS 10.9+ x86-64

pycryptodomex-3.16.0-cp27-cp27mu-manylinux2014_aarch64.whl (2.1 MB view details)

Uploaded CPython 2.7mu

pycryptodomex-3.16.0-cp27-cp27mu-manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded CPython 2.7mumanylinux: glibc 2.12+ x86-64

pycryptodomex-3.16.0-cp27-cp27mu-manylinux2010_i686.whl (2.4 MB view details)

Uploaded CPython 2.7mumanylinux: glibc 2.12+ i686

pycryptodomex-3.16.0-cp27-cp27m-win_amd64.whl (1.7 MB view details)

Uploaded CPython 2.7mWindows x86-64

pycryptodomex-3.16.0-cp27-cp27m-win32.whl (1.7 MB view details)

Uploaded CPython 2.7mWindows x86

pycryptodomex-3.16.0-cp27-cp27m-manylinux2014_aarch64.whl (2.1 MB view details)

Uploaded CPython 2.7m

pycryptodomex-3.16.0-cp27-cp27m-manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded CPython 2.7mmanylinux: glibc 2.12+ x86-64

pycryptodomex-3.16.0-cp27-cp27m-manylinux2010_i686.whl (2.4 MB view details)

Uploaded CPython 2.7mmanylinux: glibc 2.12+ i686

pycryptodomex-3.16.0-cp27-cp27m-macosx_10_9_x86_64.whl (1.6 MB view details)

Uploaded CPython 2.7mmacOS 10.9+ x86-64

File details

Details for the file pycryptodomex-3.16.0.tar.gz.

File metadata

  • Download URL: pycryptodomex-3.16.0.tar.gz
  • Upload date:
  • Size: 4.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 CPython/3.10.8

File hashes

Hashes for pycryptodomex-3.16.0.tar.gz
Algorithm Hash digest
SHA256 e9ba9d8ed638733c9e95664470b71d624a6def149e2db6cc52c1aca5a6a2df1d
MD5 9d27f03c036c89afd3d66970bb49cd06
BLAKE2b-256 5d22575c7dd7c86843e07a791cfa2143e7292d6b380f5a7cce966a49b9d6c9f4

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.16.0-pp37-pypy37_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.16.0-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 0ba28aa97cdd3ff5ed1a4f2b7f5cd04e721166bd75bd2b929e2734433882b583
MD5 4cea2506520e2c8833eb6286a10f92ef
BLAKE2b-256 436fa802ca47be90b9ddb12ada1e9b04c3348be693214fe5cb7296a1712ac691

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.16.0-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.16.0-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 e2453162f473c1eae4826eb10cd7bce19b5facac86d17fb5f29a570fde145abd
MD5 a97c198a0c3ebe405c5fe6748b0668d6
BLAKE2b-256 7eeded617116c8a6520e4f48483e59f1dec669037ce2ecc3042a58748d62a1c4

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.16.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.16.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 f2b971a7b877348a27dcfd0e772a0343fb818df00b74078e91c008632284137d
MD5 2ba1876728bc0c12354cd310fff86e00
BLAKE2b-256 d4c10a040af326cc30b638ccab1220bffdfdc41a07b20a5b68cebf5083fa9a70

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.16.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.16.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ba57ac7861fd2c837cdb33daf822f2a052ff57dd769a2107807f52a36d0e8d38
MD5 2484d8519271d386c605f63be0ffe51e
BLAKE2b-256 1bb52de3bb55434f907ebeef12cdb7d76ce80e5f6084725a4a0344d5aae96cd9

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.16.0-pp27-pypy_73-win32.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.16.0-pp27-pypy_73-win32.whl
Algorithm Hash digest
SHA256 6a465e4f856d2a4f2a311807030c89166529ccf7ccc65bef398de045d49144b6
MD5 77af69964191bba86b83db936bd1a63a
BLAKE2b-256 af75531f59f08805d5aa832aee179c9a89e005310d25e4c97ed4a6344238d52e

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.16.0-pp27-pypy_73-manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.16.0-pp27-pypy_73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 893f8a97d533c66cc3a56e60dd3ed40a3494ddb4aafa7e026429a08772f8a849
MD5 09b8ba3df9cccad8e5af3db875b99337
BLAKE2b-256 36a8bcec40040c406db97f17a4ace94ce6ea52662e501e47ad9dc1fd6a836bde

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.16.0-pp27-pypy_73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.16.0-pp27-pypy_73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4dbbe18cc232b5980c7633972ae5417d0df76fe89e7db246eefd17ef4d8e6d7a
MD5 a3319b0b646803df450e6060bac641c7
BLAKE2b-256 4620159656548a85e89382e38469c6aabe91be27d44ece0053b3b6f96bc73a63

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.16.0-cp35-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.16.0-cp35-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 231dc8008cbdd1ae0e34645d4523da2dbc7a88c325f0d4a59635a86ee25b41dd
MD5 ab06799512d1eb8072867fad6f8b9330
BLAKE2b-256 2e122d6cf2cfdf7c3b67fced83b3877594eca9e50229c1b396e215b1a2cc60bd

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.16.0-cp35-abi3-win32.whl.

File metadata

  • Download URL: pycryptodomex-3.16.0-cp35-abi3-win32.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.5+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 CPython/3.10.8

File hashes

Hashes for pycryptodomex-3.16.0-cp35-abi3-win32.whl
Algorithm Hash digest
SHA256 daa67f5ebb6fbf1ee9c90decaa06ca7fc88a548864e5e484d52b0920a57fe8a5
MD5 c955c5db4dcc69e69b38c117de48f805
BLAKE2b-256 0ca773e17f18c43a7e0d3f583c7b99ea1fa66d312e8608d79f91bb9e1730b589

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.16.0-cp35-abi3-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.16.0-cp35-abi3-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 04610536921c1ec7adba158ef570348550c9f3a40bc24be9f8da2ef7ab387981
MD5 9c505b3cdb5e6913a88e8fb0d50b758e
BLAKE2b-256 b97957f0f7c8d971154e1883174cd8f2d2a5ef7abb160a66fd32728abefbf725

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.16.0-cp35-abi3-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.16.0-cp35-abi3-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 1cda60207be8c1cf0b84b9138f9e3ca29335013d2b690774a5e94678ff29659a
MD5 23dc6e1d1e2f4ca96e890925e19803e1
BLAKE2b-256 e510dd517f66e49e7f434e8f7a60187c29d73ed7fc18e27819e0b6ed3462c987

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.16.0-cp35-abi3-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.16.0-cp35-abi3-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 7993d26dae4d83b8f4ce605bb0aecb8bee330bb3c95475ef06f3694403621e71
MD5 9dac06a3134a5beb198389cdfadac2d1
BLAKE2b-256 38e0567e7f95e399d3001dea85aaf41525085ccd4a3a9e95ab6b88e6fcd31ed4

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.16.0-cp35-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.16.0-cp35-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 70288d9bfe16b2fd0d20b6c365db614428f1bcde7b20d56e74cf88ade905d9eb
MD5 5fdb26fad4e26f925eb3a94d388aa153
BLAKE2b-256 76dd7276f37251f84931bd97bb42fe10455cad782dcb9a38b9820f65d2a098e8

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.16.0-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.16.0-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 1619087fb5b31510b0b0b058a54f001a5ffd91e6ffee220d9913064519c6a69d
MD5 bdb899212c955e453bd7b91ebed25891
BLAKE2b-256 cb5dbfb44a67cae89510fce065a2e2a8bb3bbc5c3b148715a0b04045b436829e

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.16.0-cp35-abi3-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.16.0-cp35-abi3-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 22aed0868622d95179217c298e37ed7410025c7b29dac236d3230617d1e4ed56
MD5 5e11573985844e3ee2ee16be3bb30bdf
BLAKE2b-256 042e72b100976b25bbe34984b7cbb0a294fd0b1e30ed2210df6e5507864b33ab

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.16.0-cp35-abi3-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.16.0-cp35-abi3-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0da835af786fdd1c9930994c78b23e88d816dc3f99aa977284a21bbc26d19735
MD5 45243834e3d90683ad34e4e4023e5cd5
BLAKE2b-256 70f50f2108fd00185226d3ab52d2b120e71043cd9e2fd5f01deff617623ffe9a

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.16.0-cp27-cp27mu-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.16.0-cp27-cp27mu-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b0789a8490114a2936ed77c87792cfe77582c829cb43a6d86ede0f9624ba8aa3
MD5 f39efa8e7497d988013bf4139be02b2e
BLAKE2b-256 33296c79b3820f40d6560c112350898424955dcac4c79b215ca39954e5d753e0

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.16.0-cp27-cp27mu-manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.16.0-cp27-cp27mu-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 e25a2f5667d91795f9417cb856f6df724ccdb0cdd5cbadb212ee9bf43946e9f8
MD5 be2a0f75c3962bf029d4880bc6586675
BLAKE2b-256 355d5b014038010bea0b11eaabab9c706a2177a7b6538952f59091e9b326b550

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.16.0-cp27-cp27mu-manylinux2010_i686.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.16.0-cp27-cp27mu-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 2ad9bb86b355b6104796567dd44c215b3dc953ef2fae5e0bdfb8516731df92cf
MD5 e5f9840bb5259c0d649abce4fd363909
BLAKE2b-256 52df08cf176aaece0598c5a217d18ffbcd020df3213a3ded5f1a474dd5bfa8cb

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.16.0-cp27-cp27m-win_amd64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.16.0-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 8dd2d9e3c617d0712ed781a77efd84ea579e76c5f9b2a4bc0b684ebeddf868b2
MD5 cded7192e81e693d45970f7c2dd1bc4f
BLAKE2b-256 550837fb8481d47a87a2c275cb4c80d3d57ee1f036f454e075a0e9abb06306b9

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.16.0-cp27-cp27m-win32.whl.

File metadata

  • Download URL: pycryptodomex-3.16.0-cp27-cp27m-win32.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 2.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 CPython/3.10.8

File hashes

Hashes for pycryptodomex-3.16.0-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 8851585ff19871e5d69e1790f4ca5f6fd1699d6b8b14413b472a4c0dbc7ea780
MD5 a784268135af174d0c79bfc3e5a29cd0
BLAKE2b-256 8aef33ecf4a99af5c0750086b3545274b2ecbbb2e790f2385ec1815d8887834d

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.16.0-cp27-cp27m-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.16.0-cp27-cp27m-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a1c0ae7123448ecb034c75c713189cb00ebe2d415b11682865b6c54d200d9c93
MD5 b5961985e35ea740d98b6b5d6589854e
BLAKE2b-256 b3fe4548ef10ec836704df01fe2b6bbe568e87a2e5e6120ccd0619b2171058e8

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.16.0-cp27-cp27m-manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.16.0-cp27-cp27m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 ce338a9703f54b2305a408fc9890eb966b727ce72b69f225898bb4e9d9ed3f1f
MD5 c27e347da2b279f7abadd1e0319c6bc1
BLAKE2b-256 be6186d0af91c77bc0c23dc9ba71a2b97697dda9cbd1619470575c4c040b6de8

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.16.0-cp27-cp27m-manylinux2010_i686.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.16.0-cp27-cp27m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 e5a670919076b71522c7d567a9043f66f14b202414a63c3a078b5831ae342c03
MD5 3bf7140f37acd338d8e0b6d9d409270d
BLAKE2b-256 bdcf0e2d1bda04848bb67944021106986f4523e6cfbfdac335bf1f57573ede8e

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.16.0-cp27-cp27m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.16.0-cp27-cp27m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b3d04c00d777c36972b539fb79958790126847d84ec0129fce1efef250bfe3ce
MD5 6058a293cc6a4130f8a0ef45af64c8e9
BLAKE2b-256 fe2ac4d7575cde5721e60f9ac1bc7fdaef3c60e6fb577cbc9eb2e8f6bc1be30b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page