AEGIS is an experimental secure-messaging protocol and working reference implementation. It combines hybrid post-quantum encryption, a cover-traffic mix network, a quantified web of trust, and a real desktop app — as one stack.
AEGIS Desktop — the reference client. It runs a local mix node and shows a chat UI in your browser.
Content security is largely a solved problem. AEGIS reuses only vetted primitives for it and spends its originality on the two harder problems — hiding metadata and establishing trust.
X25519 + ML-KEM-768 for key exchange and Ed25519 + ML-DSA-65 for signatures. Secure if either the classical or the post-quantum half holds — defusing “harvest now, decrypt later”.
A KEM ciphertext rides every step of a Double Ratchet, giving forward secrecy and post-compromise healing against a quantum adversary.
Onion routing, constant-rate cover traffic, fixed-size packets and Poisson mix delays. A global observer sees identical, constant traffic whether or not you are talking.
You are never the final hop. Mail waits at a provider under a key-bound token and is released only after you sign a challenge — so knowing your ID can’t steal it.
Trust in an unknown key comes from k independent vouching paths, provable via an accumulator without revealing the rest of the trusted set. No central authority.
Self-certifying IDs (the ID is the hash of the keys) plus a safety number you compare out-of-band to rule out a man-in-the-middle.
Python 3.11+ on Windows, macOS or Linux. Everything is local; no account, no server. Two people, each running an engine, can chat end-to-end through the mix network.
pip install -r requirements.txtpython net_demo.pypython aegis_app.py --name Alice --http 8001 --port 9001 --dir board
python aegis_app.py --name Bob --http 8002 --port 9002 --dir boardPrefer a terminal? python aegis_chat.py
is a text client. Run python -m pytest -q to see the test suite (32 tests).
AEGIS is documented in the open, including the things that are not done.
What AEGIS is, and what it is not — because in security, overclaiming is how you lose the only asset that matters.
X25519 + ML-KEM-768Ed25519 + ML-DSA-65 ChaCha20-Poly1305Loopix-style mixnet RSA accumulatorPython 3.11+