Hybrid Post-Quantum Message Sealing: X25519 + ML-KEM-1024 in Umbera Messenger with Public Rust Tests

Umbera messenger has open-sourced its cryptographic core and published seven Rust tests that anyone can run to verify its hybrid post-quantum message sealing scheme. The design combines X25519 with ML-KEM-1024 so that an attacker must break both algorithms to decrypt a message. Messages are protected by Double Ratchet for forward secrecy, sealed sender packaging, and per-message ephemeral keys derived via HKDF-SHA256 into AES-256-GCM. The relay server stores only an opaque box identifier and encrypted blob with no sender or recipient fields visible. Media calls use DTLS-SRTP end-to-end while TURN servers see only encrypted datagrams. Addresses for message boxes rotate weekly and are derived solely from the shared secret between the two parties.

HabrTranslated from Russian

Read at source

Umbera messenger developer has published the full cryptographic core and a set of reproducible Rust tests that let anyone verify the hybrid post-quantum message sealing mechanism used in the application.

The scheme derives the message encryption key from two independent shared secrets: a classical X25519 Diffie-Hellman exchange and a post-quantum ML-KEM-1024 encapsulation. An ephemeral X25519 key pair is generated for every message, combined with the recipient’s long-term X25519 key, while an ML-KEM-1024 encapsulation is performed against the recipient’s Kyber public key. The two shared secrets are concatenated and passed through HKDF-SHA256 with a domain label; the first 32 bytes become the AES-256-GCM key.

Because the final key depends on both secrets, compromise of either algorithm alone does not expose the plaintext. The design therefore provides a hedge against both future cryptanalytic breaks in ML-KEM and the arrival of cryptographically relevant quantum computers capable of solving the discrete-log problem.

Inside the sealed envelope the sender identity is encrypted together with the message (sealed sender), so the relay never sees who is communicating with whom. Only a box identifier and an opaque ciphertext blob are stored; weekly rotating addresses are computed from the shared secret known exclusively to the two correspondents.

Voice and video calls are protected by DTLS-SRTP negotiated end-to-end. The TURN relay observes only encrypted datagrams and cannot extract fingerprints or metadata that would allow call correlation.

Seven Rust tests exercise the exact construction used in production (function createSealedSenderHybridPQ). A simple packet capture is sufficient to confirm that media traffic remains encrypted under the negotiated SRTP keys. All tests and the reference implementation are publicly available so that independent researchers can reproduce the security claims with a single command.

Meridian digestThe week's most consequential security stories, distilled into one briefing.See the digest

More in Privacy & Surveillance

Maximizing iPhone Privacy: Essential Settings to Enable, Disable, and Verify Immediately
Top 10 Secure DNS Servers for Privacy, Threat Blocking and Ad Filtering in 2026
WebRTC IP Leaks Explained: Why Disabling the Protocol Harms Anonymity in Anti-Detect Browsers