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.1-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a625813e8d118d266f905b073b7f719a9a09e0979ede7605b991099a5d65ba74 |
|
MD5 | 715b6c40b9ebe14b2f48c885a8f215c0 |
|
BLAKE2b-256 | 21d41534e26739ea5647bd4039a1f86b1d0ef7d9b3fcefeba3844044aaa4d051 |
Hashes for pycryptodomex-3.4.1-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aef20870cfe50a8e646c2983da7b3bde67f272b0a239a38f93c085f31fc97421 |
|
MD5 | 31503ffe96a03cb79e1b2ddc7a02fe06 |
|
BLAKE2b-256 | 83027d80c62c824e740f91d2badd385bb8b22a55dae5bb04fc117a378bca04f1 |
Hashes for pycryptodomex-3.4.1-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55c46b2a64ced4ce78fae56b4acc46394853cdff3973c9c5d74d99d159505ac4 |
|
MD5 | 3eb73e3e316027ecc41dedcfd17842cb |
|
BLAKE2b-256 | 30bb1b0e7d883e98891a652f17a47aed2696fd46634184304c01b676abea9b51 |
Hashes for pycryptodomex-3.4.1-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 148c4d25d773dbaaa7178662f9d967f9e34dfa5787feec3111962b370c38027c |
|
MD5 | c7cdc2cdc283aa84dbdf46379266db79 |
|
BLAKE2b-256 | 44f99be40cdffca84fd2638a19b21aa60390f2618c3e5aed4cf35d93b879de88 |
Hashes for pycryptodomex-3.4.1-cp33-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fd6c2ab384a6bb2ce5334105af41da0351efff8d6f01886b70aad61bb3a24c0 |
|
MD5 | 0fcd013b94caf9c3c724944a3ffd849f |
|
BLAKE2b-256 | ac1c759b9421c140d2115ac1d905de880c8298725bfdd2ce6222579f5173f4ea |
Hashes for pycryptodomex-3.4.1-cp33-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffef73a272fa8f9f0976ab4c998371895945fdb425dca37225a2d8933952139e |
|
MD5 | 4193883d343731d336d61b3d7dacb210 |
|
BLAKE2b-256 | 9c6c6c96e36bd72a13d73bb14dbf51413052c4f03d6fa230ef386c6530286352 |
Hashes for pycryptodomex-3.4.1-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d18538f14e4ac841ba82611e5244c5b702626177d842b3477e837b6ebba4060 |
|
MD5 | 2a5a9e903fe3cbc3de300b673e89971e |
|
BLAKE2b-256 | 67f96e3fd293575e2d34fc7281cfc3adcb35ada4ce7c2934e6d79ad22a7ebf0c |
Hashes for pycryptodomex-3.4.1-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0b8d4edae003e283935a16ba8dfd78013a2e2b1bb5f28adfc85c62eca0a07f1 |
|
MD5 | 287e43ed16572d12aff2435bcb67e967 |
|
BLAKE2b-256 | bae0240f699d8e658649116b1681888c75fecef7480b1738802eddee371241e4 |