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 pycryptodome

All modules are installed under the Crypto package.

Check the pycryptodomex project for the equivalent library that works under the Cryptodome 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

pycryptodome-3.6.1.tar.gz (7.2 MB view details)

Uploaded Source

Built Distributions

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

pycryptodome-3.6.1-cp36-cp36m-win_amd64.whl (7.8 MB view details)

Uploaded CPython 3.6mWindows x86-64

pycryptodome-3.6.1-cp36-cp36m-win32.whl (7.8 MB view details)

Uploaded CPython 3.6mWindows x86

pycryptodome-3.6.1-cp36-cp36m-manylinux1_x86_64.whl (7.3 MB view details)

Uploaded CPython 3.6m

pycryptodome-3.6.1-cp36-cp36m-manylinux1_i686.whl (7.3 MB view details)

Uploaded CPython 3.6m

pycryptodome-3.6.1-cp36-cp36m-macosx_10_6_intel.whl (7.2 MB view details)

Uploaded CPython 3.6mmacOS 10.6+ Intel (x86-64, i386)

pycryptodome-3.6.1-cp35-cp35m-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.5mWindows x86-64

pycryptodome-3.6.1-cp35-cp35m-win32.whl (7.8 MB view details)

Uploaded CPython 3.5mWindows x86

pycryptodome-3.6.1-cp35-cp35m-manylinux1_x86_64.whl (7.3 MB view details)

Uploaded CPython 3.5m

pycryptodome-3.6.1-cp35-cp35m-manylinux1_i686.whl (7.3 MB view details)

Uploaded CPython 3.5m

pycryptodome-3.6.1-cp35-cp35m-macosx_10_6_intel.whl (7.2 MB view details)

Uploaded CPython 3.5mmacOS 10.6+ Intel (x86-64, i386)

pycryptodome-3.6.1-cp34-cp34m-win_amd64.whl (7.8 MB view details)

Uploaded CPython 3.4mWindows x86-64

pycryptodome-3.6.1-cp34-cp34m-win32.whl (7.8 MB view details)

Uploaded CPython 3.4mWindows x86

pycryptodome-3.6.1-cp34-cp34m-manylinux1_x86_64.whl (7.3 MB view details)

Uploaded CPython 3.4m

pycryptodome-3.6.1-cp34-cp34m-manylinux1_i686.whl (7.3 MB view details)

Uploaded CPython 3.4m

pycryptodome-3.6.1-cp34-cp34m-macosx_10_6_intel.whl (7.2 MB view details)

Uploaded CPython 3.4mmacOS 10.6+ Intel (x86-64, i386)

pycryptodome-3.6.1-cp33-cp33m-win_amd64.whl (7.8 MB view details)

Uploaded CPython 3.3mWindows x86-64

pycryptodome-3.6.1-cp33-cp33m-win32.whl (7.8 MB view details)

Uploaded CPython 3.3mWindows x86

pycryptodome-3.6.1-cp33-cp33m-manylinux1_x86_64.whl (7.3 MB view details)

Uploaded CPython 3.3m

pycryptodome-3.6.1-cp33-cp33m-manylinux1_i686.whl (7.3 MB view details)

Uploaded CPython 3.3m

pycryptodome-3.6.1-cp27-cp27mu-manylinux1_x86_64.whl (7.3 MB view details)

Uploaded CPython 2.7mu

pycryptodome-3.6.1-cp27-cp27mu-manylinux1_i686.whl (7.3 MB view details)

Uploaded CPython 2.7mu

pycryptodome-3.6.1-cp27-cp27m-win_amd64.whl (7.8 MB view details)

Uploaded CPython 2.7mWindows x86-64

pycryptodome-3.6.1-cp27-cp27m-win32.whl (7.8 MB view details)

Uploaded CPython 2.7mWindows x86

pycryptodome-3.6.1-cp27-cp27m-manylinux1_x86_64.whl (7.3 MB view details)

Uploaded CPython 2.7m

pycryptodome-3.6.1-cp27-cp27m-manylinux1_i686.whl (7.3 MB view details)

Uploaded CPython 2.7m

pycryptodome-3.6.1-cp27-cp27m-macosx_10_6_intel.whl (7.2 MB view details)

Uploaded CPython 2.7mmacOS 10.6+ Intel (x86-64, i386)

File details

Details for the file pycryptodome-3.6.1.tar.gz.

File metadata

  • Download URL: pycryptodome-3.6.1.tar.gz
  • Upload date:
  • Size: 7.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pycryptodome-3.6.1.tar.gz
Algorithm Hash digest
SHA256 15013007e393d0cc0e69f4329a47c4c8597b7f3d02c12c03f805405542f70c71
MD5 eed64fdb7ac5c91ac218d2bac564cd93
BLAKE2b-256 f97263fc67bf43286a0fe6a377adc68cec30dcb02b862b10d667788bde112741

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.1-cp36-cp36m-win_amd64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 4b5a2680008da3ac0cef2d3661597e0cbf8a3eb19eed35b859fd67e2de63eb85
MD5 a13e81d3b023cb74abec9820a1f6c1d4
BLAKE2b-256 82bdbd192c1314bde108a91295fbec02bc20a816330feb10273aa36d885004ab

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.1-cp36-cp36m-win32.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.1-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 e850e07f54dc3de9a1efdd59d227fcd1cb30cdd307dafdc647c79e8f30cf5032
MD5 53749ab93a5b65be3f52544e2db6aa15
BLAKE2b-256 3c940c7715296b9a9ada38f46504482368e674bbfe5b5774b61bb915ea5a023f

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.1-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.1-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 e51da4ef9d9e2695a04044152f380c2db17adc9fc6fad8e24d863ead9cd548ed
MD5 2af2634ba02576ee5bad64b86c355e8c
BLAKE2b-256 6830e64991296fda8ebd682b34185a044032ec933ffaa580fff9735aa2e3b888

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.1-cp36-cp36m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.1-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 0cdd73492859d853f60b8185715312dbca465879661e28d354d1cf5ea11860e7
MD5 f5fc88037c3812beb65e8114df370533
BLAKE2b-256 0cc48b7b04ec5766f70f71e56201dca51642526662686c656da76e59fd462037

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.1-cp36-cp36m-macosx_10_6_intel.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.1-cp36-cp36m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 f5e19802295e63bdf83bb92849285c01f7167840efb1c1e08507a50b10ba7efa
MD5 8c6c04e845068d0ff1d7c879348ba00e
BLAKE2b-256 9c838f8a9e94d3cc495dd49082ac79e366b368cd10c8d25734fbcea59de93e5a

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.1-cp35-cp35m-win_amd64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.1-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 fc569682f012b1f62f8d28d8f9bc71f1de67648cd1bc124ef8ccf8db4edfc28a
MD5 481a8936a9b5a98db0264869999f24ac
BLAKE2b-256 efc93e31ed1ba87fb418067d6b450b0a2d9158cf8e2b86b6448ed56ef811e425

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.1-cp35-cp35m-win32.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.1-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 1ceb3e87605c4f0080115a8a00abf45f5df27b0166a37fd669fbff4523273cfc
MD5 6a68bef1107a85a3c644a14b77bc2217
BLAKE2b-256 c260d0508928814a4507d39dc615f6a8d032498760bece141e313470c6984748

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.1-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.1-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 97af76f5200f15e97cac58d77f319dec40b4bada98de697c91a9517e63b41d1a
MD5 c17621110506a98b6094a55ca9b515ef
BLAKE2b-256 0923561648462715145a7a0d0939b56eca66625b96be5070ad93a195f7a0e0c7

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.1-cp35-cp35m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.1-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 6d34fe5134eb5d62368e21e6f203ac1770bc7273e9536c4a280121312c2de53a
MD5 23510fcc2f6b49cf858af4563fede89e
BLAKE2b-256 3e64dbe440a16dc20c1f097dcdd4d0a94420ba7e9c4249e8ea59a91badac2b29

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.1-cp35-cp35m-macosx_10_6_intel.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.1-cp35-cp35m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 adb54316998337f315520bbd8ef4d8bbd940b4ddfaef8ba1db3c137c5e499399
MD5 e012528653003318e2b583b1b501eb5a
BLAKE2b-256 3cfa61223992e006fcf8172edc44ca0f0397433d298fc2cd583d0722201d3f88

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.1-cp34-cp34m-win_amd64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.1-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 49a71eb990af30ff6276cfe201eb83ed3640ae989c1b5973f7b55a46c94232d1
MD5 6d58ef17c9db4d653af9e4f9c0f0956e
BLAKE2b-256 46638ab58a0b4ae89086ffa0242fabd8b13fb2eaad4fa02a24780aa019e14159

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.1-cp34-cp34m-win32.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.1-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 b4a3b710287eb1fc3e2cc1af018063f003530dff00c9ea4c55ae19bc1f3923cc
MD5 c5f5a3a53d0df8053a8ccd9801fb21ad
BLAKE2b-256 9af8d1d240081539abe30f9a1a5ba05f4e36f39fc3c72499d35f45ccbe456431

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.1-cp34-cp34m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.1-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 19d81b92bff837cdade735b9023808556bb4868e1ce194dad4d5ec4e2b2851f3
MD5 c4e83275a4e0605f657d4e0c8023c48a
BLAKE2b-256 93d2e0b0ae182c5c8be8a17ddfab02987c25f05a217ac33a1e43d6e211e2dd14

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.1-cp34-cp34m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.1-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 733d5eb7e5ceed8b9d0b3c24c81f52c04cb5de6786461388204fceefe4456aa5
MD5 32fefbca7d92a7d45e9d814f99805bc4
BLAKE2b-256 197b6d67fe230389496d0470e68aedbd541608a94d1b563f4710ea3c381fbdf3

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.1-cp34-cp34m-macosx_10_6_intel.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.1-cp34-cp34m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 2354a77051ed4a2959ce2aac508071eb3e42fc348ea39228b2eac335990bf508
MD5 383c1cfec93aae7173e63ec7d4f7e315
BLAKE2b-256 96ddca3973324c3ace5ef65518e040038d3660f3a57f62a6c1655a11be67bcbf

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.1-cp33-cp33m-win_amd64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.1-cp33-cp33m-win_amd64.whl
Algorithm Hash digest
SHA256 27bd2878200690b050dca34f505b5c623532324b3de40267c1484784063134df
MD5 a3c68e1d59e7752a99b13bb34b0e1dc9
BLAKE2b-256 3ead1be39b18d582a9e537ccc7b7995157f8e9fc3e1dae7a6ca025d1a6cbabae

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.1-cp33-cp33m-win32.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.1-cp33-cp33m-win32.whl
Algorithm Hash digest
SHA256 c08c053eb8716bbbd5e13e38f453b9e46a063e68df8659f3c421dcb7519fd381
MD5 bf8cd47733dc544abb78a7038cd2feeb
BLAKE2b-256 e1d63d3631546012336d540babfbce28b2672089888bfc9a1be503e52f9ff935

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.1-cp33-cp33m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.1-cp33-cp33m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 a561b59e0c3548eb649af381b7c38c6fd8392bbd4d0a8214794b2b761f405af4
MD5 8398c413fc1b4619d1f763c13d87e10a
BLAKE2b-256 f62f0d7d21548a7043bb765bc480a995e0b0c9dd19ec96575c4ad8bce1361c53

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.1-cp33-cp33m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.1-cp33-cp33m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 ed94cb1b4bf24be734f2bf2db3e8ea75f3914d2f8e684291bee54bbe4a5a9151
MD5 6efb311465236b6e51b48018d3322cde
BLAKE2b-256 b2b0df3be75d60a27f0b7240935d59bc8d4ed56630cbfd132f5fead30edba3b0

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.1-cp27-cp27mu-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.1-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 7c73d3798fe2946953768b788ce554c0d4b390780f5e73d63bd833241af27bfe
MD5 dea3a8dc1c845754babda876b0bf3f5e
BLAKE2b-256 96fa4b1fbf2383b7d2f9f4bf05db79432f698884a8ea32c3220af65508b59e79

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.1-cp27-cp27mu-manylinux1_i686.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.1-cp27-cp27mu-manylinux1_i686.whl
Algorithm Hash digest
SHA256 97cc46ff02b99dafdc2e0385b325cec0f8a15bf8b285d6ed1d7e4a3bc2067ce1
MD5 501a0cfc5648c16ce5fd6d80eae5b5eb
BLAKE2b-256 e51e2bee7230e5b32fe85a1f567aac0e5b5c5667b9530457808833441efd8ab4

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.1-cp27-cp27m-win_amd64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.1-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 ab2c633bfc23cf41be9281228517cb6f87879f4f1aeb154ed72bd53ab7cc83e9
MD5 f2de357f9156f49ab242edc120d78428
BLAKE2b-256 03fff6b79048e286a05c68bd1a6182c119b41f409cbf488f1b6b8024f05e0f33

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.1-cp27-cp27m-win32.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.1-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 043c82cd3dd3120286a1b325ace93000cf52abb13a067c3ecb6220f874fe4c30
MD5 a58dab9839038737d4b24aa4dd54a7ec
BLAKE2b-256 e53e5480f6d39fcbcbcdad9724fa1b526c4992e62e84f1977c1eb5ed6805b219

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.1-cp27-cp27m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.1-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 ebc579c41fe26748dc1bad4f9105f08740ee28826293a28103b3875968695a5e
MD5 bbc3547bcea01ab0fbce080ac9ef8f35
BLAKE2b-256 72a4c233e1e2dff7e71ea94a97c1558b0ec73fbbc80c2c6c3fe105b31c82c2a4

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.1-cp27-cp27m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.1-cp27-cp27m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 bcfdb66d6604882c3f96eea922552c2487cc0aec4b883cd217b9d341d2f8fad0
MD5 e8336ee336ba16405f821abdfad39550
BLAKE2b-256 a5d545aa0d23344ee3901f8550cd8452b75d2400823070518e1c4db3122a694d

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.1-cp27-cp27m-macosx_10_6_intel.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.1-cp27-cp27m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 322f239e51fda80233762400a8975ab728639b571fa58545b95b9c44042af010
MD5 4dc4b1af97b8d38d8653b6c7e6a744b4
BLAKE2b-256 b3e7a6977496a8f18788e789047f1a8b7033ffe4d5a5bf591469033127e5d696

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