Cryptic implements a secure messaging system:
-
Uses Client Certificate to authenticate Users.
-
Uses WebSocket TLS communication.
-
Implements the X3DH and the Double-Ratchet cryptographic protocols.
-
Admin-mediated GPG-based onboarding where users prove ownership with GPG-signed CSRs to get certificates.
Cryptic consists of:
-
A server that route messages between users, and holds on to encrypted messages until they can be delivered to the receiver.
-
A terminal console client.
-
Local Sqlite3 database that stores historic messages (encrypted).
-
A wizard script to facilitate onboarding of new users.
-
Modular structure to make the core engines (X3DH & Double-Ratchet) available to be used in other contexts/applications.
-
Docker images for both the server and the client exists for containerized deployment.
An external TUI (Terminal User Interface) exist, written in Rust, that connects via the Erlang distribution protocol as a hidden node. See: cryptic-tui
Demos:
Client Setup
Server Setup
Follow the containerized deployment instructions for a quick way to try out Cryptic.
Cheers, T.