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.5.0.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.

pycryptodome-3.5.0-cp36-cp36m-win_amd64.whl (7.4 MB view details)

Uploaded CPython 3.6mWindows x86-64

pycryptodome-3.5.0-cp36-cp36m-win32.whl (7.4 MB view details)

Uploaded CPython 3.6mWindows x86

pycryptodome-3.5.0-cp36-cp36m-manylinux1_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.6m

pycryptodome-3.5.0-cp36-cp36m-manylinux1_i686.whl (6.9 MB view details)

Uploaded CPython 3.6m

pycryptodome-3.5.0-cp35-cp35m-win_amd64.whl (7.4 MB view details)

Uploaded CPython 3.5mWindows x86-64

pycryptodome-3.5.0-cp35-cp35m-win32.whl (7.4 MB view details)

Uploaded CPython 3.5mWindows x86

pycryptodome-3.5.0-cp35-cp35m-manylinux1_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.5m

pycryptodome-3.5.0-cp35-cp35m-manylinux1_i686.whl (6.9 MB view details)

Uploaded CPython 3.5m

pycryptodome-3.5.0-cp34-cp34m-win_amd64.whl (7.3 MB view details)

Uploaded CPython 3.4mWindows x86-64

pycryptodome-3.5.0-cp34-cp34m-win32.whl (7.3 MB view details)

Uploaded CPython 3.4mWindows x86

pycryptodome-3.5.0-cp34-cp34m-manylinux1_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.4m

pycryptodome-3.5.0-cp34-cp34m-manylinux1_i686.whl (6.9 MB view details)

Uploaded CPython 3.4m

pycryptodome-3.5.0-cp33-cp33m-win_amd64.whl (7.4 MB view details)

Uploaded CPython 3.3mWindows x86-64

pycryptodome-3.5.0-cp33-cp33m-win32.whl (7.4 MB view details)

Uploaded CPython 3.3mWindows x86

pycryptodome-3.5.0-cp33-cp33m-manylinux1_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.3m

pycryptodome-3.5.0-cp33-cp33m-manylinux1_i686.whl (6.9 MB view details)

Uploaded CPython 3.3m

pycryptodome-3.5.0-cp27-cp27mu-manylinux1_x86_64.whl (6.9 MB view details)

Uploaded CPython 2.7mu

pycryptodome-3.5.0-cp27-cp27mu-manylinux1_i686.whl (6.9 MB view details)

Uploaded CPython 2.7mu

pycryptodome-3.5.0-cp27-cp27m-win_amd64.whl (7.3 MB view details)

Uploaded CPython 2.7mWindows x86-64

pycryptodome-3.5.0-cp27-cp27m-win32.whl (7.3 MB view details)

Uploaded CPython 2.7mWindows x86

pycryptodome-3.5.0-cp27-cp27m-manylinux1_x86_64.whl (6.9 MB view details)

Uploaded CPython 2.7m

pycryptodome-3.5.0-cp27-cp27m-manylinux1_i686.whl (6.9 MB view details)

Uploaded CPython 2.7m

File details

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

File metadata

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

File hashes

Hashes for pycryptodome-3.5.0.tar.gz
Algorithm Hash digest
SHA256 f4de590db1f2c025749578a2714ba9b7ab9a358f910c6a6626b7c362ae9ebdaf
MD5 db85eeee2eca26e9e6e319ec720abf5e
BLAKE2b-256 9e554278df1d2a0a12b905f6ae11235bea13f7e16258311749ee3675f82ca360

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 2b0926d5f696252fc56c2e9ed1cabe4b3a975b033b3818db60283ca02fabdad8
MD5 f197ac9b873c1f3eddbec9557baf74ab
BLAKE2b-256 e42947d1d02d7597f5f9ad8274d6c117b45f6388da367f5a56843ee213333813

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.0-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 c4ccf648e2f5578c1f0e94908ed7ef35ac93d1c981a6c18da920ce4c2ce384e8
MD5 f1ff62e793c1a9df3da45729cfc8f574
BLAKE2b-256 94f3b0a7b24783e9922aea8c7088d595e91d4cc60d2eb51a3707643610462edc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 f2a242124759318e73570f5e9fdf0b5de1fefda9cc235b9df668facb47a0b21e
MD5 11caa6f955da7489aab02155d91a2550
BLAKE2b-256 cc6dad69244da9ba6ed471d9f9015b0249041e3cbb2f49ed7b3599e06b51b756

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.0-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 7dcb04314e7e1cd50a2d92e0332436e335111a4b8456eb74fd54bdd3881f5f28
MD5 49e1ee2560a0a9c1f617303d26183a87
BLAKE2b-256 4d10574b0ad410ae8d3b62f7709b7342f90e1cf2b8bd1161c41b0f40d19dc3ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.0-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 fa46846db3a3428ddbbc21abb04303654016d1292bc64cafb63d504c27164465
MD5 2ed0ada3c47bace097914fbcc9f1fe8a
BLAKE2b-256 35e1e2c4fc96709eb58e98e43d5cc106efd2069e9beb8a058e3e28f23c1f3315

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.0-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 a42ede81763eb23e962e81a243432563d6fd8ca4f006a8970f3ee1b8393e31eb
MD5 a0de89645fba2553b02d63ba3906b5f2
BLAKE2b-256 adc85e5596d1839b3491ba7a63ef7a0c6688305108632c53abd12f660675cbb3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.0-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 cc4b5788a7af2b8502106b2e5307b05eeb55bb21fd601331ae53a0289e56fdcd
MD5 8ddc71835f693dae771a5427f81955df
BLAKE2b-256 eaabd00d7e3c877b06d8fcc67433dc57a469d2e6f5b9b0100137f0ec4029f32d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.0-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 80299e82d0eebe1575b3c78fa004b9109d4f8888f6e78b7c1d652fdae9389185
MD5 b2be6805fcd831fe94891969414938f6
BLAKE2b-256 274c3fce4f6d03176ee378ac5e5806dbf7c6794939887569ba44a444a1731007

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.0-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 6a975e8f379bb2258e187d87267d0edbebe70f1de72da8d901525b262442890c
MD5 a63ecb4ea725749971e4b8ac403dbdda
BLAKE2b-256 fa94320bf93c429226443f7ab269a045cd0f23eb66a8824cc88d89fa23e299d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.0-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 10b0b5247d7c978b9107722272ffc6e097a327d45a4cfa9577528eeff91cec27
MD5 6dfe39d4311809d5fba54b9a259f6b71
BLAKE2b-256 41f45d5a059576d0a147f9de0f48472a8a7d84bfb2379fcdbff6fbcd820ccfc9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.0-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 2ec3f2e84950d796a20869ed013bbb6c4301e65df0f1dd222774a7a35cdca17a
MD5 bce4f74ca2035e7fd9daca02af87bc78
BLAKE2b-256 7eb2ecd54e0654cf10186358dc689f6c94a02da53291401de9da9db3aae061d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.0-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 014d270b170ae4130b0e3605e9ef1a218d3689f600f7b36fa56af317c5ddfcb4
MD5 0acdf13754fe41212f3fbaa2f674e2a6
BLAKE2b-256 734ccb5f5f0a6781d08a943b49ec08fb2044751a4dfbc236d00798c1ec132c4a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.0-cp33-cp33m-win_amd64.whl
Algorithm Hash digest
SHA256 9c3fe2550232204c4b13988e777872c24e95cb91e0b53dc07b96cb5f911c1ad3
MD5 f38154cf7b90b738e98cdc41a68a51e4
BLAKE2b-256 7887224c197f2f6b4fc7490e083c3ca6af4beba3c4cb403a05bed20e3484515b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.0-cp33-cp33m-win32.whl
Algorithm Hash digest
SHA256 7e0743b0aa7562242d597f8473314bd5bd7d95b32c671dd290f66f7e5c6866b5
MD5 7ad3e74ea6437bfe32367f5dd3f05a6b
BLAKE2b-256 e7563cf5f82b08221b91805e5984d4ff3a3676cced047d7b281ea89966ccfc13

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.0-cp33-cp33m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 a13f89b7e1cbcfd8d9a09b33098cc55c090b4f03820d2e96df63c5ffda2ecb55
MD5 eee524369a488b022f25f27e35475087
BLAKE2b-256 dedb2e350eb4beb6a66dafc7e8f3ad3039565a6ca7c8c6f653b0e5bf83a8aa8e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.0-cp33-cp33m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 6b954f6cd21d6d7f2564b135df80ebd41aa288f4d66b69a36d3919e46de81e95
MD5 2adb4552497218730d5c6eb03a5caf9b
BLAKE2b-256 a0b492df6a3772b3e784ad00d0a0ed8ff6a3a3eaba504c6f5590030e5fa0fdb6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.0-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 02ab86165edbe673b73685322cc948e98fc737ea7436aa3aed12f984e2d3ea5e
MD5 0fbebaee315362225355abdea025a026
BLAKE2b-256 2b5d1eab91ecc4451695e43002f15abc062c26cf40af2e9cb4b0f8454c05bf12

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.0-cp27-cp27mu-manylinux1_i686.whl
Algorithm Hash digest
SHA256 c7e919dffd8b3c2963355ba51bf6ba9065fd1eebb7dfa49fde48494a9aa26e63
MD5 92c23f73f80913e1679a6378ff4e8d72
BLAKE2b-256 975e0b2ee7aabdcfb0a65b58edab1040db7d7c0cd944f1cf0107e6d54b04bc70

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.0-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 efe41caf2f260599d813813af01f0094297c93da6e522cfce4c15bf5db36b904
MD5 7266d9558797d04d0fa66de5c186cedc
BLAKE2b-256 1acf2fbe9a0776e8a6b222176f19ecf2ec8ed99da8e07b0bb34e50d6a3dbedc4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.0-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 f58ac5b78ea55fdc9ff382b1412e0d01b9da4a18734dce17f5636a7adfd1d990
MD5 bfd985620021a10fcde9792ed134fdd0
BLAKE2b-256 64795a709026f53ab74b56156b48c1bef93704a014ef0fe82cc801c85318de13

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.0-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 556588cdef04d6495ddd467e71a0abb9a85ff9c0594e9baf0c603c124d77d431
MD5 1f19c12873e7aad834c680790459c698
BLAKE2b-256 f2248fdce93cf9351b1865bf2126d351538880812d217712a8cb323ebbffeb24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.0-cp27-cp27m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 fd4eba1951a92a81d67c6aab8849df7a375e98fd119ad85ad444aaf1379c2037
MD5 3f009c7b803eed462e67f5422d999ee5
BLAKE2b-256 dd609b061f14c01410cc43745a73b670b39a37e536c258990aa65dce2a0a868a

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