Ciphers
Quagmire II
Quagmire I upside down. The plain alphabet stays straight and the keyword moves into the cipher alphabet.
Cipher / Polyalphabetic
Quagmire II
Straight plain alphabet, keyed cipher alphabet, same slide.
- Keyspace
- 26! × 26^indicatorLength
- Decode
- same options back
- Works on
- A-Z, the rest passes
- Family
- 14 in polyalphabetic
required 2 / 3
Options
Access
- Create
create("quagmire-2") - CLI
ciphers encode quagmire-2 'IN THE QUAG TWO' --key SPRINGFEVER --indicator FLOWER - Tryplayground with the sample above
- Kinvigenere, gronsfeld, beaufort, porta +9
Same tableau as Quagmire I, the keyword just moved downstairs. Plain A to Z sits on top. SPRINGFEVABCD… slides underneath, and the indicator still runs down the column under plain A.
const quagmire = create("quagmire-2");
const keys = { key: "SPRINGFEVER", indicator: "FLOWER" };
quagmire.encode("In the quag two", keys).text; // "Ji cic osly kil"
quagmire.decode("JICICOSLYKIL", keys).text; // "INTHEQUAGTWO"
Same keys as the Quagmire I example, different ciphertext. That's the ACA's Quagmire II, which starts JICIC OSLYK too.
Is it any easier?
A little. With the plain side straight, every row is the same keyed alphabet at another shift. That's a Vigenère with a scrambled alphabet, nothing worse. Rebuild the cipher alphabet from the columns and look at it. See where it starts running in alphabetical order? Everything before that is usually the keyword.
Text, case, errors and period work as for Quagmire I.