Page 323 - Discrete Mathematics and Its Applications
P. 323

302  4 / Number Theory and Cryptography


                                                it will be necessary to use larger primes to ensure secrecy of messages. Unfortunately, messages
                                                that were considered secure earlier can be saved and subsequently decrypted by unintended
                                                recipients when it becomes feasible to factor the n = pq in the key used for RSA encryption.
                                                    The RSA method is now widely used. However, the most commonly used cryptosystems
                                                are private key cryptosystems. The use of public key cryptography, via the RSA system, is
                                                growing. Nevertheless, there are applications that use both private key and public key systems.
                                                For example, a public key cryptosystem, such as RSA, can be used to distribute private keys
                                                to pairs of individuals when they wish to communicate. These people then use a private key
                                                system for encryption and decryption of messages.


                                                Cryptographic Protocols


                                                So far we have shown how cryptography can be used to make messages secure. However,
                                                there are many other important applications of cryptography. Among these applications are
                                                cryptographic protocols, which are exchanges of messages carried out by two or more parties
                                                to achieve a particular security goal. In particular, we will show how cryptography can be used
                                                to allow two people to exchange a secret key over an insecure communication channel. We will
                                                also show how cryptography can be used to send signed secret messages so that the recipient
                                                can be sure that the message came from the purported sender. We refer the reader to [St05] for
                                                thorough discussions of a variety of cryptographic protocols.


                                                KEY EXCHANGE We now discuss a protocol that two parties can use to exchange a secret
                                                key over an insecure communications channel without having shared any information in the
                                                past. Generating a key that two parties can share is important for many applications of cryp-
                                                tography. For example, for two people to send secure messages to each other using a private
                                                key cryptosystem they need to share a common key. The protocol we will describe is known as
                                                the Diffie-Hellman key agreement protocol, after Whitfield Diffie and Martin Hellman, who
                                                described it in 1976. However, this protocol was invented in 1974 by Malcolm Williamson in
                                                secret work at the British GCHQ. It was not until 1997 that his discovery was made public.

                                                Suppose that Alice and Bob want to share a common key. The protocol follows these steps,
                                                where the computations are done in Z p .

                                                (1) Alice and Bob agree to use a prime p and a primitive root a of p.
                                                                                         k 1
                                                (2) Alice chooses a secret integer k 1 and sends a mod p to Bob.
                                                                                        k 2
                                                (3) Bob chooses a secret integer k 2 and sends a mod p to Alice.
                                                                   k 2 k 1
                                                (4) Alice computes (a ) mod p.
                                                (5) Bob computes (a ) mod p.
                                                                  k 1 k 2
                                                At the end of this protocol, Alice and Bob have computed their shared key, namely


                                                    (a ) mod p = (a ) mod p.
                                                      k 2 k 1
                                                                    k 1 k 2
                                                    To analyze the security of this protocol, note that the messages sent in steps (1), (2), and
                                                (3) are not assumed to be sent securely. We can even assume that these communications were
                                                                                                          k 1
                                                                                                                       k 2
                                                in the clear and that their contents are public information. So, p, a, a mod p, and a mod p
                                                are assumed to be public information. The protocol ensures that k 1 , k 2 , and the common key
                                                (a ) mod p = (a ) mod p are kept secret. To find the secret information from this pub-
                                                                 k 1 k 2
                                                  k 2 k 1
                                                lic information requires that an adversary solves instances of the discrete logarithm problem,
   318   319   320   321   322   323   324   325   326   327   328