If you have a manual encryption system where the keying is done by extracting a key from a book, a major weakness is that an adversary can search trough all existing books to find a perfect Match and thus the key. But isn't that very theoretical since not all books can be accessed by every one on the internet?

What can be done to strenghten such a book derived key?


2 Answers 2


In short none;

In modern cryptography, we work in Kerckhoffs principles. In which, the adversary knows everything but not the key. You might be followed which book you've bought, someone's visited your house to see your bookshelf, etc. You should assume that the adversary also knows your randomness source, in your case, it is the book and key derivation method from the book. Therefore, your system is not secure.

An interesting example is Dual_EC_DRBG a pseudorandom number generator scheme. You think that it is a good pseudorandom number generator scheme but, not. It is backdoored by No Such Agency.

A good key generator scheme must resist against all above or even more. The common way is using a true random number generator to generate random numbers. A true random number generator is unpredictable even the adversary has the same system.

See also; Where do key generation algorithms take the randomness from?.

  • $\begingroup$ But which alternative is there as a key source for especially a hand cipher? $\endgroup$
    – user65597
    Commented Feb 22, 2019 at 17:56
  • $\begingroup$ @user65597 dice throws, writing down the result $\endgroup$
    – Natanael
    Commented Feb 24, 2019 at 1:32

The key selection must always be sufficiently random.

The key can never be considered reliably secure if the selection is simple ("Book A, page B") since the number of possibilities is necessarily too low.

Considering poems in Afrikaans has been cracked it's a necessity to NOT rely on a published book being unknown to the adversary.

Secure book based ciphers often include a list of references to individual books, individual pages, and different paragraphs in turn. In this case it is the sum of many independent unpredictable selections that provide the security a key needs.


Not the answer you're looking for? Browse other questions tagged or ask your own question.