Recent Articles



































Semantic security



         


An asymmetric key encryption algorithm is considered semantically secure if it is not possible for a computationally-bounded adversary to derive significant information about a plaintext given only its ciphertext and the corresponding public encryption key. Semantic security is commonly defined by a game in which an adversary generates two equally-sized messages, <math>m_1<math> and <math>m_2<math>, and transmits them to an encryption oracle along with a public encryption key. This oracle chooses one message at random, encrypts it using the key, and returns the resulting ciphertext <math>c<math> to the adversary. The underlying cryptosystem is semantically secure if the adversary cannot determine which of the two messages was chosen by the oracle, with probability significantly greater than <math>1/2<math>.

Because the adversary possesses the public encryption key, a semantically secure encryption scheme must by definition be probabilistic, possessing a component of randomness; if this were not the case, the adversary could simply compute the deterministic encryption of <math>m_1<math> and <math>m_2<math> and compare the result with the returned ciphertext <math>c<math>.

Semantically secure encryption algorithms include El Gamal and Paillier. Many non-semantically-secure algorithms, such as RSA, can be made semantically secure (under stronger assumptions) through the use of random encryption padding schemes such as OAEP.






  View Live Article   This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License