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

Uploaded Source

Built Distributions

pycryptodome-3.6.4-cp37-cp37m-win_amd64.whl (7.8 MB view details)

Uploaded CPython 3.7mWindows x86-64

pycryptodome-3.6.4-cp37-cp37m-win32.whl (7.8 MB view details)

Uploaded CPython 3.7mWindows x86

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

Uploaded CPython 3.7m

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

Uploaded CPython 3.7m

pycryptodome-3.6.4-cp37-cp37m-macosx_10_6_intel.whl (7.3 MB view details)

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

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

Uploaded CPython 3.6mWindows x86-64

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

Uploaded CPython 3.6mWindows x86

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

Uploaded CPython 3.6m

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

Uploaded CPython 3.6m

pycryptodome-3.6.4-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.4-cp35-cp35m-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.5mWindows x86-64

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

Uploaded CPython 3.5mWindows x86

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

Uploaded CPython 3.5m

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

Uploaded CPython 3.5m

pycryptodome-3.6.4-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.4-cp34-cp34m-win_amd64.whl (7.8 MB view details)

Uploaded CPython 3.4mWindows x86-64

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

Uploaded CPython 3.4mWindows x86

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

Uploaded CPython 3.4m

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

Uploaded CPython 3.4m

pycryptodome-3.6.4-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.4-cp33-cp33m-win_amd64.whl (7.8 MB view details)

Uploaded CPython 3.3mWindows x86-64

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

Uploaded CPython 3.3mWindows x86

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

Uploaded CPython 2.7mu

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

Uploaded CPython 2.7mu

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

Uploaded CPython 2.7mWindows x86-64

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

Uploaded CPython 2.7mWindows x86

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

Uploaded CPython 2.7m

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

Uploaded CPython 2.7m

pycryptodome-3.6.4-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.4.tar.gz.

File metadata

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

File hashes

Hashes for pycryptodome-3.6.4.tar.gz
Algorithm Hash digest
SHA256 9c7790ffd291c81b934fe0ca8155a67235d33f70d4914bbf7467a447d9dbcb09
MD5 deb69d5533a882331a3f14ffd4aa3787
BLAKE2b-256 9615a2a2aa89f57a17075579fcd296a0fcff98640776666a4371d33f7f613bb9

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.4-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 3c3ddad19994247a1c00e8e30c3da00820627ecedc4aee5865967f84bad6f958
MD5 d2079cca39377f9f7ab4f7ee54d19a75
BLAKE2b-256 d9ede86eee912d61decfed803ae2845765f1869858dbb9104f37770417f37566

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.4-cp37-cp37m-win32.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 7180dc3c3e002af1fb44bc7265a2aba4a318b0b00850d66cb935f90032529753
MD5 5221c3d7380566dd4cbdc8c22c4c1299
BLAKE2b-256 a862cbc8e06e20c24ae4b2319ae64217a7f6c3395ef3b525e8eaacff239653c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 3f9caa51b039cd010eff75bf5dbc8dd995c8b45b6e4e8e54f5161960dbd8e9e3
MD5 381d6768d7260f02e51a7549d7e85276
BLAKE2b-256 e824efb31323f664d5c95cd91ee70ab4fd33bdd3fa166da20d1a93d6fe9bc537

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 d1569e5e0d79730b60a0c08120b3a84ce5ecd8461c1c8b76ebde49b423296066
MD5 7842b3a98b9d95369645112bb156181c
BLAKE2b-256 b5ebe0fa44f1f53255ea934fb3c93cd331df7112e68e69f0f6674cf856fc4f5a

See more details on using hashes here.

File details

Details for the file pycryptodome-3.6.4-cp37-cp37m-macosx_10_6_intel.whl.

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp37-cp37m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 c41c2167292f4bea115c9a566728ecdc05b8a6b0788c734a32c1fc9425b2bc69
MD5 262b61e1451b507a588f7cca86b0021e
BLAKE2b-256 b312769171ae003ff0a7cdb81d924d8bc913cd2311dad88d48b14a918855a13a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 eda82b564990e1d58e6c0d6646581aaf5b50567b05130efe71f3c6be0e11bf38
MD5 b47694821308d28351329a08513a18a2
BLAKE2b-256 6a45851be2583091d48541fbbe20935bea649eb680a83238236514015921f132

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 81a98457740c7eb6c9d90d1f8e84264b3446bbda9019f561e86f0972be30feb8
MD5 8149de9e968de1e73b8eff456b62eaf1
BLAKE2b-256 dc7983df6dab2cc3d2a53c527d02ab0ca0419da875cde5ebb01902e00d6086cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 b64da7a09ee9edb912b61e88282dbe2a8f10bbc2a58f33eef755b4b3274521b0
MD5 fd165cb6519ea501528b18a6b849be4f
BLAKE2b-256 f337ee6b25ef78a5c4399ef2a23d60404be897e13568d9c8999c282b61e3d14e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 edfee1d19a7865add83463e92c6a7810e824ae9a10c9abb95b1763263f7e247c
MD5 eee34d7f55630e6e7fb698b6618358d4
BLAKE2b-256 611e80ad85e2a986877e3fdfc6a8efd7078cf1db0369c895091f6c66b6cee401

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp36-cp36m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 743c38d6331dfb9e672397306dfaad4b0524afa8ff1d07271ff50d6da70566e0
MD5 764e43cdffa03d9fde086acfb4d1d173
BLAKE2b-256 076c9f8fc7529efe2ed7f27b3728e21de28a67c60ee61efa71f157460ebab0c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 b064cc2bd8058b810b6bae240eaa6334af45094a46a6443e956e6a59097f5703
MD5 e677d2b8086c4e4a3e26cf05136840ec
BLAKE2b-256 44bfd56bb1fb88f7790b9acb00439235b43c72e5ab650c32f7e443e62aab938a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 9906d10968e96bc98dd043380b982373baa6d1233f901d6b83fe604a1314c61c
MD5 168f7caf0d1b9e962be8c5746f05429e
BLAKE2b-256 9e0084bb55db81f1e5e61b9d795cdb22f0bc59c1db2d5e3c1788e941672b33be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 6245567a6ff07eb518d3ec7bbe4a33cf2b4de9a50083a906b199488359d754c4
MD5 15e005f33dfa109152eb33fb0e811338
BLAKE2b-256 bf60520c09d88138bdef60a4d8911d3375521b3c30f41c57fce73a51a01b9318

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 b69303ad2c3beca33d872dc8c1a73e83cc8733233d3454a1266f09d6e0cea9ff
MD5 46dd494eca5df41834a48d6460902a9b
BLAKE2b-256 f7f6b6c9536a6dba7fce14e3f9a1fbd4bcf434da7829ea69c6be486409ca4123

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp35-cp35m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 a8acea6e8301176c5f58aee3c915958ea15523b67e3a9159929e3699608ec11a
MD5 9f3965e71f77688e00da6633bb98ffc0
BLAKE2b-256 bd29d78bccc6f5a59081f6e9f554f20f058649bdf1d764213a7b5de854b6fa87

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 87f990b915e794e4a7526703696f03adfe99cbf72523c0eb40a06453e6f21ddb
MD5 a36f631c0672a91aaf4e5be4a4a24c3f
BLAKE2b-256 62df5db001bd4c4bbf7665a43ba1539d07468d745862a6020056bf4280ab6df1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 2ed336bdd7bc1f227eb06964531933bfed6470012608bfc5eb6aaf6ddffe6137
MD5 66193df19b0cbb6f7d6f3b91cc5750c7
BLAKE2b-256 ac554c658c2540441cae6a0c68dafaff0501c895ef4addb2e09bcaa6a44f0d2c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 6211dd4025496441d5b61cdf4d3aa70b7db0413c87ffd79d9ad1e0ddf0634bba
MD5 ee0242db8b5c24504a31da4ee2d90f4f
BLAKE2b-256 8a3d839db7c2d6e5713bf992a66bdad4127f3cf405db0048aa1613f49e33bb5b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 010d6ec31de6416db7136f1b56ca85363e2980986a5d7dd0c18797e4a3a54184
MD5 8902625fa98acaf576a127b8db179d33
BLAKE2b-256 3c329609296cb370ae7fe949eb2bd069cff4a1caa1f8e2039a38b9042d05c7b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp34-cp34m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 416ea498d5fea189ceaef3cf9526939b5fdc7d06c8a42f47d5bb7938b74bdb07
MD5 ee48877a42511927c60d0217a41a9ce3
BLAKE2b-256 feb2a7d05e5d294d2bb0b10e092140f66e46ea5cc7f292da1e7cef8f621f4103

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp33-cp33m-win_amd64.whl
Algorithm Hash digest
SHA256 6feea8a031701919983929e4a9c2ee36469d050cc7fd77bf86f364b0f9a961e7
MD5 a77b2e9f347b506ffa8ce632341a3a5a
BLAKE2b-256 4113fdab805660abe7960ac27abc9ab89f188c24f387ac8103ac68463fe28e62

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp33-cp33m-win32.whl
Algorithm Hash digest
SHA256 aabdcc2a42c05614bd9b46d475237226e5127e352cae41a339f864cc8ec6f8c9
MD5 7dd3e5ce28d54d6ab010611ba73a36fc
BLAKE2b-256 d8128fb59de8e9880e1cf786c8630a9e807d31e235f44537ec49012987aeea64

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 62af7c01cbf67de60937c98073767cea65c470103a4775b46d5ab09924d49bab
MD5 51a80b503b7bea7af8cd3dcaa94693ca
BLAKE2b-256 ac535e5fe0ea26dbdc8db667301438d58d38e6be5a7c3f787ef3a3c1426bd8d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp27-cp27mu-manylinux1_i686.whl
Algorithm Hash digest
SHA256 659432b58f5eaba280ecd139fe8394d369585224a1edfa7920a0f7c77bf9f8dc
MD5 7c5be226c7b7c2a6f93f1ee3383e7908
BLAKE2b-256 f0e0558f592ddd07d30da60bd9603da4464c5e80cff2ae37943ef6e132cbf686

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 264b3754f61f338cc4cfd6c9e00f5f8778fce73e20a37f4551ed0fa7fa1a5f25
MD5 8b100f3772a9316e8377d2f180c7e2c9
BLAKE2b-256 206cace6648bb69e31522b7f0095a8472916b0f3af358cf79d8368e6768a72de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 ea2b9f7edd1ac89d8445a1800f52b2e506e3b9d643b95a44f53fb8f59cf167fd
MD5 ae9246d0a8c98cc8a943eb585118a397
BLAKE2b-256 fc92e2f7243376a9957fbb5b7704c20a1d9508fb1a0bfe2c35ba79115ceb95b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 b3ee89825098c6f36bac7d4a41fb8a699a3922ac8c309b94cf433f77b6bc19fa
MD5 ab09c688c4eec3879fb9af06d435ebbd
BLAKE2b-256 1d4f60b5bb34888dffdb0fc8db6740b5a037bf039570a37b8f5173ee24a33f32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp27-cp27m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 98972d57dd9e7582ae608fedbd1d5ea0a60e58d586ad3a257bd091941498af6c
MD5 0889239d64faaec5fde1da54c58971ad
BLAKE2b-256 8afaf1a6c8b8189e4724b2b7c9e44023bc4e17596db427cc9616f63a3ecc8c59

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.4-cp27-cp27m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 53ffdd13fce5155bbd52f82738794ed8ae2ea9619c31931ed6061618e218c738
MD5 6dbe1b7cdf227ea6f6601092a8cd475b
BLAKE2b-256 7f8eb494bc3b62151ce5ce917d6cc9e2e745e452f408804f4e17953a19ed92ee

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