Applied Cryptography
Which of the following correctly describes a problem with using textbook RSA (computing c = m^e mod n directly from the plaintext m) without padding in real communication?
- AA ciphertext encrypted with the public key can be decrypted with that same public key alone, without the private key
- BBecause the public exponent e is public, the private exponent d can be computed directly from e
- CThe same plaintext always gives the same ciphertext, so the plaintext can be guessed by encrypting candidate plaintexts with the public key and comparing
Show answer and explanation
Answer: C. The same plaintext always gives the same ciphertext, so the plaintext can be guessed by encrypting candidate plaintexts with the public key and comparing
Textbook RSA is a deterministic scheme that uses no randomness, so a plaintext with few candidates, such as "yes" or "no", is revealed simply by the attacker encrypting every candidate with the public key and comparing it with the ciphertext. Also, if the plaintext is small, m^e may not exceed n, and taking the e-th root of the ciphertext gives the plaintext. Real RSA encryption adds padding that includes randomness, such as OAEP, before encrypting, and signatures use padding such as PSS. Furthermore, TLS 1.3 removed the method of sending key material encrypted with RSA altogether, and RSA is used only for signatures there.
- A. Decryption requires the private exponent d; the public key alone cannot decrypt.
- B. Finding d requires φ(n), that is, the factorization of n, so it cannot be computed even though e is public.
- C. Correct. Because the scheme is deterministic, an attack that encrypts and compares candidates works.