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

Uploaded Source

Built Distributions

pycryptodome-3.6.3-cp37-cp37m-manylinux1_x86_64.whl (7.4 MB view details)

Uploaded CPython 3.7m

pycryptodome-3.6.3-cp37-cp37m-manylinux1_i686.whl (7.4 MB view details)

Uploaded CPython 3.7m

pycryptodome-3.6.3-cp36-cp36m-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.6mWindows x86-64

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

Uploaded CPython 3.6mWindows x86

pycryptodome-3.6.3-cp36-cp36m-manylinux1_x86_64.whl (7.4 MB view details)

Uploaded CPython 3.6m

pycryptodome-3.6.3-cp36-cp36m-manylinux1_i686.whl (7.4 MB view details)

Uploaded CPython 3.6m

pycryptodome-3.6.3-cp36-cp36m-macosx_10_6_intel.whl (7.3 MB view details)

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

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

Uploaded CPython 3.5mWindows x86-64

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

Uploaded CPython 3.5mWindows x86

pycryptodome-3.6.3-cp35-cp35m-manylinux1_x86_64.whl (7.4 MB view details)

Uploaded CPython 3.5m

pycryptodome-3.6.3-cp35-cp35m-manylinux1_i686.whl (7.4 MB view details)

Uploaded CPython 3.5m

pycryptodome-3.6.3-cp35-cp35m-macosx_10_6_intel.whl (7.3 MB view details)

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

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

Uploaded CPython 3.4mWindows x86-64

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

Uploaded CPython 3.4mWindows x86

pycryptodome-3.6.3-cp34-cp34m-manylinux1_x86_64.whl (7.4 MB view details)

Uploaded CPython 3.4m

pycryptodome-3.6.3-cp34-cp34m-manylinux1_i686.whl (7.4 MB view details)

Uploaded CPython 3.4m

pycryptodome-3.6.3-cp34-cp34m-macosx_10_6_intel.whl (7.3 MB view details)

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

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

Uploaded CPython 3.3mWindows x86-64

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

Uploaded CPython 3.3mWindows x86

pycryptodome-3.6.3-cp27-cp27mu-manylinux1_x86_64.whl (7.4 MB view details)

Uploaded CPython 2.7mu

pycryptodome-3.6.3-cp27-cp27mu-manylinux1_i686.whl (7.4 MB view details)

Uploaded CPython 2.7mu

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

Uploaded CPython 2.7mWindows x86-64

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

Uploaded CPython 2.7mWindows x86

pycryptodome-3.6.3-cp27-cp27m-manylinux1_x86_64.whl (7.4 MB view details)

Uploaded CPython 2.7m

pycryptodome-3.6.3-cp27-cp27m-manylinux1_i686.whl (7.4 MB view details)

Uploaded CPython 2.7m

pycryptodome-3.6.3-cp27-cp27m-macosx_10_6_intel.whl (7.3 MB view details)

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

File details

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

File metadata

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

File hashes

Hashes for pycryptodome-3.6.3.tar.gz
Algorithm Hash digest
SHA256 9b2e142322273ee88c96ade5cfc0ff99b759be32a06d49ce55cd39adeb1e4541
MD5 7e238acf966bd17223e6ac67936a658e
BLAKE2b-256 00ccc623e25aa38e947a449a9b67c3a1c65f2db56aeb43b541cb197dc659f78d

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.3-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.3-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 b74138a25adc8c9446cf030a962a031dc6327198972f266bd834702dafedaf14
MD5 088b9a33d78e0803ee2b44e311896a0f
BLAKE2b-256 fe744b622a7df2008ea573ca453cc3e6a38c3a33da4b53335a624d91a45a1eb3

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.3-cp37-cp37m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.3-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 5ecac8fd76a0cfdecbe4e8ed71698c485fdfa4dc12ac23ff41593029d284628c
MD5 b202192e53371418d9e634f2f77ad464
BLAKE2b-256 374547d777d0db64e0d1f2397ecdd8c3d3e108ce84cbfd75da5e67a52c058555

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.3-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 3a2c9cda8b358f3eb4b2a29a7de48e18e07e25beeee7ce51d30b20b44f48b066
MD5 d5c0b45b7e9684eab7de1049b371dbc8
BLAKE2b-256 0f5da429a53eacae3e13143248c3868c76985bcd0d75858bd4c25b574e51bd4d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.3-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 59a16a0b2c20b18499b5404d7cbe0ee78eafe2cf98e17b2695fda6f096ad0323
MD5 60ac094a974fdc1ec4c7079cfc1babbc
BLAKE2b-256 6ad04e9ec29d3034a431ce342fd1f82eb8e2833cb0cba5df49d6c95e39c5e54d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.3-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 123d7e63b8256b4aab2d5664627cd789adb4e47fcb548c9a5a5bd8f3053ad591
MD5 9c7bf88afc536a3d9d415bd72ddf32c5
BLAKE2b-256 ecb68086410f552e7173d9f62b0ec3dbf44958525232dc8ac670f52a4482b101

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.3-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 bf5b541b86a51feacbbce410bfc53e9807a79cce6568279340d154e08c65d849
MD5 05e52626fd2d612ac1e720cb3ffdec27
BLAKE2b-256 12e9a1236d17ed82d7a84b7c50e74f52fb573140fd5f953f5e91ec980a462e33

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.3-cp36-cp36m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 d8d41f4dec7b7b4a14640fe8c7002fb2a4393a9cae04ac7cd8ac4a29c6178bf9
MD5 43b4dc779a9d0cf1cc99755670fd25ff
BLAKE2b-256 2c3da2249c939baa8cdfe7224a5536541668fec5483f2639c6c7c5d3bba80d0a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.3-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 9930909e13ae3d518759cd3b5762b94a7303feec080aeffb66b130c530e55bf4
MD5 9dc87cfc23101b0d0fc70cf73b6b84a0
BLAKE2b-256 9bdae004f963217c4753d46c7948629071ad8f6582f17259f45c5987475d0459

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.3-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 4b947756b11e14460f5669f6f58bcf931319c70dac8a55a7bc2d88ea29693030
MD5 9c135efbe0b00e20904d4e548f522edd
BLAKE2b-256 575565a54e2cdf926dbb1eb74263eba7c56c0a12e4e3ffbaeee1962366d5fd71

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.3-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 6f277732b62e975669fd789ed964ad5603253c828bf817bfdc2de3d544979fb1
MD5 8762bfa66a6e25a64b964b1efa0f7ee0
BLAKE2b-256 a4786e8003733aa803354571413e7114f9ceb7b6b0c1086a8c101a121ccb398d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.3-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 46529b59abb0221d90d509bc173629274b988fe0ba09c594c669d0638e5179de
MD5 e8fda956aafa862f81e230069d15d984
BLAKE2b-256 9dbde1a99a6e9ef7dfa64a22c7042817919815ae1783b31e030b8502dcea8659

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.3-cp35-cp35m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 0950432f541e9675c3036a12f8f956a6086f3417c2d265306be2e22140a0161d
MD5 75d2098b9aa3222e0fb70d4c3eef1e9a
BLAKE2b-256 57e21c17ff2bd53c0cfd5e48a340a9d4787b34a3642d75ad05628932d49aab75

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.3-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 06bc9d77bbde06e364e5082af9eb7aa521ddb6f3930f96c9b30e82720e67805e
MD5 05dbe377c410374d8381623db7021496
BLAKE2b-256 b6afe09f2f80aa823d8c53d5c3f9cb14cbfb662401fe83159dbd62071ac30946

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.3-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 2997964284d58f8d5c7dc3a2e275b7b154bb9cdea84a1ea306992b03d3a57467
MD5 a0102c67edbbabaea3981b94001478d3
BLAKE2b-256 9b1decd58c84ad1fd54778f9ece09effd69915b37d62093c3a6ae5ac710e0e79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.3-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 32adfbbeb5281f846244b4cbdcd4b514494ab5a310c1edac669648187f38ff1a
MD5 9585e84463f60bd3cf4faf1f3974cef2
BLAKE2b-256 ce1be1026894581dac26e8127faf9680a4c2fb034050e4e100bfbd6dab068fc0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.3-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 cab4f34563a7930938fe61b5eec70ca310fa08ba1ab4c91e00243ff18e2642da
MD5 a78606bd161554f428f3c91057c761b5
BLAKE2b-256 ef84c093e564c1d9d756db510cb43fa18939dd9affd956fd5ffa4ec540181bfa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.3-cp34-cp34m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 9ebad2277a705db9647438e71a2d6a8110af8447a5fd30aa0838c4c1673814b3
MD5 25d1ec4c5ce6ff9df4ff4f338f23dcca
BLAKE2b-256 e732371e05b07eb05526d49e660519e9ff723564e2eda0f5774e423eb7d1c8d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.3-cp33-cp33m-win_amd64.whl
Algorithm Hash digest
SHA256 48367bccbcde0a81d5d9668fe6fc98245c61ed17f1e4c680d4ac36d611389d11
MD5 2e8aafb7c9b096dd30c6fab9eed7566c
BLAKE2b-256 e42e89259dfccb9e00432432a1f88b28ac7ff1af06f0fb00ce61a7216abd7e76

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.3-cp33-cp33m-win32.whl
Algorithm Hash digest
SHA256 b37184a0d104edb07a1b625ea0ceec6cb713b7c9c7d46b5be859e48950da8d37
MD5 4b1ec77c9ae6c0f2411902f5b122f2b7
BLAKE2b-256 228ef15b54bcabdf159f8a2f21b25de567ab93858ab1a73a32db36dc4adc98c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.3-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 eb189964ef6668bf06e95995b87e5b036ceb6b12eb2d44a0005328a1ae8455ea
MD5 5467accbba3b6a0c721f1113d1480fac
BLAKE2b-256 85f9006a05b471e393a771d2f438eb72f574f65300ed60b35611932e56075b37

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.3-cp27-cp27mu-manylinux1_i686.whl
Algorithm Hash digest
SHA256 77cca22964e3858ddbb018de6a47734efc6478935edffe3c4ea105fab1165f39
MD5 243046e547aba3178a48817cafc0288b
BLAKE2b-256 868349ae5e170542102a6e7811bc96f9ca0b3952e306fc4a27c5a887013cbeb4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.3-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 052926732eb9879b2a598344a7533ebf6f56796c7eb0b142838057e806e1cfc9
MD5 9cf021ff8d1b2f46e119f18ea0a34189
BLAKE2b-256 8803614d86b713bbdf345a41e4942ebc0fc9f3a2ae35957bc7b972eb4e5480d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.3-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 2e4a78b8e276d728bda86c3d25e169bcdcc3a61d66de531a752f1e0a1440ff10
MD5 dac3543c3be8e003c5c3d6a76d154a78
BLAKE2b-256 c0b7957bb1b0bc6e4a8fc2dacc18047a5f3f71d5bc9e41f6ee4101b8aa6beac5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.3-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 666c549ede7b187f1ceeb2d5cbea364398d6107776e48d71468982b9152631e5
MD5 680389dbfd588cf9954783687a896a5d
BLAKE2b-256 21ab219356f933d84289de73d3cc2d4ee453ab1c793fb6b9fe0b49a1b56de6ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.3-cp27-cp27m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 e5a845454ca3be418d88bcae30ee559d6c74a97f3eb8c94f151d5b69a81d4e97
MD5 39ef49d70efec67b57f25df773f06ba9
BLAKE2b-256 2c6279ec5a84058bb020b02da32ba1fa576c75d1c56d54012b075c30538109da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.3-cp27-cp27m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 257260fe2801746a3b804e38bee9bcaa8be3963f12df31135cffab1ebcaa0134
MD5 f404ee48ac70979c47ff41dd30b91c92
BLAKE2b-256 ae33fe7d28e0523377bbcc48685a2364eed57f3df6677870dcfc0b2773b845fe

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