Skip to main content

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 Ciphers. Each Cipher has
    • encrpyt and decrypt functions that MUST return/accept byte array and
    • encrpyt_string / decrypt_string that work with string objects that will be a base64 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 use namedtuples and extend them with MsgPackNamedTuple 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 into dict 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 with 256 bits (32 bytes) key length
  • Asymmetric - PKCS1_OAEP encryption with SHA512 hashAlgo
  • Envelope - Envelope encryption where the body is encrypted with the Symmetric cipher. the DEK (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] or ml-crypto[pycrypto] to ensure one is installed or use the default if you know you have one installed
  • As pycrypto is dead, prefer using pycryptodome and expect some issues (The main one is encrypted ssh private keys) not to work

Metadata

Release files for ml-crypto 0.7.811

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ml-crypto 0.7.811
File Size Uploaded
ml-crypto-0.7.811.tar.gz 6.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ml-crypto 0.7.811
File Interpreter ABI Platform
ml_crypto-0.7.811-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 17.1 kB

Release files / ml-crypto-0.7.811.tar.gz

Download URL ml-crypto-0.7.811.tar.gz
Size 6.0 kB
Tags Source
SHA-256 checksum
How to use checksums
72e34db649592b47fff62ad6e0430bf10e5f9983cbea3f74907bb646b3ea4e6d
BLAKE2b-256 checksum
How to use checksums
cf17693c96e79903ec9804c2c1667e11486a8ae14b719f2646957c5eab09029a
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / ml_crypto-0.7.811-py2.py3-none-any.whl

Download URL ml_crypto-0.7.811-py2.py3-none-any.whl
Size 11.1 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
ddfe1b43b35b9b0f2991e4157a7e0e3eb48447b69d12809181b9ebe091821e85
BLAKE2b-256 checksum
How to use checksums
e97d45ab0a053049a82e165f1f163038ca9a664bb4de40e130bcd016bd8af024
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

0.7.811 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page