Chapter 3Public-Key Cryptography and Key Management

To use data encryption algorithms and key generation algorithms in network communications, users involved in a communication must first agree on using the same secret keys. Before public-key cryptography was invented, delivering secret keys from one user to another relied on couriers. For example, one user would generate a secret key and then use a trusted courier to deliver the key to the other users. Or the users would set up a meeting to determine a secret key with all users present. Secret keys may also be delivered using a variety of communication systems, including postal service, email service, and phone service. These methods, however, are insecure and inflexible for network communication applications.

Invented in the 1970s, public-key cryptography (PKC) was a major breakthrough in cryptography. It makes it possible, without sharing prior secrets, to distribute secret keys securely and to authenticate data. The study of PKC also provides new applications to the seemingly unrelated area of number theory. In this chapter, we first introduce the basic concepts of PKC. We then describe several concrete public-key cryptosystems, including Diffie-Hellman key exchange, Elgamal public-key cryptosystem, RSA public-key cryptosystem, and elliptic-curve PKC. These methods use several results in number theory. For convenience, we include a section reviewing these number theoretic results. Finally, we discuss how to transmit secret ...

Get Introduction to Network Security, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.