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.4 or newer, all Python 3 versions 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 curve 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


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.4.12.tar.gz (6.7 MB view details)

Uploaded Source

Built Distributions

pycryptodomex-3.4.12-cp36-cp36m-win_amd64.whl (7.3 MB view details)

Uploaded CPython 3.6mWindows x86-64

pycryptodomex-3.4.12-cp36-cp36m-win32.whl (7.3 MB view details)

Uploaded CPython 3.6mWindows x86

pycryptodomex-3.4.12-cp36-cp36m-manylinux1_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.6m

pycryptodomex-3.4.12-cp36-cp36m-manylinux1_i686.whl (6.8 MB view details)

Uploaded CPython 3.6m

pycryptodomex-3.4.12-cp35-cp35m-win_amd64.whl (7.4 MB view details)

Uploaded CPython 3.5mWindows x86-64

pycryptodomex-3.4.12-cp35-cp35m-win32.whl (7.3 MB view details)

Uploaded CPython 3.5mWindows x86

pycryptodomex-3.4.12-cp35-cp35m-manylinux1_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.5m

pycryptodomex-3.4.12-cp35-cp35m-manylinux1_i686.whl (6.8 MB view details)

Uploaded CPython 3.5m

pycryptodomex-3.4.12-cp34-cp34m-win_amd64.whl (7.3 MB view details)

Uploaded CPython 3.4mWindows x86-64

pycryptodomex-3.4.12-cp34-cp34m-win32.whl (7.3 MB view details)

Uploaded CPython 3.4mWindows x86

pycryptodomex-3.4.12-cp34-cp34m-manylinux1_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.4m

pycryptodomex-3.4.12-cp34-cp34m-manylinux1_i686.whl (6.8 MB view details)

Uploaded CPython 3.4m

pycryptodomex-3.4.12-cp33-cp33m-win_amd64.whl (7.3 MB view details)

Uploaded CPython 3.3mWindows x86-64

pycryptodomex-3.4.12-cp33-cp33m-win32.whl (7.3 MB view details)

Uploaded CPython 3.3mWindows x86

pycryptodomex-3.4.12-cp33-cp33m-manylinux1_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.3m

pycryptodomex-3.4.12-cp33-cp33m-manylinux1_i686.whl (6.8 MB view details)

Uploaded CPython 3.3m

pycryptodomex-3.4.12-cp27-cp27mu-manylinux1_x86_64.whl (6.8 MB view details)

Uploaded CPython 2.7mu

pycryptodomex-3.4.12-cp27-cp27mu-manylinux1_i686.whl (6.8 MB view details)

Uploaded CPython 2.7mu

pycryptodomex-3.4.12-cp27-cp27m-win_amd64.whl (7.3 MB view details)

Uploaded CPython 2.7mWindows x86-64

pycryptodomex-3.4.12-cp27-cp27m-win32.whl (7.3 MB view details)

Uploaded CPython 2.7mWindows x86

pycryptodomex-3.4.12-cp27-cp27m-manylinux1_x86_64.whl (6.8 MB view details)

Uploaded CPython 2.7m

pycryptodomex-3.4.12-cp27-cp27m-manylinux1_i686.whl (6.8 MB view details)

Uploaded CPython 2.7m

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.4.12.tar.gz
Algorithm Hash digest
SHA256 02dda17f54cbb37dcad6bd52c21f1208be1e435c7c8b48922366dad989a0c597
MD5 365ece269810bfe4170bbe423b773cc7
BLAKE2b-256 58bb457dd4b79d07cd421656612d73a27a0849ece6ff237023cbee76c99dbd1f

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.12-cp36-cp36m-win_amd64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.12-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 bc30c42399b268788407a1ac692ad4011e774809034e7a0bc9559b8feb727ea1
MD5 988637c04d9cf0f56fe74f012c560471
BLAKE2b-256 1dc9262c25c76f0606a0fda3435eff187af9d22179acbdc4b0096b34a61e6e87

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.12-cp36-cp36m-win32.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.12-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 46a3c64f377f14fe9ccaa7b3307de76e312edd0cf7543edb6f159e519081254c
MD5 4a1d7c36f5d119844191f59ad4c53603
BLAKE2b-256 09cba61b688b81b1d241cfe25ff211682a141f83d16367db39b1d54c207ecd15

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.12-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.12-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 bf2a5b6eee8ca198eea13bcbd2df62721ed9b5f5c8660ac56be7249ff349f582
MD5 7c2d0c6de8d09a6dd582cb26760ad74f
BLAKE2b-256 e7e415037dada9cb61b63182df9806ec2793dbba7b8dcf9dc025defd482fa452

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.12-cp36-cp36m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.12-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 1088099e88ba7238cebd3c44b38edbe7130b229a3d7d7b4c9b0ed06533dd13e6
MD5 4f24642a36c7b8a421d4710f918fc1f2
BLAKE2b-256 77f0caf5fb6365ad86c4567dac6ccfb2bfc999fe76a4cc2cf7de8d476546e50d

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.12-cp35-cp35m-win_amd64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.12-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 626463deb7f760507f98504413fb6035dcff7c8f0b36c6e216605680caa337f0
MD5 8c462a2c0ddbd767e3604d101aac3439
BLAKE2b-256 d8a4aa6032d39928cce7acb30990cf09171d5df09c8e5549156b41c46667d7ad

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.12-cp35-cp35m-win32.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.12-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 e27f557e8aab1dbfdd1a51f0053437baf5e13fc6f04c07fbe3a0da7a5c8c51f2
MD5 c5463b9c1c5f43a3bb052bb4adad1deb
BLAKE2b-256 2e7cb100410ef57a74502d7c7515f9b280b388a75d62b34d9bb46daac82af150

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.12-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.12-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 51b789c2ccdc30ebf0b1dfcb2095a5e10ebaf68e2cd89bc051b1887a8e8e14d6
MD5 1c985b35e27eba0c2cc4b592ae3cd44a
BLAKE2b-256 dde459cbe357947c127622d4cd3741d3b2c31f2bb181e7909efd7687b59dd36e

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.12-cp35-cp35m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.12-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 90c9a70005d5c02886ab98ef4e2d577347e3c41399aa0c35a4eac4ee27b1d718
MD5 cbf7f36658eca5c3c9f70179c56c0996
BLAKE2b-256 9be2217435094da4c258ba16b3b6aea14f577bd562c11540ccabfd03ee231720

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.12-cp34-cp34m-win_amd64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.12-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 1a1a4b604dd9dab1a55d43972e853be0c2fd0c50f3589f8c0e18febdb361235c
MD5 1566b4f002ce48c58b4ddbdd11e82de2
BLAKE2b-256 daed5d72e447d19062b6fa0ea8ae7e512590f673e86bf61b1db8db1919fc0ddc

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.12-cp34-cp34m-win32.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.12-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 da75c00a761e456fb99be7e28b60568163c6d3d631f305ffc9f1365c8991c669
MD5 6e369d6a84aa7a9033196369c27d33df
BLAKE2b-256 98b131f182b90c9d6154373e93bff150af2041983f5460fedcf5c105bb671acd

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.12-cp34-cp34m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.12-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 3ebc14df23b8bcc2734aff6255b7047b8c2f28779923f0f36f17c2d2d9fc32dc
MD5 c71d33b99d046cc4b4df67f4fceac6ad
BLAKE2b-256 40131dec0b70557d33c0c49ebd8a354d0e684dc77905f1427fc24c8432f9c7f4

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.12-cp34-cp34m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.12-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 25d038c3d18b59e07acb0be516396d0c8ed3b098761b0f597c7f03c7516e7699
MD5 193ccf66c71725dab7234eb5f1b06416
BLAKE2b-256 0fea4bce164a6169f9e3fb3d36e897669bf03024274096ced0236cea70125f7f

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.12-cp33-cp33m-win_amd64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.12-cp33-cp33m-win_amd64.whl
Algorithm Hash digest
SHA256 acc287965dd1f08bb5b2e662289111e24fc5e7754c79571a20803fd5ce307c47
MD5 10a94a30baa159852288438494421b03
BLAKE2b-256 f4f533b038981874ce29e412420b4c606ae3b64001099e2c30a49a35db265f15

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.12-cp33-cp33m-win32.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.12-cp33-cp33m-win32.whl
Algorithm Hash digest
SHA256 2b64915a430fbf992c75751c13cabecf27ba8dd43fdcc8bc0551302d87ef4c91
MD5 7d9a828ab8e694593f00fe2c9b264969
BLAKE2b-256 7f579961b8149b1bd33563a11450d9117e7b43db49da4d44d452712e042cc755

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.12-cp33-cp33m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.12-cp33-cp33m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 0307cfa4c8aff4dd943933704fc4eae2119f42439d1fe456a594bee44a7d860b
MD5 083877f9439a7291da5d08d2d68028f9
BLAKE2b-256 8c07b1e8b8bea52d59caab9606e7bf02403529b2966deb6e91d08d2977f7ca03

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.12-cp33-cp33m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.12-cp33-cp33m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 14bdfc08d38a17fa54027b51c122ce175b84f979781a2e11e86015dd0dfa4157
MD5 ed92b45397bc0efd656718c9761005a5
BLAKE2b-256 3a11c950a17dbaab9c96a2528478ea06d44cdce0b35d8babefd42e1ef4ca51ae

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.12-cp27-cp27mu-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.12-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 88f6dfb6b3efd084df29d4ed312dde085f4a7cc9efada59998f75a8826e255a2
MD5 a82ff71ad4e4a125e64d460f605c48c5
BLAKE2b-256 05cf5b31267d00cb7f22a9ee5ea80efcad6ed15fd9a342495854d7c164507a6d

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.12-cp27-cp27mu-manylinux1_i686.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.12-cp27-cp27mu-manylinux1_i686.whl
Algorithm Hash digest
SHA256 3588078356c6d6f1a5765fe1b254882e1ed7ce5cd8a8a00fdc4cef507e46868d
MD5 e880dcfe5a56746954c9e60bcaf2de63
BLAKE2b-256 721f4c0afc5bb7e2779470776ec42aca2c8cfadb563882d4d97992129b8056d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.4.12-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 b95adb32f32bc85f1c6c1d4d344a73a5fddf7c69b3a6551e499963022200fc5e
MD5 01c95e921484e3b95cb8fc352a7644d3
BLAKE2b-256 55b4a53f3f10c1006a8d2b0aa10e018477711b933a6e5449dd4a686ff2d10bc3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.4.12-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 565fa996de2ab58cae9a7b7241c7fd84e6bd705a05ff89e2ea5c4d3e6c755c58
MD5 8c1c72c575096b6c8acf9dd25495d6b2
BLAKE2b-256 571b65ed70ad379a465479aaa57f3e4f4e08d932a4236e7d787cc38f626c4c07

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.12-cp27-cp27m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.12-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 7464c5e2751e9fa9e3b66f3d7054edf4d837498a151d9a3ba156cb6532344455
MD5 7871bfa961a1c1ef8ef13fb3877040d0
BLAKE2b-256 c3cab01c74cdc1c791650635d840667bac5da653101091d2304e0ab0a6f6568c

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.12-cp27-cp27m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.12-cp27-cp27m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 a2ac2eaafd7dc52920c902dae225badfbd9323f0d1166db0a1614fa55e2dc5b6
MD5 ce0277b8f503863349fc40f64e3230dd
BLAKE2b-256 1df3bba18c725367373b6636d24e1adf77c0b142b13a6c5ef3999e6e4371902c

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