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

