In asymmetric ciphers we publish the public key for anyone, which means an attacker can encrypt any message they want and compare the ciphertext and plaintext without communicating with the owner of the private key. So do known-plaintext attacks make sense for asymmetric ciphers, or are they only for symmetric ciphers?

Ps. What are all the attacks there exist for public key ciphers? (I know of chosen ciphertext and timing attacks.)


2 Answers 2


Known-plaintext attacks are key-recovery attacks. By design, an asymmetric cipher cannot be susceptible to known-plaintext attacks; it would be completely worthless.

The property you describe that asymmetric ciphers such as textbook RSA lack is called semantic security. Some considerations:

  • In practice, RSA might be used only to encrypt a randomly generated key for a symmetric encryption algorithm, since encrypting a large message would be very slow with RSA alone. If that key is long enough (e.g., 256 bits), it isn't feasible to launch an attack encrypting every possible plaintext; there are too many of them.

  • If RSA itself is used to encrypt the message, proper implementations apply some random padding to the message.

  • Symmetric ciphers do (should) not suffer from this, since you need the secret key to encrypt a message.

Last, it's not possible to enumerate all existing attacks on public-key cryptography. They're different for every cipher and even for different implementations of the same cipher (see blinding).

  • 2
    $\begingroup$ Some improper terminology here, padding is not blinding. Blinding is used to prevent a third party gaining information about some data, optionally allowing him to blindly operate on it, which has little to do with semantic security. Great answer otherwise. $\endgroup$
    – Thomas
    Jan 3, 2013 at 15:41

Defining security against known-plaintext attacks does make sense in PKE. As it happens, any scheme that is secure against an eavesdropper is automatically secure against known plaintext attack as well as chosen plaintext attack. Nevertheless, it does make sense to define these classes of attacks and then show formally that security for an eavesdropper implies security against known and chosen plaintext attacks.

In fact, in Katz-Lindell they first define eavesdropper security for PKE. Then, they define CPA security, and then they show that the two are the same in the public key setting.

As you alluded to, in the public key setting, there is no difference between security from an eavesdropper and CPA-security. The reason is that an encryption oracle does not add any power to the attacker in the public key setting since the attacker has the public key and can encrypt without the oracle.

In sum then, yes it does exist, and in Katz-Lindell, they define CPA-security with PKE by giving an IND-CPA experiment in which the attacker is given an encryption oracle. But this oracle does not add any power to the attacker as an attacker can encrypt any message without the oracle. So in PKE, eavesdropper-security implies CPA-security which certainly implies security agaainst known plaintext attacks.

In regards to your last question, ditto to Dennis--there are many attacks and they vary, so listing them all is not really feasible.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.