Articles
The previous page actually contained links to web pages that implement each of the ciphers in JavaScript, with detailed step by step instructions. Those links are repeated below. You can use the programs to encrypt and decrypt long messages or save yourself some time with short ones, but bear in mind that you can do the whole process with paper and pencil.
In this section I am listing some articles published in my blog, prgomez.com, which give further instructions and discuss their security.
Here are the articles:
In this section I am listing some articles published in my blog, prgomez.com, which give further instructions and discuss their security.
Here are the articles:
- A new Look at One-Time Pads introduces the whole concept of making one-time pads from common text. A longer version of the first tab in this site.
- BookPad article. This one introduces BookPad, along with some discussion on its security.
- Cracking the BookPad Cipher discusses the ways a hacker would try to break BookPad, and by extension all the other ciphers described here.
- Extracting Randomness from Text introduces the TripleText cipher and the use of the Tabula Recta. This serves as a basis for the other ciphers that operate directly on text, without previous encoding. The article also discusses the potential of simple addition for randomness extraction.
- Three New Ciphers from the Early XIII Century discusses the use of lagged Fibonacci generators for extracting randomness from text. It also introduces three ciphers that use this principle: Numeracci, Letteracci, and Subtracci.
- Chaos from Order discusses the Von Neumann extractor and extends it so it can be used to extract randomness from common text. Two ciphers are presented: DicePad and LetterPad.
- Autokey Strikes Again deals with ciphers that use a set of keys, each of which is much shorter than the plaintext. It turns out that the mixed alphabet substitution used on the Tabula Recta provides a great deal of security just by itself.
- The Visionnaire Cipher goes as far as one can reasonably go simplifying all of the above so it is easy to do with pencil and paper and still you get a lot of security. The cipher described in this article, named Visionnaire, is almost the same as Blaise de Vigenère's "autokey" cipher, except that mixed alphabets are used at the head and sides of the Tabula Recta.
- The Serpentacci Ciphers deals with other ciphers of the same style as Visionnaire but involving longer operation on the Tabula Recta.
- This Could have Happened During WW I is about attacking the short-key ciphers when a plaintext is known, and what could be done about it.
- The Scrabble Cipher analyzes J. Byrne's Chaocipher machine, which it simpifies into a paper and pencil cipher described in this blog.
- What is Randomness? gets a little philosophical about what is and isn't "random" and in the process discovers how a lagged Fibonacci generator using letters can produce a very strong cipher just by itself.
Javascript programs
These explain each of the different ciphers in detail and show how they operate. Fully functional and able to run offline. Just save the source code locally:
Examples
I am putting below the result of encrypting the first paragraph of chapter 1 "Oliver Twist," by Charles Dickens (gutenberg.org version, which you can find at this link), with text from the same chapter, starting at the second paragraph, using each of the programs listed above, all with default settings. For those ciphers that use a short key and a seed, the first sentence of the second paragraph, up to the first comma, is used for all keys and seed. No random data added (or transposition if the default is not to have it). You may want to put it into the programs and see if you can recover the original text, then try encrypting and decrypting your own messages.
Here we go:
- BookPad
- TripleText
- Snake
- Numeracci
- Letteracci
- Subtracci
- DicePad
- LetterPad
- Visionnaire
- Zigzag
- Skink
- SuperSkink
- Worm
- SuperWorm
- Serpentine
- FibonaRNG
- Scrabble
- PassLok Human (similar to FibonaRNG)