multimsg-aead
Rust library (exposed to Python via pyo3 + maturin) that encrypts an arbitrary list of messages into a single authenticated ciphertext and decrypts it back.
- AEAD ciphers: AES-256-GCM (default) or ChaCha20-Poly1305
- Self-describing envelope:
[version | alg | noncelen | nonce | ciphertext+tag] - Optional AAD binds context and header for integrity
- Enforces >= 3 messages
- Cross-platform: pure Rust crypto crates (Linux/Windows)
Build (dev install into current venv)
pip install maturin
maturin develop --release
Use from Python
from multimsg_aead import generate_key, encrypt_texts, decrypt_texts
key = generate_key() # 32 random bytes
msgs = ["hello", "from", "rust+python"]
aad = b"example-context" # optional
ct = encrypt_texts(msgs, key, algorithm="aes256gcm", aad=aad)
print("ciphertext len:", len(ct))
roundtrip = decrypt_texts(ct, key, aad=aad)
print(roundtrip) # ['hello', 'from', 'rust+python']
Notes
- Do not reuse a (key, nonce) pair. Nonce is random & included in the envelope.
- If decryption fails, you likely used the wrong key/AAD or the data was corrupted.
- Import name is
multimsg_aead(underscore); pip package ismultimsg-aead(hyphen).
Metadata
Release files for irene-crypto 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| irene_crypto-0.1.1-cp38-abi3-win_amd64.whl | CPython 3.8 | abi3 | Windows x86-64 | Details |
| irene_crypto-0.1.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.8 | abi3 | Linux glibc 2.17+ x86-64 | Details |
Total release size: 428.1 kB
Release files / irene_crypto-0.1.1-cp38-abi3-win_amd64.whl
| Download URL | irene_crypto-0.1.1-cp38-abi3-win_amd64.whl |
|---|---|
| Size | 164.7 kB |
| Tags | CPython 3.8 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
ff4a11cfeb678a4ae888a05fcf9b9c2eb943d4ee00cbf3a6008fffacc75dd556
|
|
BLAKE2b-256 checksum How to use checksums |
11b5f56f078143c0cad1c7e6fa1450c353177c070113ec9cff77c487b43a20a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.7
|
Release files / irene_crypto-0.1.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | irene_crypto-0.1.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 263.4 kB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
e98fbeb4afd02208feee8d39dd99d3ebc725acd9fd3d5a4713f7aa9eff32dd42
|
|
BLAKE2b-256 checksum How to use checksums |
7d813d8ccf97b714027879a2fa3573a5b732613d72ab09b8e9f26de1f5eec49e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.7
|
Security for irene-crypto 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.