# Ciphertext indistinguishability – Wikipedia

**Ciphertext indistinguishability**is a place of many encoding schemes. intuitively, if a cryptosystem possesses the property of identity, then an adversary will be ineffective to distinguish pairs of ciphertexts based on the message they encrypt. The place of identity under chosen plaintext attack is considered a basic necessity for most demonstrably procure populace key cryptosystems, though some schemes besides provide identity under chosen ciphertext assail and adaptive choose ciphertext attack. Indistinguishability under chosen plaintext attack is equivalent to the property of semantic security, and many cryptanalytic proofs use these definitions interchangeably. A cryptosystem is considered

*secure in terms of indistinguishability*if no adversary, given an encoding of a message randomly chosen from a two-element message outer space determined by the adversary, can identify the message choice with probability importantly better than that of random guess ( 1⁄2 ). If any adversary can succeed in distinguishing the chosen ciphertext with a probability importantly greater than 1⁄2, then this adversary is considered to have an “ advantage ” in distinguishing the ciphertext, and the scheme is

*not*considered procure in terms of identity. This definition encompasses the notion that in a guarantee scheme, the adversary should learn no information from seeing a ciphertext. consequently, the adversary should be able to do no better than if it guessed randomly .

## formal definitions [edit ]

security in terms of identity has many definitions, depending on assumptions made about the capabilities of the attacker. It is normally presented as a crippled, where the cryptosystem is considered batten if no adversary can win the plot with significantly greater probability than an adversary who must guess randomly. The most common definitions used in cryptanalysis are **indistinguishability under chosen plaintext attack** ( abbreviated IND-CPA ), **indistinguishability under (non-adaptive) chosen ciphertext attack** ( IND-CCA1 ), and **indistinguishability under adaptive chosen ciphertext attack** ( IND-CCA2 ). Security under either of the latter definition implies security under the former ones : a scheme which is IND-CCA1 batten is besides IND-CPA batten, and a schema which is IND-CCA2 impregnable is both IND-CCA1 and IND-CPA impregnable. frankincense, IND-CCA2 is the strongest of the three definitions of security system .

### Indistinguishability under chosen-plaintext assail ( IND-CPA )

[edit ]

For a probabilistic asymmetrical key encoding algorithm, identity under chosen plaintext approach ( IND-CPA ) is defined by the follow crippled between an adversary and a rival. For schemes based on computational security, the adversary is modeled by a probabilistic polynomial time Turing machine, meaning that it must complete the crippled and output a *guess* within a polynomial number of time steps. In this definition E ( PK, *M* ) represents the encoding of a message *M* under the key *PK* :

- The challenger generates a key pair
*PK*,*SK*based on some security parameter*k*(e.g., a key size in bits), and publishes*PK*to the adversary. The challenger retains*SK*. - The adversary may perform a polynomially bounded number of encryptions or other operations.
- Eventually, the adversary submits two distinct chosen plaintexts M 0, M 1 { \displaystyle \scriptstyle M_ { 0 }, M_ { 1 } }
- The challenger selects a bit
*b*∈ { \displaystyle \scriptstyle \in }*challenge*ciphertext*C*= E(PK, M barn { \displaystyle \scriptstyle M_ { barn } } - The adversary is free to perform any number of additional computations or encryptions.
- Finally, the adversary outputs a guess for the value of
*b*.

A cryptosystem is **indistinguishable under chosen plaintext** attack if every probabilistic polynomial fourth dimension adversary has only a negligible “ advantage “ over random think. An adversary is said to have a negligible “ advantage ” if it wins the above game with probability ( 1 2 ) + ϵ ( thousand ) { \displaystyle \scriptstyle \left ( { \frac { 1 } { 2 } } \right ) \, +\, \epsilon ( thousand ) } , where ϵ ( kelvin ) { \displaystyle \scriptstyle \epsilon ( kilobyte ) } is a negligible function in the security parameter *k*, that is for every ( nonzero ) polynomial function phosphorus o fifty y ( ) { \displaystyle \scriptstyle poly ( ) } there exists k 0 { \displaystyle \scriptstyle k_ { 0 } } such that | ϵ ( kilobyte ) | < | 1 phosphorus oxygen liter y ( k ) | { \displaystyle \scriptstyle |\epsilon ( potassium ) |\ ; < \ ; \left| { \frac { 1 } { poly ( kilobyte ) } } \right| } for all kilobyte > k 0 { \displaystyle \scriptstyle k\ ; > \ ; k_ { 0 } } , M 1 { \displaystyle \scriptstyle M_ { 1 } } and PK, the probabilistic nature of E means that the encoding of M boron { \displaystyle \scriptstyle M_ { b-complex vitamin } } will be only one of many valid ciphertexts, and therefore encrypting M 0 { \displaystyle \scriptstyle M_ { 0 } }, M 1 { \displaystyle \scriptstyle M_ { 1 } } and comparing the resulting ciphertexts with the challenge ciphertext does not afford any non-negligible advantage to the adversary. While the above definition is particular to an asymmetrical key cryptosystem, it can be adapted to the symmetrical case by replacing the public key encoding routine with an encoding oracle, which retains the unavowed encoding key and encrypts arbitrary plaintexts at the adversary ‘s request .

#### symmetrical IND-CPA Game, Formalized [edit ]

The adversarial process of performing a chosen-plaintext fire is normally outlined in the form of a cryptanalytic Game. To test for symmetrical IND-CPA, the game described above is defined. [ 1 ] Let K { \displaystyle { \mathcal { K } } } be a key generation function, E { \displaystyle { \mathcal { e } } } be an encoding function, and D { \displaystyle { \mathcal { D } } } be a decoding function. Let S E = ( K, E, D ) { \displaystyle { \mathcal { S } } { \mathcal { vitamin e } } = ( { \mathcal { K } }, { \mathcal { einsteinium } }, { \mathcal { D } } ) } be a symmetrical encoding scheme. The bet on G u e second mho { \displaystyle Guess } is defined as : As many times as it would like, an adversary selects two plaintext messages of its own choose and provides them to the **LR** oracle which returns a ciphertext encrypting one of the messages. An adversary ‘s advantage is determined by its probability of guessing the prize of *b,* a value chosen at random at the beginning of the game which determines the message that is encrypted in the **LR** prophet. therefore, its advantage is defined as : [ 1 ]

### Indistinguishability under chosen ciphertext attack/adaptive choose ciphertext fire ( IND-CCA1, IND-CCA2 )

[edit ]

Indistinguishability under non-adaptive and adaptive Chosen Ciphertext Attack ( IND-CCA1, IND-CCA2 ) uses a definition similar to that of IND-CPA. however, in addition to the public key ( or encoding oracle, in the symmetrical character ), the adversary is given access to a *decryption oracle* which decrypts arbitrary ciphertexts at the adversary ‘s request, returning the plaintext. In the non-adaptive definition, the adversary is allowed to query this oracle lone up until it receives the challenge ciphertext. In the adaptive definition, the adversary may continue to query the decoding oracle even after it has received a challenge ciphertext, with the caution that it may not pass the challenge ciphertext for decoding ( otherwise, the definition would be superficial ) .

- The challenger generates a key pair
*PK*,*SK*based on some security parameter*k*(e.g., a key size in bits), and publishes*PK*to the adversary. The challenger retains*SK*. - The adversary may perform any number of encryptions, calls to the decryption oracle based on arbitrary ciphertexts, or other operations.
- Eventually, the adversary submits two distinct chosen plaintexts M 0, M 1 { \displaystyle \scriptstyle M_ { 0 }, \, M_ { 1 } }
Read more: A Few Thoughts on Cryptographic Engineering

- The challenger selects a bit
*b*∈ {0, 1} uniformly at random, and sends the “challenge” ciphertext*C*= E(PK, M b { \displaystyle \scriptstyle M_ { b } } - The adversary is free to perform any number of additional computations or encryptions.
- In the
*non-adaptive*case (IND-CCA1), the adversary may*not*make further calls to the decryption oracle. - In the
*adaptive*case (IND-CCA2), the adversary may make further calls to the decryption oracle, but may not submit the challenge ciphertext*C*.

- In the
- Finally, the adversary outputs a guess for the value of
*b*.

A outline is IND-CCA1/IND-CCA2 secure if no adversary has a non-negligible advantage in winning the above game .

### identical from random noise [edit ]

sometimes we need encoding schemes in which the ciphertext string is indistinguishable from a random string by the adversary. [ 2 ] If an adversary is ineffective to tell if a message flush exists, it gives the person who wrote the message plausible deniability. Some people build encrypted communication links prefer to make the contents of each encrypted datagram identical from random data, in rate to make traffic psychoanalysis more unmanageable. [ 3 ] Some people building systems to store code data prefer to make the data identical from random data in order to make data hiding easier. For example, some kinds of harrow encoding such as TrueCrypt undertake to hide data in the impeccant random data left over from some kinds of data erasure. As another example, some kinds of cryptography attempt to hide data by making it match the statistical characteristics of the innocent “ random ” image randomness in digital photograph. To support such deniable encoding systems, a few cryptanalytic algorithms are specifically designed to make ciphertext messages indistinguishable from random bite strings. [ 4 ] [ 5 ] [ 6 ] Most applications do n’t require an encoding algorithm to produce code messages that are identical from random bits. however, some authors consider such encoding algorithms to be conceptually dim-witted and easier to work with, and more versatile in practice—and most IND-CPA encoding algorithm apparently do, in fact, produce encrypted messages that are indistinguishable from random bits. [ 7 ]

## Equivalences and implications [edit ]

Indistinguishability is an authoritative place for maintaining the confidentiality of code communications. however, the property of identity has in some cases been found to imply other, obviously unrelated security system properties. sometimes these implications go in both directions, making two definitions equivalent ; for case, it is known that the property of identity under adaptive chosen ciphertext attack ( IND-CCA2 ) is equivalent to the property of non-malleability under the same attack scenario ( NM-CCA2 ). This comparison is not immediately obvious, as non-malleability is a property dealing with message integrity, quite than confidentiality. In other cases, it has been demonstrated that identity can be combined with certain other definitions, in orderliness to imply still other useful definitions, and frailty versa. The follow list summarizes a few sleep together implications, though it is by no means complete. The notation A ⇒ B { \displaystyle \scriptstyle A\ ; \Rightarrow \ ; B } means that property A implies property B. A ⇔ B { \displaystyle \scriptstyle A\ ; \Leftrightarrow \ ; B } means that properties A and B are *equivalent*. A ⇏ B { \displaystyle \scriptstyle A\ ; \not \Rightarrow \ ; B } means that place a does not inevitably imply property B .

- IND-CPA ⇔ { \displaystyle \scriptstyle \Leftrightarrow }semantic security under CPA.
- NM-CPA (non-malleability under chosen plaintext attack) ⇒ { \displaystyle \scriptstyle \Rightarrow }
- NM-CPA (non-malleability under chosen plaintext attack) ⇏ { \displaystyle \scriptstyle \not \Rightarrow }
Read more: A Few Thoughts on Cryptographic Engineering

- NM-CCA2 (non-malleability under adaptive chosen ciphertext attack) ⇔ { \displaystyle \scriptstyle \Leftrightarrow }