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 pycryptodomex
All modules are installed under the Cryptodome package.
Check the pycryptodome project for the equivalent library that works under the Crypto 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 pycryptodomex-3.4.2-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9747375f506abb1aedb74c7084df7779694e6ec579e15797646c329d2f3f5208 |
|
MD5 | c90bcbd62c2a1e31346cd2adcdd3af65 |
|
BLAKE2b-256 | e22fcba044f7558649da3525eb66104e25e038f6e2f2b88c3037e561e93c7a33 |
Hashes for pycryptodomex-3.4.2-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79ccd0d8cb41b55f47dc6db3569e1200e167ae22e80861118f7db796cb4d0fcf |
|
MD5 | ddd93d1d8bf4c49e439fc6c582155f0c |
|
BLAKE2b-256 | 285b966a645360bd09cae83f5327467d7921dea278f6f20b5a079ed50495bead |
Hashes for pycryptodomex-3.4.2-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0255eed4e51165740148838ef39c59dd48c09f4b5d4ada06488e107f90c7cd08 |
|
MD5 | c52d09800861aefbd426f1b09eec0df9 |
|
BLAKE2b-256 | 2f265d5cce8926dba283e398957109d0908bd618a4ce3122e252bff846bb79c6 |
Hashes for pycryptodomex-3.4.2-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8eec280069cc441c776dabce335428e89d11f743773b772ac9fbf05173b3ebff |
|
MD5 | 06ff99b7b4c8e9f90fa6b5834c6449c5 |
|
BLAKE2b-256 | f986877796a6dfeb56c682f24bc1b109e51496a51a0af46862118a79715df0e2 |
Hashes for pycryptodomex-3.4.2-cp33-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02d17547fb71b7402ccf23502ac1c44bc933eaba77df13f8f4971989f27d1c56 |
|
MD5 | ef3455a52a49737b867e7fb03ae61e52 |
|
BLAKE2b-256 | 260b8ed0bd2c83b3b30e6607bf2c2a0a151421dfd624060dd280e125b0e4bc87 |
Hashes for pycryptodomex-3.4.2-cp33-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb42ac7e5c2a1683416454d76eed29ac1c67e6592499b4cce6d650540316313c |
|
MD5 | 04bb4acd6fcb06fe675a1d469dad8415 |
|
BLAKE2b-256 | b2fa17dce82b01e67f0696f02edbe4d3f105a821a68fc1487390a0202d231796 |
Hashes for pycryptodomex-3.4.2-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c287b4af427a86409e8595787bf5fd35fc4f1a4cae2d94e08d6ae1bf5a17b6fe |
|
MD5 | dab6fb8a83ba6f661831f9ecc770f2f7 |
|
BLAKE2b-256 | 5f760f6ee1c9472f1d99348b20db6e0c5071ed131e831aae3d5594ae919f7292 |
Hashes for pycryptodomex-3.4.2-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8e29e8aad2ddd40cb915b2d10919346bf102b0ba43f0b1ce4d0ef2d02473602 |
|
MD5 | 8df74eb3dde47acc16c7fbdbfdce1750 |
|
BLAKE2b-256 | 3718a145c79fdaabb5a32b4d491c19465371d96e4ae72877d96465aeafad029e |