Skip to main content

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 is multimsg-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)

Table of built distributions (wheels) for irene-crypto 0.1.1
File Interpreter ABI Platform
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.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

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