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

Uploaded Source

Built Distributions

pycryptodome-3.6.0-cp36-cp36m-win_amd64.whl (7.5 MB view details)

Uploaded CPython 3.6mWindows x86-64

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

Uploaded CPython 3.6mWindows x86

pycryptodome-3.6.0-cp36-cp36m-manylinux1_x86_64.whl (7.0 MB view details)

Uploaded CPython 3.6m

pycryptodome-3.6.0-cp36-cp36m-manylinux1_i686.whl (7.0 MB view details)

Uploaded CPython 3.6m

pycryptodome-3.6.0-cp36-cp36m-macosx_10_6_intel.whl (6.9 MB view details)

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

pycryptodome-3.6.0-cp35-cp35m-win_amd64.whl (7.5 MB view details)

Uploaded CPython 3.5mWindows x86-64

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

Uploaded CPython 3.5mWindows x86

pycryptodome-3.6.0-cp35-cp35m-manylinux1_x86_64.whl (7.0 MB view details)

Uploaded CPython 3.5m

pycryptodome-3.6.0-cp35-cp35m-manylinux1_i686.whl (7.0 MB view details)

Uploaded CPython 3.5m

pycryptodome-3.6.0-cp35-cp35m-macosx_10_6_intel.whl (6.9 MB view details)

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

pycryptodome-3.6.0-cp34-cp34m-win_amd64.whl (7.4 MB view details)

Uploaded CPython 3.4mWindows x86-64

pycryptodome-3.6.0-cp34-cp34m-win32.whl (7.4 MB view details)

Uploaded CPython 3.4mWindows x86

pycryptodome-3.6.0-cp34-cp34m-manylinux1_x86_64.whl (7.0 MB view details)

Uploaded CPython 3.4m

pycryptodome-3.6.0-cp34-cp34m-manylinux1_i686.whl (7.0 MB view details)

Uploaded CPython 3.4m

pycryptodome-3.6.0-cp34-cp34m-macosx_10_6_intel.whl (6.9 MB view details)

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

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

Uploaded CPython 3.3mWindows x86-64

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

Uploaded CPython 3.3mWindows x86

pycryptodome-3.6.0-cp33-cp33m-manylinux1_x86_64.whl (7.0 MB view details)

Uploaded CPython 3.3m

pycryptodome-3.6.0-cp33-cp33m-manylinux1_i686.whl (7.0 MB view details)

Uploaded CPython 3.3m

pycryptodome-3.6.0-cp27-cp27mu-manylinux1_x86_64.whl (7.0 MB view details)

Uploaded CPython 2.7mu

pycryptodome-3.6.0-cp27-cp27mu-manylinux1_i686.whl (7.0 MB view details)

Uploaded CPython 2.7mu

pycryptodome-3.6.0-cp27-cp27m-win_amd64.whl (7.4 MB view details)

Uploaded CPython 2.7mWindows x86-64

pycryptodome-3.6.0-cp27-cp27m-win32.whl (7.4 MB view details)

Uploaded CPython 2.7mWindows x86

pycryptodome-3.6.0-cp27-cp27m-manylinux1_x86_64.whl (7.0 MB view details)

Uploaded CPython 2.7m

pycryptodome-3.6.0-cp27-cp27m-manylinux1_i686.whl (7.0 MB view details)

Uploaded CPython 2.7m

pycryptodome-3.6.0-cp27-cp27m-macosx_10_6_intel.whl (6.9 MB view details)

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

File details

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

File metadata

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

File hashes

Hashes for pycryptodome-3.6.0.tar.gz
Algorithm Hash digest
SHA256 c06398137f95539468f46197b46bbb193c1e07d51852ca194b1142f88a38c8be
MD5 28feef0737dcb33be7a498ef300d3659
BLAKE2b-256 e475035fe0cb481ea379e85d04251aca7c504788cfff6aa35c020466447bbf59

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 052c53809b04417de9a444e40d45b8b22806a39862460174c205a5d52acb2dd0
MD5 f3a9aba59c46529602b44f7521231bff
BLAKE2b-256 1e6fef658f4a144500202327a3627f4d19782201f0e20370abdf109b8d69832b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.0-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 f9cf995f1c4a1017829e54bed27105f61c14ccbe8d5d46b339d7f8d0a6bca7e2
MD5 5b9e430e0f5b72cf1e65d3b45331c3cf
BLAKE2b-256 d436f1ee2186188284091dce81dc64941d455f004c99c7617b14a4cc6e0f323f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 e0160c6de1af0434dae0b06a94d708a91468e18003ed2ec21194d8be496df8c2
MD5 900632aca3bb8719bc3312aec9dbccc8
BLAKE2b-256 95249ec13408356c5ed75a48b9c14aad82b770947f9fcf4a6cbddbd50df06d55

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.0-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 9e40639b3b414eb592ee96d773a950a33e0aae32f705fa30cbca6a6bc0ededec
MD5 5183bfa16c22795527f940ee1630d5f5
BLAKE2b-256 03553c01a8a8ffb01669c5cbb7390e0676d71c8794850c7b08a9b6ed04c5aa9c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.0-cp36-cp36m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 da21737decc83d3523873b70add82afe4b0403809ff489a27acbfac652772562
MD5 79800a82787df2dc9745e213b0c51b43
BLAKE2b-256 99412921144a833de61a5e096ee9ad4c15d15e40f8e7996961d223a9f8bf2298

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.0-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 4b5d1ea8a88898af2c92ff2c113206f8fec04209f0461cc831d6f38d859d5e21
MD5 cc97b3b3ca4836bd72db57115ce0109c
BLAKE2b-256 7fd70da9c0ca083cba1253a7e459822e9b6d96e1be7e985ec66e3c23a802d417

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.0-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 12f77043303fd538ae78781bd1bad5db2483b86867a7833b78ae96f7c3d1d0de
MD5 a1e36499c9d317ee611f19ee74684b0b
BLAKE2b-256 cae9acf94c1de48ca101fef9061204669c20f51934874f22a6da95f1a7c34e58

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.0-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 c90b59e61395467384b3ced7bc1f42951ca68a9684152ea3c7d9d75467ecbdd3
MD5 fc2c629303acd7287ac26e8748283f6d
BLAKE2b-256 0ce1f0650ba78a913b8d1271cf24d4e0e47e1a7e32cccdaa1dfccdfa18c226e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.0-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 c95723af7fe6875805e43347a445d7bcd67ce0d51a87dfb848b02fd67a8ffc00
MD5 71aa916749cba6e678e8e55c495f7990
BLAKE2b-256 d0f09f4fa0e786891eee6d2ffb0d19313a4a81db98b6ef2be4a33c48eba2e6b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.0-cp35-cp35m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 018d4d2adbd807d3336f49872aa9f019dedfeae54d4787400e091f85254fda0a
MD5 d63e92f07aa074f8f73b496c9d10fba9
BLAKE2b-256 905a18dfa00eb8a6d10e95e3f5aef34f80c97cc0f8b70e07f191e2e1eebd8e6f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.0-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 41293e0ec848757505493cc476685d73f498ab08042ec1f97c33d59831f370b8
MD5 0fea4a3e3d4e3d15f48adcec20001c82
BLAKE2b-256 e7438d66f1d03f26904954965df08d88258ec00cace2218779db227f66143e79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.0-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 c430bcac1e6d460615d389375608d03e930f0ef9957733bc07d40e4f0219e199
MD5 a0b126dd8fe04c097cedb2a861f643c2
BLAKE2b-256 2d0421ba13b8652961a3a1b5e6ca5457da5294543a3e1cb2fac6525af65b5c5b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.0-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 f12d7b50faebb269c2f5e5fe9e5c7b1c2d8b98e0f75ce28fc3dbf26bd1f11cf7
MD5 bd6fc2cb89363c9dd04c3d7034247596
BLAKE2b-256 119ecf088e496786024eb8cbe2334f27765cee363f6068e02f0986948dc96504

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.0-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 eb2f9275399e8f890099ccc7920158e7bd5315375fa18eec0d8d3ce36b14ed69
MD5 04a026ddc235f1ab98713a8eb594081f
BLAKE2b-256 54b7f1bfc0b22a12c9f6c3ec022f795784b38642e574bc212a59182248d0c62f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.0-cp34-cp34m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 412a6d0ee0bafe7d221f6988e7de845518d98f84e69871e8a9df15c1424e2800
MD5 a39e150c41d07f23b28a1d844dd3d31c
BLAKE2b-256 1774a9388205ec480284c853c0217bd5f4b9ee35321554a645efb604577a95c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.0-cp33-cp33m-win_amd64.whl
Algorithm Hash digest
SHA256 a024ac99ce8dec9d78ce82cffb5bc91f09bfa5690c93acb8c94383911a0fb71a
MD5 180a58ac95cd602675f3e59ac325d476
BLAKE2b-256 e77916327c4e0265df603664d19641c38df3c4c95f16b85e60fdc61e694f67b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.0-cp33-cp33m-win32.whl
Algorithm Hash digest
SHA256 dd53f5bfc3f0660cb4ece3577bf6a4866bf331209b5e018473802c0bb84e0ab1
MD5 6f5cac46c3623e0fab667684e86d0368
BLAKE2b-256 f70bafe4f7a338e9b22fb73e73c9ac193c11440b54cd28e2cb29661aa5eaea8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.0-cp33-cp33m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 37dfac96a70d4b6f61da218f3322a77730f767af874ac06da06a2a52d36b174a
MD5 a6bb5483b208fbea867eba466cc5cae8
BLAKE2b-256 19414570b5338ed206ea3cb8112cf6dedab738763d0490037357114fbdcd49fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.0-cp33-cp33m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 f87f2e4e8320011a5c2d80dd2833c7e24969e3e06a069123e3c73cc1c9ac3fe2
MD5 591afe45f1c93f1bdbcef869d3490464
BLAKE2b-256 73f92daa9dce454f0c9c5434894261dba5ab426089b5116f5749d0abb930c6e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.0-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 74c32a359cc1a9bfeb46e2ba6ffb35038c72eecb6622743ca7ae919a530e5a5d
MD5 3c3341a04078ff09513f1ebf301fa09c
BLAKE2b-256 2e041e337b2c28c6e9d9f7d82234e9707d37939448d8c5166031499e00e8176d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.0-cp27-cp27mu-manylinux1_i686.whl
Algorithm Hash digest
SHA256 67027449ee1b2abf873639b61a7f373c99a3f03c3b795bca858b57e114ec379a
MD5 feaf88294f695ea30e81b5d056946263
BLAKE2b-256 994492da447d44f3234a2aaa7ec6cf70fee72c610c8e34d57360b2d7c4d48061

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.0-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 06845706ef2b3f29825dac74692bf3378e7947a170effd2073f8f940d222aa50
MD5 8d2d0d7d96a93e2976cf48ef65a9f830
BLAKE2b-256 4b84d17fb3abea7e4ac9233ff8f44d6069dc7d7fe88af1d0a1fd8241aa191911

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.0-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 32fe94b940cba54a0dd6e0f7b758b07334b9c02970748a7704f43d6d3e2b6525
MD5 2b8372f56bb4d4a507ddc35845dfbd7b
BLAKE2b-256 957420469442877d0a5c0bf24673cdeea6957253cfdfd064528979f1b64ab4d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.0-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 fd0bdefde4c11c10db2b1b5f7296cf6570b2c283be6f88c3d6fa2b24847b9e9d
MD5 ebbe0941760e9c74db423fe29df6ed86
BLAKE2b-256 3d492a50fa3d97cba8f2b258d3f3fc254d5806590b149683fbcbf6f33ce97e37

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.0-cp27-cp27m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 c340a9f2a77f98e43235e745e679ab361487a7df7b27087d4b2ab491563b0576
MD5 6962d3fd35fe9b7e523b9289b0614f45
BLAKE2b-256 86668241b37d03db7b16c7272779ad50ffd4622c4a2018e1b2cfde2fa83855f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.6.0-cp27-cp27m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 1f8907222af96df5b17c1342d460bc508dda6a403162b1126ae649c2dd7df218
MD5 d000a86a5cae59eb4bbc100eafe7f894
BLAKE2b-256 7629d16a3e7e433819b64c4d7c3b817ca6c13480b27211a334a144553830ce3a

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