DigiBook Cipher

Submitted by jabrown on Mon, 10/14/2019 - 05:13

Background:

The book cipher is like book codes in that it uses a book or document as the key and substitute the placeholder of content in the document with the content of the plaintext that is being encoded or encrypted.

An example of a book code would look like this.

Plaintext: The quick brown fox jumps over the lazy dog

Book content: In 2007, a rather jumpy fox named Jashi tried to illustrate a famous pangram with a very patient Akita dog named Romi. Jashi’s first few attempts were adorable failures, but on her final attempt, the quick brown fox literally jumps over the lazy dog.

Ciphertext: 35 36 37 6 40 41 35 20

 

Instead of substituting words, the book cipher substitutes characters.

A book cipher would function like this.

Plaintext: The quick brown fox jumps over the lazy dog

Book content: In 2007, a rather jumpy fox named Jashi tried to illustrate a famous pangram with a very patient Akita dog named Romi. Jashi’s first few attempts were adorable failures, but on her final attempt, the quick brown fox literally jumps over the lazy dog.

Cipher text: 14 15 16 3 201 20 1 204 99 3 157 12 26 78 2 3 25 26 27 3 19 20 21 22 37 26 85 16 17 3 14 15 16 3 51 13 244 23 3 45 26 73

 

DigiBook Tool:

The cipher tool uses the concept of the book cipher and applies it to digital data. The tool converts the binary data to hexadecimal and then applies the book cipher process to the hexadecimal characters. It then creates an output file of the ciphertext.

The tool can be found here.

https://github.com/jabrown2031/digibook

 

References:

https://en.wikipedia.org/wiki/Book_cipher

https://simonsingh.net/books/the-code-book/

https://laughingsquid.com/a-quick-brown-fox-literally-jumps-over-a-lazy-dog/