**Which of the following uses both a public and private key?**

**A. **RSA

**B.** AES

**C.** MD5

**D.** SHA

**Correct Answer: A**

*Section: Cryptography*

**Explanation:**

The RSA algorithm is an early public-key encryption system that uses large integers as the basis for the process.

RSA uses both a public key and a secret.

RSA key generation process:

1. Generate two large random primes, p and q, of approximately equal size such that their product, n = pq, is of the required bit length (such as 2048 bits, 4096 bits, and so forth).

Let n = pq

Let m = (p-1)(q-1)

2. Choose a small number e, co-prime to m (note: Two numbers are co-prime if they have no common factors).

3. Find d, such that

de % m = 1

4. Publish e and n as the public key. Keep d and n as the secret key.

Incorrect Answers:

B: AES (Advanced Encryption Standard) has been adopted by the U.S. government and is now used worldwide. It supersedes the Data Encryption Standard (DES) which was

published in 1977. The algorithm described by AES is a symmetric-key algorithm, meaning the same key is used for both encrypting and decrypting the data.

C: The Message Digest Algorithm (MD) creates a hash value and uses a one-way hash. The hash value is used to help maintain integrity. There are several versions of MD; the most

common are MD5, MD4, and MD2.

D: The Secure Hash Algorithm (SHA) was designed to ensure the integrity of a message. SHA is a one-way hash that provides a hash value that can be used with an encryption

protocol. This algorithm produces a 160-bit hash value.

References:

Dulaney, Emmett and Chuck Eastton, CompTIA Security+ Study Guide, 6th Edition, Sybex, Indianapolis, 2014, pp. 250, 251, 255-256