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.9.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.9-cp36-cp36m-win_amd64.whl (7.3 MB view details)

Uploaded CPython 3.6mWindows x86-64

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

Uploaded CPython 3.6mWindows x86

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

Uploaded CPython 3.6m

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

Uploaded CPython 3.6m

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

Uploaded CPython 3.5mWindows x86-64

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

Uploaded CPython 3.5mWindows x86

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

Uploaded CPython 3.5m

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

Uploaded CPython 3.5m

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

Uploaded CPython 3.4mWindows x86-64

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

Uploaded CPython 3.4mWindows x86

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

Uploaded CPython 3.4m

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

Uploaded CPython 3.4m

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

Uploaded CPython 3.3mWindows x86-64

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

Uploaded CPython 3.3mWindows x86

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

Uploaded CPython 3.3m

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

Uploaded CPython 3.3m

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

Uploaded CPython 2.7mu

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

Uploaded CPython 2.7mu

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

Uploaded CPython 2.7mWindows x86-64

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

Uploaded CPython 2.7mWindows x86

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

Uploaded CPython 2.7m

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

Uploaded CPython 2.7m

File details

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

File metadata

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

File hashes

Hashes for pycryptodomex-3.4.9.tar.gz
Algorithm Hash digest
SHA256 d078b67be76ccafa8b7cc391e87151b80b0ef9bfbeee8a95d286e522cc7537f7
MD5 b086c2faf61b772f079eb6c0ba0dd464
BLAKE2b-256 428f1b9a98076380ec4107aa6a83bed68c51c16e4b54653ed340f6f34f3bf1ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.4.9-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 b6dd0b1e5253846dcd6e80b7792935613e6e6d6b8874fa90d4d039ca5b47984f
MD5 0088504ec7a2984e6b0cd7eda6db3994
BLAKE2b-256 6193234fa42159da01596a10f3b4837477c0c8bddcbc2be656a31dde482b9a6c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.4.9-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 be5acb5d84435bad11940be08a0a3a7ec68ece02ad2f7c26e347249eff1ab934
MD5 ba69ecda1a5fc432543879e06c0dff19
BLAKE2b-256 289d06e72ea47318eb0ae37588e76371818a9df780fbdbc7fe26fa958b7e128e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.4.9-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 749c0da01efc3e9304cd50836d4161145dde6dd747d30213c9b65b4134533682
MD5 ba471d7c1b143e418a7e898d752a47ce
BLAKE2b-256 9fb627039d7369830accfc79a23ddf9708b1e01407627740d835f95132587ea0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.4.9-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 d3d39718b5724d669ef434da2bdfbde6b80eaa5a51e4e11dd08e9dd715c4122d
MD5 03f2bb3a4a7f6e405517a447f9a47b4e
BLAKE2b-256 b4d2bc756a4a9a42b204191bee84594716d220179fcec20e5060d9e188e05520

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.4.9-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 e58bf67a9f3df5c4bc57b3216a01771d07750bcbb2b69e0ef269ace67ad1aa90
MD5 a6c91c6d0992d9e6d6a82d295f9778d0
BLAKE2b-256 861f7e1f4ddb0b34e3544b33440fe040a621ed829b034ec7375164469b693d9f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.4.9-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 2eecdc4d0aa864061a71b69fcd815eb11ecb7b29a79d3e754882576112377522
MD5 73cfcf51da393793380244f283d58314
BLAKE2b-256 f2455a2e867ac95213c71631e54697b868ac8bd097ad20e44b78bf2bdca4fd46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.4.9-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 0504af3911db08c76310232578b10e06028958eca72b36b0c2cbed63f0a8584d
MD5 f8f10864636f8ce62c3a7187aa934865
BLAKE2b-256 356429f8c1184fffb5d18ed6e786e6195a6a6dfb72c276fa132e585e910c1e91

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.4.9-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 eb1435943ea476959d995ad61b4254c25f2046a471a65edd2a442e1645879913
MD5 0ea10f2878bbab91a75df1e6d1e936ad
BLAKE2b-256 cdc1f1dba2f276f0b744817886419791c319706164aa33ac56666b17c80379a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.4.9-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 b0b3a9208811cef240c99f833def4261025c261654ae354181a58aff902e69b3
MD5 bfa0168e9b57024b2b9134bfb426b797
BLAKE2b-256 b740ec3baf12654a7b21d0b69ddefcc427868abbb5d9adc10110d177293fbbe6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.4.9-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 48f182143fe5f372ae136a37a926b5220d616aeaec21f576be030f37fad63e04
MD5 45de2a339faafc8c58698112a46e14c0
BLAKE2b-256 79f488fb3b24d6de3ab270077dafc367e3872b26b24e6ff0b3b2b70ea288d18f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.4.9-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 9f133f3217b5bea87b38fac48aadbd697965bb328f7c1e3ecda7948c6ac5146a
MD5 ada96c29b6c061903e4e9dd0f10c4b46
BLAKE2b-256 80dc1554672b44ff788c5652d77533050af0ac6fb469ba63895c2fab9964f87f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.4.9-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 1b2fa8f5e36ba3ea1e9a7b405367e346a9a6ed916d54828529b3571c8540fce0
MD5 474cdce8a9ac3ef98713ce3e4677dd02
BLAKE2b-256 3d17b54719253aa97fbfcc13c5c81954b8e9e958c70bebe865f64332b2f249ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.4.9-cp33-cp33m-win_amd64.whl
Algorithm Hash digest
SHA256 def781aa714aca57b101cac7d23bfc7d2be3b297b16ded0fe97d28e0cfdc73e3
MD5 0a7a91c67cd3594d45e8bd6ac667bbd2
BLAKE2b-256 b6040946b463319b2ce9d943c0faf92d23f145d816710ea59690f1642ec53479

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.4.9-cp33-cp33m-win32.whl
Algorithm Hash digest
SHA256 ce44d2d8411499b7d816a5688d470b7465d8971d745537c9053e0af48a976a28
MD5 fee61aef4ff809a387cce601318657f1
BLAKE2b-256 04559e4c9c0bcd0b6c2d4081071975323df0ae5758defe79bc2c5b66a60e06b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.4.9-cp33-cp33m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 d703952c3688de7438f97f5b04f60a38e3348598126b45cb982d557906221c49
MD5 f0a8f2563dd865dcbd1dd54e33051274
BLAKE2b-256 2acde92e8daaa61063f172f0d7734a3a41b80ea39779239c8744609c4dbbc363

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.4.9-cp33-cp33m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 200beb18b251295f656e440843a2d4d2abf55d946f1ee5920c75e4a61fe4d3e2
MD5 3d5498e7458fb3a2468762f143dbc4a5
BLAKE2b-256 ad22adb3f8003a7713cb68edd0c660a1e9f469e8be5186e5e21ab11aad26c221

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.4.9-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 dc29b8ae99cdd9e613665b1a35ab28ff0d5b6cb86ee8791928addb13dd607c50
MD5 5ba623d84a222d55f178590870bf87ff
BLAKE2b-256 970351e27b805b64d577dcfdd58c19dd0d4694d9407857eeca9748f4f614cda7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.4.9-cp27-cp27mu-manylinux1_i686.whl
Algorithm Hash digest
SHA256 adcd5761f0dbfeafce105792cf5ff49b6fdab45f7521bf65cd70163dccde0df9
MD5 7d91619d3e9738e7e52aff7551e8417c
BLAKE2b-256 5125c12cac6344601d53d07ccceb3b9403adeea1437371897cf238fdf3db7bac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.4.9-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 d2b7b09fe7c69fb27c66e4d61659b759283f835c4744ab2578ac01feb157c805
MD5 91edc41488c208d739bd238b8f818cae
BLAKE2b-256 b1f6d6b4844a3d82ff61f9b992883cf2653399ca1f2f0febcca73e88f771804a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.4.9-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 5aab64e452043c9195fbf692c2409acf618c7dd8bfeb7ca5c0121b7cce31e6ed
MD5 03cab1ef1a74a619191586365f7e114f
BLAKE2b-256 3d56c880f082588498c5b1a12da73cc6ff03700ba895bb23f827fa06a178b897

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.4.9-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 7bd4f4541faf5a7e0e74c590b46d7cbb50afab5a68a4ca0a3c08976fffc8f45f
MD5 2f23400199f26ae3bc887a780e18a179
BLAKE2b-256 9aaf04ad16d19905058bb821dd3df227a6762d943fd0fbb145995e281a0e46b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodomex-3.4.9-cp27-cp27m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 bb1e342836754bcd787a4cfddeef3672f46cac8560177bca48a26fe794b23bf8
MD5 d8a1f60715a417b8e387660f726ace91
BLAKE2b-256 6554183d13c53ad75a41bae7c063a032789000a928d94d89358624d222c8b733

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