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

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pycryptodomex-3.5.1-cp36-cp36m-win_amd64.whl (7.4 MB view details)

Uploaded CPython 3.6mWindows x86-64

pycryptodomex-3.5.1-cp36-cp36m-win32.whl (7.4 MB view details)

Uploaded CPython 3.6mWindows x86

pycryptodomex-3.5.1-cp36-cp36m-manylinux1_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.6m

pycryptodomex-3.5.1-cp36-cp36m-manylinux1_i686.whl (6.9 MB view details)

Uploaded CPython 3.6m

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

Uploaded CPython 3.5mWindows x86-64

pycryptodomex-3.5.1-cp35-cp35m-win32.whl (7.4 MB view details)

Uploaded CPython 3.5mWindows x86

pycryptodomex-3.5.1-cp35-cp35m-manylinux1_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.5m

pycryptodomex-3.5.1-cp35-cp35m-manylinux1_i686.whl (6.9 MB view details)

Uploaded CPython 3.5m

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

Uploaded CPython 3.4mWindows x86-64

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

Uploaded CPython 3.4mWindows x86

pycryptodomex-3.5.1-cp34-cp34m-manylinux1_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.4m

pycryptodomex-3.5.1-cp34-cp34m-manylinux1_i686.whl (6.9 MB view details)

Uploaded CPython 3.4m

pycryptodomex-3.5.1-cp33-cp33m-win_amd64.whl (7.4 MB view details)

Uploaded CPython 3.3mWindows x86-64

pycryptodomex-3.5.1-cp33-cp33m-win32.whl (7.4 MB view details)

Uploaded CPython 3.3mWindows x86

pycryptodomex-3.5.1-cp33-cp33m-manylinux1_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.3m

pycryptodomex-3.5.1-cp33-cp33m-manylinux1_i686.whl (6.9 MB view details)

Uploaded CPython 3.3m

pycryptodomex-3.5.1-cp27-cp27mu-manylinux1_x86_64.whl (6.9 MB view details)

Uploaded CPython 2.7mu

pycryptodomex-3.5.1-cp27-cp27mu-manylinux1_i686.whl (6.9 MB view details)

Uploaded CPython 2.7mu

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

Uploaded CPython 2.7mWindows x86-64

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

Uploaded CPython 2.7mWindows x86

pycryptodomex-3.5.1-cp27-cp27m-manylinux1_x86_64.whl (6.9 MB view details)

Uploaded CPython 2.7m

pycryptodomex-3.5.1-cp27-cp27m-manylinux1_i686.whl (6.9 MB view details)

Uploaded CPython 2.7m

File details

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

File metadata

  • Download URL: pycryptodomex-3.5.1.tar.gz
  • Upload date:
  • Size: 6.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pycryptodomex-3.5.1.tar.gz
Algorithm Hash digest
SHA256 bb60d38111ebc383a5a1c909545562926c66c846d03fc65ba7b8a3487cb23078
MD5 d62e4295151958a974e9df5adb766f72
BLAKE2b-256 2693363678ad271184162be7ef50ccc17f6f5de482ad31b8eb3e09bb05be124e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.5.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 a36d5a5b73e51d66e3f1da53ce00e56de860a9c529f2811bb8d95374d9da06df
MD5 b3d2c6b9ed328c52f1408f021c0b7f0c
BLAKE2b-256 b5fbdf3edb035ef894dad71d68a38437e7f9e363986a0130e8c81969de9ad596

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.5.1-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 5ec5903197d256b4559ff5c6a4756c34219ec81aff92be1174681623ba1e6383
MD5 2534ed201ab9973bcda39e4ee30ac63b
BLAKE2b-256 c7b95e8da8b83e8bb067de4a3e0ab556b7e7955f0df3032a805361f463cb2cfc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.5.1-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 e378bd7a09257a7a9a58f7f04b088991cf23a99847e9f42d6f996b4e52a11c33
MD5 859b3d5b3f9a282615cff91ac531ca87
BLAKE2b-256 d988a6b95e859fff6113d4bac72cb003cf6a1538c473da84cc0ddf1acc2e783f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.5.1-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 a02b1b17d7c86b12bc1d4ede75846a7971e7df6d75508cd0696e383c18cad4ce
MD5 03869ea24d98830be75170ae73086f0d
BLAKE2b-256 40677aaa8cddd5de6a940b3b0912c0134743800aa590f78451915e462d021994

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.5.1-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 67f6573ff84ce7f7ea8ffc01ba5821c15dc85bf43291e4f8e11d7b6e2d5f504e
MD5 697f5fef10a9001ae02a6a3478c8d1af
BLAKE2b-256 6d58e2f6a0e0f740b770add8a05282e2c3d0cbadd148d5801de6b1948c188d4f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.5.1-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 eac46844350302c93f3fd3eaa37353ee9e25cffcd1c574dfffb22de157ddce17
MD5 5bc69a01f881863f755e346ea7d701c1
BLAKE2b-256 74e2a279938978da7c1728e047372283ecaecb2c72500900883ba958c4e6ed35

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.5.1-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 82df0a7cda5c94e9e4c62fb8d6507d5418f6593c8ed1b40b538a771ca003b597
MD5 bcc01dda57b3bac0a0f9c37fe3bad141
BLAKE2b-256 9266da40b654fd4b2518022982f6ad99ab01246c8225dc931d68271859d29385

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.5.1-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 299a79efba6152ea438cc37f7349161e7bbd914f918342cad6316a4a5f29f2d7
MD5 55bea7c9cc24bb51062e59fa451d5742
BLAKE2b-256 f43016a57e903f8b8f6a6b17e3dcc817e22993954c1aad9a04d5c89aaea9a53b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.5.1-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 f0ca00abf69827e78415050780cf838c7af9f378e591611210e25a03d6d0ea90
MD5 f13b4e974fbd7d65892f232d988de8af
BLAKE2b-256 a90c5315a6a7ebc09cc204294287150d1d1e2af62381ea76e29bf6ca3ed3658a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.5.1-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 3d4c77f1d4273ae753e49dac5c916f2278b0dd354a0c5f2a29fcf88bbae4efa9
MD5 9fec9f4899bfa6ed08f25bc4fd941680
BLAKE2b-256 dec41250f3aa96adfc2331a31948cd9aba6b7f294c8ca1750d5e638b83f2b868

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.5.1-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 2a55e8fd69c84287b44e2c9c07eaad314e76680b86e873774314c27266728670
MD5 4f03ed72df0d0d91921e0e29c5b4ffa0
BLAKE2b-256 7ae1c294a0b21d486394c94bc88ff170c24d6f22ecf5611e754ae6a6d5b6073e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.5.1-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 2f81caf3ee08f00a957fd074c33430e8781958c616e864c5a1e709fb954750bc
MD5 f3d6d90ec80fda080a5fadf69740ae12
BLAKE2b-256 3ff3a179025da9498926c02a15a49635a7e9256740596e38b6af9065a706a3be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.5.1-cp33-cp33m-win_amd64.whl
Algorithm Hash digest
SHA256 e75e7fe725dd5989e89da25a2fe7e3d35ed8123ac30eaae2f2340d0ba0431a88
MD5 8d8803e35f8780f6366a5b236e210f51
BLAKE2b-256 3392f88766a4f50689de40a74ed0c740c20df85ae0e27840750585fbca8ac0f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.5.1-cp33-cp33m-win32.whl
Algorithm Hash digest
SHA256 5d058decae88f86833a430afc0517df815d9efa4255b3a6d576c7fb305cb56d4
MD5 cd2833197bfc5b6633718e55e5e75106
BLAKE2b-256 02bd9a30014e23a80f2194605a50a9209176849204b1f17832ec43912635f2a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.5.1-cp33-cp33m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 563512542dcab3e95d8cef70e45cc5a43ef35ff84bc040c388b305015343e51e
MD5 c96b154ce0b11d98be3c1a728fcca3ab
BLAKE2b-256 9c249a6acdec2422a0f8ee04cb8c44c279901315991049bb4bf02c66b0ea8a40

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.5.1-cp33-cp33m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 91b87c3abb24da1a980cb0f05e150eb0525235129bc5cb59277ea96860677f0a
MD5 7723b6682d7d0a0f90c72f79b991208c
BLAKE2b-256 9e708f1094a12650bebd39d4416b2706ae3d5fdd94885bf6695e72994f6a3124

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.5.1-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 e303a4a1b242d3277e8dea07ab4e3737d0d1ed122990c713d6f88b0dda10c378
MD5 d2374e7779f9bddb39fb51f657dae25d
BLAKE2b-256 9eaa74f73c69860028e52255bdf2eb8bb77f4ba7c8c736a8f0825b88e1dfc770

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.5.1-cp27-cp27mu-manylinux1_i686.whl
Algorithm Hash digest
SHA256 729da9aa2b8ea0bd8e35bc89ecd1ff4e482e6e9c2275e2e19de8b68dd8156fb5
MD5 69ab6e383c11b63fbb0e901ab8e1a903
BLAKE2b-256 0dd8930f56ed19e6c7756968d3a84174834223548fbbcf31eff3450f8487a425

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.5.1-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 16ab612ca9164e971dc00f8fe895ac835e8bfe64c3174b368f80172ff5a98300
MD5 afe7e47b4de7bdd166886cadadf9a7f2
BLAKE2b-256 4cfe0be66d767a9c7623cf6c7ce7cfe8e2a952f8c5acc037451cb19a0c8fbfda

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.5.1-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 bf2e6cf6e78c8e6d63eeaa9641cad5008a382af98f2dc25cb7c6444f13133df9
MD5 be7d33470a8312471f7b00db75a85d55
BLAKE2b-256 c0713db3771ac7e4a2883cb580c06477afa810a201fbb54198324f660d0e9ae2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.5.1-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 a7d836d6284c4734841c7c9d851be546650302ebca281de851129c22f1298ad5
MD5 493f6d1172edc93bb6248c02f44930ae
BLAKE2b-256 5dd3848b2af3f5ba9baf7468ef4a0279995e979d7f9b301bdb34d1692759d030

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.5.1-cp27-cp27m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 2f71dc2b91288cf4a164287858eaccdc7053bf5765ebc47c5188f94eccc35e80
MD5 01e284eff1d1473a82de5bdf7f711c8d
BLAKE2b-256 6ed4065caefa8441fbc0a159c1fa305e448b533cbc10d1bd69d73729c80aef6d

See more details on using hashes here.

Supported by

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