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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.6m Windows x86-64

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

Uploaded CPython 3.6m Windows x86

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

Uploaded CPython 3.5m Windows x86-64

pycryptodome-3.4.7-cp35-cp35m-win32.whl (7.5 MB view details)

Uploaded CPython 3.5m Windows x86

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

Uploaded CPython 3.4m Windows x86-64

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

Uploaded CPython 3.4m Windows x86

pycryptodome-3.4.7-cp33-cp33m-win_amd64.whl (7.5 MB view details)

Uploaded CPython 3.3m Windows x86-64

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

Uploaded CPython 3.3m Windows x86

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

Uploaded CPython 2.7m Windows x86-64

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

Uploaded CPython 2.7m Windows x86

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.7.tar.gz
Algorithm Hash digest
SHA256 18d8dfe31bf0cb53d58694903e526be68f3cf48e6e3c6dfbbc1e7042b1693af7
MD5 8744863c7d5980ae3f81c2e288701a61
BLAKE2b-256 2b9baaa940ab8affd66eed043d69332dc607cddd68f9e399d93dcdfc8149fb21

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.7-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 ec560e62258358afd7a1a3d34c8860fdf478e28c0999173f2d5c618fd2fd60d3
MD5 57dfb105d2b4afb168c29702f53846cd
BLAKE2b-256 9999bc0fc7510f2271507b41ab660854d571e79290d72dda2fe44a976e6f41a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.7-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 f7befe2249df41e012a3d8079ab3c7089be21969591eb77b21767fa24557a7b7
MD5 490f3f3a76d5cd3b9c9066b697b19b38
BLAKE2b-256 df517f299c4850eca28583fda90621f412f1c9f98f1548e2f6e46c622ca5c8fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.7-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 15ced95a00b55bb2fc22f3dddde1c8d6f270089f35c3af0e07306bc2ba1e1c4e
MD5 33135141ce9d02aac238502f983bfc1b
BLAKE2b-256 de56b5ab954af6f625ff6d1656bc378b34303de18e5dfbf77b9ef5ec5e9ea69d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.7-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 a9e3e3e9ab0241b0303206656a74d5cd6bd00fcad6f9ffd0ba6b8e35072f74d7
MD5 9fcc294ab57252c083b121f6a959b135
BLAKE2b-256 7dc5dbed94e42cb74610689fa77585302b0dd243fc47252418088fb05768fb32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.7-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 8851b1e1d85e4fb981048c8a8a8431839103f43ea3c35f1b46bae2e41699f439
MD5 683f2750d7fb84369481f1c840e5ed6f
BLAKE2b-256 4ff039f2373c14e0fcb7ea403c0f16e4551cb7c5399b143cdd93f44f3f46d476

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.7-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 f0196124f83221f9c5e06a68e247019466395d35d92d4ce4482c835f75302851
MD5 a3d18e460257a0508647bfdd03d29875
BLAKE2b-256 19c9df4878151d94ba2f56d35e998cb3d218d10a25eb9b7e53dd2ea12581af46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.7-cp33-cp33m-win_amd64.whl
Algorithm Hash digest
SHA256 6f64d8b63034fd9289bae4cb48aa8f7049f6b8db702c7af50cb3718821d28147
MD5 db30c659da9e03f152a0e9f7ddc2213c
BLAKE2b-256 27168847e3fa22e4df2b8c8c9d3d622ac4759f7e67106f5d7855fc52535889fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.7-cp33-cp33m-win32.whl
Algorithm Hash digest
SHA256 8440a35ccd52f0eab0f4ece284bd13a587d86d79bd404d8914f81eda74a66de1
MD5 f50142ac63232f7e46e671e061d5712c
BLAKE2b-256 bc3da1edd22a5975695bfe045e0d9347f618c0560dc1ce679ae3efe3f25f8d0d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.7-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 9fc97cd0f6eeec59af736b3df81e5811d836fa646b89a4325672dcaf997250b3
MD5 f20bb847322baf7ae24700e5cbb15e07
BLAKE2b-256 bde8ea44ba5357a0b4fd16e5fb60c355fc8722eae31b93d7597eec50f7c35a52

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.7-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 2174fa555916b5ae8bcc7747ecfe2a4d5943b42c9dcf4878e269baaae264e85d
MD5 78b341de1cd686077745cd9e3a93d8d3
BLAKE2b-256 f6aebbc6a204f33d9d57c798fb3857a072cd14b836792244eea4b446fdb674c6

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