Update CSE442T_L22.md
This commit is contained in:
@@ -106,5 +106,39 @@ As long as $R$ was never seen in querying rounds, $P[\mathcal{A} \text{ guesses
|
||||
|
||||
$P[R\text{ was seen before}]\leq \frac{p(n)}{2^n}$ (by the total number of queries in all rounds.)
|
||||
|
||||
**This encryption scheme is not CCA2 secure.**
|
||||
|
||||
After round 1, $O^n,1^n\gets \mathcal{A}^{O_1(k)}(1^n)$,
|
||||
|
||||
$(r,m+F(r))=(r,c)$ in round 2.
|
||||
|
||||
Query $Dec_F(r,c+0\ldots 01)=0\ldots 01 \text{ or } 1\ldots 10$.
|
||||
|
||||
$c+0\ldots 01-F(r)=M+0\ldots 01$
|
||||
|
||||
### Encrypt then authenticate
|
||||
|
||||
Have a PRF family $\{f_k\}:\{0,1\}^|k|\to\{0,1\}^{|k|}$
|
||||
|
||||
$Gen(1^n)$ outputs $k_1,k_2\in\{0,1\}^n$ and samples $f_k$ from the PRF family.
|
||||
|
||||
$Enc_{k_1,k_2}(m)$ samples $r\in\{0,1\}^n$ and let $c_1=f_{k_1}(r)\oplus m$ and $c_2=f_{k_2}(c_1)$. Then we output $(r,c_1,c_2)$. where $c_1$ is the encryption, and $c_2$ is the tag. For multi-message security, we need to encrypt $m_1,\cdots,m_q$ at once.
|
||||
|
||||
$Dec_{k_1,k_2}(r,c_1,c_2)$ checks if $c_2=f_{k_2}(c_1)$. If so, output $c_1-f_{k_1}(r)$. Otherwise, output $\bot$.
|
||||
|
||||
Show that this scheme is CPA secure.
|
||||
|
||||
1. Show that the modifier version $\Pi'^{RF}$ where $f_{k_2}$ is replaced with a random function is CCA2 secure.
|
||||
2. If ours isn't, then PRF detector can be created.
|
||||
|
||||
Suppose $\Pi^RF$ is not secure, then $\exists \mathcal{A}$ which can distinguish $IND_i^{O_1,O_2}(\Pi'^{RF},\mathcal{A},n)$ with non-negligible probability. We will use this to construct $B$ which breaks the CPA security of $\Pi$.
|
||||
|
||||
Let $B$ be the PPT algorithm that on input $1^n$, does the following:
|
||||
|
||||
- Run $\mathcal{A}^{O_1,O_2}(\Pi'^{RF},\mathcal{A},n)$
|
||||
- Let $m_0,m_1$ be the messages that $\mathcal{A}$ asked for in the second round.
|
||||
- Choose $b\in\{0,1\}$ uniformly at random.
|
||||
- Query $Enc_{k_1,k_2}(m_b)$ to the oracle.
|
||||
- Let $c$ be the challenge ciphertext.
|
||||
- Return whatever $\mathcal{A}$ outputs.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user