I am currently reading a book called Serious Cryptography written by Aumasson to learn about Security. There was a paragraph talking about the security goal named indistinguishability (attached below), which reads in the section "Security Goals":

I've informally defined the goal of security as "nothing can be learned about the cipher's behavior." To turn this idea into a rigorous mathematical definition, cryptographers defined two main security goals that correspond to different ideas of what it means to learn something about a cipher's behavior:

  • Indistinguishability (IND) Ciphertexts should be indistinguishable from random strings. This is usually illustrated with this hypothetical game: if an attacker picks two plaintext and then receives a ciphertext of one of the two (chosen at random), they shouldn't be able to tell which plaintext was encrypted, even by performing encryption queries with the two plaintexts (and decryption queries, if the model is CCA rather than CPA).

  • Non-mallleability (NM) ...

While I understood that the point is to make it infeasible to point out which plaintext is encrypted when randomly given the ciphertext from one of 2 plaintexts.

I don't know how it is infeasible anymore when the attacker can now perform encryption/decryption queries on the given plaintexts as mentioned in the paragraph. Why can't they just encrypt both given plaintexts and then compare them with the given ciphertext?


1 Answer 1


I think you are missing the idea of randomness as part of a cryptographic application. It is not possible to create CPA-IND- order CCA-IND-security with a deterministic encryption scheme. Only by adding randomness, as an additional ephemeral secret key, those level of security can be archived.

Here is a very simple scheme (you can find it in Katz & Lindell's textbook (2nd edition)), which can be proven to be CPA-secure. $r$ is the needed randomness and $k$ is the standard secret key. $F$ is a pseudo random functions (based on $r$ and $k$)

enter image description here


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.