Page 426 - (ISC)² CISSP Certified Information Systems Security Professional Official Study Guide
P. 426

venture known as RSA Security to develop mainstream

               implementations of their security technology. Today, the RSA
               algorithm has been released into the public domain and is widely used
               for secure communication.

               The RSA algorithm depends on the computational difficulty inherent
               in factoring large prime numbers. Each user of the cryptosystem
               generates a pair of public and private keys using the algorithm
               described in the following steps:

                1.  Choose two large prime numbers (approximately 200 digits each),
                    labeled p and q.


                2.  Compute the product of those two numbers: n = p * q.

                3.  Select a number, e, that satisfies the following two requirements:

                     a.  e is less than n.

                    b.  e and (p – 1)(q – 1) are relatively prime—that is, the two
                        numbers have no common factors other than 1.

                4.  Find a number, d, such that (ed – 1) mod (p – 1)(q – 1) = 1.

                5.  Distribute e and n as the public key to all cryptosystem users. Keep
                    d secret as the private key.

               If Alice wants to send an encrypted message to Bob, she generates the

               ciphertext (C) from the plain text (P) using the following formula
               (where e is Bob’s public key and n is the product of p and q created
               during the key generation process):


                       e
               C = P  mod n
               When Bob receives the message, he performs the following calculation
               to retrieve the plaintext message:


                       d
               P = C  mod n


                  Merkle-Hellman Knapsack



                  Another early asymmetric algorithm, the Merkle-Hellman
                  Knapsack algorithm, was developed the year after RSA was
   421   422   423   424   425   426   427   428   429   430   431