| Crates.io | enigma-media-e2ee |
| lib.rs | enigma-media-e2ee |
| version | 0.0.1 |
| created_at | 2025-12-15 13:19:53.365505+00 |
| updated_at | 2025-12-15 13:19:53.365505+00 |
| description | Application-level media frame encryption using Enigma aead primitives |
| homepage | https://github.com/Gladius33/enigma-media-e2ee |
| repository | https://github.com/Gladius33/enigma-media-e2ee |
| max_upload_size | |
| id | 1986073 |
| size | 37,047 |
enigma-media-e2ee provides pipeline-agnostic media frame encryption for audio and video frames by building on the enigma-aead raw seal/open API.
The crate exposes a light symmetric ratchet per direction and authenticates a stable header before sealing frames with XChaCha20-Poly1305. It intentionally avoids signaling, capture, codecs, transport, or storage so it can slot into any pipeline that hands it a byte slice.
let session = MediaSession::new_initiator(shared_secret, stream_id)?;
let packet = session.encrypt_frame(frame_bytes, user_ad)?;
let plain = session.decrypt_frame(&packet, user_ad)?;
Use new_responder with the same shared secret and stream id on the remote end.