Skip to content
CrypticComm

Learn RSA by actually using it.

Generate keys, encrypt and sign messages, then chat over an encrypted peer connection. It all runs in your browser.

A sensible first run

  1. 1

    Create a key pair

    2048 bits is a good default. Save it to the wallet so every tool can use it.

  2. 2

    Round-trip a message

    Encrypt something, then follow the payload straight into Decrypt with one click.

  3. 3

    Prove authorship

    Sign a message, check it in Verify, then change one character and watch it fail.

  4. 4

    Go peer to peer

    Open Peer chat in two windows, swap IDs, and compare key fingerprints.

What runs where

On this device

Key generation, encryption, decryption, signing, and wallet storage. Keys never leave the browser unless you export them.

Over the network

Peer chat uses a PeerJS server so two browsers can find each other. The messages themselves travel directly between peers, encrypted with the recipient's public key.

About textbook RSA

The Encrypt tab includes a raw, unpadded mode. It exists to show why padding matters: without it, identical plaintexts produce identical ciphertexts. Use OAEP for anything you care about.

The tools