I built a post-quantum encrypted messenger in the browser
Описание и применение
chat‑app демонстрирует, как браузерный мессенджер может обеспечить пост‑квантовую E2EE, используя гибридный ракетный протокол и скрытую аутентификацию, скрывая как содержимое, так и идентификацию пользователей от сервера.
Задача
Most web messengers either skip end‑to‑end encryption or use classical key exchange vulnerable to future quantum computers, exposing chat history to retroactive decryption.
Результат
chat‑app demonstrates that a browser‑native messenger can achieve post‑quantum E2EE with hybrid ratchet and blinded authentication, keeping plaintext and user identities hidden from the server while providing full messaging features.
Рабочий процесс
- 1. User logs in via Bale OTP or quick test login.
- 2. Client generates a hybrid key using ML‑KEM‑768 and ECDH P‑256, feeds secrets into HKDF‑SHA256, and derives a fresh AES‑256‑GCM key per message.
- 3. Client blinds its identity with Ristretto255‑VOPRF, sends blinded token to server, receives DLEQ proof, and unblinds to obtain an unlinkable routing token.
- 4. Messages are sent over Socket.IO/WebSocket, with out‑of‑order handling via a bounded in‑memory vault and group key rotation via a deterministic FSM.
- 5. Server forwards ciphertext and blinded tokens only, never seeing plaintext or identities.
- 6. Messages are stored in PostgreSQL or an atomic JSON fallback, surviving redeploys.
- 7. Optional features: typing indicators, reactions, voice notes, file attachments, read receipts, etc.
- 8. Users can edit, delete, pin, forward messages and use read receipts.
- 9. Admin dashboard is available at an obfuscated server‑side path.
- 10. The demo is available at https://chatapp-server-1i2a.onrender.com.
Доказательства
I built a post‑quantum encrypted messenger in the browser
chat‑app: a real‑time Persian web messenger where every message is protected by PQ‑MPRBA, an original browser‑native protocol combining a hybrid post‑quantum ratchet with blinded authentication.
The server is deliberately a zero‑knowledge forwarder: it routes ciphertext and blinded tokens, nothing more.
It has not been independently audited.
- Дата записи: 2026-10-21T01:56:09.796Z