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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.6m Windows x86-64

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

Uploaded CPython 3.6m Windows x86

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

Uploaded CPython 3.6m

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

Uploaded CPython 3.6m

pycryptodome-3.4.8-cp35-cp35m-win_amd64.whl (7.3 MB view details)

Uploaded CPython 3.5m Windows x86-64

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

Uploaded CPython 3.5m Windows x86

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

Uploaded CPython 3.5m

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

Uploaded CPython 3.5m

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

Uploaded CPython 3.4m Windows x86-64

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

Uploaded CPython 3.4m Windows x86

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

Uploaded CPython 3.4m

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

Uploaded CPython 3.4m

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

Uploaded CPython 3.3m Windows x86-64

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

Uploaded CPython 3.3m Windows x86

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

Uploaded CPython 3.3m

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

Uploaded CPython 3.3m

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

Uploaded CPython 2.7mu

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

Uploaded CPython 2.7mu

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

Uploaded CPython 2.7m Windows x86-64

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

Uploaded CPython 2.7m Windows x86

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

Uploaded CPython 2.7m

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

Uploaded CPython 2.7m

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.8.tar.gz
Algorithm Hash digest
SHA256 ede7f1f44b0895feb8ddbf882d1a7eb504deb3fa34fcc4860d6065c25cbdf175
MD5 030c40da6377bbc82deef8e884fa22cd
BLAKE2b-256 5e264ad71dbff7e7d5012d8388237e98f23efcf85db8bd4c76325e0da6df023a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.8-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 d2e2ea8fc409656f945422b3b732ff12961308276d3773fe4d10d4c496a712d0
MD5 12a3c29f7483cf07ca7e463ac03d32b0
BLAKE2b-256 522c692fca9be60000b00b2e53810a36363af043526c0e4359f91c55ab9ae9fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.8-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 fc1956aa27a14437bcd7f58a9c5ac6d8d5731f9d136312138b2f48ba8039ada1
MD5 3dda5d39ab24e9b3e01300ac7d534696
BLAKE2b-256 44c394a9feadbaa1dc8587719a7219aea971894432804f3f61c66d6293976187

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.8-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 2c1ca8e134dc812555400e0a993cd4b9c858c968e6819522ae69d7b0ad6437a7
MD5 025242a7cd4284524fa80855147a2024
BLAKE2b-256 78959dd79eb6d1bd6a4adda8690ba2f1ed3f77acfacb616bf5d5ac29f7093e26

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.8-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 fd4f82f4fbbaf401ca1080b22eb2d1f3f77259b9da1d4e46d312c9e9cb18766c
MD5 63dbed1e3ff36a274277dd9f325a8359
BLAKE2b-256 4c85d70d4c786be4992b0845d962d76cda9e3f34f147da2dd43179c12c0cf41b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.8-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 ba2e51987e71edd52f1e3afc82569544e1d9c885a18a1f35ca1b000aa2951ed8
MD5 e7fbfdd325a981fe398ba00b21c94030
BLAKE2b-256 8ce4780ad73cb4716a37d4ea98a48ca71a6da2017b782e9067baff1d70f02e78

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.8-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 08397452b817621f8e1740f08c7b13685226da0085267772547b4ac5f53c9bc2
MD5 85e958eaa18ff76b93f1cdb986de1d88
BLAKE2b-256 12b5534f77983c2fef963738f3a746713cded0002891c48b1c95291aeca822de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.8-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 60de23a82b49fd1fcff57cab04b205e31efe8c1efaa505a05120e86edec2a9ee
MD5 ee741fa9ae01ce9769f227bc8ecf1e99
BLAKE2b-256 923a298444f4bf16a053d95ed1d752dcd4d9e8fde26e0b1edd1c82c52f9ec6c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.8-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 c48734d77c95439ded9ebb96d05b7b1a829af8905dc58e60b5da059e9cbb338b
MD5 032d2712195a2ce99a559c1ceb55d970
BLAKE2b-256 f27447b9de069cbfe730dcb40f3e65265c837a3f53c7aa3041c486a7bc41d9a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.8-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 163ab58febfa9570082106153c48d8fdc58d3249efdcbec0e04140448528bed7
MD5 91dbd9c7598a16985253354a0fce7f60
BLAKE2b-256 7a63395dd0eef5076e9f51e759904cb497fbe0bd977d6d34291ceda29a012c2d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.8-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 f0c59f974fbc9e97c7412a6acb652214a1d8ff19b5fa5c1ba4df4e889c0a8a92
MD5 5f33c8460170cd872671ef60e54e3f06
BLAKE2b-256 59d8e916fdc6a28e037959c6a1681c3a1cab6c89c979f0c1e7605678fd26f4a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.8-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 ddd21b4dcd6b2102ee0c1edf7840b0d0914a7fbe827cc5bca2e82ed77a1430e6
MD5 249ec7efefea85dd4a8ee65122157262
BLAKE2b-256 c170d5af777092dbd722999d64cb5228ab29310d5197bb6ead5c14bef87cca52

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.8-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 61f983f10d2e21e3f5e424fac5aab4ef5e6b68f759bd3b83fe8c839c7d1a9d09
MD5 b45a3b4010d56da1eca9ffbf62578e8a
BLAKE2b-256 25c2f7ecdc849584d5bce7e95887f76864dc8a47fc72b4236c0e37ff88afc852

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.8-cp33-cp33m-win_amd64.whl
Algorithm Hash digest
SHA256 18ce54f358e0405e963544585bc7ba5d8ce414212410c15a95a470aee8c38d4d
MD5 f5e287473484345406671bf24016b59f
BLAKE2b-256 5ab31822116f84f410f351211b532c04e512c89c4458c8571d21ea2cab2bc49b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.8-cp33-cp33m-win32.whl
Algorithm Hash digest
SHA256 b3867e75287e2e76fa982a32e15d1342367217093b4048c155761be2715ec817
MD5 bb9ca2e875dfea76171a1794f437ae90
BLAKE2b-256 d630d02b968cfacf04d4f4b41c524af7daa1689ad787b87d756219d860d2fd32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.8-cp33-cp33m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 66bc74812d825655c330a9d0c564493a9c001c30e8e1cef9037ec925f03d6e9e
MD5 568336fe73f80d4e00c495b0916a1b15
BLAKE2b-256 fa96491ded9139778941986a2a91c13d6181666a67afc26734daa23bfd2277d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.8-cp33-cp33m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 33ea6954a2fcb02e7a377e7e5a5a9fd0ecbe4e5ea7694bcc9288f4414470db69
MD5 93b0bc25509ea9c233a11ec8026fcff8
BLAKE2b-256 2c6bfb48db31b7c61b788c602e53878e1991b6e2d818a1a607f9a95f96da4e65

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.8-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 e089d8619a46212cc191258292a3ffbe0d44b9e5ca21f036a4ca8f2db6b0860a
MD5 2e5dca27353ab0ec34655593e959335d
BLAKE2b-256 189e75e54bde8dd1b95519535f9654bdaefacafaf8f59944dc4b0e8e4bb76e51

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.8-cp27-cp27mu-manylinux1_i686.whl
Algorithm Hash digest
SHA256 9fbca70f31da80834435da3383ab3655c410a582eaea372a90bd001a077d08a9
MD5 f240abd06c9fd6adddc3e07c355f783c
BLAKE2b-256 e65160ffa1e389c3ee99c56164697dca036d24312276ba0c3342e7fdf86a6741

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.8-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 1c89fa30b343a0e93b97db06b23e1b21b3059b1d5b7d799ce22b70bc2feb1102
MD5 f84eb6919f818b412e2640d0ea2a52de
BLAKE2b-256 30c7bf3c358a4392e79f21a271db07b8ae5aac0b4e78a64e4712640106afc299

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.8-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 24153e840ccaf9810804b657cf16b85e388520a1204d5efa55f1cc9c2c2601b9
MD5 a70196f017c5d89e67b67798d617aba1
BLAKE2b-256 d381d4c55a28b806b9f5dc4cd480f8bc189e39ebf84b9773d891f915735ecf76

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.8-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 663e2c4bb55aa1ce4d9da947047a858201b48b867ecf68b0d4b6df4a7ca395d1
MD5 4907d61c3e96df5cd30811d2db3b8047
BLAKE2b-256 c3699db88924f3633492eab42281184d87a2b9cb887cd72fd60debf9ba305cc6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pycryptodome-3.4.8-cp27-cp27m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 ece04e5f9db1346e09bb16939d94297cd7b82922660715d8e695ef49be954ead
MD5 c5b52efb34d4bd4fd6f9e704f8c3fa03
BLAKE2b-256 156df1bca7c58e2b347a8d0a6d411daf15ce546ad6286c686dbc6618ff947c58

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