PRACTICES
Steganography
Hide secret messages inside images using LSB encoding. Upload a file and embed hidden data invisible to the naked eye.
Affine Cipher
Encrypt and decrypt messages using the affine cipher. Validate coprimality, compute multiplicative inverses, and see e_k and d_k in action.
Matrix Calculator
Modular matrix algebra with reusable result slots. Invert, solve systems, and reduce non-square matrices via RREF — chain computations without re-typing.
RSA Hybrid Encryption
Generate RSA keypairs and encrypt/decrypt files with AES-256-GCM wrapped by RSA. Pure WebAssembly — keys and plaintext never leave the browser.
AES Modes of Operation
Encrypt and decrypt files with AES-128 in ECB, CBC, CFB, OFB and CTR. Inspect per-block trace, derive keys via PBKDF2, randomize IVs — pure WebAssembly.
Elliptic Curve
Compute quadratic residues, enumerate rational points, generate curves, and add or double points.
Toy ECDH
Compare RTL and LTR scalar multiplication step by step and simulate an ECDH exchange with secrets r and s.
Toy ECDSA
Generate ECDSA keys, sign integers, verify signatures and test modified messages.
ECDSA & ECDH · OpenSSL
Sign files with ECDSA and simulate ECDH using OpenSSL, NIST curves and HKDF-SHA-256.
LEARN BY
DOING.
Each practice is implemented in Rust or C, compiled to WebAssembly, and runs entirely in your browser.
Upload files, transform data, and see results in real time — no servers involved. Understand the algorithms, see them work, and experiment with your own inputs.