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

Uploaded Source

Built Distributions

pycryptodome-3.5.1-cp36-cp36m-win_amd64.whl (7.4 MB view details)

Uploaded CPython 3.6mWindows x86-64

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

Uploaded CPython 3.6mWindows x86

pycryptodome-3.5.1-cp36-cp36m-manylinux1_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.6m

pycryptodome-3.5.1-cp36-cp36m-manylinux1_i686.whl (6.9 MB view details)

Uploaded CPython 3.6m

pycryptodome-3.5.1-cp35-cp35m-win_amd64.whl (7.4 MB view details)

Uploaded CPython 3.5mWindows x86-64

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

Uploaded CPython 3.5mWindows x86

pycryptodome-3.5.1-cp35-cp35m-manylinux1_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.5m

pycryptodome-3.5.1-cp35-cp35m-manylinux1_i686.whl (6.9 MB view details)

Uploaded CPython 3.5m

pycryptodome-3.5.1-cp34-cp34m-win_amd64.whl (7.3 MB view details)

Uploaded CPython 3.4mWindows x86-64

pycryptodome-3.5.1-cp34-cp34m-win32.whl (7.3 MB view details)

Uploaded CPython 3.4mWindows x86

pycryptodome-3.5.1-cp34-cp34m-manylinux1_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.4m

pycryptodome-3.5.1-cp34-cp34m-manylinux1_i686.whl (6.9 MB view details)

Uploaded CPython 3.4m

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

Uploaded CPython 3.3mWindows x86-64

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

Uploaded CPython 3.3mWindows x86

pycryptodome-3.5.1-cp33-cp33m-manylinux1_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.3m

pycryptodome-3.5.1-cp33-cp33m-manylinux1_i686.whl (6.9 MB view details)

Uploaded CPython 3.3m

pycryptodome-3.5.1-cp27-cp27mu-manylinux1_x86_64.whl (6.9 MB view details)

Uploaded CPython 2.7mu

pycryptodome-3.5.1-cp27-cp27mu-manylinux1_i686.whl (6.9 MB view details)

Uploaded CPython 2.7mu

pycryptodome-3.5.1-cp27-cp27m-win_amd64.whl (7.3 MB view details)

Uploaded CPython 2.7mWindows x86-64

pycryptodome-3.5.1-cp27-cp27m-win32.whl (7.3 MB view details)

Uploaded CPython 2.7mWindows x86

pycryptodome-3.5.1-cp27-cp27m-manylinux1_x86_64.whl (6.9 MB view details)

Uploaded CPython 2.7m

pycryptodome-3.5.1-cp27-cp27m-manylinux1_i686.whl (6.9 MB view details)

Uploaded CPython 2.7m

File details

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

File metadata

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

File hashes

Hashes for pycryptodome-3.5.1.tar.gz
Algorithm Hash digest
SHA256 b7957736f5e868416b06ff033f8525e64630c99a8880b531836605190b0cac96
MD5 94148de1f7afa213c75e41ad6809347a
BLAKE2b-256 86d1f1c6b1e4b2dd5e3f2f56f6f3c74ac9893252dbef9ac0e55c8b4538e56db0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 008e0bfc02f8c409fbe31a1dd1ff3aa18b5c109b47a05603ca734506a7b3a8cb
MD5 1287220309955675f86e8c02eb6deebf
BLAKE2b-256 99b302547358e1d77870e5757dc45ace00576eeef2fc8ffec3149b0c03f95164

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.1-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 90c1c08431ccf8d6385b5071e5d3f7ecbf85dbd1cbd45439fe136bc514c73136
MD5 e4381c8d2639c46f0eeddcffa3564654
BLAKE2b-256 28ab0b4982895bbac201c7b6df1369af5cdf702c2391f3aa11f97673ffd41fd9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.1-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 73ea3973983eaa096c6f2857185d9cd1d89586cf69478ff4ddbf6a4df9068d78
MD5 c648ffc4b381707fc3955a250d54b7ed
BLAKE2b-256 d86a32cabc561c5290a328b3a9907289f831954be185ce139d7ff0fbddfe8ce6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.1-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 d6263002baf78f92ed1a5bd1112b695eed3d1b03813a516a1443a5ad41e70d09
MD5 b8d8d95230eda3bc9b31a946acdfcd1b
BLAKE2b-256 0de9191734f2f6513cf653da8d8c068acd8f149e824b24feef36222185fbd8f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.1-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 3f792eb9ff211445712824c30c1f59970f79339bcc4e0b0e2903445d20f99685
MD5 12cad378cd8728f86737c7bcba0fe68e
BLAKE2b-256 a4ed3d2f2631240d38663fab301f7def66961a1bb5fcbc3603a9bc5e12d4e0ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.1-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 78b537993b3baeb1e0f0ae6546cbbf859f71aec5815ff234f8b496fdc8be862d
MD5 6737bd5c87b0c806edfd99c89be03c8b
BLAKE2b-256 f0b41dea85edb8c6b1f6b8e9865583989333635bd9275a9efde5f3e1106db6fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.1-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 215e1d99e389ebe910e5a12c85a1974eba88e2fc23256913e9eff5a34f7361a9
MD5 1c1b484f69a3cf2a2d1378c7790cf219
BLAKE2b-256 a332f3d5b10b45222a1f7b6b5686e3594478b0da036f64febfb2ed22b2ff7c72

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.1-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 9bcf1157ba987081a3a52db3a2f5e358e7cafe3321ed3efa9c4f8d94ca1cf230
MD5 d4c387ca2462dfcea12004d4e28396c9
BLAKE2b-256 b0cdf474aa4db27dd928a9f102f3b5cab46bbd84378b47caeb9e29840e166482

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.1-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 d76e04b988dadb4893f68ca1ff189ae37c4766cbd3cbed39d764e63bf2d2874f
MD5 dfd18013af6fddeae0fd67069cbf6b08
BLAKE2b-256 1470ac803e51f4955d6dc280955f52246b0ce45c73036bf718434887b6609137

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.1-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 684045e3b34d646b3888cb334a051ff11f9e393482fed95e9914d155a592348c
MD5 1cc40060b5e118fb3487395feff40a09
BLAKE2b-256 5f61eb21a6bec65a9580a1b07ea3c31317a7385d3778b53599abd6425a883e80

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.1-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 bb2c04525ababc2e74e09250e2a13ff01153ce49b2418be88d75d7656673e98e
MD5 45934c9cdf642f0be047fd00291f0ab8
BLAKE2b-256 6bada78149ec48a0427562f438fbb6f0264ab801c96894ed91a3d95210e2cb76

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.1-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 02ad39528c6e856acfc04af7b86106b58806b56b067548be7213016510f44142
MD5 32ee71240150b5c5f954dfabb487d940
BLAKE2b-256 859136e462df55356ca360f96ce84038d25d52e352cedf59e7493bd664a37bd6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.1-cp33-cp33m-win_amd64.whl
Algorithm Hash digest
SHA256 cfa669956db31bfc5aad26dc1625b218e3f0200f4b52f1f36985488d86a55d93
MD5 f5cc786e428d48d8eb2b472b258ad08c
BLAKE2b-256 cc28d8b7c4ce47b7ddd7e1bbd69cc690c850adda0db7d68dc709945bb6187169

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.1-cp33-cp33m-win32.whl
Algorithm Hash digest
SHA256 a14521d67f082f76dea5d63affa70923ef6228151d56d2e8320baaabb31b0488
MD5 f3d3b9923c5ec1967f5775a3b95c3c21
BLAKE2b-256 221d3d34cf6debc320cc9343136575e3947a76962002728eaf6e4e2767428efe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.1-cp33-cp33m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 8c7c50269092127d19db4004c4bd5814daa158428947d2074ef94dc2c4c363e3
MD5 dbe3d0a7eb21d7a4a198d0fceaaa59de
BLAKE2b-256 3d9ac1087b3902120a4b875addfc3e2c6dc3341bf7df79eecf516ab68a7370c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.1-cp33-cp33m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 ae8a135010e73b9be3a058177fc2bea5a0210ef06f4ec98a08096f4f95f01eb7
MD5 82e0096f40fcf5546362aeec6912d7fc
BLAKE2b-256 357f94d8bfa0034cde284b3694188aff3175247e759359fba540f27dbb9c22cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.1-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 6881f7c099e64600eaf5baabec6a83db24db695f00d64f472fd583736f652bee
MD5 8801998c1b6bc03a9789fda5b830b002
BLAKE2b-256 19919842cf68dd318b88ed384991fc2ec2756069b3e6c7d05a2eb32283172906

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.1-cp27-cp27mu-manylinux1_i686.whl
Algorithm Hash digest
SHA256 c0ea075b462ddd2135002ed9df72925e08629e750b9f37c21a2076602fab23a8
MD5 8963d40b9481927b7875eba002cba065
BLAKE2b-256 d76c61d0d792f261a04fbe494f2b548a202afbbec66e120cb76926bf732f8bf7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.1-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 74bcd74b580f486f67ea71b9f86aa405cf2a454ddddc3ec03d8274c2f9cb6949
MD5 956a25f14c78d201455a955707c2ad2e
BLAKE2b-256 acd0215486663eea9d91684add8becfe0eed979b0129541738c0cf41fa25894a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.1-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 eb3b3608764a0203d3f8b74ee2566d6bcda53c8afc2d70596f2ee5031e049f04
MD5 b97d986b4dcdb47908b1501727f62cb2
BLAKE2b-256 f4ede50cc7f493b1db589b8bf884711ac0d629df8e1d2b12d4c05afd28702f2a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.1-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 08b0af4035b036d3fa051148e1d44ab8e4260e87daca2c34e29fd1ba883a890b
MD5 9df8f1d081813159b4e81cf174312825
BLAKE2b-256 3e9f9f6c644a6a35f204c7bb6e3f97c5a91fb5b9c81425fe3d0b42e1ae3cc0b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.5.1-cp27-cp27m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 fd2ca8126841cee1bedc1d8e1bb5e9bfe3f0624f9858b580f8bd4309421c2b27
MD5 8c28ee69e9126e1c915a0cc489443e14
BLAKE2b-256 fa79a3b27b3d39b7dd7d922c9161c336a098de92f341c2c3caa90ea5198cef81

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