Skip to main content
edited body
Source Link
Maeher
  • 7.1k
  • 1
  • 35
  • 45

A1. Yes, formally it needs to be enforced that the messages are from the message space of the encryption scheme in question. Otherwise the experiment is not well defined. This is often ignored and it is just implicitly assumed that the adversary will output valid messages.

A2. Assuming a message space of $\{0,1\}$ is definitely not without loss of generality. First of all, $0$ and $1$ are not necessarily even elements of the message space. Second, security for message space $\{0,1\}$ does not imply security for any larger messagespace.

Say I have an Encryption scheme for messages in $\{0,1\}$ that is proven CPA secure. Now I define a new Encryption scheme for $\{0,1\} \cup \{0,1\}^2$ that works as follows: If $m\in\{0,1\}$ encrypt with the original scheme. Otherwise output the plaintext. This scheme can be proven secure if the plaintext space is restricted to $\{0,1\}$ but is clearly insecure for its full plaintext space.

In general, if an encryption scheme is secure for a plaintext space $\mathcal{P}$ then it is also secure for any plaintext space $\mathcal{P}'\subseteq\mathcal{P}$. But for any $\mathcal{P}'\not\subseteq\mathcal{P}$ there is no guarantee whatsoever.

A3. Of course you can come up with this kind of notion. Let's start with the most extreme example where $|\mathcal{P}|=1$. In that case all indistinguishability based notion are equivalent (and trivial, because there cannot exist a $\mathcal{A}$ that outputs $m_0\neq m_1$ with $\{m_0,m_1\}\in\mathcal{P}$. But clearly we know that with larger plaintext spaces CPA and CCA notions are not equivalent.

As a more realistic example consider your notion from Q2. Clearly in the case of $\mathcal{P}=\{0,1\}$ that notion (where you can actually get rid of the first stage of $\mathcal{A}$) is equivalent to the corresponding notion from your original definition. However, as I showed above this equivalence does not hold in general.

A4. At least in theory an encryption scheme implemented by a block-cipher in an appropriate mode of operation is CPA (e.g. CBC or CTR mode) or CCA (e.g. GCM mode) secure and has message space $\{0,1\}^*$.

Whether encryptionencrypting blockwise is secure depends on the security notion. For CPA and CCA1 security you can prove that security is preserved if you encrypt blockwise. The proof works with a standard hybrid argument.

For CCA2 security this is not the case. With blockwise encryption, you would receive as a challenge $y$ a list of ciphertexts $c_1,\dots, c_\ell$. The adversary could simply drop one or more of those blocks and query the remaining blocks to the decryption oracle. As this new ciphertext is different from $y$, the oracle would decrypt and thus reveal which message was encrypted.

A1. Yes, formally it needs to be enforced that the messages are from the message space of the encryption scheme in question. Otherwise the experiment is not well defined. This is often ignored and it is just implicitly assumed that the adversary will output valid messages.

A2. Assuming a message space of $\{0,1\}$ is definitely not without loss of generality. First of all, $0$ and $1$ are not necessarily even elements of the message space. Second, security for message space $\{0,1\}$ does not imply security for any larger messagespace.

Say I have an Encryption scheme for messages in $\{0,1\}$ that is proven CPA secure. Now I define a new Encryption scheme for $\{0,1\} \cup \{0,1\}^2$ that works as follows: If $m\in\{0,1\}$ encrypt with the original scheme. Otherwise output the plaintext. This scheme can be proven secure if the plaintext space is restricted to $\{0,1\}$ but is clearly insecure for its full plaintext space.

In general, if an encryption scheme is secure for a plaintext space $\mathcal{P}$ then it is also secure for any plaintext space $\mathcal{P}'\subseteq\mathcal{P}$. But for any $\mathcal{P}'\not\subseteq\mathcal{P}$ there is no guarantee whatsoever.

A3. Of course you can come up with this kind of notion. Let's start with the most extreme example where $|\mathcal{P}|=1$. In that case all indistinguishability based notion are equivalent (and trivial, because there cannot exist a $\mathcal{A}$ that outputs $m_0\neq m_1$ with $\{m_0,m_1\}\in\mathcal{P}$. But clearly we know that with larger plaintext spaces CPA and CCA notions are not equivalent.

As a more realistic example consider your notion from Q2. Clearly in the case of $\mathcal{P}=\{0,1\}$ that notion (where you can actually get rid of the first stage of $\mathcal{A}$) is equivalent to the corresponding notion from your original definition. However, as I showed above this equivalence does not hold in general.

A4. At least in theory an encryption scheme implemented by a block-cipher in an appropriate mode of operation is CPA (e.g. CBC or CTR mode) or CCA (e.g. GCM mode) secure and has message space $\{0,1\}^*$.

Whether encryption blockwise is secure depends on the security notion. For CPA and CCA1 security you can prove that security is preserved if you encrypt blockwise. The proof works with a standard hybrid argument.

For CCA2 security this is not the case. With blockwise encryption, you would receive as a challenge $y$ a list of ciphertexts $c_1,\dots, c_\ell$. The adversary could simply drop one or more of those blocks and query the remaining blocks to the decryption oracle. As this new ciphertext is different from $y$, the oracle would decrypt and thus reveal which message was encrypted.

A1. Yes, formally it needs to be enforced that the messages are from the message space of the encryption scheme in question. Otherwise the experiment is not well defined. This is often ignored and it is just implicitly assumed that the adversary will output valid messages.

A2. Assuming a message space of $\{0,1\}$ is definitely not without loss of generality. First of all, $0$ and $1$ are not necessarily even elements of the message space. Second, security for message space $\{0,1\}$ does not imply security for any larger messagespace.

Say I have an Encryption scheme for messages in $\{0,1\}$ that is proven CPA secure. Now I define a new Encryption scheme for $\{0,1\} \cup \{0,1\}^2$ that works as follows: If $m\in\{0,1\}$ encrypt with the original scheme. Otherwise output the plaintext. This scheme can be proven secure if the plaintext space is restricted to $\{0,1\}$ but is clearly insecure for its full plaintext space.

In general, if an encryption scheme is secure for a plaintext space $\mathcal{P}$ then it is also secure for any plaintext space $\mathcal{P}'\subseteq\mathcal{P}$. But for any $\mathcal{P}'\not\subseteq\mathcal{P}$ there is no guarantee whatsoever.

A3. Of course you can come up with this kind of notion. Let's start with the most extreme example where $|\mathcal{P}|=1$. In that case all indistinguishability based notion are equivalent (and trivial, because there cannot exist a $\mathcal{A}$ that outputs $m_0\neq m_1$ with $\{m_0,m_1\}\in\mathcal{P}$. But clearly we know that with larger plaintext spaces CPA and CCA notions are not equivalent.

As a more realistic example consider your notion from Q2. Clearly in the case of $\mathcal{P}=\{0,1\}$ that notion (where you can actually get rid of the first stage of $\mathcal{A}$) is equivalent to the corresponding notion from your original definition. However, as I showed above this equivalence does not hold in general.

A4. At least in theory an encryption scheme implemented by a block-cipher in an appropriate mode of operation is CPA (e.g. CBC or CTR mode) or CCA (e.g. GCM mode) secure and has message space $\{0,1\}^*$.

Whether encrypting blockwise is secure depends on the security notion. For CPA and CCA1 security you can prove that security is preserved if you encrypt blockwise. The proof works with a standard hybrid argument.

For CCA2 security this is not the case. With blockwise encryption, you would receive as a challenge $y$ a list of ciphertexts $c_1,\dots, c_\ell$. The adversary could simply drop one or more of those blocks and query the remaining blocks to the decryption oracle. As this new ciphertext is different from $y$, the oracle would decrypt and thus reveal which message was encrypted.

Source Link
Maeher
  • 7.1k
  • 1
  • 35
  • 45

A1. Yes, formally it needs to be enforced that the messages are from the message space of the encryption scheme in question. Otherwise the experiment is not well defined. This is often ignored and it is just implicitly assumed that the adversary will output valid messages.

A2. Assuming a message space of $\{0,1\}$ is definitely not without loss of generality. First of all, $0$ and $1$ are not necessarily even elements of the message space. Second, security for message space $\{0,1\}$ does not imply security for any larger messagespace.

Say I have an Encryption scheme for messages in $\{0,1\}$ that is proven CPA secure. Now I define a new Encryption scheme for $\{0,1\} \cup \{0,1\}^2$ that works as follows: If $m\in\{0,1\}$ encrypt with the original scheme. Otherwise output the plaintext. This scheme can be proven secure if the plaintext space is restricted to $\{0,1\}$ but is clearly insecure for its full plaintext space.

In general, if an encryption scheme is secure for a plaintext space $\mathcal{P}$ then it is also secure for any plaintext space $\mathcal{P}'\subseteq\mathcal{P}$. But for any $\mathcal{P}'\not\subseteq\mathcal{P}$ there is no guarantee whatsoever.

A3. Of course you can come up with this kind of notion. Let's start with the most extreme example where $|\mathcal{P}|=1$. In that case all indistinguishability based notion are equivalent (and trivial, because there cannot exist a $\mathcal{A}$ that outputs $m_0\neq m_1$ with $\{m_0,m_1\}\in\mathcal{P}$. But clearly we know that with larger plaintext spaces CPA and CCA notions are not equivalent.

As a more realistic example consider your notion from Q2. Clearly in the case of $\mathcal{P}=\{0,1\}$ that notion (where you can actually get rid of the first stage of $\mathcal{A}$) is equivalent to the corresponding notion from your original definition. However, as I showed above this equivalence does not hold in general.

A4. At least in theory an encryption scheme implemented by a block-cipher in an appropriate mode of operation is CPA (e.g. CBC or CTR mode) or CCA (e.g. GCM mode) secure and has message space $\{0,1\}^*$.

Whether encryption blockwise is secure depends on the security notion. For CPA and CCA1 security you can prove that security is preserved if you encrypt blockwise. The proof works with a standard hybrid argument.

For CCA2 security this is not the case. With blockwise encryption, you would receive as a challenge $y$ a list of ciphertexts $c_1,\dots, c_\ell$. The adversary could simply drop one or more of those blocks and query the remaining blocks to the decryption oracle. As this new ciphertext is different from $y$, the oracle would decrypt and thus reveal which message was encrypted.