ArticleslgStudy

computer science

Probabilistic encryption

Probabilistic encryption is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Probabilistic encryption rather than just read about it. In short: Probabilistic encryption is the use of randomness in an encryption 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 various symmetric key encryption algorithms achieve a similar property (e.g., block ciphers when used in a chaining mode suc…

Key takeaways

  • Probabilistic encryption belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Probabilistic encryption to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Probabilistic encryption from memory before moving on to harder problems.

Reference excerpt

Probabilistic encryption is the use of randomness in an encryption 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 various symmetric key encryption algorithms achieve a similar property (e.g., block ciphers when used in a chaining mode such as CBC), and stream ciphers such as Freestyle which are inherently random. To be semantically secure, that is, to hide even partial information about the plaintext, an encryption algorithm must be probabilistic.

History The first provably-secure probabilistic public-key encryption scheme was proposed by Shafi Goldwasser and Silvio Micali, based on the hardness of the quadratic residuosity problem and had a message expansion factor equal to the public key size. More efficient probabilistic encryption algorithms include Elgamal, Paillier, and various constructions under the random oracle model, including optimal asymmetric encryption padding (OAEP).

Security 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 a deterministic encryption algorithm is used, the adversary can simply try encrypting each of their 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 optimal asymmetric encryption padding (OAEP) integrate random padding in a manner that is secure using any trapdoor permutation.

Examples 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 string

E n c ( x ) = ( f ( r ) , x ⊕ b ( r ) ) {\displaystyle {\rm {Enc}}(x)=(f(r),x\oplus b(r))}

D e c ( y , z ) = b ( f − 1 ( y ) ) ⊕ z {\displaystyle {\rm {Dec}}(y,z)=b(f^{-1}(y))\oplus z}

This 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 string

E n c ( x ) = ( f ( r ) , x ⊕ h ( r ) ) {\displaystyle {\rm {Enc}}(x)=(f(r),x\oplus h(r))}

D e c ( y , z ) = h ( f − 1 ( y ) ) ⊕ z {\displaystyle {\rm {Dec}}(y,z)=h(f^{-1}(y))\oplus z}

See also Deterministic encryption Efficient Probabilistic Public-Key Encryption Scheme Strong secrecy

References

External links Shafi Goldwasser and Silvio Micali, Probabilistic Encryption, Special issue of Journal of Computer and Systems Sciences, Vol. 28, No. 2, pages 270-299, April 1984 Freestyle, a randomized version of ChaCha for resisting offline brute-force and dictionary attacks [1].

Worked examples

Example 1 — a first encounter with Probabilistic encryption

Start with the simplest possible case. Write down what Probabilistic encryption claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Probabilistic encryption before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Probabilistic encryption ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Probabilistic encryption

In research
Probabilistic encryption appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Probabilistic encryption in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Probabilistic encryption is common in secondary-school and first-year university syllabi. It links to neighbouring topics Theory of cryptography, so understanding it makes those chapters shorter.
In everyday life
Look for Probabilistic encryption outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Probabilistic encryption in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Probabilistic encryption means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Probabilistic encryption out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Probabilistic encryption in simple terms?

Probabilistic encryption is the use of randomness in an encryption 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 vari…

Why does Probabilistic encryption matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Probabilistic encryption?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Probabilistic encryption.

Tags

  • Theory of cryptography

Keep exploring