Crypto Wiki
This article does not cite any sources. Please help improve this article by adding citations to reliable sources. (July 2008)

A book cipher is a cipher in which the key is some aspect of a book or other piece of text; books being common and widely available in modern times, users of book ciphers take the position that the details of the key is sufficiently well hidden from attackers in practice. This is in some ways an example of security by obscurity. It is typically essential that both correspondents not only have the same book, but the same edition.

Traditionally book ciphers work by replacing words in the plaintext of a message with the location of words from the book being used. In this mode, book ciphers are more properly called codes.

This can have problems; if a word appears in the plaintext but not in the book, it cannot be encoded. An alternative approach which gets around this problem is to replace individual letters rather than words. One such method, used in the second Beale cipher, substitutes the first letter of a word in the book with that word's position. In this case, the book cipher is properly a cipher — specifically, a homophonic substitution cipher. However, if used often, this technique has the side effect of creating a larger ciphertext (typically 4 to 6 digits being required to encipher each letter or syllable).


Another approach is to use a dictionary as the codebook. This guarantees that nearly all words will be found, and also makes it much easier to find a word when encoding. This approach was used by George Scovell for the Duke of Wellington's army in some campaigns of the Peninsular War. In Scovell's method, a codeword would consist of a number (indicating the page of the dictionary), a letter (indicating the column on the page), and finally a number indicating which entry of the column was meant. However, this approach also has a disadvantage: because entries are arranged in alphabetical order, so are the code numbers. This can give strong hints to the cryptanalyst unless the message is superenciphered. The wide distribution and availability of dictionaries also present a problem; it is likely that anyone trying to break such a code is also in possession of the dictionary which can be used to read the message.

Bible Cipher[]

The Bible is a widely available book that is almost always printed with chapter and verse markings making it easy to find a specific string of text within it, making it particularly useful for this purpose.


Essentially, the code version of a "book cipher" is just like any other code, but one in which the trouble of preparing and distributing the codebook has been eliminated by using an existing text. However this means that as well as being attacked by all the usual means employed against other codes or ciphers, partial solutions may help the cryptanalyst to guess other codewords, or even to completely break the code by identifying the key text.

If used carefully, the cipher version is probably much stronger, because it acts as a homophonic cipher with an extremely large number of equivalents. However, this is at the cost of a very large ciphertext expansion.

In the context of espionage, a book cipher has a considerable advantage for an agent in enemy territory. A conventional codebook, if discovered by the local authorities, instantly incriminates the holder as a spy and gives the authorities the chance of deciphering the code and sending false messages impersonating the agent. On the other hand a book, if chosen carefully to fit with the spy's cover story, would seem entirely innocuous.

In the electronic era, both types are likely to fall easily to a sophisticated opponent, who may have available a large digital library which can be used to brute-force search many millions of possible key texts.


  • A famous use of a book cipher is in the Beale ciphers, of which document no. 2 uses a (variant printing of) the United States Declaration of Independence as the key text.
  • Richard Sorge's spy ring in Japan used a book cipher which the Japanese were unable to cryptanalyze even after capturing both Sorge and his radio operator / code clerk. It used an edition of a statistical handbook of Germany as the key text.
  • In the American Revolution, Benedict Arnold used a book cipher, sometimes known as the Arnold Cipher, which used Sir William Blackstone's Commentaries on the Laws of England as a key text.

In fiction[]

  • In "The Valley of Fear", Sherlock Holmes decrypts a message enciphered with a book cipher by deducing which book had been used as a key text.
  • The name of Ken Follet's WWII thriller The Key to Rebecca refers to a German spy in Cairo using Daphne du Maurier's novel Rebecca as the basis of a code.
  • In A Presumption of Death, Lord Peter Wimsey, on assignment for British Intelligence in WWII Nazi-occupied Europe, uses a code based on the works of John Donne. The Germans, suspecting that an intelligence service in which Oxonians have a major role would choose a classical work of English literature, systematically try such works until hitting the right one and breaking the code, coming near to catching the spy. Thereupon, Wimsey improvises a new code, based on an unpublished text known only to himself and his wife, and therefore secure.
  • Graham Greene's protagonists often use book codes. In The Human Factor, several books are used, and an edition of Charles Lamb's Tales from Shakespeare is used in Our Man in Havana.
  • A book cipher plays an important role in the TV version of Sharpe's Sword. The key text is Voltaire's Candide.
  • In the 2004 film National Treasure, an Ottendorf cipher is discovered on the back of the U. S. Declaration of Independence, using the "Silence Dogood" letters as the key text.
  • The protagonists of the Matthew Reilly novel The Six Sacred Stones used a book cipher to send confidential messages to each other. The key text was the Harry Potter books, but the messages were sent via a The Lord of the Rings forum to make the key text harder to identify.
  • In 2007, a series of four 1000-piece Lost: Mystery of the Island jigsaw puzzles were released. Ottendorf cipher was used on each puzzle's box to hide spoilers and reveal information about the show to the fans.
  • "The Fisher King", a two-part episode of Criminal Minds, features an Ottendorf cypher brought to the Behavioral Analysis Unit by the UNSUB via Agent Hotchner's wife. The cypher was part of a larger puzzle to find a girl who had been missing for two years. The key text was The Collector by John Fowles.
  • Burn Notice (episodes "Where There's Smoke" and "Center of the Storm", 2010): Michael Weston steals a Bible from a safe deposit box that is the code book of Simon. This becomes part of the season plot to track an organization starting wars for profit as Michael tries to arrange an interview with Simon.

See also[]

de:Buch-Verschlüsselung pl:Szyfr Ottendorfa ru:Книжный шифр