Frequently Asked Questions For
Information Security Intelligence: Cryptographic Principles & Applications

Describe the RSA Algorithm.

RSA is a public key cryptographic algorithm named for its designers: Rivest, Shamir, and Adleman. It provides for variable key lengths with 512 bits being the most common. The block size of the RSA algorithm is also variable, however the plaintext block must be smaller than the key length and the ciphertext block will be the length of the key. The algorithm is relatively simple (barring the requirements to come up with two very large primes) and is as follows:

  • Choose two large primes, p and q
  • Calculate n = p * q
  • Calculate Ø(n) = (p - 1)(q - 1) This is the total of numbers relatively prime to n which are less than n
  • Choose e {e is the public key} such that it is relatively prime to Ø(n) <e,n> is the public key
  • Choose d {d is the private key} which is the multiplicative inverse {using Euclid's algorithm} of e mod Ø(n) <d,n> is the private key

To use the public key <e,n> and the private key <e,n> for the encryption and decryption process of a message m we can say:

Ciphertext c = m e mod n for the encryption process and

The decryption process yields m = c d mod n

We can also use this process to create digital signatures using the processes in reverse (since signing is the encryption of the message wit the private key)

Signature s = m d mod n of the message m and the verification of the signature is given by the formula m = s e mod n .


Many of the answers to FAQs are from lectures presented at JWU.