Workbench
Chain ciphers, encodings and analysis together.
Guides
Each of these opens the workbench set up for one operation, with an explanation of what it is and when it is worth reaching for.
Analysis
Transform
- Bitwise operation Apply XOR, AND, OR, NOT or a shift to every byte against a repeating key.
- Case transform Change letter case, in one direction only.
- Hex dump Offset, hex bytes and printable characters, three columns side by side.
- Invisible characters Reveal or strip characters that take up no space on screen.
- Replace Find text and swap it for something else.
- Reverse Turn the input back to front.
- Unicode normalize Rewrite text into one of the four standard forms so identical-looking strings are stored identically.
Alphabets
- Morse code Dots and dashes, with the shortest codes handed to the commonest letters.
- PGP word list Turn a key fingerprint into words you can read aloud without being misheard.
- Spelling alphabet Alfa, Bravo, Charlie. For reading characters down a bad line.
Ciphers
- A1Z26 A is 1 and Z is 26, which is the whole of it.
- Affine cipher Multiply the letter's position by one key, add a second, keep the remainder.
- Alphabetical substitution Supply your own cipher alphabet and send every letter through it.
- Atbash Mirror the alphabet. A becomes Z, B becomes Y.
- Autokey cipher Start with a keyword, then keep going using the message itself.
- Bacon cipher Encode each letter as five A/B symbols, then hide the symbols where nobody looks.
- Beaufort cipher Vigenere with the subtraction the other way round, which makes it its own inverse.
- Caesar cipher Shift every letter a fixed distance along the alphabet.
- Enigma machine The German forces cipher machine, wired as it actually was.
- ROT13 Shift every letter thirteen places. Encoding and decoding are the same operation.
- Rail fence cipher Write the message in a zigzag across several rails, then read off one rail at a time.
- Vigenere cipher A Caesar shift that changes with every letter, driven by a keyword.
Polybius square ciphers
- ADFGVX A sixth symbol takes the grid to thirty-six cells, enough for the alphabet and the digits.
- ADFGX Split every letter into two of five symbols, then shuffle the whole stream with a keyword.
- Bifid Every ciphertext letter carries half of one plaintext letter and half of another.
- Nihilist cipher Polybius coordinates and a repeating keyword, added together as ordinary arithmetic.
- Polybius square Turn every letter into a pair of coordinates on a five by five grid.
- Tap code Taps for the row, a pause, taps for the column, knocked through a wall.
- Trifid Delastelle's cipher in three dimensions, with fragments of three letters inside every output character.
Encoding
- ASCII85 Four bytes packed into five printable characters.
- Base32 Bytes as 32 characters chosen to survive being spoken or mistyped.
- Base58 Base64 with the look-alike characters and the punctuation removed.
- Base64 Represent any bytes using 64 printable characters.
- Baudot (ITA2) Five bits per character, and a shift code that decides which alphabet you are reading.
- Binary Eight bits per byte, written out.
- Decimal bytes Each byte as a number from 0 to 255.
- HTML entities Turn markup into text a browser will draw rather than act on.
- Hexadecimal Two hex digits per byte. The default way to read raw data.
- Numeral base Rewrite a number in another base, anywhere from binary up to base 36.
- Punycode The form a domain name takes when it has to travel through systems that only speak ASCII.
- Quoted-printable The mail encoding that keeps text readable and writes everything else as =XX.
- URL encoding Percent-escape the characters a URL cannot carry as themselves.
- Unicode code points The exact identity of every character, including the ones pretending to be others.
Modern cryptography
- AES The block cipher behind most encrypted traffic, keyed by a passphrase or raw bytes.
- HMAC A keyed hash. Proves a message came from someone who holds the key.
- Hash Reduce any input to a short fixed-length fingerprint.
- RC4 The broken stream cipher that used to be everywhere. Kept for reading old traffic.