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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for pycryptodome-3.4.8-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2e2ea8fc409656f945422b3b732ff12961308276d3773fe4d10d4c496a712d0 |
|
MD5 | 12a3c29f7483cf07ca7e463ac03d32b0 |
|
BLAKE2b-256 | 522c692fca9be60000b00b2e53810a36363af043526c0e4359f91c55ab9ae9fc |
Hashes for pycryptodome-3.4.8-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc1956aa27a14437bcd7f58a9c5ac6d8d5731f9d136312138b2f48ba8039ada1 |
|
MD5 | 3dda5d39ab24e9b3e01300ac7d534696 |
|
BLAKE2b-256 | 44c394a9feadbaa1dc8587719a7219aea971894432804f3f61c66d6293976187 |
Hashes for pycryptodome-3.4.8-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c1ca8e134dc812555400e0a993cd4b9c858c968e6819522ae69d7b0ad6437a7 |
|
MD5 | 025242a7cd4284524fa80855147a2024 |
|
BLAKE2b-256 | 78959dd79eb6d1bd6a4adda8690ba2f1ed3f77acfacb616bf5d5ac29f7093e26 |
Hashes for pycryptodome-3.4.8-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd4f82f4fbbaf401ca1080b22eb2d1f3f77259b9da1d4e46d312c9e9cb18766c |
|
MD5 | 63dbed1e3ff36a274277dd9f325a8359 |
|
BLAKE2b-256 | 4c85d70d4c786be4992b0845d962d76cda9e3f34f147da2dd43179c12c0cf41b |
Hashes for pycryptodome-3.4.8-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba2e51987e71edd52f1e3afc82569544e1d9c885a18a1f35ca1b000aa2951ed8 |
|
MD5 | e7fbfdd325a981fe398ba00b21c94030 |
|
BLAKE2b-256 | 8ce4780ad73cb4716a37d4ea98a48ca71a6da2017b782e9067baff1d70f02e78 |
Hashes for pycryptodome-3.4.8-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08397452b817621f8e1740f08c7b13685226da0085267772547b4ac5f53c9bc2 |
|
MD5 | 85e958eaa18ff76b93f1cdb986de1d88 |
|
BLAKE2b-256 | 12b5534f77983c2fef963738f3a746713cded0002891c48b1c95291aeca822de |
Hashes for pycryptodome-3.4.8-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60de23a82b49fd1fcff57cab04b205e31efe8c1efaa505a05120e86edec2a9ee |
|
MD5 | ee741fa9ae01ce9769f227bc8ecf1e99 |
|
BLAKE2b-256 | 923a298444f4bf16a053d95ed1d752dcd4d9e8fde26e0b1edd1c82c52f9ec6c4 |
Hashes for pycryptodome-3.4.8-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c48734d77c95439ded9ebb96d05b7b1a829af8905dc58e60b5da059e9cbb338b |
|
MD5 | 032d2712195a2ce99a559c1ceb55d970 |
|
BLAKE2b-256 | f27447b9de069cbfe730dcb40f3e65265c837a3f53c7aa3041c486a7bc41d9a2 |
Hashes for pycryptodome-3.4.8-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 163ab58febfa9570082106153c48d8fdc58d3249efdcbec0e04140448528bed7 |
|
MD5 | 91dbd9c7598a16985253354a0fce7f60 |
|
BLAKE2b-256 | 7a63395dd0eef5076e9f51e759904cb497fbe0bd977d6d34291ceda29a012c2d |
Hashes for pycryptodome-3.4.8-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0c59f974fbc9e97c7412a6acb652214a1d8ff19b5fa5c1ba4df4e889c0a8a92 |
|
MD5 | 5f33c8460170cd872671ef60e54e3f06 |
|
BLAKE2b-256 | 59d8e916fdc6a28e037959c6a1681c3a1cab6c89c979f0c1e7605678fd26f4a4 |
Hashes for pycryptodome-3.4.8-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ddd21b4dcd6b2102ee0c1edf7840b0d0914a7fbe827cc5bca2e82ed77a1430e6 |
|
MD5 | 249ec7efefea85dd4a8ee65122157262 |
|
BLAKE2b-256 | c170d5af777092dbd722999d64cb5228ab29310d5197bb6ead5c14bef87cca52 |
Hashes for pycryptodome-3.4.8-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61f983f10d2e21e3f5e424fac5aab4ef5e6b68f759bd3b83fe8c839c7d1a9d09 |
|
MD5 | b45a3b4010d56da1eca9ffbf62578e8a |
|
BLAKE2b-256 | 25c2f7ecdc849584d5bce7e95887f76864dc8a47fc72b4236c0e37ff88afc852 |
Hashes for pycryptodome-3.4.8-cp33-cp33m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18ce54f358e0405e963544585bc7ba5d8ce414212410c15a95a470aee8c38d4d |
|
MD5 | f5e287473484345406671bf24016b59f |
|
BLAKE2b-256 | 5ab31822116f84f410f351211b532c04e512c89c4458c8571d21ea2cab2bc49b |
Hashes for pycryptodome-3.4.8-cp33-cp33m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3867e75287e2e76fa982a32e15d1342367217093b4048c155761be2715ec817 |
|
MD5 | bb9ca2e875dfea76171a1794f437ae90 |
|
BLAKE2b-256 | d630d02b968cfacf04d4f4b41c524af7daa1689ad787b87d756219d860d2fd32 |
Hashes for pycryptodome-3.4.8-cp33-cp33m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66bc74812d825655c330a9d0c564493a9c001c30e8e1cef9037ec925f03d6e9e |
|
MD5 | 568336fe73f80d4e00c495b0916a1b15 |
|
BLAKE2b-256 | fa96491ded9139778941986a2a91c13d6181666a67afc26734daa23bfd2277d8 |
Hashes for pycryptodome-3.4.8-cp33-cp33m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33ea6954a2fcb02e7a377e7e5a5a9fd0ecbe4e5ea7694bcc9288f4414470db69 |
|
MD5 | 93b0bc25509ea9c233a11ec8026fcff8 |
|
BLAKE2b-256 | 2c6bfb48db31b7c61b788c602e53878e1991b6e2d818a1a607f9a95f96da4e65 |
Hashes for pycryptodome-3.4.8-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e089d8619a46212cc191258292a3ffbe0d44b9e5ca21f036a4ca8f2db6b0860a |
|
MD5 | 2e5dca27353ab0ec34655593e959335d |
|
BLAKE2b-256 | 189e75e54bde8dd1b95519535f9654bdaefacafaf8f59944dc4b0e8e4bb76e51 |
Hashes for pycryptodome-3.4.8-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9fbca70f31da80834435da3383ab3655c410a582eaea372a90bd001a077d08a9 |
|
MD5 | f240abd06c9fd6adddc3e07c355f783c |
|
BLAKE2b-256 | e65160ffa1e389c3ee99c56164697dca036d24312276ba0c3342e7fdf86a6741 |
Hashes for pycryptodome-3.4.8-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c89fa30b343a0e93b97db06b23e1b21b3059b1d5b7d799ce22b70bc2feb1102 |
|
MD5 | f84eb6919f818b412e2640d0ea2a52de |
|
BLAKE2b-256 | 30c7bf3c358a4392e79f21a271db07b8ae5aac0b4e78a64e4712640106afc299 |
Hashes for pycryptodome-3.4.8-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24153e840ccaf9810804b657cf16b85e388520a1204d5efa55f1cc9c2c2601b9 |
|
MD5 | a70196f017c5d89e67b67798d617aba1 |
|
BLAKE2b-256 | d381d4c55a28b806b9f5dc4cd480f8bc189e39ebf84b9773d891f915735ecf76 |
Hashes for pycryptodome-3.4.8-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 663e2c4bb55aa1ce4d9da947047a858201b48b867ecf68b0d4b6df4a7ca395d1 |
|
MD5 | 4907d61c3e96df5cd30811d2db3b8047 |
|
BLAKE2b-256 | c3699db88924f3633492eab42281184d87a2b9cb887cd72fd60debf9ba305cc6 |
Hashes for pycryptodome-3.4.8-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ece04e5f9db1346e09bb16939d94297cd7b82922660715d8e695ef49be954ead |
|
MD5 | c5b52efb34d4bd4fd6f9e704f8c3fa03 |
|
BLAKE2b-256 | 156df1bca7c58e2b347a8d0a6d411daf15ce546ad6286c686dbc6618ff947c58 |