ου γαρ εστιν κρυπτον ο ου φανερον γενησεται ουδε αποκρυφον ο ου γνωσθησεται και εις φανερον ελθη

Book cipher

• Description
• Algorithm
• Implementation
First mention about book ciphers appeared in 1526 in the works of Jacobus Silvestri.
Homophonic substitution cipher
Around seventy years after developed the first efficient methods of printing books in 15th century, the first book ciphers were invented. Thanks to their simplicity, they were used for the next hundreds of years.

There are several types of book cipher's algorithms. The most popular method consists of replacing each letter of the plaintext by three numbers - the number of a page, the number of a line and the number of a character in the line. The numbers are chosen in such a way, to indicate the same letter, as in the plaintext. Therefore the ciphertext consists of long sequences of numbers. During decryption one must find each letter of the message pointed by the triple sequences of numbers.

The other type of the book cipher consists in replacing each letter of the plaintext by two numbers - the number of a page and the number of a word on the page. Both sides must agree in advance, which letter of the pointed words will be used for encryption (for example the first one or - because usually the first letters of words are generally less diverse - the second one or the third one).

In order to use the book cipher, both sides must agree in advance for using exactly the same book (including exactly the same edition) during their communication. Because of its popularity and because all its verses are numbered, the common practice is to use the Bible as the key.

Security of the book cipher

The book cipher has two main weaknesses. First, its use is time-consuming. Each character must be encoded by a few numbers and must be separately found in the given book during decryption.

Second, there is a real danger that the intruder will air or guess which book is used by both sides for encrypting their communication. In the era of computers, it is not a big problem to quickly check a lot of books potentially used as secret keys by use brute force attacks.

Site under development.