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.7, Python 3.5 and newer, 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-curves; Ed25519, Ed448)

  • 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 and EdDSA

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

Uploaded Source

Built Distributions

pycryptodome-3.16.0-pp37-pypy37_pp73-win_amd64.whl (1.7 MB view details)

Uploaded PyPyWindows x86-64

pycryptodome-3.16.0-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.6 MB view details)

Uploaded PyPymanylinux: glibc 2.12+ x86-64manylinux: glibc 2.5+ x86-64

pycryptodome-3.16.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl (1.7 MB view details)

Uploaded PyPymanylinux: glibc 2.12+ i686manylinux: glibc 2.5+ i686

pycryptodome-3.16.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (1.5 MB view details)

Uploaded PyPymacOS 10.9+ x86-64

pycryptodome-3.16.0-pp27-pypy_73-win32.whl (1.7 MB view details)

Uploaded PyPyWindows x86

pycryptodome-3.16.0-pp27-pypy_73-manylinux2010_x86_64.whl (1.6 MB view details)

Uploaded PyPymanylinux: glibc 2.12+ x86-64

pycryptodome-3.16.0-pp27-pypy_73-macosx_10_9_x86_64.whl (1.5 MB view details)

Uploaded PyPymacOS 10.9+ x86-64

pycryptodome-3.16.0-cp35-abi3-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.5+Windows x86-64

pycryptodome-3.16.0-cp35-abi3-win32.whl (1.7 MB view details)

Uploaded CPython 3.5+Windows x86

pycryptodome-3.16.0-cp35-abi3-musllinux_1_1_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.5+musllinux: musl 1.1+ x86-64

pycryptodome-3.16.0-cp35-abi3-musllinux_1_1_i686.whl (2.2 MB view details)

Uploaded CPython 3.5+musllinux: musl 1.1+ i686

pycryptodome-3.16.0-cp35-abi3-musllinux_1_1_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.5+musllinux: musl 1.1+ ARM64

pycryptodome-3.16.0-cp35-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.5+manylinux: glibc 2.12+ x86-64manylinux: glibc 2.5+ x86-64

pycryptodome-3.16.0-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl (2.4 MB view details)

Uploaded CPython 3.5+manylinux: glibc 2.12+ i686manylinux: glibc 2.5+ i686

pycryptodome-3.16.0-cp35-abi3-manylinux2014_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.5+

pycryptodome-3.16.0-cp35-abi3-macosx_10_9_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.5+macOS 10.9+ x86-64

pycryptodome-3.16.0-cp27-cp27mu-manylinux2014_aarch64.whl (2.1 MB view details)

Uploaded CPython 2.7mu

pycryptodome-3.16.0-cp27-cp27mu-manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded CPython 2.7mumanylinux: glibc 2.12+ x86-64

pycryptodome-3.16.0-cp27-cp27mu-manylinux2010_i686.whl (2.4 MB view details)

Uploaded CPython 2.7mumanylinux: glibc 2.12+ i686

pycryptodome-3.16.0-cp27-cp27m-win_amd64.whl (1.7 MB view details)

Uploaded CPython 2.7mWindows x86-64

pycryptodome-3.16.0-cp27-cp27m-win32.whl (1.7 MB view details)

Uploaded CPython 2.7mWindows x86

pycryptodome-3.16.0-cp27-cp27m-manylinux2014_aarch64.whl (2.1 MB view details)

Uploaded CPython 2.7m

pycryptodome-3.16.0-cp27-cp27m-manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded CPython 2.7mmanylinux: glibc 2.12+ x86-64

pycryptodome-3.16.0-cp27-cp27m-manylinux2010_i686.whl (2.4 MB view details)

Uploaded CPython 2.7mmanylinux: glibc 2.12+ i686

pycryptodome-3.16.0-cp27-cp27m-macosx_10_9_x86_64.whl (1.6 MB view details)

Uploaded CPython 2.7mmacOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: pycryptodome-3.16.0.tar.gz
  • Upload date:
  • Size: 4.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 CPython/3.10.8

File hashes

Hashes for pycryptodome-3.16.0.tar.gz
Algorithm Hash digest
SHA256 0e45d2d852a66ecfb904f090c3f87dc0dfb89a499570abad8590f10d9cffb350
MD5 e11ed8c51a05c1c43c47ae4319c0e603
BLAKE2b-256 0d665e4a14e91ffeac819e6888037771286bc1b86869f25d74d60bc4a61d2c1e

See more details on using hashes here.

File details

Details for the file pycryptodome-3.16.0-pp37-pypy37_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.16.0-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 c82e3bc1e70dde153b0956bffe20a15715a1fe3e00bc23e88d6973eda4505944
MD5 0c76625208a1305125a82de2b69e507f
BLAKE2b-256 485b71c37fcb8599f4b71ea673bfb708c9faf7305e88edb40fec28dbb3fe20bc

See more details on using hashes here.

File details

Details for the file pycryptodome-3.16.0-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.16.0-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 48d99869d58f3979d72f6fa0c50f48d16f14973bc4a3adb0ce3b8325fdd7e223
MD5 d28bee0fe19f88c1233f224513b20c63
BLAKE2b-256 4d7355a84fedc758597da55d321b684520fa4f1816b71e7732b89a137a69863c

See more details on using hashes here.

File details

Details for the file pycryptodome-3.16.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for pycryptodome-3.16.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 d1daec4d31bb00918e4e178297ac6ca6f86ec4c851ba584770533ece554d29e2
MD5 a946492ebfa38063968b8d01c51a3843
BLAKE2b-256 8de76467bcaabc18777b6e946f4cbab39988137fac965015ebb833428f5ec025

See more details on using hashes here.

File details

Details for the file pycryptodome-3.16.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.16.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 95069fd9e2813668a2713a1efcc65cc26d2c7e741401ac46628f1ec957511f1b
MD5 52ea2e634f4d73af244c9a8cae66fe9d
BLAKE2b-256 10b1143a914e6466be669fc8c141d4ba5024e9b4d9f21d9e7da81c269230217a

See more details on using hashes here.

File details

Details for the file pycryptodome-3.16.0-pp27-pypy_73-win32.whl.

File metadata

File hashes

Hashes for pycryptodome-3.16.0-pp27-pypy_73-win32.whl
Algorithm Hash digest
SHA256 63165fbdc247450017eb9ef04cfe15cb3a72ca48ffcc3a3b75b08c0340bf3647
MD5 89c0a565da8d82b4f7b31885fc552a54
BLAKE2b-256 3eae7de86f6b52d6870851a283f30985683b0424dd503dd327f1300bd9907ced

See more details on using hashes here.

File details

Details for the file pycryptodome-3.16.0-pp27-pypy_73-manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.16.0-pp27-pypy_73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 54d807314c66785c69cd25425933d4bd4c23547a593cdcf49d962fa3e0081336
MD5 3501dbe86a996f5c78482b42c2f4f9ab
BLAKE2b-256 8212300c64d85d3f2c78d01e5eff22c2411d165ed3835017ccba9f220cb2e463

See more details on using hashes here.

File details

Details for the file pycryptodome-3.16.0-pp27-pypy_73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.16.0-pp27-pypy_73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 265bfcbbf20d58e6871ce695a7a08aac9b41a0553060d9c05363abd6f3391bdd
MD5 0522c9d5ff6376f82ee5f33c97b41820
BLAKE2b-256 df1df8851160b1e3dfbbf7f9de30195cd9a93b7a4de2e0b9a39450a4ba49d8de

See more details on using hashes here.

File details

Details for the file pycryptodome-3.16.0-cp35-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.16.0-cp35-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 13b3e610a2f8938c61a90b20625069ab7a77ccea20d65a9a0f926cc0cc1314b1
MD5 715b100fff3049c780d58c27c88f25f4
BLAKE2b-256 bcf7df2eca2ca9cd609bc3ac4c0d3ed68bb01b28c0c906831b0626575eaa68d4

See more details on using hashes here.

File details

Details for the file pycryptodome-3.16.0-cp35-abi3-win32.whl.

File metadata

  • Download URL: pycryptodome-3.16.0-cp35-abi3-win32.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.5+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 CPython/3.10.8

File hashes

Hashes for pycryptodome-3.16.0-cp35-abi3-win32.whl
Algorithm Hash digest
SHA256 1047ac2b9847ae84ea454e6e20db7dcb755a81c1b1631a879213d2b0ad835ff2
MD5 9933ac2b5d1cb52d8869ae2e7bd9065d
BLAKE2b-256 a7f3492e3f27c89841ec4ba66001ded72f44cacea399ca2e0b9565ae0676f477

See more details on using hashes here.

File details

Details for the file pycryptodome-3.16.0-cp35-abi3-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.16.0-cp35-abi3-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 6016269bb56caf0327f6d42e7bad1247e08b78407446dff562240c65f85d5a5e
MD5 5f166489808f3c5c3240be926fb6990a
BLAKE2b-256 cc6e87f121ee4a0c3e4261c7ab06ddfc96ba4825d1fa777b6144cb38f644e2a1

See more details on using hashes here.

File details

Details for the file pycryptodome-3.16.0-cp35-abi3-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pycryptodome-3.16.0-cp35-abi3-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 856ebf822d08d754af62c22e2b93626509a72773214f92db1551e2b68d9e2a1b
MD5 ff2084defa9974dcf5cfd7d41f3224c0
BLAKE2b-256 32979ed3d306d1ebc73be7f948a25628803da1af651a31df391d6f61ecf600f8

See more details on using hashes here.

File details

Details for the file pycryptodome-3.16.0-cp35-abi3-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.16.0-cp35-abi3-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 47c71a0347847b747ba1349767b16cde049bc36f21654eb09cc82306ef5fdcf8
MD5 ef0d0bc92a1f1cf315d6fad2758a108e
BLAKE2b-256 30d59de00491de712a31d8724d8f8c12bbcb60e26a8e810c2ff8ac306f04f6df

See more details on using hashes here.

File details

Details for the file pycryptodome-3.16.0-cp35-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.16.0-cp35-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 e750a21d8a265b1f9bfb1a28822995ea33511ba7db5e2b55f41fb30781d0d073
MD5 41c189d49ee1d816d726f3a6bbdc0f31
BLAKE2b-256 7971ced0ee573f4c0ff7832306fe79dea782f0dd058145ad1a5f443eefd2ccb3

See more details on using hashes here.

File details

Details for the file pycryptodome-3.16.0-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for pycryptodome-3.16.0-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 d67a2d2fe344953e4572a7d30668cceb516b04287b8638170d562065e53ee2e0
MD5 c9fdd7e6b90e7c3902fbfda886740cd0
BLAKE2b-256 3e88aa01eff759e2e3c71900c06d40bde77a79974c2397744611b3a66d31c30d

See more details on using hashes here.

File details

Details for the file pycryptodome-3.16.0-cp35-abi3-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.16.0-cp35-abi3-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 69adf32522b75968e1cbf25b5d83e87c04cd9a55610ce1e4a19012e58e7e4023
MD5 a9e094c4e9cff1f7a02bcfd7f49f960d
BLAKE2b-256 839cc2446a368edaa1d2828a0b89247f850ed8fc44074b4958dd478c59d25217

See more details on using hashes here.

File details

Details for the file pycryptodome-3.16.0-cp35-abi3-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.16.0-cp35-abi3-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b12a88566a98617b1a34b4e5a805dff2da98d83fc74262aff3c3d724d0f525d6
MD5 4d51e7c2fcd2f94259a9240d108a16f1
BLAKE2b-256 3d33c305d6153c9598b65d33a98246ab774413de70245e4189d2889b7a0ae86d

See more details on using hashes here.

File details

Details for the file pycryptodome-3.16.0-cp27-cp27mu-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.16.0-cp27-cp27mu-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2bf2a270906a02b7b255e1a0d7b3aea4f06b3983c51ddec1673c380e0dff5b30
MD5 60d6c273b139b3a58fa19fe3f33b021f
BLAKE2b-256 03cee7551f97fc007b191c2c882505510f3ab82365462d52430706946c018def

See more details on using hashes here.

File details

Details for the file pycryptodome-3.16.0-cp27-cp27mu-manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.16.0-cp27-cp27mu-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 5df582f2112dd72331de7e567837e136a9629181a8ab69ef8949e4bc294a0b99
MD5 6294bc9509ceef8709f2d5c98ebae959
BLAKE2b-256 01af58c0afa501dafc4c4235fedc436e2b0a5d1b59f09e79e606a91743a83b14

See more details on using hashes here.

File details

Details for the file pycryptodome-3.16.0-cp27-cp27mu-manylinux2010_i686.whl.

File metadata

File hashes

Hashes for pycryptodome-3.16.0-cp27-cp27mu-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 1fc16c80a5da8231fd1f953a7b8dfeb415f68120248e8d68383c5c2c4b18708c
MD5 52e62afae656d0cdaa373dcacf83780d
BLAKE2b-256 9169118e6378e32c1af13322513d43ba844187082346dfaf8a7d971594af1177

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.16.0-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 c69e19afc734b2a17b9d78b7bcb544aabd5a52ff628e14283b6e9404d27d0517
MD5 5878edf08b95599fc58c4d52b9905a5f
BLAKE2b-256 ccf16deb5bf61bbc2d1b08b822d7ab7bc129bf6f2d8ead7ad3c8817a5285dd0a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pycryptodome-3.16.0-cp27-cp27m-win32.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 2.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 CPython/3.10.8

File hashes

Hashes for pycryptodome-3.16.0-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 4d950ed2a887905b3fa709b86be5a163e26e1b174703ed59d34eb6832f213222
MD5 9b83c2907c6d99a754d9366cc2545c97
BLAKE2b-256 fd2b5dacc0caeeea7b1cad57f183cf992509745001de94b816ad4298beb76bb1

See more details on using hashes here.

File details

Details for the file pycryptodome-3.16.0-cp27-cp27m-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.16.0-cp27-cp27m-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 58172080cbfaee724067a3c017add6a1a3cc167bbc8478dc5f2e5f45fa658763
MD5 c0e96fab11e2a31da4eb7ebebff9ebb7
BLAKE2b-256 fe5e552e2a0a2268d7dd457965a56c859ec111122de886018106f9bfd90d6a1c

See more details on using hashes here.

File details

Details for the file pycryptodome-3.16.0-cp27-cp27m-manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.16.0-cp27-cp27m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 0198fe96c22f7bc31e7a7c27a26b2cec5af3cf6075d577295f4850856c77af32
MD5 afd9f1b705e2f6f45ff1a68dff213aa3
BLAKE2b-256 c065eb53ebf5dc58a77b3c413508d3e385c189e1e2c3ea5fb7f58f404455630b

See more details on using hashes here.

File details

Details for the file pycryptodome-3.16.0-cp27-cp27m-manylinux2010_i686.whl.

File metadata

File hashes

Hashes for pycryptodome-3.16.0-cp27-cp27m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 dab9359cc295160ba96738ba4912c675181c84bfdf413e5c0621cf00b7deeeaa
MD5 59cef6876d6b0718c665bc4e4188a3bd
BLAKE2b-256 b96e99ff604582474b9396ab7be7ef2924dd875051f14211906007c841c2309e

See more details on using hashes here.

File details

Details for the file pycryptodome-3.16.0-cp27-cp27m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pycryptodome-3.16.0-cp27-cp27m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e061311b02cefb17ea93d4a5eb1ad36dca4792037078b43e15a653a0a4478ead
MD5 387d05f32f1e6832b8e212431325c914
BLAKE2b-256 cb8d20404ba697a249b26b3c3405bdaf4e6c177c6882eeb501d0e1681f0a43b7

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