There's a plot point in my current piece that involves some encrypted radio messages to/from a hidden lab and corporate headquarters, some time in the 1910s. In-universe, the corporation's board of directors have settled on a combination of a book cipher with the Vigenère cipher, where the key is chosen using a dictionary and changes at regular intervals. The process can be summed up as follows:

  1. Check the date to see what page, column and line number are mapped to this time period (e.g. page 30, column 1 and line 1).
  2. Open the dictionary and find the matching word (e.g. bugler)
  3. Use that word as the cipher key.
  4. The key must be changed every two weeks. The Board of Directors have been advised that this is Best Practice, and therefore shall not be questioned!

I know that the Vigenère cipher was formally broken by the 1860s, and that part has not changed. However, would combining it with the rest of this actually make it harder to crack, given the state of the art about a century ago?

Other details:

  • In our universe, an attempt to fix the Vigenère around the tail end of WW1 led to the one-time pad (which is proven to be unbreakable, if used properly). For this question, assume that this does not exist or is not widely known.
  • The company's threat model considers the government (any major government) to be the primary threat here, followed distantly by any rival company.
  • 3
    $\begingroup$ Manually breaking a Vigenère cipher using a reasonably sized key, say up to 32 characters, takes a few hours (less if more than one person works on it, most work can be easily divided). Changing the key every two weeks means that the cryptanalists need to spend a few hours every two weeks recovering the keys. $\endgroup$
    – AlexP
    Mar 31, 2018 at 12:07
  • 2
    $\begingroup$ You, know if you are already using a book there is no reason why you need to use only one word as the key, just use as many characters as the message needs starting from the position derived from the date. $\endgroup$ Mar 31, 2018 at 12:28

2 Answers 2


However, would combining it with the rest of this actually make it harder to crack, given the state of the art about a century ago?

I would say "no". Probably easier.

Basically you are using a straight Vigenère cipher. The only complication is the use of a Book for the selection of the key.

Most importantly you are leaving two weeks between key changes.

I know that the Vigenère cipher was formally broken by the 1860s, and that part has not changed.

So when a message is sent and intercepted, the people trying to crack it have as much as two weeks to do so to enable them to reuse the key information to decipher following message. And breaking the cipher is not a major issue (tedious, time consuming perhaps, but not a problem if you want to do it).

And they do not need to know the book or key to decipher the message if you allow the algorithm to do so to be known.

The Book Cipher Problem

This is a weakness.

It won't be long before your enemies figure out which book to use.

Which brings us to the problem of how people know which word to use on a given day. There are only two options :

  • A list of index values that has to written down somewhere OR
  • A "formula" telling people how to work out the index values.

The formula would be very weak as it's an easy target for bribing, blackmail, theft, carelessness to allow your enemies to acquire it.

The list is better, but now the list can also be a target. How well do you trust the people who have this list ? This is business, so they're motivated by money in many cases. That makes them likely targets for all the ways money gets at people.

But fundamentally the list is no different from a simple one-time pad. You are simply distributing the keys not the index values. The book lookup adds almost no significant protection (finding out the book used is the simplest thing to investigate using basic means of surveillance and spying).

So the book mechanism doesn't really do much, except add another set of ways for people to get the keys without cracking the messages (which they can do relatively easily with enough resources). The book and index list/formula actually make the cipher more vulnerable as if the enemies can determine those, you have no security at all.

  • $\begingroup$ I think this is the better answer, for pointing out other ways to break this. $\endgroup$
    – user7076
    Apr 3, 2018 at 11:21

No it wouldn't make it harder to crack

Because the cipher key remains with the same complexity. For someone who wants to crack your code, he will proceed with the exact same process and crack it in approximatively the same time. Which means the book cipher is invisible for him - its as if it doesn't exist. Changing it every two weeks does make it harder to crack though.


The Vigenere Cipher is not so formally broken

In fact, there is still a way to use it so that your message cannot be cracked. The principle is easy: take a key with the same length as your message.

Why ? Because the goal, when cracking a Vigenere Cipher, is to find the key length. If you take a key with the same length as your message, most frequency attack becomes obsolete, and your message is basically unbreakable.

If you do so, no one will be able to crack it (or only with a lot of luck).

How to apply this to your situation ?

Instead of taking only one word as the key, take an entire paragraph starting from that word up to the point you can cover the whole message. Ignore all space and punctuntions, and you have your same-length key.

Source: I studied the Vigenere Cipher and all its attacks.

EDIT: I didn't see the details about the one-time pad at the end of the question, my bad. However, remember that what is important is the number of times you reuse the key when decrypting a message.


You must log in to answer this question.