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

Uploaded Source

Built Distributions

pycryptodome-3.4.9-cp36-cp36m-win_amd64.whl (7.3 MB view details)

Uploaded CPython 3.6mWindows x86-64

pycryptodome-3.4.9-cp36-cp36m-win32.whl (7.3 MB view details)

Uploaded CPython 3.6mWindows x86

pycryptodome-3.4.9-cp36-cp36m-manylinux1_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.6m

pycryptodome-3.4.9-cp36-cp36m-manylinux1_i686.whl (6.8 MB view details)

Uploaded CPython 3.6m

pycryptodome-3.4.9-cp35-cp35m-win_amd64.whl (7.3 MB view details)

Uploaded CPython 3.5mWindows x86-64

pycryptodome-3.4.9-cp35-cp35m-win32.whl (7.3 MB view details)

Uploaded CPython 3.5mWindows x86

pycryptodome-3.4.9-cp35-cp35m-manylinux1_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.5m

pycryptodome-3.4.9-cp35-cp35m-manylinux1_i686.whl (6.8 MB view details)

Uploaded CPython 3.5m

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

Uploaded CPython 3.4mWindows x86-64

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

Uploaded CPython 3.4mWindows x86

pycryptodome-3.4.9-cp34-cp34m-manylinux1_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.4m

pycryptodome-3.4.9-cp34-cp34m-manylinux1_i686.whl (6.8 MB view details)

Uploaded CPython 3.4m

pycryptodome-3.4.9-cp33-cp33m-win_amd64.whl (7.3 MB view details)

Uploaded CPython 3.3mWindows x86-64

pycryptodome-3.4.9-cp33-cp33m-win32.whl (7.3 MB view details)

Uploaded CPython 3.3mWindows x86

pycryptodome-3.4.9-cp33-cp33m-manylinux1_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.3m

pycryptodome-3.4.9-cp33-cp33m-manylinux1_i686.whl (6.8 MB view details)

Uploaded CPython 3.3m

pycryptodome-3.4.9-cp27-cp27mu-manylinux1_x86_64.whl (6.8 MB view details)

Uploaded CPython 2.7mu

pycryptodome-3.4.9-cp27-cp27mu-manylinux1_i686.whl (6.8 MB view details)

Uploaded CPython 2.7mu

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

Uploaded CPython 2.7mWindows x86-64

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

Uploaded CPython 2.7mWindows x86

pycryptodome-3.4.9-cp27-cp27m-manylinux1_x86_64.whl (6.8 MB view details)

Uploaded CPython 2.7m

pycryptodome-3.4.9-cp27-cp27m-manylinux1_i686.whl (6.8 MB view details)

Uploaded CPython 2.7m

File details

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

File metadata

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

File hashes

Hashes for pycryptodome-3.4.9.tar.gz
Algorithm Hash digest
SHA256 00cc7767c7bbe91f15a65a1b2ebe7a08002b8ae8221c1dcecc5c5c9ab6f79753
MD5 3bdeaeae918077e6fd5872079645786e
BLAKE2b-256 3270cb07b2b2683afbda1c543a65aeedf6dbc87b41a361d17a3439bf9055dd95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.9-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 3b07e5231f1ad8f5962b195d030425aa9978570d6ccf59c585e50e57a3efae2d
MD5 a37bbc3931d864ee6d8785e3aa12ddaf
BLAKE2b-256 e95ec22eacd62890130302900508dd0591ddfea177e95f55a8679f35006d8884

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.9-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 38af2a480db3cd1b19411b597a022ae478b6c2b1383a857b2af161f800a3dba3
MD5 a067d17b0327709b836621f46de04753
BLAKE2b-256 695a235816d0768e01fc626f70898f86a1bd0dcd052ae6e8be0b24e0d65624a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.9-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 8da80b68e39efc87cf7a135cf86f183abff775779690b6a3dfe1f8640142a9ea
MD5 bdbfc494e743e07423cd82aef7115f1b
BLAKE2b-256 073d7be87324e0f6152fb3730017dc1f3edafe8d11a01e756995d6e8c1f33f3d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.9-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 db3a5dc5dedaaa72a0339e2ff92bd749db13111acf5d2ba4e1492a61110e493e
MD5 9c15eb5f547509935edfafb5c67c3127
BLAKE2b-256 217b9e415f05ff198c99c73e4ead00528779b5b8c3414a1cdc93b9d78ed38075

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.9-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 6340ef775a2ae164e62be4390a8b382307b317a1994bec594d787c4adaada18c
MD5 a0d65996c88e2b65421ad5f7faeaaa2f
BLAKE2b-256 95911c1cbddc4ecb68ba5db32acaf94c2ad3a36f35743f6583a6d147eea02c6e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.9-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 b59778f268acc8c67d71a9f0a182211209e69dba55aedd53315d3a2a34378f96
MD5 c4d89ddba8debf9eeca777eae502e25e
BLAKE2b-256 98025d709d22796da1127e111cd7e61d2d17bc7f70cb8181c4bf04b5f8ac9318

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.9-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 84abcf9d5d36c38ca0b70b6e89fb9e9deb19eb5b18ac865157f118c733fdb495
MD5 0ccaf720a8953bbe7650170a000d3dd3
BLAKE2b-256 98eeb9ae80cdb856dfaaee170475712c57bca031329a577798e718739a6034f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.9-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 fe8ff144f82302021481150d6b86aa8445288faad331fa645a91e65bddc256b4
MD5 5304aa5e84e3380bc7ece3acec768da1
BLAKE2b-256 0fdd6348ed6c50394f1cf504c6630a6e0158ff251ca094212b70e5ccf42b95d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.9-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 2af97d4e3734d449f1cb6be8344f1cdc3e20b7ba08c3223cf0f93ae3ad2850e7
MD5 73ca0e6743728a3987a450818c3ad6d8
BLAKE2b-256 231d1d9c0b3649190f4f27f074e539f6b622dcd8a3f018982d248f6401874b67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.9-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 8e2c3e4bf9a49be16858f81fa6a283c789b489df9d0a57cfac200dd36f1ed4f0
MD5 8e6e769168348ae7071144496ed1e18a
BLAKE2b-256 8b5f2ef2ff10c87617b68d2c448f53101f62e9f93153c0530d52d7be2a4954ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.9-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 7ee95f2d859f6dca2b01ba4e2245e0d102b0c35aff2269a9541dc70421949411
MD5 931fefe4d8e5a8157b3392105bc99bc0
BLAKE2b-256 cdbb2a456ca9e4ab004b4a7b7fda6d01203c5b8ddab8c865cf85e8a08a18f815

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.9-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 3165de346fa68889fb258d85352df6db36c314d9e50f18215abbeb113c91eb3a
MD5 c35ce7a8b924d279172129903dc1752f
BLAKE2b-256 6867ae4707f67e505ffe6c889f263f852c240444d8476824de776033b46b6578

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.9-cp33-cp33m-win_amd64.whl
Algorithm Hash digest
SHA256 b8b8695f442b3cd03ab1114e5765dd79ea334a2ae23ad0dcba47033dd3acb0cf
MD5 90aff9fe777ba4f731e98f1e9723f656
BLAKE2b-256 530048fb18589dc4bcb8c9a830694fb6c3b2bfd5ba22ca2ee7a30d377dbffd59

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.9-cp33-cp33m-win32.whl
Algorithm Hash digest
SHA256 7f8c4d7a2367a8bf3d65564f33ebd8bfcc278b0d5df962579c2546b35d370b25
MD5 00a373fb3a05bc10cd62784a839e3539
BLAKE2b-256 19bf3c6c7369847b1bf3d3b5ceb5ebbaa8169e13bfefec9b0ba1933cb017882b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.9-cp33-cp33m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 84aa0aa39e3f0d948a7f73bb443bc41936d749c6dc105656703845e0cd2410ba
MD5 fddbdf0420b5594270b5f64f49e4a05d
BLAKE2b-256 2f0e3f1c369a9f4de98701c9ee89f9d2266f16fe8af09751dcbc3d466ef91e7b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.9-cp33-cp33m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 2a531312dd3460f25f565d8c24c63b3f02bcd4df7cbd65fc0d215cd44e2bceb0
MD5 04278492f05ce5a19b4c23ee0fb6a4a2
BLAKE2b-256 324ffaec17800395f83c7d3e586bf55886158059b3d9b651fae348a86abe3f1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.9-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 df91961df04856976cf197cee072e17b1e193a32dacf9d97335105a4785f6370
MD5 25d6c61129df42fd3dfbefe9ebd3ab26
BLAKE2b-256 8bda36ca62866d75054849d31e8582ed08e43e814150c35049b4031ac6a518c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.9-cp27-cp27mu-manylinux1_i686.whl
Algorithm Hash digest
SHA256 1ff7fd63dea53cb8032e229c35b1b4f8f4dbb0ad3a410677c2da94113e323b7c
MD5 364d0d67642c579c12e2a98f54130df3
BLAKE2b-256 254783dba865162e7dab0afc3e758a581fd74a4a137209b8e48bf459cc3d22e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.9-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 caff049858f0c6471005b968fafff7824d8deda72eb4a3bc649bd42d05d9d9a9
MD5 458ae266db62282244e2e46213e062d6
BLAKE2b-256 a1245153fdb8904b669b3e617f412ac07bc1f5a617c8a0669af8ca62ddd99fb5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.9-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 5ed92aaf3eeafa84193ef56c0e2726ac8fc6324839214e00868cb7aae15ac819
MD5 cda3ed50193ed71f819b6c4a1efff720
BLAKE2b-256 1d826dedcebaa6fcd608d555b564b4cb0d99f589d68f41b1348031c8e11f9d81

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.9-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 bbd9164c7f319b2df3509ae9c997a84f726a4c728bbf7e33fac68ca31c377a2a
MD5 8badeea00fd0e16bca9cbdda178c9aed
BLAKE2b-256 2031dc1c53fbd70064cdb6dc32cff23b1beb620a7ccc4acb9b56277f8c3b5153

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.9-cp27-cp27m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 a29949dca189e65974cb241a742f35ecafe514a9ac9526c5277b25fc43d46e4a
MD5 0650254dd42ec2f0cdc0e41fe7607fde
BLAKE2b-256 6d7410635947e729d2809cf23906733af83800884eb1c840993a74ace5eab651

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