- Probabilistic encryption
Probabilistic encryption is the use of
randomness in anencryption algorithm, so that when encrypting the same message several times it will, in general, yield different ciphertexts. The term "probabilistic encryption" is typically used in reference to public key encryption algorithms, however varioussymmetric key encryption algorithms achieve a similar property (e.g.,block cipher s when used in a chaining mode such as CBC). To be semantically secure, that is, to hide even partial information about theplaintext , an encryption algorithm must be probabilistic.Probabilistic encryption is particularly important when using
public key cryptography . Suppose that the adversary observes a ciphertext, and suspects that the plaintext is either "YES" or "NO", or has a hunch that the plaintext might be "ATTACK AT CALAIS". When adeterministic encryption algorithm is used, the adversary can simply try encrypting each of his guesses under the recipient's public key, and compare each result to the target ciphertext. To combat this attack, public key encryption schemes must incorporate an element of randomness, ensuring that each plaintext maps into one of a large number of possible ciphertexts.An intuitive approach to converting a deterministic encryption scheme into a probabilistic one is to simply pad the plaintext with a random string before encrypting with the deterministic algorithm. Conversely, decryption involves applying a deterministic algorithm and ignoring the random padding. However, early schemes which applied this naive approach were broken due to limitations in some deterministic encryption schemes. Techniques such as OAEP integrate random padding in a manner that is secure using any
trapdoor permutation .The first provably-secure probabilistic public-key encryption scheme was proposed by
Shafi Goldwasser andSilvio Micali , based on the hardness of thequadratic residuosity problem and had a message expansion factor equal to the public key size. More efficient probabilistic encryption algorithms includeElgamal ,Paillier , MCC and various constructions under therandom oracle model , includingOptimal Asymmetric Encryption Padding (OAEP).Example of probabilistic encryption using any trapdoor permutation:
* "x" - "single bit" plaintext
* "f" -trapdoor permutation (deterministic encryption algorithm)
* "b" -hard core predicate of "f"
* "r" - random stringThis is inefficient because only a single bit is encrypted. In other words, the message expansion factor is equal to the public key size.
Example of probabilistic encryption in the random oracle model:
* "x" - plaintext
* "f" -trapdoor permutation (deterministic encryption algorithm)
* "h" -random oracle (typically implemented using a publicly specified hash function)
* "r" - random stringee also
*
Efficient Probabilistic Public-Key Encryption Scheme External links
* Shafi Goldwasser and Silvio Micali, [http://theory.lcs.mit.edu/~cis/pubs/shafi/1984-jcss.pdf Probabilistic Encryption] , Special issue of Journal of Computer and Systems Sciences, Vol. 28, No. 2, pages 270-299, April 1984
Wikimedia Foundation. 2010.