// SECURE • DECENTRALIZED • OPEN
End-to-End Encrypted Peer-to-Peer
Messaging & File Sharing
CMP_SC 4980 • Senior Capstone Design II
Most messaging today routes through centralized servers that can log metadata, suffer outages, or be subpoenaed. A single point of failure means your conversations, files, and privacy are always at risk.
Server outages take everyone offline
Central servers can log and leak metadata
Your data lives on someone else's hardware
Always-on servers burn power 24/7
Peer 2 Pear is a decentralized peer-to-peer messaging application that enables secure, real-time communication without reliance on centralized servers. Every message and file is end-to-end encrypted with modern primitives from libsodium, and the relay server learns nothing about who sent what.
End-to-end encryption is regulated in some jurisdictions; we use only open, well-audited primitives.
Anonymity that protects journalists and dissidents can also shield bad actors. We do not implement backdoors.
Out-of-band Peer ID exchange means users own trust decisions — no central authority verifies identities.
Local DB is encrypted with XChaCha20-Poly1305; passphrase loss means data loss, by design.
Every message and file is encrypted with modern libsodium primitives. Only sender and recipient can read the content.
An ephemeral X25519 envelope hides the sender's identity from relay servers. Even the infrastructure can't see who's talking.
Encrypted broadcast messaging to multiple members at once with full forward secrecy maintained per-session.
Send files up to 25 MB with automatic 256 KB chunking, encryption, and reassembly on the other end.
Runs on Linux, macOS, and Windows with consistent performance. Built with Qt for native look and feel.
ICE/STUN/TURN via libnice punches through firewalls for direct connections, with mailbox relay as a fallback.
Built on battle-tested, open-source cryptographic foundations. No custom crypto, no backdoors, no compromises.
Establishes an authenticated session and sends a fresh ratchet DH key in the very first message.
Per-message keys with forward secrecy and post-compromise security. Compromising one key reveals nothing else.
Ephemeral X25519 envelope hides sender identity from the relay. The infrastructure is cryptographically blind.
Exchange Peer IDs and establish a Noise IK session out-of-band.
Encrypted via Double Ratchet, wrapped in a Sealed Sender envelope.
Chunked into 256 KB pieces, encrypted, transmitted, and reassembled.
Encrypted broadcast to multiple members with per-session keys.
198 test cases across CryptoEngine, NoiseState, RatchetSession, SealedEnvelope, SessionManager, SessionStore & DatabaseManager.
FileTransferManager chunking & reassembly, NiceConnection P2P transport, MailboxClient & RendezvousClient relay protocols.
End-to-end encrypted messaging flows, group chat broadcast, NAT traversal scenarios, and post-quantum crypto handshake validation.
ChatController interactions, contact management, message search, Qt widget rendering, and cross-platform smoke tests on Linux, macOS & Windows.
Team Lead & Protocol
Cryptography & Protocol
UI / UX & Qt Frontend
Storage & Build System
Tech stack evaluation, architecture design, cryptographic protocol selection.
Implemented Noise IK handshake, Double Ratchet, and ICE/NAT traversal.
Qt frontend, encrypted SQLite database, file transfer UI.
Cross-platform testing, security validation, group chat, search functionality.
v0.1 build 19 — stable release with full feature set and live demonstration.
Port the Qt UI or build native iOS/Android frontends sharing the C++ crypto core.
Encrypted real-time media over the existing P2P transport using SRTP.
Lift the 25 MB cap with resumable, chunked uploads and progress reporting.
Multiple interoperable mailbox relays so no single operator is critical.
Hybrid handshakes with Kyber / ML-KEM to harden against future quantum attacks.
Model-check the protocol state machine to prove security properties.
Peer2Pear is open-source and free. Download the latest release or build from source.