定理(エルガマル暗号)の証明のアイデア

構成(エルガマル暗号)の公開鍵と暗号文は、
  • 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