Ciphers
Trithemius
A progressive shift. 0 for the first letter, 1 for the second, 2 for the third. No key, one fixed mapping.
- create
- create("trithemius")
- family
- Polyalphabetic
- options
- none
- self-inverse
- no
- keyspace
- fixed
- try it
- ciphers trithemius "HELLO WORLD"
Johannes Trithemius's tabula recta read in order: first letter not shifted, second by one, third by two, wrapping after 25. It's a Vigenère with the key ABCDEFGHIJKLMNOPQRSTUVWXYZ, and like Vigenère only letters advance the counter.
const trithemius = create("trithemius");
trithemius.encode("HELLO WORLD").text; // "HFNOS BUYTM"
trithemius.decode("HFNOS BUYTM").text; // "HELLO WORLD"
trithemius.encode("ATTACK", { stripNonAlpha: true }).text; // "AUVDGP"
Nothing to brute force, the mapping is fixed. A text that starts with an unshifted letter and then drifts is the tell.