Upgrade to Pro — share decks privately, control downloads, hide ads and more …

勉強会_7ゼロ知識証明.pdf

Avatar for titech.crypto titech.crypto
June 10, 2018
400

 勉強会_7ゼロ知識証明.pdf

Avatar for titech.crypto

titech.crypto

June 10, 2018
Tweet

Transcript

  1. 主張が真ならば、高確率で検 証者は高確率で受理する ↓ Aが正しい秘密鍵を持っている ならば高確率でBはAが秘密鍵 を持っていると判断する 完全性 Completeness 主張が偽ならば、無視できる確 率を除けば検証者は拒否する

    ↓ Aが正しい秘密鍵を持っていな いならば無視できる確率を除き BはAは秘密鍵を持っていない と判断する 主張が真ならば、プロトコルを 実行しても、 検証者に秘密情報がバレない ↓ Aは秘密鍵の情報を明かすこと なく命題を証明できる 健全性 soundness ゼロ知識性 Zero knowledge
  2. 離散対数問題の場合(ℎ = $, : 秘密鍵) Alice(証明者) ∈ + を選ぶ、 =

    - を計算してBobに送る Bob(検証者) ∈ {0,1}を選んでAliceに送る Alice = + を計算してBobに送る Bob - = ℎ: を検証してtree,falseを返す これを何回も繰り返す • 完全性 ・・・ • 健全性 ・・・ • ゼロ知識 ・・・ を知って入れば毎回Bobはtreeを返す 攻撃者は′ ∈ {0,1}を選んで = -/ℎ:= をBobに送って = ′の時にBobはtree を返す. n回検証した場合成功確率は(1/2)A なのでnが大きければ無視できる. 離散対数問題は困難では未知なのでも未知
  3. 非対話証明 Alice(証明者) ∈ + を選ぶ、 = - を計算してBobに送る Alice =

    ()を選んでBobに送る Alice = + を計算してBobに送る Bob - = ℎ: を検証してtree,falseを返す もAliceが計算して送信する. この場合でも = -/ℎD(E)となるようなを攻撃者は計算しなければならずほとんど 無理である.
  4. デジタル署名へ Alice ∈ + を選ぶ、 = - を計算する Alice =

    (||)を選んでBobに送る Alice = + を計算してBobに送る Bob = -/ℎ: を 計算する Bob = (||) を検証する :暗号化されたメッセージなど 選択メッセージ攻撃に対して存在的偽造不可 存在的偽造 :少なくとも一つのメッセージに対して偽造できること(<選択的偽造<一般的偽造<全面解読) 選択メッセージ攻撃:メッセージを選んでその署名を得ることで、別のメッセージを偽造する攻撃 一般的(公開鍵を知らない・メッセージを選んだ後、署名を得る)、 指向的(既知の公開鍵に対して・メッセージを選んだ後、署名を得る)、 適応的(既知の公開鍵・署名を得た後にそれを考慮して署名を得るメッセージが選べる) ランダムオラクル :署名オラクルの出力がランダム
  5. 計算DH問題 • G , I からGI を計算する問題 • 計算DH仮定 が十分に大きな素数で,

    ∈ L とするとき、計算DH問題を効率的に解く アルゴリズムは存在しない • 判定DH仮定 が十分に大きな素数で, , ∈ L のとき、ランダムに与えられたGI か : をどちらか効率的に判断するアルゴリズムは存在しない
  6. ゼロ知識証明の数学的表現 ∀O ,∀ , ∈ , ∀ O ; O

    Z [,\ E,] ≈ { , ; O } 任意の複雑性クラスO、証明者アルゴリズムの入力と対応する証 拠(となる知識), Oの入力に対して E,` を使って(つまり本物の証 明者が証明して) Oが承認する入力 , と同じ入力が得られるシミュ レータが存在する. つまり、 を使わなくても , は情報に変化がないので、このアルゴ リズムの入出力には秘密知識の情報は含まれていないことがわかる
  7. 参考 ・知識の証明と暗号技術 ・Security Akademeia ・ Witness Indistinguishable and Witness Hiding

    Protocols ・暗号プロトコルの基礎数理(黒澤,尾形,IPSJ Magazine Vol.45 No.11 Nov. 2004 )