ABSTRACT

Every time I make an appointment, I create a hundred malcontents and one ingrate.

King Louis XIV (1638-1715) — from Voltaire Sie`cle de Louis XIV, 1768 edition

Since any (properly implemented) cryptosystem is only as strong as its keys, we need to be concerned about key management, the secure generation, distribution, and storage of keys. Generation of cryptographic keys is vital in any cryptosystem. A real-world example, illustrating what can go wrong, is given by SSL discussed in Section 5.7. In the early days of SSL, implementations released by Netscape failed due to weak keys. We saw how this was a problem with DES, and related ciphers, in Section 3.2. We encountered numerous secure key-generation schemes such as Blowfish in Section 3.4; AES in Section 3.5; RC4 in Section 3.7; RSA in Section 4.2; and ElGamal in Section 4.4. Thus, we have sufficient illustrations of the mechanisms for doing so.