定理(エルガマル暗号)の証明のアイデア
構成(エルガマル暗号)の公開鍵と暗号文は、
- pk = gx, c = (gr, m gxr).
判定DH仮定より、DH組(gx,gr,gxr)はランダムな群要素の3つ組(gx,gr,gs)と
区別がつかない。
よって、(pk,c)は
- pk' = gx, c' = (gr, m gs).
と区別がつかない。
(pk',c')は完全にmを隠しているので、(pk,c)も(効率的な攻撃者に対しては)mを隠す。
定理(エルガマル暗号)の証明
エルガマル暗号に対する任意の効率的な攻撃者をAとする。
Aの成功確率 | Pr[CPAA(n) = 1] - 1/2 | がネグリジブルであることを示したい。
Aを用いて判定DH仮定における識別者Dを構成する:
識別者D: par=(q,g), (g1,g2,g3)を入力として、
- pk=(q,g,g1)を入力としてAを起動する。
- Aから2つのメッセージからなるチャレンジクエリ(m0,m1)を受け取ったら、
- m0もm1も<g>の要素であることを確認する。(そうでなければアボート。)
- 0または1をランダムに選択し、bとする。
- c* = (g2, mbg3) をチャレンジクエリに対する応答として返す。
- Aが出力b'で終了したら、b =? b' の1ビットを出力とする。
[識別者Dの解析]:
- Dへの入力(g1,g2,g3)がランダムな群要素の3つ組(gx,gr,gs)であるとき、
- c*の第2成分mbgsはbと独立なランダムな群要素となる。
- よって、Pr[b = b'] = 1/2.
- Dへの入力(g1,g2,g3)がDH組(gx,gr,gxr)であるとき、
- c* = (gr, mbgxr) の分布は正しいエルガマル暗号文のそれと同じ。
- よって、Pr[b = b'] = Pr[CPAA(n) = 1].
以上より、Dの識別利得は、
- | Pr[CPAA(n) = 1] - 1/2 |
に等しく、判定DH仮定の下でこれはネグリジブルである。
Q.E.D.
最終更新:2009年10月03日 17:55