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 pycryptodomex

All modules are installed under the Cryptodome package.

Check the pycryptodome project for the equivalent library that works under the Crypto 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

pycryptodomex-3.4.8.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.

pycryptodomex-3.4.8-cp36-cp36m-win_amd64.whl (7.3 MB view details)

Uploaded CPython 3.6mWindows x86-64

pycryptodomex-3.4.8-cp36-cp36m-win32.whl (7.3 MB view details)

Uploaded CPython 3.6mWindows x86

pycryptodomex-3.4.8-cp36-cp36m-manylinux1_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.6m

pycryptodomex-3.4.8-cp36-cp36m-manylinux1_i686.whl (6.8 MB view details)

Uploaded CPython 3.6m

pycryptodomex-3.4.8-cp35-cp35m-win_amd64.whl (7.4 MB view details)

Uploaded CPython 3.5mWindows x86-64

pycryptodomex-3.4.8-cp35-cp35m-win32.whl (7.3 MB view details)

Uploaded CPython 3.5mWindows x86

pycryptodomex-3.4.8-cp35-cp35m-manylinux1_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.5m

pycryptodomex-3.4.8-cp35-cp35m-manylinux1_i686.whl (6.8 MB view details)

Uploaded CPython 3.5m

pycryptodomex-3.4.8-cp34-cp34m-win_amd64.whl (7.3 MB view details)

Uploaded CPython 3.4mWindows x86-64

pycryptodomex-3.4.8-cp34-cp34m-win32.whl (7.3 MB view details)

Uploaded CPython 3.4mWindows x86

pycryptodomex-3.4.8-cp34-cp34m-manylinux1_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.4m

pycryptodomex-3.4.8-cp34-cp34m-manylinux1_i686.whl (6.8 MB view details)

Uploaded CPython 3.4m

pycryptodomex-3.4.8-cp33-cp33m-win_amd64.whl (7.3 MB view details)

Uploaded CPython 3.3mWindows x86-64

pycryptodomex-3.4.8-cp33-cp33m-win32.whl (7.3 MB view details)

Uploaded CPython 3.3mWindows x86

pycryptodomex-3.4.8-cp33-cp33m-manylinux1_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.3m

pycryptodomex-3.4.8-cp33-cp33m-manylinux1_i686.whl (6.8 MB view details)

Uploaded CPython 3.3m

pycryptodomex-3.4.8-cp27-cp27mu-manylinux1_x86_64.whl (6.8 MB view details)

Uploaded CPython 2.7mu

pycryptodomex-3.4.8-cp27-cp27mu-manylinux1_i686.whl (6.8 MB view details)

Uploaded CPython 2.7mu

pycryptodomex-3.4.8-cp27-cp27m-win_amd64.whl (7.3 MB view details)

Uploaded CPython 2.7mWindows x86-64

pycryptodomex-3.4.8-cp27-cp27m-win32.whl (7.3 MB view details)

Uploaded CPython 2.7mWindows x86

pycryptodomex-3.4.8-cp27-cp27m-manylinux1_x86_64.whl (6.8 MB view details)

Uploaded CPython 2.7m

pycryptodomex-3.4.8-cp27-cp27m-manylinux1_i686.whl (6.8 MB view details)

Uploaded CPython 2.7m

File details

Details for the file pycryptodomex-3.4.8.tar.gz.

File metadata

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

File hashes

Hashes for pycryptodomex-3.4.8.tar.gz
Algorithm Hash digest
SHA256 087fb5eda372bb16ecfd097a2b329601988e473da7df8032f14d3ca798abdefa
MD5 0f27c44d7b88f6f9cae5f479cc29c8f3
BLAKE2b-256 0c314f8bc240b75af722f890ad84e5a60abea4106cc95cf4928440f197783755

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.8-cp36-cp36m-win_amd64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.8-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 30406ce86f9f43a869d88b2b978d53d1ea9b3e1964c6647e56c2e98bd0641102
MD5 b23ea8c7d8285d186cce83a292d722e8
BLAKE2b-256 802c6142e75e9be8c2c8e2b5f364d9c64a1449a04c6ddc7b295d3a58fd5ac5d2

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.8-cp36-cp36m-win32.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.8-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 fcfa57a367c2b7f43bc56416eed167f6db730279ba8e0e5b87a8da6a32a99ee3
MD5 f4b1b24eec33376b69eef786a35a0cbd
BLAKE2b-256 1c914074d001ab0ec261d3817fa85a75a21fe564e1b6ed313d933e47cce586ef

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.8-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.8-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 0ee097cc9138cae698eb4f7da6cb160824ca80d4a187dc4d8bb7dd1ae2bc6536
MD5 38fe81e8637ea1ff3eefc40ad758ad36
BLAKE2b-256 9f35e2eedaf7ffbe831d49102f4c6428d91f1e9b345db1a562bdac272ff25876

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.8-cp36-cp36m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.8-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 e5695f56016a4db1bc9e4169db100476f61fd63752a7984440ea7bff524713fe
MD5 63c1e5603056103cd9a44b3e5f256f54
BLAKE2b-256 8042d7b65ff1d588a4cee86728014b629776ce2b04ba58108ced53eda08089da

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.8-cp35-cp35m-win_amd64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.8-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 81c388792b3536d972622e769239d75bbef937bc0e31bdb3eee3e99e3aa22a88
MD5 1088dd7e697151f045b287354f7b3585
BLAKE2b-256 9bf1ee0e3db72012b3ccd1104d3dc6bba2856babbc7862e4b14fe2e1a4b2d920

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.8-cp35-cp35m-win32.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.8-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 e1df5af996e8d9c0dec0019c3b9e5ff9af0b469e165860ecc80344357f4e2163
MD5 38ad2ef98b24c0b87cebc93f455af7a8
BLAKE2b-256 edb23a04329a3609d10d6a5824932737689ab4b2a02b627e866b0b1bca875698

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.8-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.8-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 f92a7953dfb3ca24efffad3f400f90053dd1d3c89fa830795b03741f40ccf6de
MD5 319aa14a77ee0f6a26544ace4d891e35
BLAKE2b-256 850ecbfa8827879da9deeaab0564b1f69cc1457478dbe1994c49bb0797b4b696

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.8-cp35-cp35m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.8-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 770c0439a11b34239312c5fd8d6cf93eaa576ec92e96b4c12d6cdfc131acfaef
MD5 3a56ec83672ee0e33d1c1740114fa3b4
BLAKE2b-256 686254b71231f50864c53427c4878ba911d4bf4347e6ddae986d8e5cdda6721b

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.8-cp34-cp34m-win_amd64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.8-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 d18cde14068a80ee1f873a0926c0ebcb5aba2753bea3d9865b73a32beda9e26d
MD5 3204e56d8ec017f9d533230dd0087047
BLAKE2b-256 c4b487585b4f5f326123e641b179906012d65d4ba78c63295ba21d4169e88cc8

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.8-cp34-cp34m-win32.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.8-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 74d69628e149ca088a5200c641fa384dedc81098980f3bcde1dfce8deb1bb57b
MD5 0c10fd63f60dbe147eb3727c05809852
BLAKE2b-256 ce213da6cc48e7f6227fc181bf78219afcdb0031699e41d45637752368f50c3a

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.8-cp34-cp34m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.8-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 30c37d0b703a7c98f019cee6cf6db7cce7a3749ab4e09986722c653f3e8cc97a
MD5 37a339010fc8829ae329a4433095c0a6
BLAKE2b-256 e89f9d5c7a3d52d4a0336b1410a1f2d94e8b920aa66ab7aece7b003051a7231e

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.8-cp34-cp34m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.8-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 19ae411bd86c7ce0a1e022eef3342f373af6d8925ef1b4cee70da11294919fed
MD5 a0713bd427e2ea87cf09a5c4e32b9bbf
BLAKE2b-256 0b51b94c931bed58d47142483665d09577f57ea9907bfd666ed3667385aeab34

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.8-cp33-cp33m-win_amd64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.8-cp33-cp33m-win_amd64.whl
Algorithm Hash digest
SHA256 dd0edcdd53410ea78c7a1a365edaf7faefadd5064bf7db4b4556939a1f9e0e9f
MD5 dd7a099d7b2274b151ca5fa956ea94f9
BLAKE2b-256 14ed9cd1eaa530a9a9fe4dfc884b8988772e9a2e8fb2388a79ae2225f3793f96

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.8-cp33-cp33m-win32.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.8-cp33-cp33m-win32.whl
Algorithm Hash digest
SHA256 00740de9231e6ce222043d3030f62838b1638e7dce7f324c8fd2e350f932373e
MD5 1750876a1f2473d05b300563c610928e
BLAKE2b-256 05fa6e60a4b51d3ba2530646a0e0c5678c24c8c2221a8b7a1f6538caf628508b

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.8-cp33-cp33m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.8-cp33-cp33m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 0a530d7dee11cca52f961537c883a2f0fe65b80f446cd5b57e76b2d073950ce1
MD5 0877ab24917b5c73c578e55aff9e580a
BLAKE2b-256 ad86db41936dd4cd1db19431cd07ef125018db68bf450eb37aaa0f5a416426de

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.8-cp33-cp33m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.8-cp33-cp33m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 4194466840f0440247b26166e82c43bbab11194b69254c05658e4961069e34f4
MD5 81fcf326c481ea692a9b22fd5b144bc2
BLAKE2b-256 818f699301587569f65e36120157390615a1a4b36e0e4e0959f49540c315c92d

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.8-cp27-cp27mu-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.8-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 b3ff4afb9db5d9794aa4a32593b4f9304f13fe80584803ca4caf5cb078d2ded7
MD5 eea73ce4dfee694e0e96829713e5decf
BLAKE2b-256 63c9d2fea1780762a7dc8428f881d6a29e1c2145ba60dd897df7a32ceccb7c34

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.8-cp27-cp27mu-manylinux1_i686.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.8-cp27-cp27mu-manylinux1_i686.whl
Algorithm Hash digest
SHA256 7690d71e1a61d33d3f33f0f9e1f52b72cc6ecb5c87ffd6251e6b3c7937a65abb
MD5 e245f4e91016f8f3ec3a81eb99f9b481
BLAKE2b-256 8e109ffe40cce3fe613abf22ed018c092c984e3746eafbd5393e6032ccd3a959

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.8-cp27-cp27m-win_amd64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.8-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 b284acce82a183e38dc7ebc492abcfa83fbf98b8378d35cdea1a099eeab23b25
MD5 bfd5a2ca8c015d366be9c403c8751cf2
BLAKE2b-256 7e6559429235f7675513b0ce65faf6cb51ffae892bea34193924c88726e754a8

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.8-cp27-cp27m-win32.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.8-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 6771dfefd84f126e0b3997d29666d97de5399c24a28c51a03feee3c9df667e51
MD5 a9a84ccf1e1ea248f86c4ecf9507eada
BLAKE2b-256 af01e50758133a04d5f21af40c6bea09399b66ce516cd05dcbcb3e0526cc56d4

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.8-cp27-cp27m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.8-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 074a0c420c441868a5da2d7167d2d84716f399d68b14a8e6b1067c502c5f710e
MD5 e7ade6b7a4043a5398e1ff850b8a82c9
BLAKE2b-256 dbdf531dc1f08fce39f8fac1d628e0538e0a1ce7b5ac42249e51fec215416e69

See more details on using hashes here.

File details

Details for the file pycryptodomex-3.4.8-cp27-cp27m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for pycryptodomex-3.4.8-cp27-cp27m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 d1754a233be83dca8999a8c3f742c53c6e37988a0d09e70d44ca5570806ee2a0
MD5 2b570f2720cb9d64c3f9601517ab8645
BLAKE2b-256 2a3aca4287abcc3b46eeb0fa600be2ab2cd96d10a38c2bc89a898e7fdf93d6b4

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