Для удобства чтения несколько скорректируем обозначения.
Позволять $\Pi=(Gen,Enc,Dec)$ быть $\mathsf{Цена за конверсию}$-безопасная схема шифрования с открытым ключом с пространством для сообщений $\mathcal{M}$. Мы хотим доказать, что $\Pi^2=(Общество^2,Enc^2,Декабрь^2)$, с местом для сообщения $\mathcal{M}\times\mathcal{M}$ это также $\mathsf{Цена за конверсию}$- безопасно, где
$\underline{(pk,sk)\gets Gen^2(1^n)}$:
- $(pk_\alpha,sk_\alpha)\получает Gen(1^n)$
- $(pk_\beta,sk_\beta)\получает Gen(1^n)$
- $(pk,sk):= \big((pk_\alpha,pk_\beta),(sk_\alpha,sk_\beta)\big)$
$\underline{c\getsEnc^2(pk,m)}$:
- $(пк_\альфа,пк_\бета) := пк$
- $(м_\альфа,м_\бета):= м$
- $c_\alpha \gets Enc(pk_\alpha,m_\alpha)$
- $c_\beta \gets Enc(pk_b,m_\beta)$
- $с:=(с_\альфа,с_\бета)$
$\underline{m:= Dec^2(sk,c)}$:
- $(sk_\альфа,sk_\бета) := sk$
- $(с_\альфа,с_\бета):= с$
- $m_\alpha := Dec(sk_\alpha, c_\alpha)$
- $m_\beta := Dec(sk_\beta, c_\beta)$
- $м := (м_\альфа,м_\бета)$.
Мы можем доказать следующее утверждение, доказав противоположное, т.е.
$\underline{Претензия:}$
\начать{выравнивать*}
&\Pi\text{ является $\mathsf{CPA}$-безопасным}\implies\Pi^2\text{ является $\mathsf{CPA}$-безопасным} \
\iff &\Pi^2\text{ является $\lnot\mathsf{CPA}$-безопасным}\implies\Pi\text{ является $\lnot\mathsf{CPA}$-безопасным}.
\конец{выравнивание*}
$\underline{Доказательство:}$
Чтобы доказать обратное, предположим, что существует противник. $\mathcal{А}^2$ против $\П^2$, такой, что $$\Pr[\mathsf{PubK}^{\mathsf{CPA}}_{\mathcal{A}^2,\Pi^2}(n)=1]>\frac{1}{2}+\ mathsf{negl}(n).$$
Другими словами, $\mathcal{А}^2$ может победить $\П^2$ в $\mathsf{Цена за конверсию}$ игра с незначительным преимуществом.
Теперь мы будем использовать $\mathcal{А}^2$ создать противника $\mathcal{А}$ против $\Пи$ в $\mathsf{Цена за конверсию}$ игра.
$\mathsf{Цена за конверсию}$ игра проходит следующим образом:
- $ Поколение (1 ^ п) $ выполняется для получения ключей $(пк_\альфа, ск_\альфа)$.
- противник $\mathcal{А}$ дано $пк_\альфа$ а также доступ оракула к $Enc(pk_\alpha,\cdot)$. Следующий, $\mathcal{А}$ работает $ Поколение (1 ^ п) $ чтобы получить $(pk_\beta, sk_\beta)$.
- противник $\mathcal{А}^2$ дано $пк:=(пк_\альфа,пк_\бета)$ а также доступ оракула к $Enc^2(pk,\cdot)$.
- $\mathcal{А}^2$ выводит пару разных сообщений $m_0:=(m_{0_\alpha},m_{0_\beta}), m_1:=(m_{1_\alpha},m_{1_\beta}) \in\mathcal{M}\times\mathcal{ М} $ с $m_{0_\бета} = m_{1_\бета}$ и $|m_0|=|m_1|$. Другими словами, сообщения $m_0$, $m_1$ разные, а вторая половина одна и та же.
- После получения $m_0$ и $m_1$ от $\mathcal{А}^2$, противник $\mathcal{А}$ пересылаю только первые части $м_{0_\альфа}$,$m_{1_\alpha}$ к $\mathsf{Цена за конверсию}$ игра.
- Игра выбирает случайный бит $b \in \{0, 1\}$, и зашифрованный текст вызова $c_\alpha \gets Enc(pk_\alpha, m_{b_\alpha})$ вычисляется и передается $\mathcal{А}$. $\mathcal{А}$ продолжает иметь доступ к $Enc(pk_\alpha,\cdot)$.
- В настоящее время $\mathcal{А}$ вычисляет вторую половину зашифрованного текста вызова как $c_\beta \gets Enc(pk_\beta, m_{0_\beta}=m_{1_\beta})$. Обратите внимание, что $\mathcal{А}$ не нужно знать бит вызова $b$. Затем, $\mathcal{А}$ отправляет зашифрованный текст вызова \begin{align*} c&:=(c_\alpha,c_\beta)\&:=\big(Enc(pk_\alpha, m_{b_\alpha}),Enc(pk_\beta, m_{0_\ бета}=m_{1_\beta})\big)\end{выравнивание*} к $\mathcal{А}^2$. $\mathcal{А}^2$ продолжает иметь доступ к $Enc^2(pk,\cdot)$.
- $\mathcal{А}^2$ возвращает бит предположения $b''$ к $\mathcal{А}$.
- $\mathcal{А}$ устанавливает собственный бит предположения $b':=b''$, и возвращается $b'$ к $\mathsf{Цена за конверсию}$ игра.
- Результат игры определяется как $1$ если $б'= б$, и $0$ в противном случае.
Из сокращения следует, что \begin{align*} \Pr[\mathsf{PubK}^{\mathsf{CPA}}_{\mathcal{A},\Pi}(n)=1]&=\Pr[\mathsf{PubK}^ {\mathsf{CPA}}_{\mathcal{A}^2,\Pi^2}(n)=1] \&>\frac{1}{2}+\mathsf{negl}(n). \конец{выравнивание*}
Здесь последнее неравенство следует из наших предположений, что $\mathcal{А}^2$ может победить $\П^2$ в $\mathsf{Цена за конверсию}$ игра с незначительным преимуществом.
Наконец, это доказывает первоначальное утверждение о том, что $\Pi\text{ является $\mathsf{CPA}$-безопасным}\implies\Pi^2\text{ является $\mathsf{CPA}$-безопасным}$. $\;\черный квадрат$