Tiny dependency-free TypeScript implementation of the Bazeries cipher (digit-keyed transposition + keyed substitution). Powers the free decoder at textmachine.org
-
Updated
Jun 23, 2026 - TypeScript
Tiny dependency-free TypeScript implementation of the Bazeries cipher (digit-keyed transposition + keyed substitution). Powers the free decoder at textmachine.org
Tiny dependency-free TypeScript classic ciphers — Caesar/ROT13/ROT47, Vigenère/Autokey/Beaufort, Atbash. Powers the free tools at textmachine.org
Browser-based one-time pad demo — perfect-secrecy encrypt/decrypt, then the two-time-pad break: XOR two ciphertexts under a reused key and crib-drag to recover both plaintexts. Real XOR over real bytes. No backends. No simulated math.
Browser-based Vigenère cipher demo — encrypt and decrypt with a repeating key, then recover the key length via Kasiski examination and index of coincidence and solve each column by frequency analysis. Real cryptanalysis. No backends. No simulated math.
Browser-based Enigma machine demo — full mechanical simulation of rotors, stepping with double-step, plugboard, and reflector, plus the crib-based Bombe break exploiting the no-letter-maps-to-itself flaw. Real wiring tables. No backends. No simulated math.
Add a description, image, and links to the classical-cipher topic page so that developers can more easily learn about it.
To associate your repository with the classical-cipher topic, visit your repo's landing page and select "manage topics."