pyCrypto wrapper, used by various MissingLink.ai libraries
Project description
ML-Crypto
This library is pycrypto
/ pycryptodome
wrapper that standardises the MissingLink.ai-s encryption and allows easy extentions to support additional encryption schemes.
Overview
- This library contains a set of
Cipher
s. EachCipher
hasencrpyt
anddecrypt
functions that MUST return/accept byte array andencrpyt_string
/decrypt_string
that work with string objects that will be abase64
representation of the encrypted byte output of the underlying[en|de]crypt functions
- If your cipher returns structured data (such as
IV
and other data), you SHOULD usenamedtuples
and extend them withMsgPackNamedTuple
mixin. This will allow you to easly dump the named tuple into optimised byterarray, in order to be flexable with the object, currently we are converting the named tuple intodict
in order to be able to add fields in the feature - You SHOULD provide key generation function as part of the cipher that will generate key (the function may perform external calls in case of cloud kms and etc.)
Current Ciphers
- Symmetric -
AES-CTR
encryption with256
bits (32 bytes) key length - Asymmetric -
PKCS1_OAEP
encryption withSHA512
hashAlgo - Envelope - Envelope encryption where the body is encrypted with the
Symmetric
cipher. theDEK
(data encryption key) is encrypted using non-specific cipher provided during init
PyCryptoDome vs PyCrypto vs None
- When installing, no cryptography package is provided by default. Use
ml-crypto[pycryptodome]
orml-crypto[pycrypto]
to ensure one is installed or use the default if you know you have one installed - As
pycrypto
is dead, prefer usingpycryptodome
and expect some issues (The main one is encrypted ssh private keys) not to work
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
ml-crypto-0.7.811.tar.gz
(6.0 kB
view details)
Built Distribution
File details
Details for the file ml-crypto-0.7.811.tar.gz
.
File metadata
- Download URL: ml-crypto-0.7.811.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72e34db649592b47fff62ad6e0430bf10e5f9983cbea3f74907bb646b3ea4e6d |
|
MD5 | 982b7f50b21e569405cca34bfb3f8ee6 |
|
BLAKE2b-256 | cf17693c96e79903ec9804c2c1667e11486a8ae14b719f2646957c5eab09029a |
File details
Details for the file ml_crypto-0.7.811-py2.py3-none-any.whl
.
File metadata
- Download URL: ml_crypto-0.7.811-py2.py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ddfe1b43b35b9b0f2991e4157a7e0e3eb48447b69d12809181b9ebe091821e85 |
|
MD5 | 9a6eda2f668bf7508f79a09e468d8752 |
|
BLAKE2b-256 | e97d45ab0a053049a82e165f1f163038ca9a664bb4de40e130bcd016bd8af024 |