(翻訳)安全な多者間計算からのゼロ知識証明
Yuval Ishai1, Eyal Kushilevitz2, Rafail Ostrovsky3, Amit Sahai4
この論文の予稿版は STOC 2007 で発表されました5。研究の一部は著者が IPAM を訪問中に行われたものです。
概要
ゼロ知識証明は、証明者が検証者に対し、ある主張が真実であるという事実以外の情報を一切明かすことなく、その主張を納得させることを可能にします。安全な多者間計算は、人の相互に不信感を抱くプレイヤーが、破損した人のプレイヤーに自身の入力に関する追加情報を一切明かすことなく、各自のローカルな入力に関する関数を共同で計算することを可能にします。
我々は、これら二つの基本的な概念の間に存在する新しい一般的な関連性を提示します。具体的には、NP 関係に対するゼロ知識証明の一般的な構成法を提案します。この構成法は、関連する多者間機能に対する任意の安全なプロトコルをブラックボックスとして利用するのみです。後者のプロトコルは、少数の「正直だが好奇心旺盛な」プレイヤーに対して安全であることが要求されるだけです。また、多数の悪意あるプレイヤーに対する安全性を活用して効率を向上させることができる、基本構成の変種も提示します。
応用として、安全な多者間計算に関する過去の結果をゼロ知識の領域に変換し、効率的なゼロ知識証明に関する以前の構成を改善することができます。特に、長さの証拠に対するの検証がサイズの回路によって行える場合、一方向性関数の存在を仮定すると、以下のタイプのゼロ知識証明プロトコルが得られます:
-
証拠長への接近: がゲート(ファンイン無制限)上で定数深さを持つ場合、通信複雑性がであるゼロ知識証明プロトコルが得られます。ここではセキュリティパラメータです。
-
「定数レート」ゼロ知識: サイズでファンインが限定された任意の回路に対して、通信複雑性がであるゼロ知識プロトコルが得られます。したがって、大規模な回路では、通信複雑性と回路サイズの比率は定数に近づきます。これは、以前の最良のプロトコルが持つの複雑性を改善するものです。
キーワード: 暗号理論、ゼロ知識、安全な計算、ブラックボックスリダクション
1. はじめに
本研究では、暗号理論における最も基本的な二つのタスク、すなわちゼロ知識証明と安全な多者間計算との間に、新しい一般的な関連性を確立します。この関連性を説明し、その動機を述べる前に、文脈を理解するための関連背景を説明します。
ゼロ知識証明プロトコル6は、証明者が検証者に対し、ある言明の正当性を、その言明が真であるという事実以外の情報を一切明かすことなく納得させることを可能にします。より一般的な問題として、安全な多者間計算(MPC)7 8 9 10があります。MPC プロトコルは、人のプレイヤーが各自の入力のプライバシーを保ち、出力の正当性を維持しながら、入力に関する関数(「者間機能」とも呼ばれる)を計算することを可能にします。より正確には、プロトコルは、最大人のプレイヤーを汚染する可能性のある敵対者が、関数が外部の信頼できる第三者によって計算される理想的なプロトコルを攻撃することで達成できた以上のことを達成するのを防ぐべきです。特に、汚染されたプレイヤーは、関数の出力以外の残りの入力に関する追加情報を知るべきではありません。ゼロ知識プロトコルは、証明者が持つ証拠の正当性を検証する関数を持つ、安全な二者間計算の特殊なケースと見なすことができます。
正直者多数 vs. 不正直者多数: MPC プロトコルは二つのカテゴリに分類できます。一つは正直者多数の存在に依存するもの(すなわち、と仮定する)9 10 11であり、もう一つは正直者多数が存在しない場合でもセキュリティを提供できるもの7 8 12です。正直者多数の場合、無条件に成立する「情報理論的」セキュリティを得ることが可能ですが、正直者多数でない場合は、暗号学的仮定の下で成立する計算量的セキュリティで妥協する必要があります。一方で、正直者多数の仮定はしばしば強すぎ、重要な二者間の場合には意味をなさないのです。
これら二つのタイプのプロトコルの構成は、用いる技術の種類が大きく異なります。第二のカテゴリのプロトコル(特にゼロ知識プロトコル)が第一のカテゴリのプロトコルの設計に有用であることが時折証明されてきましたが、その逆方向の応用は我々の知る限り存在しません。本研究は、正直者多数を持つ MPC の効率性と単純さ(および関連する膨大な研究)を、正直者多数が存在しない場合の効率的なプロトコル、特に効率的なゼロ知識プロトコルの設計に活用したいという希望に一部動機付けられています。
半正直 vs. 悪意のあるプレイヤー: もう一つの主要な区別は、プロトコルの指示に従うが、見たものから追加情報を得ようとするかもしれない半正直(「正直だが好奇心旺盛」とも)プレイヤーに対するセキュリティを提供する MPC プロトコルと、入力のプライバシーや出力の正当性を侵害するためにプロトコルの指示から任意に逸脱する可能性のある悪意のあるプレイヤーに対するセキュリティを提供するプロトコルとの間にあるものです。これら二つのタイプのプロトコルを、それぞれ半正直モデルで安全、悪意のあるモデルで安全と呼びます。半正直モデルでのセキュリティは、通常、悪意のあるモデルでのセキュリティよりもはるかに実現が容易です。注目すべきことに、Goldreich、Micali、Wigderson 13 8の有名な結果は、半正直モデルで関数を安全に計算する任意の MPC プロトコルを、悪意のあるモデルでを安全に計算するプロトコルにコンパイルする方法を示しています。「GMW パラダイム」として知られるこの高度な技術は、プレイヤーが送信するすべてのメッセージについて、そのメッセージがプロトコルの仕様と一致していることをゼロ知識証明で検証することを要求します。ゼロ知識証明を実装するために、コンパイラはをブラックボックスとして使用するのではなく、そのコード14を調べる必要があり、結果として得られるプロトコルは、を実装する回路のすべてのゲートに対して複数の暗号操作を実行する必要があります。したがって、GMW パラダイムを適用すると、かなりの効率オーバーヘッドが発生する可能性があり、これはの計算複雑性が増すにつれて悪化します。本研究の第二の動機は、半正直モデルのセキュリティを悪意のあるモデルのセキュリティに向上させるための、代替的な「ブラックボックス」アプローチを見つけることです。
1.1 我々の貢献
我々は、NP 関係に対するゼロ知識証明システムの一般的な構成法を提案します。この構成法は、関連する多者間機能に対する MPC プロトコル、およびビットコミットメントプロトコルをブラックボックス15として利用します。機能は、へのブラックボックス(オラクル)アクセスのみを用いて効率的に定義できます。
MPC プロトコルは、任意の数のプレイヤーを関与させることができ、2 人の半正直プレイヤーに対して安全である必要があるだけです。特に、MPC プロトコルは正直者多数の存在下で安全である必要があるだけです。(我々の主要な構成では、が各プレイヤーペア間に理想的な Oblivious Transfer (OT) 16 17チャネルを使用することを許容します。が OT チャネルを必要としない場合のために、が 1 人の半正直プレイヤーに対してのみ安全である必要がある構成の変種を提示します。)
我々の構成の基本的な変種は次のように進行します。と定義します。関数は者間機能と見なされ、(NP 言明)は全プレイヤーに知られており、(証拠の番目のシェア)はプレイヤーの秘密入力です。はへのオラクルを用いて効率的に定義されることに注意してください。ゼロ知識プロトコルは、証明者が(自身のプライベートな作業テープ上で)証拠を個の加法的シェアに秘密分散することから始まります。となるように、ランダムなを選びます。次に証明者は、者間プロトコルを「頭の中で実行」し、言明とシェアを人のプレイヤーの入力として使用します。この実行が完了した後、証明者は検証者との対話を開始します。証明者は人のプレイヤーそれぞれのビューにコミットし、検証者はランダムな異なるプレイヤーのペアを選び、これらのプレイヤーのコミットされたビューを開くよう証明者に要求します。最後に、検証者は、開かれたビューが互いに(に関して)矛盾しておらず、これらのビューの出力が 1 である場合に受理します。(が OT チャネルを使用する場合、この一貫性チェックは各 OT チャネルの入力と出力にも適用されます。)
プロトコルのゼロ知識性は、が 2 人の半正直プレイヤーに対して安全であることから従います。が完全に正しいと仮定すると、健全性を侵害するには、不正な証明者が少なくとも 1 つの矛盾したビューのペアを生成する必要があり、これは少なくともの確率で検出されます。回の繰り返しを用いることで、健全性エラーをに減少させることができます。
我々の変換のブラックボックス性により、効率が大幅に向上する可能性が示唆されます。特に、結果として得られるゼロ知識プロトコルの通信複雑性は、それらが由来する MPC プロトコルの計算複雑性よりも小さくなり得ます。これは、通信複雑性が通常、関係の計算複雑性よりもはるかに大きい、従来のゼロ知識証明(固定された NP 完全問題への Karp リダクションを介して得られる)とは対照的です。
繰り返しによる健全性増幅のコストを回避する、より効率的な構成の変種を得るために、我々はより多くの破損を許容し、検証者が一度に多くのビューを開くことを可能にする MPC プロトコルを採用します。この場合、半正直プレイヤーに対するのセキュリティでは不十分であり、人の悪意のあるプレイヤーに対してある種の頑健性を持つ MPC プロトコルに依存する必要があります(ここで通常、は健全性パラメータの定数倍、はの定数倍となります)。
この修正の背後にある直感は、検証者がプロトコルの単一の実行から、単なる 2 つのビューではなく、個のビューを得られるようにすることです。人の悪意のあるプレイヤーに対するセキュリティは、MPC プロトコルの正当性(またはゼロ知識プロトコルの健全性)を侵害するためには、ビュー間の不整合が「うまく分散」している必要があり、個のランダムなビューを開くことで圧倒的な確率で不整合が明らかになることを保証します。人の半正直プレイヤーに対するセキュリティではここでは不十分であることに注意してください。実際、この場合、単一の悪意のあるプレイヤーが他のすべてのプレイヤーに誤った出力を持たせることができます。もしこの特定のプレイヤーが検証者によって選ばれなければ、不整合は明らかにされず、それでも出力は誤っている可能性があります。一方、悪意のあるプレイヤーに対する完全なセキュリティは必要ありません。プロトコルが悪意のあるプレイヤーの存在下で正当であることが十分であり、そのプライバシーは以前と同様に半正直プレイヤーに対してのみ保持されればよいのです。
我々の応用に必要な基本構成のもう一つの拡張は、が無視できる確率で誤った出力を生成する可能性がある「統計的」なケースです。このケースは、単純な基本構成でさえ失敗させます。なぜなら、敵対者がビューを生成するために使用されるランダム性を偏らせることによって(しかし、それ以外はプロトコルに従って振る舞う)、不正を行うことを可能にするからです。我々は、標準的な暗号技術を用いてこの障害を克服する方法を示しますが、我々の構成の効率的なバージョンでは、これにはいくつかの追加の複雑さが伴います。
応用: 我々の一般的なアプローチの有用性を実証するために、MPC の効率に関する以前の結果をゼロ知識の領域に変換し、効率的なゼロ知識証明に関するいくつかの以前の構成を改善します。特に、長さの証拠に対するの検証がサイズの回路によって行える場合、以下のタイプのゼロ知識証明プロトコルが得られます。
-
シンプルなゼロ知識証明: 半正直モデル用の標準的な MPC プロトコル、例えば 2-private 3-player GMW プロトコル8 12(OT チャネルに依存)や 1-private 3-player BGW プロトコル9を組み込むことで、複雑性のシンプルなゼロ知識プロトコルが得られます。(ここで、また以下ではセキュリティパラメータを示し、健全性エラーは最大です。)これらのプロトコルは、3-Colorability や Hamiltonicity に基づく古典的なゼロ知識プロトコルよりも効率的な代替手段を提供します。なぜなら、それらは回路表現に直接適用され、これらの NP 完全問題への Karp リダクションを必要としないからです。古典的なプロトコルとは対照的に、BGW プロトコルから派生したゼロ知識プロトコルは、算術計算をブール演算でエミュレートする必要なく、算術回路で定義された関係を証明するために効率的に拡張できます。
-
証拠長への接近: がゲート(ファンイン無制限)上で定数深さを持つ場合、通信量がビットのゼロ知識証明プロトコルが得られます。このプロトコルは一方向性関数を用いて実装できます9。あるいは、我々の技術は、前処理を伴う非対話モデルでゼロ知識証明システムを生成します。我々のプロトコルの複雑性は、Kalai と Raz 18による以前のプロトコルのそれと同等です。しかし、後者はゼロ知識論証システムのみを生成し、より強い仮定に依存しますが、セットアップの実装に必要な通信量は少ないです。上記で説明した我々のゼロ知識プロトコルは、14の MPC プロトコルに依存しており、その基本バージョンは BGW プロトコル9と19 20の多項式表現技術を組み合わせたものです。我々が得るプロトコルは、基礎となる仮定(一方向性関数)と通信複雑性の両方の観点から、期待できるほぼ最良のものであることに注意してください。実際、非自明なゼロ知識証明の存在は、「非一様」一方向性関数の存在を意味し21、ゼロ知識証明(論証22とは対照的に)のより低い通信複雑性は、SAT に対する驚くほど効率的な確率的アルゴリズムを意味するでしょう23。
-
「定数レート」ゼロ知識: 一方向性関数が存在すると仮定すると、サイズでファンインが限定された任意の回路に対して、通信複雑性がであるゼロ知識証明が得られます。したがって、大規模な回路では、通信複雑性と回路サイズの比率は定数に近づきます。これは、以前の最良のプロトコル(例:24)が持つの複雑性を改善します。我々のゼロ知識プロトコルは、25の MPC プロトコルに依存しており、代数幾何符号26に基づく秘密分散を用いて定数サイズの体上で動作するように最適化されています。
展望: 我々の構成は、上記で議論した二つの動機付けとなる目標に直接関連しています。第一に、ゼロ知識と MPC の間に新しい一般的な関連性を確立し、これにより特に、正直者多数を持つ MPC に関する膨大な研究をゼロ知識証明の設計に活用できます。後者は、ひいては、一般的な安全な二者間プロトコルや正直者多数のいない MPC の設計に使用できます。この新しい関連性はまた、ゼロ知識証明の効率に関するいくつかの未解決問題と、MPC の分野における同様の未解決問題との間の関連性も確立します。例えば、すべての回路が入力サイズの(例えば)2 乗に依存する通信複雑性で安全に評価できるならば、すべての NP 関係は、証拠サイズのほぼ 2 乗の通信複雑性を持つゼロ知識証明を持つことになります。
第二に、我々の構成は、半正直モデルでのセキュリティをブラックボックス的に悪意のあるモデルでのセキュリティに向上させることができる有用な応用クラスを示します。一般に、半正直モデルで関数を安全に計算するプロトコルをブラックボックス的に使用して、悪意のあるモデルで関数を安全に計算するプロトコルを直接構成することは不可能であることに注意するのは有益です。例えば、がゼロ知識機能である場合、半正直モデルでは、証明者が単に検証者に入力に対するの出力を送信する自明なプロトコルを考えることができます。明らかに、は一般にの構成には役に立ちません。を関連する多者間機能に変更することで、この不可能性を回避します27。
1.2 関連研究
ブラックボックスリダクション: Impagliazzo と Rudich 28の独創的な論文に始まり、暗号理論におけるブラックボックスリダクションの可能性と不可能性の境界線を描こうとする豊富な研究があります。特に、様々な暗号プリミティブからの MPC プロトコルのブラックボックス構成が以前に提案されています29 30 31 32 33 34。我々の研究は、基礎となる暗号プリミティブをブラックボックスとして扱うだけでなく、実現されるべき機能もブラックボックスとして扱う点で、これらすべての研究とは異なります。対照的に、以前の構成は、固定された機能のケースを扱うか、あるいは機能の非ブラックボックス的な使用を行うかのいずれかでした。
ゼロ知識の効率: 対話的および非対話的ゼロ知識証明の効率を改善するための膨大な研究があります。例えば、35 24 36 37 38 39 40 18およびその中の参考文献を参照してください。この文脈で注意すべき重要な点は、計算量的健全性で妥協することにより、多項式対数的な通信複雑性を持つ、漸近的に非常に効率的なゼロ知識論証システムを得ることができるということです。これらの論証システムは、対話的で衝突困難なハッシュ関数に基づくもの22か、ランダムオラクルモデルで非対話的なもの41のいずれかです。我々が論証ではなく証明に焦点を当てるのは、理論的および実践的な観点の両方から動機付けられています。理論的な観点からは、より弱い仮定の下でより強い健全性の概念を得ます。より実践的な観点からは、22 41のような PCP ベースの論証の構成は、まだ実際には効率的であるとは言い難いです。最後に、我々の結果は、半正直プレイヤーに対するセキュリティをブラックボックス的に悪意のあるプレイヤーに対するセキュリティに向上させるという一般的な目標によって独立に動機付けられています。この動機は、証明と論証の両方に当てはまります。
構成: 第 2 節では、いくつかの準備を述べます。半正直モデルにおける MPC からのゼロ知識プロトコルの基本構成は第 3 節で説明され、通信複雑性が証拠長に近いゼロ知識プロトコルへの応用(第 3.2 節)も含まれます。第 4 節では、悪意のあるモデルにおける MPC からのゼロ知識プロトコルの構成を提示します。これらは、第 4.4 節で提示される定数レートのゼロ知識への応用によって動機付けられています。第 5 節でいくつかの最終的な所見をもって締めくくります。
2. 準備
このセクションでは、ゼロ知識証明と MPC プロトコルの概念を定義します。
区別不能性: 関数は、任意の多項式の逆数よりも漸近的に小さい場合、無視できる(negligible)といいます。つまり、すべての定数と十分に大きいすべてのに対して、が成り立ちます。が無視できる場合、は圧倒的(overwhelming)であるといいます。を無限の文字列集合とします。二つの分布アンサンブルとは、すべての効率的な非一様識別器に対して、すべてのに対してとなるような無視できる関数が存在する場合、計算量的に区別不能であると言われます。
2.1 ゼロ知識(ZK)
我々は、文献6 13 42からのゼロ知識証明の標準的な概念を使用し、正直な証明者が効率的であるべき場合に適合させます。
NP 関係は、効率的に決定可能な二項関係であり、多項式的に有界です。つまり、が満たされるならばとなるような多項式が存在します。我々は自然にを 0 または 1 を出力するブール関数と見なします。任意の NP 関係は NP 言語を定義することに注意してください。
NP 関係に対するゼロ知識証明プロトコルは、二つの PPT 対話アルゴリズム、証明者と検証者によって定義されます。最初に、証明者は NP 言明と対応する証拠を与えられ、検証者は言明のみを与えられます。証明者と検証者は、それぞれのアルゴリズムによって定義された次メッセージ関数を使用して対話します。この関数は、入力、これまでに受信したメッセージ、および対応するパーティのコイントスに基づいて、次に送信するメッセージを決定します。
定義 2.1(ゼロ知識証明) プロトコルは、以下の要件を満たす場合、関係に対するゼロ知識証明プロトコルです:
-
完全性: であり、両プレイヤーが正直である(すなわち、プロトコルに従って送信するメッセージを計算する)場合、検証者は常に受理します。
-
健全性: すべての悪意のある計算量的に無制限な証明者に対して、x が偽の言明である(すなわち、すべてのに対してである)場合、との入力に関する対話は、最大での確率を除いてを拒否させるような、無視できる関数が存在します。
-
ゼロ知識: 任意の悪意のある PPT 検証者に対して、PPT シミュレータが存在し、となる入力でと対話するときののビューは、の出力分布と計算量的に区別不能です。すなわち、無視できる関数が存在し、すべての効率的な非一様識別器と、となるすべてのに対して、
が成り立ちます。ここでは、のビューを表し、その入力、コイントス、および受信メッセージから構成されます。
我々は時々、完全性の要件を緩和し、無視できるエラー確率を許容します。最後に、無視できない(通常は定数)健全性エラーを持つゼロ知識プロトコルも考慮します。そのような場合、健全性エラーが指定されます。
簡単のため、我々はゼロ知識プロトコルのより強い知識の証明特性([16]参照)を考慮しません。しかし、我々の一般的な構成は、この特性も満たすことが示せます。
明示的なセキュリティパラメータの使用: 上記のゼロ知識証明の標準的な定義は、言明の長さを暗黙的にセキュリティパラメータとして扱い、不正直なパーティ(証明者または検証者)の有利さがにおいて無視できることを要求することに注意してください。これは実現可能性の結果を確立するには便利ですが、暗号プロトコルの具体的な効率を研究する際には、すべてのアルゴリズムに追加の入力として与えられる別のセキュリティパラメータを導入すると便利です。そのような場合、定義 2.1 の健全性とゼロ知識の要件を、とをそれぞれとに置き換えることで修正します。さらに、ゼロ知識の要件では、との実行時間をの多項式に制限します。後者の定義を満たすゼロ知識プロトコルは、(は任意に小さい定数でよい)とすることで、元の定義を満たすゼロ知識プロトコルに変換できます35。したがって、は入力長よりも漸近的にずっと小さいと考えることができます。
2.2 理想化されたプリミティブ
我々のゼロ知識プロトコルを記述する際、ビットコミットメントやコイントスのようなプリミティブの理想化されたバージョンが利用可能なハイブリッドモデルで、それらを最初に記述し分析すると便利です。その後、理想プリミティブの呼び出しを(一方向性関数のブラックボックス使用のみで)インスタンス化して、プレーンモデルでプロトコルを得る方法を明示的に記述します。このようなモジュラー設計アプローチは、MPC の分野では一般的です(43 12参照)。しかし、我々は計算量的に健全な論証ではなく、無条件に健全な証明を扱っているため、最終的なプロトコルのセキュリティを推論するために既製の合成定理を適用することはできず、各ケースを個別に論じる必要があります。
ゼロ知識証明のモジュラー設計のための一般的なツールが不足しているにもかかわらず、理想プリミティブをインスタンス化して得られるゼロ知識プロトコルの分析は、ハイブリッドモデルにおける我々のプロトコルの分析と、文献からの以前のゼロ知識プロトコルの分析を、かなり直接的な方法で組み合わせていることに注意してください。したがって、本研究の主な貢献は、ハイブリッドモデル内で最もよく見なされるかもしれません。
2.3 安全な多者間計算(MPC)
我々は、文献43 42からの MPC の標準的な定義を使用します。我々の基本モデルは、安全なポイントツーポイントチャネルを介した同期通信を仮定します。(一部のプロトコルは、OT チャネル、ブロードキャストプリミティブ、または理想的なコイントスのような他の理想プリミティブにも依存します。これらは使用されるときに説明されます。)
をプレイヤーの数とし、で表します。すべてのプレイヤーは公開入力を共有し、各プレイヤーはローカルな秘密入力を持ちます。我々は、者間機能を安全に実現するプロトコルを考えます。ここでは、入力を個の出力のタプルにマッピングします。(単一の出力のみが指定されている場合、この出力はすべてのプレイヤーに与えられると仮定されます。)
プロトコルは、その次メッセージ関数を介して指定されます。すなわち、は、公開入力、ローカル入力、ランダム入力、および最初のラウンドで受信したメッセージが与えられた場合に、ラウンドでによって送信される個のメッセージ(および、場合によってはブロードキャストメッセージ)のセットを返します。統計的または計算量的セキュリティの場合、は追加の入力としてセキュリティパラメータを受け取ります。の出力は、プロトコルが終了すべきであることを示すこともあり、その場合、はのローカルな出力を返します。のビューはで示され、、、およびの実行中にが受信したメッセージを含みます。汚染されていないプレイヤーによって送信されたメッセージおよびそのローカルな出力は、とからを呼び出すことによって推測できることに注意してください。ビュー間の一貫性に関する以下の自然な概念を定義すると便利です。
定義 2.2(一貫性のあるビュー) ビューのペアは、(プロトコルといくつかの公開入力に関して)に暗黙的に含まれる送信メッセージがで報告された受信メッセージと同一であり、その逆も同様である場合、一貫性があると言われます。
以下の単純な補題は、個のビューのタプルが、すべてのビューのペアが一貫している場合に限り、のある正直な実行に対応することを主張します。
補題 2.3(ローカル vs. グローバルな一貫性) を上記の者間プロトコル、を公開入力とします。を個の(おそらく不正確な)ビューのタプルとします。そのとき、すべてのビューのペアがとに関して一貫しているのは、公開入力(および秘密入力とランダム入力のいくつかの選択)を持つの正直な実行が存在し、その中でがすべてのに対してのビューである場合に限ります。
証明: 「if」方向は定義から直接従います。「only if」方向については、をペアワイズで一貫性のあるビューとし、をビューで報告された入力とランダム入力とします。ビューのペアワイズの一貫性は、ラウンド数に関する帰納法により、がで呼び出されたときのラウンド後のすべてのプレイヤーの実際のビューが、で報告された最初のラウンドののビューと同じであることを意味します。したがって、個のビューは、要求通り、の完全な実行と一貫しています。□
我々は、「半正直」モデルと「悪意のある」モデルの両方でプロトコルのセキュリティを考えます。半正直モデルでは、セキュリティ要件を以下の正当性とプライバシーの要件に分解することができます。
定義 2.4(正当性) が決定論的な者間機能を完全な(または、統計的な)正当性で実現するとは、すべての入力に対して、あるプレイヤーの出力がの出力と異なる確率が(または、において無視できる)である場合を言います。ここで確率は、ランダム入力の独立した選択にわたります。
定義 2.5(-プライバシー) とします。が完全な-プライバシーでを実現するとは、PPT シミュレータ SIM が存在し、任意の入力と、となる汚染されたプレイヤーの任意の集合に対して、のプレイヤーの共同ビューがと同一に分布する場合を言います。統計的または計算量的プライバシーへの緩和は自然な方法で定義されます。すなわち、統計的(または、計算量的)な場合、すべての識別器(または、回路サイズがの)に対して、無視できる関数が存在し、
が成り立つことを要求します。
悪意のあるモデルでは、汚染されたプレイヤーが任意に振る舞う可能性があるため、セキュリティを上記のように正当性とプライバシーに一般的に分解することはできません。しかし、我々の目的のためには、プロトコルが標準的な一般定義によって暗示される、悪意のあるモデルにおけるより弱いセキュリティ概念を満たすだけで十分です。具体的には、が上記で定義されたように-private であり、さらに悪意のあるモデルにおける以下の正当性の概念を満たすことが十分です。
定義 2.6(-頑健性) が完全な(または、統計的な)-頑健性でを実現するとは、定義2.4のように半正直な敵対者の存在下で完全(または、統計的)に正当であり、さらに、最大人のプレイヤーの集合を汚染する任意の計算量的に無制限な悪意のある敵対者に対して、および任意の入力に対して、以下の頑健性特性が成り立つ場合を言います。となるようなが存在しない場合、正直なプレイヤーの入力がと一致するの実行において、汚染されていないプレイヤーが1を出力する確率は(または、において無視できる)です。
最後に、我々は適応的な敵対者に対する頑健性も考慮します。この敵対者は、これまでに見たプレイヤーのビューに基づいて、汚染されたプレイヤーの集合を動的に選択することが許されます(ただし、汚染されたプレイヤーの総数がを超えない限り)。定義 2.6 は、適応的な敵対者の場合に自然に拡張できます。(そのような定義のインスタンスは後で正式に定義されます。)デフォルトでは、我々は上記で定義された非適応的な頑健性の概念を考えます。
3. 半正直モデルにおける MPC からのゼロ知識証明
このセクションでは、半正直モデルにおける MPC プロトコルに依存する、我々の基本的なゼロ知識プロトコルの構成を提示します。
を NP の言語とし、を対応する NP 関係とします。を、に対応する以下の引数関数()とします: ここでは文字列のビットごとの排他的論理和(すべて同じ長さ)を表します。我々はを者間機能と見なし、最初の引数は全プレイヤーに知られている公開入力、はプレイヤーの秘密入力、出力は全プレイヤーが受け取ります。我々は時々、公開入力を無視し、をによって指定される引数関数と見なします。
を、完全な正当性と、完全、統計的、または計算量的な 2-プライバシー(半正直モデルで)でを実現する者間プロトコルとします。我々は今、NP 関係に対するゼロ知識プロトコルを記述します。証明者と検証者は両方とも入力(のインスタンス)を与えられます。証明者は証拠も与えられ、両者は MPC プロトコルへのブラックボックスアクセスを持ちます。ゼロ知識プロトコルは、統計的に拘束力のあるコミットメントプロトコル Com 44も利用します。これは、任意の一方向性関数45 42に基づいて構築できます。
我々は、Com の理想化された実装を用いてを記述し分析することから始めます。この実装では、文字列は信頼できる第三者に秘密裏に送信することでコミットでき、後でコミッターが信頼できる第三者にコミットされた文字列を明かすよう指示することで開く(または「デコミットする」)ことができます。(コミッターがコミットメントを開くことを拒否できるが、その事実はコミットされた文字列の指定された受信者に知られることに注意してください。)あるいは、コミットされた文字列がロックされた箱で送られ、デコミットが箱を開けるための鍵を送ることで行われる直接的な物理的実装を考えることもできます。このような理想的なコミットメントプリミティブを使用するプロトコルを、コミットメントハイブリッドモデルのプロトコルと呼びます。
コミットメントハイブリッドモデルにおけるの実装は、我々の主な貢献と見なすことができます。後で、理想的なコミットメントプリミティブを実際の暗号コミットメントプロトコルでインスタンス化する際に必要となる分析の(標準的な)修正について説明します。プロトコルを図 1 に示します。
図 1: コミットメントハイブリッドモデルにおける ZK プロトコル
- 証明者は、排他的論理和が証拠に等しくなるようなをランダムに選びます。彼女は入力に対するの実行を「頭の中で」エミュレートします(これには人のプレイヤーのランダム性を選択し、プロトコルを実行することが含まれます)。この実行に基づき、証明者は人のプレイヤーのビューを準備し、これらの個のビューそれぞれに個別にコミットします。
- 検証者は、ランダムに異なるプレイヤーインデックスを選び、それらを証明者に送信します。
- 証明者は、2 つのビューに対応するコミットメントを「開きます」。
- 検証者は、以下の場合に限り受理します: (a) 証明者が要求された 2 つのビューを実際に正常に開いた。 (b) との両方の出力(それらのビューによって決定される)が 1 である。 (c) 開かれた 2 つのビューが互いに一貫している(とに関して、定義 2.2 参照)。
定理 3.1 とし、を上記のとおりとします。が者間機能を完全な正当性と、完全、統計的、または計算量的な 2-プライバシー(半正直モデルで)で実現すると仮定します。そのとき、図 1 で説明されたは、コミットメントハイブリッドモデルにおける NP 関係に対するゼロ知識証明プロトコルであり、健全性エラーです。
証明: 完全性、健全性、ゼロ知識を個別に論じます。
-
完全性: であり、証明者が正直である場合、であり、は完全に正しいため、ビューは常に出力 1 を持ちます。これらのビューはプロトコルの正直な実行によって生成されるため、常に互いに一貫しています。
-
健全性: すべてのに対してであると仮定します。したがって、の完全な正当性により、のすべての選択と、ランダム入力のすべての選択に対して、プロトコルの正直な実行における全プレイヤーの出力は 0 でなければなりません。したがって、ステップ 1 で証明者によってコミットされた個のビューを考えると、すべてのビューで出力が 0 であるか、または補題 2.3 により、とに関して矛盾する 2 つのビューが存在します。前者の場合、検証者は常に拒否し、後者の場合、彼は少なくともの確率で拒否します。これは、彼が矛盾するペアを選択する確率です。
-
ゼロ知識: を悪意のある検証者とします。と MPC シミュレータ SIM の両方をブラックボックスとして呼び出す、のビューのためのシミュレータを記述します。が完全に 2-private である場合から始めます。シミュレータは入力に対して次のように動作します:
- 入力でを実行します。をのステップ 2 でによって送信されたインデックスのペアとします。
- は、のステップ 3 で(正直な)証明者から受信した 2 つのビューを、ランダムなを選び、を実行することでシミュレートします。
(コミットメントハイブリッドモデルでは、ステップ 1 の証明者のコミットメントは自明にシミュレートできることに注意してください。)上記のシミュレーションが完全であることを論じます。となる任意のを固定します。シミュレータによって選ばれたのランダム性は、の実際の実行におけるのランダム性と同一に分布しています。したがって、そのようなランダム性のすべての選択に対して条件付けられた場合にシミュレーションが完全であることを証明すれば十分です。によって決定される検証者の選択をとします。に対するの実際の実行では、への入力(正直な証明者によって選ばれる)は、とが均一で独立であるようになっています。したがって、に条件付けられると、によるの選択は、に対するの実行における証明者によるの選択と同一に分布しています。残るは、の各可能な選択に条件付けられた場合に、のステップ 3 で証明者から受信したビューの分布が、の分布と同一であることを示すことです。実際、SIM がの完全な 2-private シミュレータであるという事実は、と一致するのすべての可能な選択にさらに条件付けられた場合でも、後者が成り立つことを保証します。
最後に、が統計的または計算量的にのみ 2-private である場合、シミュレーションの質もそれに応じて変化します。(これらの場合、シミュレータは追加の入力としてセキュリティパラメータを受け取り、それをと SIM に渡します。)前の証明からの唯一の変更は最終ステップにあります:と一致するのすべての選択にさらに条件付けられた場合、におけるの分布は、今やの出力に統計的または計算量的に近いだけです。標準的な平均化の議論により、これはの最終的な出力がのビューに統計的または計算量的に近いことを意味します。□
上記のプロトコルにおける理想的なコミットメントプリミティブは、任意の統計的に拘束力のあるコミットメントプロトコルでインスタンス化できます。正式な定義については42を参照してください。そのようなコミットメントプロトコルは、任意の一方向性関数45 44に(ブラックボックス的に)基づくことができます。
Com を(完全に拘束力があり、計算量的に秘匿性のある)コミットメントプロトコルとし、を、理想的なコミットメント(またはデコミットメント)の各呼び出しを、セキュリティパラメータを持つ Com の対応する呼び出しを用いて自然な方法で実装することによってから得られるプロトコルとします。そのとき、以下が成り立ちます:
定理 3.2 とし、を定理 3.1 のとおりとします。が者間機能を完全な正当性と、完全、統計的、または計算量的な 2-プライバシー(半正直モデルで)で実現すると仮定します。Com を任意の統計的に拘束力のあるコミットメントプロトコルとします。そのとき、上記で説明されたは、NP 関係に対するゼロ知識証明プロトコルであり、健全性エラーです。ここではいくつかの無視できる関数です。さらに、の回の逐次的な繰り返しから得られるプロトコルは、健全性エラーを持つゼロ知識証明です。
Com が一方向性関数へのブラックボックスリダクションを用いて実装される場合、の実装(およびそのセキュリティリダクション)は、と一方向性関数のブラックボックス使用のみを行うことに注意してください。
証明: の分析は、3-Colorability に対する古典的な GMW ゼロ知識証明13の分析を密接に模倣します。自己完結性のためにここで詳細を提供します。
の完全性は、の完全性と、正直な証明者によるデコミットメントが正直な検証者によって常に受理されるという事実から従います。
健全性: Com の統計的拘束特性は、Com の各呼び出しがコミットされた文字列を定義し、検証者のコインに関する無視できる確率を除いて、この文字列のみが後でデコミットできることを保証します。したがって、の健全性エラーは、のそれよりも最大で無視できる量(すなわち、証明者がいずれかのコミットメントの拘束性を破る確率)だけ大きくなります。
ゼロ知識: GMW プロトコルと同様に、のゼロ知識特性の証明に重要な特徴は、検証者がプロトコルで行える選択が多項式個しかないことです。そのため、シミュレータは次のように動作します:
- シミュレータは、成功するまで以下の回の「試行」を行います。シミュレータがすべての試行で失敗した場合、中止します。
- シミュレータはまず、異なるパーティのペアと入力をランダムに選び、MPC シミュレータを呼び出して、これらのパーティのシミュレートされたビューとを取得します。すべてのに対して、シミュレータはランダムなビューを準備します。
- 各ビューに対して、シミュレータは検証者アルゴリズムでコミットメントプロトコルを実行します。
- 検証者がチャレンジで応答した場合、「試行」は成功したと言い、そうでなければ試行は失敗し、やり直します。試行が成功した場合、シミュレータはとを検証者に開き、成功した対話から得られる検証者のビューを出力します。
明らかに、各シミュレーション試行は少なくともの独立した確率で成功します。したがって、シミュレータは少なくともの確率で少なくとも一度は成功します。
シミュレーションの計算量的区別不能性は、以下の標準的なハイブリッド論法から従います(このハイブリッド論法のより詳細な説明については、3-Colorability に対する GMW ゼロ知識プロトコルの文脈で13 42を参照してください)。
-
ハイブリッド : シミュレータが証拠を与えられる一連のハイブリッド実験を考えます。実験では、最初の回の「試行」で、MPC シミュレータを適用する代わりに、正直な証明者が行うように振る舞い、MPC プロトコルの正直な実行に従ってすべてのビューを準備します。しかし、その後、パーティのペアをランダムに選び、であるすべてのをランダムなビューに置き換え、最後のステップでシミュレータが行うように続けます。(残りの回の試行は上記のシミュレータに従います。)ハイブリッドとシミュレータの出力を区別できる攻撃者は、直ちに MPC シミュレータの識別器をもたらします。同様に、各は同じ理由でと区別不能です。
-
ハイブリッド B: ここで、ハイブリッド B を考えます。これはハイブリッドと同一ですが、今やすべてのビューは(正直な証明者が行うように)MPC プロトコルの正直な実行から生成されたままであるとします。ハイブリッドでは、これらのビューの一部(コミットされたが決して開かれないもの)はランダムなビューであったことを思い出してください。コミットメントの区別不能性により、ハイブリッドはハイブリッド B と区別不能です。
ハイブリッド B と、における証明者と検証者の実世界の対話との唯一の違いは、ハイブリッド B が(何度も独立して)検証者のとの選択を事前に推測しようとすることです。独立性により、ハイブリッド B はの確率で成功します。したがって、ハイブリッド B は、証明者と検証者の間の実生活の対話から統計的距離以内にあり、これでゼロ知識特性の証明は完了します。
上記のシミュレータは悪意のある検証者をブラックボックス的に使用するため、定理の第二部は一般的な逐次合成定理(12参照)によって暗示されます。□
追加の注記:
- が完全に正しくない場合、不正な証明者はの健全性を侵害する可能性があります:に対して、彼女はプロトコルが誤って 1 を出力するようなとを選び、それによって検証者を誤って受理させる(彼がどのインデックスを選んでも)。不完全な正当性の問題については、以下の 3.1 節で扱います。
- 上記のプロトコルは証明者に最大 2 つのビューを開くことしか要求しないため、証拠を人全員ではなく、人のうち 3 人のプレイヤー間で共有すれば十分です。
- 後でゼロ知識プロトコルの通信量を最小化することに関心があります。この基本構成の通信複雑性を(簡単に)分析することは有益です。における通信は、主ににおけるビューへのコミットメントから構成されます。長さの文字列への統計的に拘束力のあるコミットメントを実装するには、ビットの通信コストがかかります。ここではセキュリティパラメータです。これは、まず擬似乱数生成器へのランダムなシードにコミットし、次にを送信することで実現できます。におけるビューの全長は、にの通信およびランダム性複雑性を加えたものに等しいことに注意してください。
- の記述と分析は、より強力な通信チャネルを使用するプロトコルに対応するように容易に拡張できます。例えば、各プレイヤーペアが任意の 2 者間機能へのオラクルアクセスを持つと仮定できます。この機能では、両プレイヤーが入力と出力を送受信します。一貫性のあるビューの概念は、この場合に自然に拡張できます。すなわち、検証者は、オラクルからの報告された出力がその入力と一貫していることを確認できます。(2-プライバシー要件のため、そのようなオラクルがの設計を自明にしないことに注意してください。)特に、各プレイヤーペアが OT チャネル16 17を介して接続されていると仮定できます。このチャネルでは、送信者は 2 つの入力を持ち、受信者は選択ビットを持ち、受信者はを得ます。を、がブロードキャストチャネルを使用する場合に拡張することも容易です。単に証明者が検証者にすべてのブロードキャストメッセージを送信させるだけでよいのです39。
- このプロトコル、および以下のほとんどのプロトコルは、実際にはアーサー・マーリンプロトコルです(すなわち、検証者が証明者に公開ランダムコインを送信することのみを要求します)。
1-private MPC に基づくゼロ知識: ここで、任意の 1-private(2-private ではなく)MPC プロトコルを使用できる、基本ゼロ知識プロトコルの修正版を記述します。個のビューにコミットすることに加えて、証明者は個の通信チャネルそれぞれで通信されたメッセージにコミットします。検証者は今、ランダムなプレイヤーのビューを、に付随する個のチャネルすべてと共に開くよう証明者に要求します。ゼロ知識特性は、検証者に明かされる情報が単一のプレイヤーのビューによって暗示されるという事実から従います。健全性エラーは最大です:補題 2.3 と同様に、プロトコルの無効な実行は、ローカルビューと付随するチャネルとの間に少なくとも 1 つの不整合を含まなければならないことを示すことができます。この健全性エラーは、基本構成のエラーよりも優れており、現在の変種を効率の観点からいくらか好ましいものにしています。(後で、より強力な頑健性特性を持つ MPC に依存することで、より実質的な効率向上を得る方法を示します。)現在の変種の元のプロトコルに対する欠点は、理想的な OT チャネルを使用する MPC プロトコルをサポートできないことです。
文献からの MPC プロトコルの使用: 半正直モデル用のほとんどの標準的な MPC プロトコルは、上記の変換で使用できます。おそらく最も単純なインスタンスは、各プレイヤーペア間に理想的な OT チャネルを用いて実装された、2-private 3-player GMW プロトコル8 12です。2-private 5-player BGW プロトコル9(または、基本構成の代替変種を用いた 1-private 3-player BGW プロトコルでさえも)や、46からのいくらか単純なプロトコルも使用できます。最後に、線形代数関数のような特定の関数クラスに対する効率的な特殊目的 MPC プロトコルに関する膨大な研究があります。これらのプロトコルは、今や対応する関係クラスに対する効率的なゼロ知識プロトコルを得るために使用できます。
3.1 統計的正当性への対処
上記で述べたように、我々の基本構成は MPC プロトコルが完全に正しいことに依存しています。ここでは、が統計的に正しいことを許容する基本構成の変種を記述します43。の以下の修正は、証明者がプレイヤーの入力にコミットすることから始まります。次に、証明者と検証者は、最終的な結果が証明者にのみ知られるコイントス手順を呼び出します。最後に、2 つのビューを明かすとき、検証者は「正しい」ランダム入力が使用されたことを検証できます。
以前と同様に、我々は主にコミットメントハイブリッドモデルで構成を記述し分析し、後でプロトコルを一方向性関数に基づかせるために必要な修正を記述することに焦点を当てます。
修正されたゼロ知識プロトコルは、コミットメントハイブリッドモデルで、図 2 に記述されているように進行します。
図 2: コミットメントハイブリッドモデルにおける ZK プロトコル
- 証明者は、となるようなをランダムに選びます。彼女は各入力、および個のランダムな文字列に個別にコミットします。ここで各はにおけるのランダム入力と同じ長さです。
- 検証者は、証明者に個のランダムな文字列を送信します。ここでです。
- 証明者は、各プレイヤーに対してランダム性を用いて、入力に対するの実行をエミュレートします。この実行に基づき、証明者はプロトコル内の人のプレイヤーのビューを準備し、これらのビューにコミットします。
- 検証者は、ランダムに異なるを選び、それらを証明者に送信します。
- 証明者は、2 つのビュー、および対応するコミットされた入力、ランダム入力のシェアとを開きます。
- 検証者は、すべてのデコミットメントが成功し、によって暗示されるとの出力が 1 であり、2 つのビューが互いに、そして開かれた入力と(とに関して)一貫しており、それらのランダム入力がおよびを満たす場合に限り受理します。
定理 3.3 とし、を定理 3.1 のとおりとします。が者間機能を統計的な正当性と、完全、統計的、または計算量的な 2-プライバシー(半正直モデルで)で実現すると仮定します。そのとき、図 2 で説明されたプロトコルは、コミットメントハイブリッドモデルにおける NP 関係に対するゼロ知識証明プロトコルであり、統計的な完全性と、健全性エラーを持つ。ここではいくつかの無視できる関数です。
証明: 完全性は、以前と同様、検証が容易です:正直な証明者との正しい対話で検証者が拒否する確率は、まさにのエラー確率です。(完全な完全性は、証明者が彼女のの呼び出しが誤った出力を生成した場合にを送信させることで容易に達成できます。これは無視できる確率でしか起こらないため、ゼロ知識特性は影響を受けません。)
健全性: すべてのに対してとなるようなを仮定します。検証者が少なくともの確率で拒否することを示します。ここではいくつかの無視できる関数です。健全性を考えているので、一般性を失うことなく、証明者は常にプロトコルを終了し、要求されたすべてのコミットされた値を適切に開くと仮定できます(コミットメントを開くのに失敗すると、検証者は自動的に拒否します)。つまり、時々コミットメントを開くのに失敗したり、プロトコルを終了するのに失敗したりする証明者は、常にコミットメントを開き、プロトコルを終了し、検証者に受理させる確率が少なくとも同じである証明者に自明に変換できます。の入力およびランダム入力のシェアはステップ 1 でコミットされるため、ステップ 2 で決定される有効なランダム入力は、有効な入力から独立であることが保証されます。(実際、検証者は、証明者がすでににコミットした後に、を均一かつ独立にランダムに選択します。)我々は今、以下のケースを区別できます。
- 入力とランダム入力が、の正直な実行において、あるプレイヤーを(誤った)出力 1 に導く。の統計的正当性と、がから独立であることにより、このイベントは無視できる確率で発生します。
- それ以外の場合(すなわち、がすべてのプレイヤーを出力 0 に導く):ここでは 2 つのサブケースを区別します。
- ステップ 3 でコミットされたビューが、入力とランダム入力でを正直に実行することによって得られる。この場合、すべてのビューは出力 0 を意味し、検証者は常に拒否します。
- それ以外の場合、あるビューの入力がステップ 1 で決定された文字列と異なるか、あるのランダム入力がステップ 2 で決定されたと異なるか、またはとに関して一貫性のないビューのペアが存在します。(これらのタイプの不整合のいずれも発生しない場合、我々は最初のサブケースにいなければなりません。)いずれにせよ、不整合は少なくともの確率で検出されます。
全体として、検証者の拒否確率は少なくともです。ここではのエラー確率です。の統計的正当性は、ランダム入力が均一に分布しているだけでなく、入力から独立に選ばれることも仮定していることに注意してください。したがって、証明者がまずにコミットすることが不可欠です(ステップ 1 で行われるように)。
ゼロ知識: ゼロ知識特性は、基本的なケースと同様に証明されます。直感的には、証明者のコミットメントの秘匿特性は、検証者がを呼び出す際に使用されるランダム性に影響を与えることができず、また以外のプレイヤーのランダム入力について何も学ぶことができないことを保証します。これらのビューは、以前と同様に、の 2-プライバシーによって保証されるシミュレータ SIM を使用してシミュレートできます。不正直な検証者のシミュレータは、入力に対して次のように動作します。
- 入力でを実行します。をステップ 2 でによって送信された文字列とし、をステップ 4 で送信されたインデックスのペアとします。(以前と同様、コミットメントハイブリッドモデルでは証明者のコミットメントは自明にシミュレートできます。)
- ランダムなを選び、を実行してビューのペアをシミュレートします。をシミュレートされたビューに含まれるランダム入力のペアとします。
- 上記のとを用いて、ステップ 5 の証明者のデコミットメントをシミュレートします。
の正当性は、完全に正しいの以前のケースと同様に論じられます。唯一の違いは、今や証明者がを実行するために使用するランダム入力がと共同で生成されることです。しかし、証明者の貢献は検証者の貢献から独立しているため、におけるビューは、のランダム性に条件付けられた場合でも、の出力と区別不能です。□
我々は、統計的に拘束力のあるコミットメントプロトコル Com を用いてを実装する問題に目を向けます。基本構成とは異なり、ここでは理想的なコミットメントの各呼び出しを Com で自然に置き換えることによって得られるプロトコルは、ゼロ知識であることが知られていません。問題は、ステップ 2 で不正直な検証者によって選ばれたランダム性が、ステップ 1 で証明者から受信したメッセージに依存する可能性があることです。これは、効率的なシミュレーションの文脈で問題となることが判明しています。
我々は、この問題を標準的な方法で解決します。ステップ 2 を、証明者と検証者の両方を巻き込むシミュレート可能なコイントスプロトコルを用いてを共同で生成することで置き換えます。この目的のために、Blum のコイントスプロトコル27の逐次的な繰り返しを使用できます。具体的には、長さのランダムな文字列を生成するために、証明者と検証者は回のフェーズで対話します。各フェーズで、証明者は Com を用いてランダムなビットにコミットし、検証者はランダムなビットを送信し、証明者はを開きます。(証明者がを開くのに失敗した場合、検証者は拒否します。)このフェーズから得られるランダムビットは、とされます。
この修正版を、と(若干の記法乱用を伴って)表記し、図 3 に示します。
定理 3.4 とし、を定理 3.1 のとおりとします。が者間機能を統計的な正当性と、完全、統計的、または計算量的な 2-プライバシー(半正直モデルで)で実現すると仮定します。Com を任意の統計的に拘束力のあるコミットメントプロトコルとします。そのとき、図 3 で説明されたは、NP 関係に対するゼロ知識証明プロトコルであり、健全性エラーです。ここではいくつかの無視できる関数です。さらに、の回の逐次的な繰り返しから得られるプロトコルは、健全性エラーを持つゼロ知識証明です。
証明: 完全性はプロトコルと全く同じように従います。健全性もプロトコルとほぼ同じように従います。唯一の違いは、値の均一性と独立性が、コイントスサブプロトコルにおける正直な検証者のの選択によって保証されることです。
ゼロ知識: ゼロ知識を論じるために、我々のプロトコルのステップ 2 で実行されるコイントスプロトコルに関する以下の標準的な補題を利用します(例えば、[^17, Chapter 7]参照)。
補題 3.5(コイントス補題) プロトコルにおいて、多項式時間オラクルマシンが存在し、任意の多項式時間敵対的検証者に対して、以下が成り立ちます:
- 均一にランダムに選ばれたビットに対するの出力は、と正直な証明者の間の実際の対話と計算量的に区別不能です。
- 任意のビットに対するの出力は、任意の中止しないシミュレートされた対話において、という特性を持ちます。
これでシミュレーションを記述できます。不正直な検証者のシミュレータは、入力に対して次のように動作します。
図 3: プレーンモデルにおける ZK プロトコル
-
証明者は、となるようなをランダムに選びます。彼女は Com を用いて各入力、および個のランダムな文字列に個別にコミットします。ここではにおけるのランダム入力と同じ長さです。とします。
-
からまで、以下のプロトコルが続き、長さの文字列を決定します。 (a) 証明者は Com を用いてランダムに選ばれたビットにコミットします。 (b) 検証者はランダムに選ばれたビットを証明者に送信します。 (c) 証明者はへのコミットメントを開きます。証明者がコミットメントを開くのに失敗した場合、検証者は中止します。この時点で、文字列の番目のビット(で示される)をに設定します。
-
上記の手順を通じて、個の文字列()が、文字列の番目のビットがに等しくなるように定義されます。
-
証明者は、各プレイヤーに対してランダム性を用いて、入力に対するの実行をエミュレートします。この実行に基づき、証明者はプロトコル内の人のプレイヤーのビューを準備し、Com を用いて各ビューに個別にコミットします。
-
検証者は、ランダムに異なるを選び、それらを証明者に送信します。
-
証明者は、2 つのビュー、および対応するコミットされた入力、ランダム入力のシェアとを開きます。
-
検証者は、すべてのデコミットメントが成功し、によって暗示されるとの出力が 1 であり、2 つのビューが互いに、そして開かれた入力と(とに関して)一貫しており、それらのランダム入力がおよびを満たす場合に限り受理します。
-
シミュレータは、成功するまで以下の回の「試行」を行います。シミュレータがすべての試行で失敗した場合、中止します。
-
シミュレータはまず、異なるパーティのペアと入力をランダムに選び、MPC シミュレータを呼び出して、これらのパーティのシミュレートされたビューとを取得します。をシミュレートされたビューに含まれるランダム入力のペアとします。すべてのに対して、シミュレータはランダムなビューを準備します。
-
シミュレータは、ステップ 1 で正直な証明者が行うように振る舞います。
-
ステップ 2 では、シミュレータは補題 3.5 によって保証されるを繰り返し呼び出し、それを用いて、各に適切な要件を課すことにより、およびを保証します。
-
各ビューに対して、シミュレータは検証者アルゴリズムでコミットメントプロトコルを実行します。
-
検証者がチャレンジで応答した場合、「試行」は成功したと言い、そうでなければ試行は失敗し、やり直します。試行が成功した場合、シミュレータはとを検証者に開き、成功した対話から得られる検証者のビューを出力します。
このシミュレータの正当性は、基本プロトコルのシミュレータの正当性と同じ議論に従います(定理 3.2 の証明と同じハイブリッドのシーケンスを使用し、さらに補題 3.5 によって提供されるシミュレータ保証を使用します)。□
3.2 応用:証拠長への接近
このセクションでは、通信複雑性がであるゼロ知識プロトコルを提示します。ここでは証拠長、は暗号セキュリティパラメータ、は証拠検証回路(を検証する)のサイズです。これは、が定数深さを持つ場合に成り立ちます。
ゼロ知識プロトコルは、14からの定数深さ回路用の MPC プロトコルに依存します。このプロトコルの基本バージョンは、Razborov と Smolensky 19 20の多項式表現技術と BGW 9の MPC プロトコルを組み合わせたものです。(14のプロトコルには、我々の大まかな複雑性分析には重要でないいくつかの追加の最適化が含まれています。)
事実 3.6 14 をサイズ、入力の長さの定数深さ回路(ファンイン無制限のゲートを使用)とします。そのとき、に対して、人のプレイヤー間のの任意の分割に対して、を統計的な正当性と 2-プライバシーで計算する者間 MPC プロトコルが存在し、の通信複雑性とランダム性複雑性は最大でです。
事実 3.6 と定理 3.4 を組み合わせると、以下が得られます:
系 3.7 一方向性関数が存在すると仮定します。そのとき、サイズで定数深さ(ファンイン無制限のゲートを使用)の回路によって検証できる任意の NP 関係に対して、通信複雑性がであるゼロ知識証明プロトコルが存在します。ここでは暗号セキュリティパラメータです。
付録 A では、同様の通信複雑性を達成する上記プロトコルの非対話バージョンを記述します。
4. 悪意のあるモデルにおける MPC からのゼロ知識証明
このセクションでは、複雑性にの乗法的なオーバーヘッドをもたらす単純な繰り返しを避けつつ、無視できる健全性エラーを持つゼロ知識プロトコルを得ることを目指します。我々は、基礎となる MPC プロトコルからのセキュリティ要件を、悪意のあるモデルにおける-セキュリティに強化することによってこれを行います。(これは、前のセクションで使用された半正直モデルにおける 2-プライバシーまたは 1-プライバシーとは対照的です。)実際には、MPC プロトコルが半正直モデルで-private であり、悪意のあるモデルで(完全または統計的に)t-robust であることのみが必要である(定義 2.6 で定義)。
まず、が完全に-robust であると仮定します。我々は、が健全性パラメータの定数倍であり、がの定数倍となるようにパラメータを選びます。この場合のゼロ知識プロトコルは、基本構成(図 1)で説明されたプロトコルと同一ですが、検証者が証明者に個のランダムに選択されたビューを開くよう要求し、それらの一貫性をチェックする点が異なります。プロトコルは図 4 で正式に記述されます。
図 4: コミットメントハイブリッドモデルにおける ZK プロトコル
- 証明者は、排他的論理和が証拠に等しくなるようなをランダムに選びます。彼女は入力に対するの実行をエミュレートします。この実行に基づき、証明者は人のプレイヤーのビューを準備し、これらの個のビューそれぞれに個別にコミットします。
- 検証者は、ランダムに個の異なるプレイヤーインデックスを選び、それらを証明者に送信します。
- 証明者は、個のビューに対応するコミットメントを開きます。
- 検証者は、以下の場合に限り受理します: (a) 証明者が要求された個のビューを正常に開いた。 (b) これらのビューのすべてのプレイヤーの出力が 1 である。 (c) の各々に対して、ビューとが互いに一貫している(とに関して)。
定理 4.1 が者間機能を完全な-頑健性(悪意のあるモデルで)と、完全、統計的、または計算量的な-プライバシー(半正直モデルで)で実現すると仮定します。ここでかつ(は定数)です。そのとき、図4で説明されたは、コミットメントハイブリッドモデルにおけるNP関係に対するゼロ知識証明プロトコルであり、健全性エラーです。
証明: 完全性とゼロ知識の議論は定理 3.1 の証明と同様であり、健全性のみが新しい証明を必要とします。健全性の証明の根底にある直感は次のとおりです。証明者によってコミットされたビューを考えます。これらのビュー間のすべての不整合が、最大個のビューを排除することによって解決できる場合(言い換えれば、互いに一貫性のある個のビューが存在する場合)、を介してコミットされたプロトコル実行は、最大人のプレイヤーを汚染する敵対者によって実現され得ます。(我々は、個の除外されたビューが他の個のビューと一貫していることを要求しません:除外されたビューは敵対者によって報告されたものと考えることができます。)の完全な-頑健性により、入力に対するそのような実行では、すべての汚染されていないプレイヤーは 0 を出力しなければなりません。これは、出力が 0 であるのコミットされたビューが少なくとも個存在することを意味します。はの定数割合であるため、検証者は、において無視できる確率を除いて、これらのビューの少なくとも 1 つを開く(そしてしたがって拒否する)でしょう。一方、すべての不整合を解決するために個以上のビューを排除する必要がある場合、開かれた個のビューは、圧倒的な確率で、検証者に少なくとも 1 つの不整合を明らかにします。
健全性を正式に論じるために、n 個のコミットされたビューに基づいて定義される以下の不整合グラフを考えます。グラフは個の頂点(個のビューに対応)を持ち、ビューが不整合である(とに関して)場合にに辺が存在します。すなわち、ビューにおけるからの受信メッセージが、に暗黙的に含まれるへの送信メッセージと異なるか、またはその逆です。我々は、両方のケースで検証者がを圧倒的な確率で拒否することを示し、健全性を 2 つのケースに従って分析します。
-
ケース 1: にサイズが最大の頂点被覆集合が存在する。この場合、であるすべてのビューの出力は 0 でなければならないと主張します。(直感的には、「小さな」頂点被覆はビュー間のすべての不整合を「説明」できる。)これを見るために、敵対者がプレイヤーの集合を汚染し、である任意のプレイヤーのビューがになるように振る舞うプロトコルの実行を考えます。そのような実行は、からへのすべてのメッセージをビューのように選択することによって得られます。は頂点被覆であるため、であるビューのすべてのペアはグラフで接続されておらず、したがって一貫しています。最後に、の完全な-頑健性により、そのような汚染は正直なプレイヤーの出力に影響を与えるべきではなく、出力は 0 でなければなりません。したがって、であるすべてのビューで出力が 0 である場合、検証者が彼の個の選択の中で、にないプレイヤーを少なくとも 1 人選ぶだけで十分です。パラメータの選択により、これが起こらない確率は最大でです。
-
ケース 2: 。(ここで、また以下で、はの最小頂点被覆のサイズを示します。)そのようなグラフでは、頂点の定数割合のランダムな選択が、圧倒的な確率で辺に当たると主張したいです。このために、我々は最小頂点被覆のサイズと最大マッチングのサイズの間のよく知られた関連性を利用します。(マッチングを考える利点は、辺間の独立性が得られることです。)より詳細には、グラフはサイズがより大きいマッチングを持たなければなりません(そうでなければ、最大マッチングが未満の辺を含む場合、このマッチングの頂点はサイズが未満の VC を形成します)。検証者がの少なくとも 1 つの辺を選べば、彼は拒否します。検証者が選ぶ個の頂点(ビュー)がのすべての辺を外す確率は、彼がマッチングのすべての辺を外す確率よりも小さく、これもまた最大でです。(実際、最初の個の頂点がマッチングの辺に当たらなかったと仮定します。そのとき、それらの個のマッチングの隣接点は、後続の各頂点によってヒットされる確率がとなります。)□
定理 4.1 の証明は、なぜ我々が-プライバシーだけに頼ることができず、MPC プロトコルが悪意のある敵対者に対して-robust である必要があるのかを説明しています。実際、-private プロトコルでは、単一の悪意のあるプレイヤーが、単に誤ったメッセージを送信することによって、すべての正直なプレイヤーに誤った出力を持たせることがあるかもしれません。これは、だけが頂点被覆を形成する不整合グラフに対応します。そのような場合、検証者はがランダムに選ばれた場合にのみ不整合を検出しますが、これは定数の確率でしか起こりません。
上記のプロトコルでコミットメントを実現する方法については、このセクションの最終的なプロトコルに到達するまで(下記参照)遅らせます。
4.1 MPC モデルの変更
基本構成の健全性増幅オーバーヘッドを排除するために必要な最後の変更は、人のプレイヤー間でのの秘密分散を避けることです。代わりに、我々は以下の修正された機能に対する MPC プロトコルを使用します。この機能は、「入力クライアント」(25の用語に従う)と呼ばれる特別なプレイヤーから入力全体を受け取り、を全人のプレイヤーに出力します。(NP 言明は、以前と同様、全プレイヤーに知られていますが、以外のプレイヤーは秘密入力を持たない。)プロトコルは、と最大人のプレイヤーを汚染する可能性のある敵対者に対して、悪意のあるモデルで安全であると仮定できます。以前と同様、我々はプロトコルが定義 2.5 および 2.6 からの-プライバシーと(完全な)-頑健性の要件を満たすことのみを必要としますが、-頑健性は敵対者が最大人のプレイヤーに加えてを汚染することを許容する点が異なります。後で使用する25の MPC プロトコルは、すでにこの「入力クライアント」フレームワークで提示されていることに注意してください。
この場合、と表記されるゼロ知識プロトコルは、図 4 のプロトコルと同じ方法で進行しますが、以下の変更点があります:(1) を人のプレイヤー間で秘密分散する代わりに、は証明者によってを呼び出す際にへの入力として直接使用されます。(2) 検証者は、ランダムに選択された人のプレイヤー(入力クライアントを除く)のビューを見るよう要求し、それらがすべて 1 を出力し、互いに一貫していることをチェックします。のビューは開くことができません(したがってコミットする必要はありません)。なぜなら、これはを明かすことになるからです。
定理 4.2 を入力クライアントと人のプレイヤーに対する以下の機能とします。公開入力とから受信した秘密入力が与えられると、機能はをすべてのプレイヤーに配信します。がを完全な-頑健性(悪意のあるモデルで)と、完全、統計的、または計算量的な-プライバシー(半正直モデルで)で実現すると仮定します。ここでかつ(は定数)です。そのとき、上記で説明されたは、コミットメントハイブリッドモデルにおける NP 関係に対するゼロ知識証明プロトコルであり、健全性エラーです。
証明: 完全性とゼロ知識特性は、と本質的に同じ方法で論じられます。(ゼロ知識特性については、MPC シミュレータは、シミュレートされたプレイヤーに、これらのプレイヤーがもはや秘密入力を持たないため、入力を供給する必要はありません。)
健全性の証明は、異なる MPC ネットワークとゼロ知識プロトコルを考慮して、わずかに修正する必要があります。具体的には、定理 4.1 の証明との違いは、1 人のプレイヤーのビューが決して開かれないことです。しかし、これは、修正された-頑健性の定義が、最大人の追加のプレイヤーと共にが汚染されることを許容するという事実によって、すでに考慮されています。完全性のために、現在のわずかに修正された MPC モデルにおける健全性のための修正された議論の概要を述べます。
が偽の言明であると仮定し、悪意のある証明者によってコミットされたビューによって定義される(個の頂点上の)不整合グラフを考えます。我々は以下の 2 つのケースを区別します:
- : 前の分析のケース 1 と同様に、コミットされたビューは、と最大人のプレイヤーが汚染されるプロトコルの実行によって説明できます。完全な-頑健性により、そのような実行では、残りのすべての人のプレイヤーは 0 を出力すべきであり、これはの確率を除いて検証者によって検出されます。
- : 前の分析のケース 2 と同様に、グラフはサイズがより大きい最小マッチングを持たなければなりません。したがって、プレイヤーのペア間の不整合は、の確率を除いて検出されます。
4.2 統計的頑健性への対処
このセクションでは、が統計的にのみ頑健である場合に適用される、4.1 節の前のプロトコルの変種を記述します。これは、4.4 節で記述される定数レートのゼロ知識への応用によって動機付けられています。
が統計的にのみ-robust である場合、と最大人のプレイヤーを汚染する悪意のある敵対者は、不正を行う、すなわちが偽の言明であるときに一部のプレイヤーに 1 を出力させる無視できる確率を持つことができます。興味深いことに、この場合、3.1 節で提示されたコイントスベースの基本プロトコルの修正は、望ましいレベルの健全性を達成するには不十分です。これは、証明者が、制御できないランダム入力にコミットしている間、すべてのプレイヤーのランダム入力が与えられた後にビューを生成することが許されるからです。(これは、敵対者が汚染されたプレイヤーのランダム性しか知らないの実際の実行とは対照的です。)そのような場合、単一の悪意のあるプレイヤーでさえ、すべての出力を高い確率で誤らせるのに十分かもしれません。もしこの特定のプレイヤーが検証者によって選ばれなければ、不整合は明らかにされないが、それでも出力は誤っている可能性があります。
この困難を回避するために、プロトコルのプライバシーに使用されるランダム入力と、その頑健性を保証するために使用されるランダム入力を分離すると便利です。以下では、プロトコルがフェーズ 1 とフェーズ 2 の 2 つのフェーズに分割されている場合に機能する構成を記述します。フェーズ 1 に続いて、プレイヤーはフェーズ 2 で使用される長さの公開ランダム文字列を取得します。これは、2 つ以上のフェーズを持つプロトコルに一般化できます。しかし、重要な点は、プロトコルの途中で生成される各文字列は、前のフェーズでは予測不可能でなければならないということです。2 フェーズプロトコルの頑健性は、ランダムな文字列を見た後で(一部の)人の汚染されたプレイヤーを選択する可能性のある適応的な敵対者に関しても保持されるべきです。より正確には、我々は以下の適応的な-頑健性の要件を課します。
定義 4.3(適応的に-頑健な 2 フェーズプロトコル) を上記の(入力クライアントと人のプレイヤーを伴う)2フェーズMPCプロトコルとし、を定理4.2のとおりとします。が適応的な統計的-頑健性でを実現するとは、定義2.4のように統計的に正しく、さらに、任意の計算量的に無制限な敵対者が以下のゲームに勝つ確率がにおいて無視できる場合を言います。まず、敵対者は偽の言明(すべてのに対してとなるような)、最大人の汚染されたプレイヤーの集合、およびすべての汚染されていないプレイヤーのランダム入力を選びます。今、敵対者はのフェーズ1を実行し、とのプレイヤーを任意に制御します。フェーズ1が終了した後、コイントスオラクルが呼び出され、ランダムなチャレンジが生成されます。に基づいて、敵対者は最大人の追加のプレイヤーを汚染し、プロトコルのフェーズ 2 の間、正直なプレイヤーと対話し続けます。敵対者は、一度も汚染されなかったプレイヤーが 1 を出力した場合に勝利します。
この適応的な頑健性特性は、4.4 節で採用する具体的な MPC プロトコルによって満たされ、健全性分析がうまくいくために重要です。
そのような 2 フェーズ MPC プロトコルから得られるゼロ知識プロトコルは、図 5 に記述されています。便宜上、ここでは証明者と検証者が理想的なコミットメントだけでなく、理想的なコイントスオラクルにもアクセスできると仮定します。しかし、後者のオラクルは、我々の設定では前者に基づいて容易に実装できます。
図 5: コミットメントおよびコイントスハイブリッドモデルにおける ZK プロトコル
- 証明者は、のランダム入力と、すべてのプレイヤーのランダム入力を選びます。彼女は、フェーズ 1 の終わりまでのプレイヤーのビュー(で示される)を計算し、それらすべてにコミットします。MPC プロトコルのこのフェーズでブロードキャストされたメッセージは、からに直接送信されます。
- 証明者と検証者は、コイントスオラクルを呼び出して、長さのランダムなチャレンジ文字列を生成します。
- 証明者は、前のステップで生成された文字列を用いて、頭の中でプロトコルを実行し続け、フェーズ 2 のビューを生成します。証明者はこれらの個のビューにコミットします。再び、MPC プロトコルのフェーズ 2 でブロードキャストされたメッセージは、からに直接送信されます。
- 検証者は、ランダムに異なるを選び、それらを証明者に送信します。
- 証明者は、対応する個のコミットメントを開きます。
- 検証者は、証明者が要求された個のビューを正常に開いた場合、開かれたビューがすべて(公開値および証明者によって送信されたブロードキャストメッセージが与えられた場合に)一貫しており、これらのビューのすべての出力が 1 である場合に限り受理します。
定理 4.4 を定理 4.2 のとおりとします。が、適応的な統計的-頑健性(悪意のあるモデルで、定義 4.3 参照)と、完全、統計的、または計算量的な-プライバシー(半正直モデルで)でを実現する 2 フェーズプロトコルであると仮定します。ここでかつ(は定数)です。そのとき、図 5 で説明されたは、コミットメントおよびコイントスハイブリッドモデルにおける NP 関係に対するゼロ知識証明プロトコルであり、健全性エラーです。ここではの頑健性エラーです。
証明: 完全性とゼロ知識特性は以前と同様に論じられます。我々は、ZK プロトコルにおける任意の不正な証明者の戦略に、同じビューを生成する MPC プロトコルにおける対応する敵対的戦略を割り当てることによって、健全性を論じます。そのようなシミュレーションは、ZK 証明者が不整合なビューをあまり多く作成しない場合にのみ可能ですが、彼女がそうする場合、ZK 検証者は不整合を検出し、圧倒的な確率で拒否します。
我々は今、この議論を形式化します。偽の言明を固定します。を、入力に対する ZK プロトコルにおける(決定論的で、計算量的に無制限な)証明者戦略とします。を、がステップ 1 でコミットするビューとし、を、がランダムなチャレンジに応答してステップ 3 でコミットするビューとします。最後に、を、ビューの完全な集合によって定義される不整合グラフとします。
我々は、MPC プロトコルでと最大人のプレイヤーを汚染することによってと同じビューを生成しようとする、対応する(決定論的で、計算量的に無制限な)MPC 敵対者を定義します。(MPC 敵対者は、汚染しないプレイヤーも含め、すべてのプレイヤーのランダム入力を決定できますが、2 つのフェーズ間で生成されるランダムなチャレンジを予測することはできないことを思い出してください。)
MPC 敵対者は、部分的なビューによって定義される不整合グラフを考慮することから始めます。これは、まだには未知の最終的な不整合グラフの部分グラフであることに注意してください。グラフがサイズの頂点被覆を持たない場合、は諦めます。そうでなければ、はのすべてのプレイヤーを汚染します。それは、で指定されたように、の入力と秘密のランダム入力を設定します。今、は MPC プロトコルのフェーズ 1 と対話し、汚染されたプレイヤーに代わってメッセージを送信し、すべての汚染されていないプレイヤーのビューをと一致させます。(これは、が頂点被覆であるという仮定によって可能です。)次に、はランダムなチャレンジを取得します。それが受け取るは、最終的な不整合グラフを定義します。再び、グラフがサイズの頂点被覆を持たない場合、は諦めます。そうでなければ、それはのすべての汚染されていないプレイヤーを汚染し、MPC プロトコルのフェーズ 2 と対話します。(全体で最大人のプレイヤーが汚染されたので、これは確かににとって許容される適応的な汚染戦略であることに注意してください。)以前と同様に、は汚染されたプレイヤーに代わってメッセージを送信し、すべての汚染されていないプレイヤーの最終的なビューをと一致させます。最終的な MPC ビューは、汚染されていないプレイヤーの実際のビューと、汚染されたプレイヤーに対するに現れるビューと共に定義されます。
補題 4.5 すべてのに対して、がサイズが最大の頂点被覆を持つ場合、です。
証明: はの部分グラフであるため、仮定は要求されるとの両方が存在することを意味し、したがっては諦めません。補題は、プロトコルの 2 つのフェーズを通じて汚染されていないプレイヤーに送信されるメッセージがと一致していることに注意することで従います。□
以下の補題は、完全な頑健性の場合の健全性分析と同様に証明されます。
補題 4.6 がサイズの頂点被覆を持たないすべてのに対して、ZK 検証者はの確率を除いて拒否します。
我々は今、ゼロ知識プロトコルの健全性エラーに関する望ましいの限界を証明する準備ができました。我々は、のすべての可能な選択をカバーする 3 つのイベントを考えます:
- がにの-頑健性を破らせる。に関する仮定により、このイベントは最大での確率で発生します。
- 前のイベントが発生せず、さらにがサイズが最大の頂点被覆を持つ。補題 4.5 により、には出力が 0 であるビューが少なくとも個存在します。したがって、このイベントに条件付けられると、検証者はこれらのビューの少なくとも 1 つを開き、結果として拒否する確率は、を除いてです。
- がサイズが最大の頂点被覆を持たない。補題 4.6 により、このイベントに条件付けられると、検証者が受理する確率は最大でです。
全体として、検証者の受理確率は最大でであり、要求どおりです。 これで定理 4.4 の証明は完了します。□
頂点被覆のサイズと MPC 汚染閾値の間のギャップは、適応的汚染の「オンライン」的な性質に関連していることに注意してください。フェーズ 1 の終わりには、MPC 敵対者は、最終的なグラフで最小頂点被覆として機能するプレイヤーの集合を予測できません。
4.3 コミットメントとコイントスの実装
プレーンモデルにおける我々の以前のプロトコルに対して与えられたゼロ知識の証明はすべて、検証者が彼が見るビューに関するチャレンジに対して、多項式個の選択肢の中から 1 つを選ぶことに依存していました。ここでは、検証者が行う選択ははるかに大きな集合からのものであり、したがってゼロ知識シミュレータによって単純に推測することはできません。代わりに、我々は、検証者が健全性を維持するために、統計的に秘匿性のあるコミットメントスキーム ComSH を用いて、彼の選択に事前にコミットする「前文」を持つという標準的な技術(47 15 48 49参照)を採用します。この前文では、検証者は彼の選択の「知識を証明」する必要もあります。
50の最近の結果を用いて、統計的に秘匿性のあるコミットメントスキーム ComSH は、任意の一方向性関数に基づかせることができます。以前のプロトコルと同様に、我々は標準的な統計的に拘束力のあるコミットメントスキーム ComSB も利用します。
結果として得られるプロトコルを図 6 に示します。
定理 4.7 を定理 4.2 のとおりとします。ComSH を統計的に秘匿性のあるコミットメントスキーム、ComSB を統計的に拘束力のあるコミットメントスキームとします。が、適応的な統計的-頑健性(悪意のあるモデルで、定義 4.3 参照)と、完全、統計的、または計算量的な-プライバシー(半正直モデルで)でを実現する 2 フェーズプロトコルであると仮定します。ここでかつ(は定数)です。そのとき、図 6 で説明されたは、NP 関係に対する無視できる健全性エラーを持つゼロ知識証明プロトコルです。
証明: 完全性と健全性の証明は、ステップ 1 と 2 が検証者の選択を統計的に秘匿に保つため、定理 4.4 の証明と本質的に同じであることに注意してください。
我々はゼロ知識特性の証明を提供するだけでよいです。不正直な(そして一般性を失うことなく、決定論的な)検証者のシミュレータは、入力に対して以下のように記述されます。シミュレーションの正当性は自明です。
- シミュレータはステップ 1 で正直な証明者として振る舞い、ComSH プロトコルに従って検証者のコミットメントを受け取ります。
- ステップ 2 では、各に対して、シミュレータは次のように進みます: (a) シミュレータは検証者の状態を保存し、次に正直な証明者が行うようにをランダムに選び、それを送信し、検証者から応答を得ます。 (b) デコミットメント応答が無効な場合、シミュレータは(正直な証明者が行ったように)停止し、これまでの検証者の部分的なビューを出力します。応答が有効な場合、シミュレータは現在の状態を保存し、検証者を状態に巻き戻します。次にを送信します。 (c) 検証者が有効なデコミットメントで応答した場合、シミュレータはとの両方を取得し、したがって検証者のの選択を再構築できます。有効な応答を受け取ったかどうかにかかわらず、シミュレータは検証者の状態をに戻し、続けます。
- シミュレータがどのに対してもとの両方を取得できなかった場合、シミュレータは中止し、を出力します。シミュレータが中止した場合、そのステップ 1 のメッセージを条件として検証者がプロトコルのステップ 2 を完了する確率はであり、したがってシミュレータが中止する確率は無視できることに注意してください10。そうでなければ、シミュレータは続けます。
- シミュレータは今、MPC シミュレータ SIM を呼び出し、上記で検証者から抽出したインデックスのリストを SIM に提供します。次に、SIM は、MPC プロトコル中のブロードキャストされたメッセージとランダムなチャレンジと共に、これらのパーティのシミュレートされたビューをシミュレータに提供します。すべてのに対して、シミュレータはランダムなビューを準備します。これらの各ビューは、MPC プロトコルのフェーズ 1 とフェーズ 2 のビューに対応する 2 つの部分とに分割されます。
- ステップ 3 では、シミュレータはすべてのフェーズ 1 ビューにコミットし、フェーズ 1 のすべてのブロードキャストされたメッセージを送信します。
- ステップ 4 では、シミュレータはコイントス補題によって保証されるを繰り返し呼び出し、それを用いて、の各ビットが上記の MPC シミュレータによって指定されたランダムなチャレンジに設定されることを保証します。
- ステップ 5 では、シミュレータはすべてのフェーズ 2 ビューにコミットし、フェーズ 2 のすべてのブロードキャストされたメッセージを送信します。
- ステップ 6 では、シミュレータは正直な証明者が行うように振る舞い、検証者によって開かれたすべてのコミットメントが上記の抽出と一致する方法で開かれていることを検証します。そうでなければ、シミュレータは中止します。この種のシミュレータの中止が顕著な確率で発生する場合、それは直接、コミットメントスキーム ComSH の計算量的拘束特性を破るために使用できることに注意してください26。
- ステップ 7 では、シミュレータは検証者によって要求されたインデックスの集合に対応する個のコミットメントを開き、成功した対話から得られる検証者のビューを出力します。□
図 6: プレーンモデルにおける ZK プロトコル
- 検証者は、ランダムに異なるを選びます。彼はこれらの選択を長さの文字列にエンコードします。検証者は次に、長さのランダムな文字列を選び、各に対してを設定します。検証者は ComSH を呼び出して、2k 個の文字列それぞれに個別にコミットします。
- からまで、以下のプロトコルが続きます: (a) 証明者はランダムなビットを送信します。 (b) 検証者はへのコミットメントを開きます。
- 証明者は、のランダム入力と、すべてのプレイヤーのランダム入力を選びます。彼女は、フェーズ 1 の終わりまでのプレイヤーのビュー(で示される)を計算し、ComSB を用いてそれらすべてにコミットします。MPC プロトコルのこのフェーズでブロードキャストされたメッセージは、からに直接送信されます。
- 証明者と検証者は、以下のコイントスプロトコルを呼び出して、長さのランダムなチャレンジ文字列を生成します。 からまで、以下のプロトコルが続きます: (a) 証明者は ComSB を用いてランダムに選ばれたビットにコミットします。 (b) 検証者はランダムに選ばれたビットを証明者に送信します。 (c) 証明者はへのコミットメントを開きます。この時点で、の番目のビット(で示される)をと定義します。
- 証明者は、上記で生成された文字列を用いて、頭の中でプロトコルを実行し続け、フェーズ 2 のビューのベクトルを生成します。証明者は ComSB を用いてこれらの個のビューにコミットします。再び、MPC プロトコルのフェーズ 2 でブロードキャストされたメッセージは、からに直接送信されます。
- 検証者は、ステップ 1 で行われた ComSH を用いたすべてのコミットメントを開きます。証明者は一貫性をチェックし(不整合があれば中止)、集合を抽出します。
- 証明者は、対応する個のコミットメントを開きます。
- 検証者は、証明者が要求された個のコミットメントを正常に開いた場合、開かれたビューがすべて(公開値および証明者によって送信されたブロードキャストメッセージが与えられた場合に)一貫しており、これらのビューのすべての出力が 1 である場合に限り受理します。
4.4 応用:「定数レート」ゼロ知識証明
このセクションでは、4.2 節の一般構成を25の MPC プロトコルの変種の上に適用することにより、通信複雑性が回路サイズに線形であるゼロ知識プロトコルの構成を記述します。
25のプロトコルは、4.2 節で定義された 2 フェーズプロトコルの要件に、で、長さのランダムなチャレンジで準拠します。したがって、一般構成を適用できます。実際、フェーズ 2 はブロードキャストメッセージのみを含む縮退した形式を取ることができます。したがって、一般構成のステップ 3 で、証明者はコミットする代わりにこれらのメッセージを検証者に送信できます。
入力が定数個のクライアントから発信される場合の25の MPC プロトコルの通信複雑性は、です24。我々は今、我々の応用で要求される機能のタイプに対して、この複雑性をに削減する方法を記述します。
25における乗法的なオーバーヘッドの原因は、任意の深さの回路を扱う必要があることです。しかし、証明検証の文脈では、一般性を失うことなく、証拠がサイズである(そしてに加えての計算における中間値を含む)と仮定し、が個の出力ビットを持ち、それぞれがの 1 つのゲートの出力とその 2 つの入力との一貫性を検証すると仮定できます。(拡張されたの出力は、元のの出力 1 として解釈されます。拡張されたの他のすべての出力は 0 として解釈されます。)
の個の出力ビットのそれぞれが、個の入力ビットのうち 3 つだけに依存することに注意してください。この設定では、25のプロトコルの総通信複雑性は、のみです。ここで、の乗法的なオーバーヘッドは、Shamir の秘密分散51(より正確には、Franklin と Yung 52によるこの秘密分散の変種)の使用から生じます。これは、体サイズがプレイヤーの数より大きいことを要求します。最終的な最適化として、代数幾何符号26に基づく秘密分散によって、52の秘密分散を定数サイズの体上で実装できます。これにより、セキュリティ閾値がさらに分数的に減少し、ゼロ知識プロトコルの漸近的な複雑性には影響しません。
以下の補題は、定数レートのゼロ知識プロトコルを得るために使用する MPC プロトコルの特性を要約します。
補題 4.8 (25 26) を入力クライアントから入力を受け取り、その出力を人のプレイヤーに配信する機能とします。がサイズでファンインが限定され、定数深さの回路で計算できると仮定します。そのとき、は、で、以下の効率特性を持つ、完全に-private で適応的に統計的に-robust な 2 フェーズ MPC プロトコルによって実現できます:
- フェーズ 1 は、から人のプレイヤーに送信される合計ビットを含みます。
- 2 つのフェーズ間のランダムなチャレンジは、長さです。
- フェーズ 2 は、全長がであるブロードキャストメッセージを含みます。
補題 4.8 と定理 4.7 の一般変換を組み合わせると、以下が得られます:
系 4.9 一方向性関数が存在すると仮定します。そのとき、サイズの回路(ファンインが限定されたゲートを使用)によって検証できる任意の NP 関係に対して、通信複雑性がであるゼロ知識証明プロトコルが存在します。ここでは暗号セキュリティパラメータです。
証明: 補題 4.8 と定理 4.4 を組み合わせると、コミットメントハイブリッドモデルで要求されるプロトコルが直接得られます。プレーンモデルで望ましい結果を定理 4.7 から導出するには、によって呼び出されるコミットメントプロトコルの効率的なインスタンス化を、任意の一方向性関数に基づかせる必要があります。統計的に秘匿性のあるコミットメントプロトコル ComSH は、全長がの文字列にのみ適用されるため、効率のボトルネックにはなりません。したがって、長さのメッセージに対するコミットメントとデコミットメントが通信複雑性で実行できる統計的に拘束力のあるコミットメントプロトコル Com を提示すれば十分です。そのようなコミットメントプロトコル Com は、任意の一方向性関数45 44から、標準的な方法で、任意の統計的に拘束力のあるコミットメントプロトコル Com’と擬似乱数生成器から得ることができます:メッセージにコミットするために、Com の送信者は Com’をランダムなシードに適用し、次にを送信します。□
5. 結論
本研究は、ゼロ知識証明と MPC の間に新しい一般的な関連性を確立しました。特に、正直者多数の場合の MPC プロトコルが、効率的で概念的に単純なゼロ知識証明の設計において有用な構成要素として機能することを示しました。これには、すべての NP に対する「定数レート」ゼロ知識証明の最初の構成も含まれます。安全な二者間計算および正直者多数のいない MPC の文脈で、正直者多数を持つ MPC を一般的に使用するというアイデアは、本研究で検討された応用を超えて、追加の応用を見出す可能性が高いです。この方向性の証拠は、最近53 54で与えられました。
MPC は概念的に魅力的で非常によく研究された概念ですが、我々のゼロ知識プロトコルで要求される組み合わせ論的オブジェクトの最も一般的な抽象化であるとは限らないことに注意して締めくくります。これらのプロトコルにおける MPC コンポーネントは、大きなアルファベット上の確率的検査可能証明(PCP)のゼロ知識変種を実装するものと見なすことができます。他の種類の証明システム(対話型 PCP 55および準線形時間検証者を持つ対話型証明56)は、最近、効率的なゼロ知識プロトコルを構成するために利用され、特に 3.2 節の結果を改善しました。これらの証明システム、ゼロ知識証明、および MPC の間の関係をよりよく理解することは興味深いでしょう。
謝辞: 1-private MPC を使用する基本構成の変種を提案してくれた Amos Fiat と Yishay Mansour に感謝します。また、有益なコメントと提案をくれた Salil Vadhan と匿名の査読者にも感謝します。
付録 A: 非対話的設定における証拠長への接近
このセクションでは、18と37で以前に検討された、前処理を伴う NIZK のモデルにおける 3.2 節のプロトコルの実現について説明します。
以下の説明では、前処理フェーズは、証明者と検証者にランダム化されたメッセージを(入力が利用可能になる前に)送信し、その後姿を消す信頼できるディーラーによって実行されると仮定します。
非対話的プロトコルを得るための最初のアイデアは、(対話的な)コミット・アンド・チャレンジアプローチを、非対話的な 2-out-of-n OT の以下の実装に置き換えることです。前処理ステップでは、ディーラーは証明者に個のランダムな暗号化キーを送信し、検証者にはこれらのキーのうちランダムな 2 つのサブセット(その ID は証明者には不明)を送信します。オンラインフェーズでは、証明者は対話的プロトコルと同様に個のビューを生成し、対応するキーを使用して各ビューの暗号化を送信します。検証者はランダムなビューのペアを学習し、基本プロトコルと同様に、それらの一貫性を検証します。(これは健全性を増幅するために並行して繰り返すことができます。)
基礎となる MPC プロトコルの統計的正当性は、追加の困難をもたらします。プロトコルで使用されるランダム性を前処理ステップ中に選択することは問題があります。なぜなら、証明者がこのランダム性を知った後で、あるに対してその入力を選択する可能性があるからです。しかし、ここでは、14の単純な修正を使用できます。これは、プロトコルのファミリーを与え、各はとほぼ同じ複雑性を持ち、このファミリーからのランダムなプロトコルは、の選択に対しての確率を除いて完全に正しく、プライベートです。プロトコルは、ランダムなが前処理ステップ中に証明者と検証者の両方に与えられ、が証明で使用されるプロトコルを定義するために使用される点を除いて、完全なケースと同様に進行できます。(の選択がに依存できる場合、の長さは程度、またはより一般的にはの記述サイズだけ長くする必要があります。)
事実 A.1 (修正14) を事実 3.6 のような定数深さの回路とします。そのとき、事実 3.6 のようなパラメータと、通信複雑性およびランダム性複雑性がである、-セキュアな MPC プロトコルのファミリーが存在します。さらに、の選択に対して圧倒的な確率で、プロトコルはを完全な正当性とプライバシーで計算します。
(14の用語と記法を使用すると、サイズの公開ランダム性を持つ RPC を得る必要があります。これは、の選択に対して圧倒的な確率で、完全に正しいです。これは、14の基本的な RPC 構成を回繰り返し、任意の固定入力に対するエラー確率をに減らし、次に出力に対するしきい値関数に効率的な次数 3 のランダム化多項式を適用することで達成できます。ユニオンバウンドの議論により、の圧倒的な割合がすべての入力に対して良好になります。)
そのようなファミリーが与えられると、非対話モデルにおけるゼロ知識プロトコルは次のように進行します:
- (前処理フェーズ) 信頼できるディーラーはランダムなプロトコルインデックスを選び、それを証明者と検証者の両方に送信します。また、個のランダムな対称暗号化キーを選んで証明者に送信し、ランダムに 2 つの異なるインデックスを選び、検証者にを送信します。
- (証明) 証明者は、ランダムにを選び、となるようにし、同様にのためのランダム性も選びます。彼女は入力とランダム入力に対するの実行をエミュレートします。この実行に基づき、証明者はにおける人のプレイヤーのビューを準備します。彼女は、前処理フェーズで与えられたキーを使用して各ビューを個別に暗号化し、を検証者に送信します。
- (検証) 検証者は、と前処理フェーズで得たキーを使用してを復号し、両方のとの出力(ビューからわかる)が 1 であり、2 つのビューが一貫している(に従って)場合に限り受理します。
我々の以前の構成との類似性のため、プロトコルの特性の概要のみを述べます。プロトコルの完全性は容易に検証できます。健全性については、前処理フェーズが信頼できるパーティによって実行されると仮定しているため、は証明者から完全に隠されています。ランダムに選ばれたプロトコルが完全に正しくない場合、プロトコルは保証を提供しません。しかし、これは無視できる確率でしか起こりません。そうでなければ(すなわち、が完全に正しい場合)、ビューがすべて一貫していない場合、これは少なくともの確率で検出され、ビューが一貫している場合、完全な正当性により、出力は常に正しい(すなわち、0)です。ゼロ知識に関しては、ENCRYPT のセマンティックセキュリティにより、検証者は、証明者によって実際に送信されたメッセージと、暗号化キーを持つ実際のビューの暗号化と、残りの個のビューのランダム値の暗号化を含むメッセージとを区別できません。したがって、このメッセージは、MPC シミュレータを使用してビューを生成することによってシミュレートできます。
上記のプロトコルの健全性は、入力がとは独立に選ばれるという仮定に依存します。(そうでなければ、ランダムなが高い確率で完全に正しいとは保証されません。)の適応的な選択は、の長さを(大まかに、またはより一般的にはの記述サイズだけ)長くすることで対処できます。
脚注
-
Computer Science Department, Technion and UCLA. Email: yuvali@cs.technion.ac.il. Supported by BSF grant 2004361, ISF grant 1310/06, and NSF grants 0205594, 0430254, 0456717, 0627781, 0716835, 0716389. ↩
-
Computer Science Department, Technion. Email: eyalk@cs.technion.ac.il. Research supported by grant 1310/06 from the Israel Science Foundation and by grant 2002354 from the U.S.-Israel Binational Science Foundation. ↩
-
Computer Science Department and Department of Mathematics, UCLA. Email: rafail@cs.ucla.edu. Supported in part by IBM Faculty Award, Xerox Innovation Group Award, NSF grants 0430254, 0716835, 0716389, 0830803 and U.C. MICRO grant. ↩
-
Computer Science Department, UCLA. Email: sahai@cs.ucla.edu. Research supported in part from grants from the NSF ITR and Cybertrust programs (including grants 0627781, 0456717, 0830803, and 0205594), BSF grant 2004361, a subgrant from SRI as part of the Army Cyber-TA program, an equipment grant from Intel, an Alfred P. Sloan Foundation Fellowship, and an Okawa Foundation Research Grant. ↩
-
Y. Ishai, E. Kushilevitz, R. Ostrovsky, and A. Sahai. Zero-knowledge from secure multiparty computation. In Proc. 39th STOC, pages 21—30, 2007. ↩
-
S. Goldwasser, S. Micali, and C. Rackoff. The Knowledge Complexity of Interactive Proof Systems. SIAM J. Comput., Vol. 18, No. 1, pp. 186-208, 1989. ↩ ↩2
-
A. C. Yao. How to generate and exchange secrets. In Proc. 27th FOCS, pages 162-167, 1986. ↩ ↩2
-
O. Goldreich, S. Micali, and A. Wigderson. How to play any mental game (extended abstract). In Proc. of 19th STOC, pages 218-229, 1987. ↩ ↩2 ↩3 ↩4 ↩5
-
M. Ben-Or, S. Goldwasser, and A. Wigderson. Completeness theorems for non-cryptographic fault-tolerant distributed computation. In Proc. of 20th STOC, pages 1-10, 1988. ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7
-
D. Chaum, C. Crépeau, and I. Damgard. Multiparty unconditionally secure protocols (extended abstract). In Proc. of 20th STOC, pages 11-19, 1988. ↩ ↩2 ↩3
-
T. Rabin and M. Ben-Or. Verifiable secret sharing and multiparty protocols with honest majority. In Proc. 21st STOC, pages 73-85, 1989. ↩
-
O. Goldreich. Foundations of Cryptography: Basic Applications. Cambridge University Press, 2004. ↩ ↩2 ↩3 ↩4 ↩5
-
O. Goldreich, S. Micali, and A. Wigderson. How to Prove all NP-Statements in Zero-Knowledge, and a Methodology of Cryptographic Protocol Design. In CRYPTO 1986, pages 171-185. ↩ ↩2 ↩3 ↩4
-
O. Barkol and Y. Ishai. Secure Computation of Constant-Depth Circuits with Applications to Database Search Problems. In Proc. CRYPTO 2005, pages 395-411. ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9
-
M. Bellare, S. Micali, and R. Ostrovsky. The (True) Complexity of Statistical Zero Knowledge. In Proc. of 22nd STOC, pages 494-502, 1990. ↩ ↩2
-
M. Rabin. How to Exchange Secrets by Oblivious Transfer. Tech. Memo TR-81, Aiken Computation Laboratory, Harvard U., 1981. ↩ ↩2
-
S. Even, O. Goldreich and A. Lempel. A Randomized Protocol for Signing Contracts. In Communications of the ACM, 28(6):637-647, 1985. ↩ ↩2
-
Y. T. Kalai and R. Raz. Succinct Non-Interactive Zero-Knowledge Proofs with Preprocessing for LOGSNP. In Proc. 47th FOCS, pages 355-366, 2006. ↩ ↩2 ↩3
-
A. Razborov. Lower bounds for the size of circuits of bounded depth with basis {AND, XOR}. Math. Notes of the Academy of Science of the USSR, 41(4):333-—338, 1987. ↩ ↩2
-
R. Smolensky. Algebric methods in the theory of lower bound for boolean circuit complexity. In Proc. 19th STOC, pages 77-82, 1987. ↩ ↩2
-
R. Ostrovsky and A. Wigderson. One-Way Functions are Essential for Non-Trivial Zero-Knowledge. In Proc. of ISTCS 1993, pages 3-17. ↩
-
J. Kilian. A Note on Efficient Zero-Knowledge Proofs and Arguments (Extended Abstract). In Proc. STOC 1992, pages 723-732. ↩ ↩2 ↩3
-
O. Goldreich and J. Hastad. On the Complexity of Interactive Proofs with Bounded Communication. Inf. Process. Lett. 67(4): 205-214, 1998. ↩
-
R. Cramer and I. Damgard. Linear Zero-Knowledge - A Note on Efficient Zero-Knowledge Proofs and Arguments. In Proc. STOC 1997, pages 436-445. ↩ ↩2 ↩3
-
I. Damgard and Y. Ishai. Scalable Secure Multiparty Computation. In Proc. CRYPTO 2006, pages 501-520. ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9
-
H. Chen and R. Cramer. Algebraic Geometric Secret Sharing Schemes and Secure Multi-Party Computations over Small Fields. In Proc. CRYPTO 2006, pages 521-536. ↩ ↩2 ↩3 ↩4
-
M. Blum. Coin Flipping by Telephone - A Protocol for Solving Impossible Problems. In Proc. COMPCON 1982: 133-137. ↩ ↩2
-
R. Impagliazzo and S. Rudich. Limits on the Provable Consequences of One-way Permutations. In Proc. CRYPTO ’88, pages 8—26. ↩
-
J. Kilian. Founding Cryptography on Oblivious Transfer. In 20th STOC, pages 20-31, 1988. ↩
-
E. Kushilevitz, S. Micali, R. Ostrovsky. Reducibility and Completeness in Multi-Party Private Computations. In FOCS 1994, pages 478-489. ↩
-
J. Kilian, E. Kushilevitz, S. Micali, R. Ostrovsky. Reducibility and Completeness in Private Computations. In SIAM J. Comput. 29(4): 1189-1208 (2000). ↩
-
I. Damgard and Y. Ishai. Constant-Round Multiparty Computation Using a Black-Box Pseudorandom Generator. In CRYPTO 2005, pages 378-394. ↩
-
Y. Ishai, E. Kushilevitz, Y. Lindell, and E. Petrank. Black-box constructions for secure computation. In Proc. 38th STOC, pages 99-108, 2006. ↩
-
I. Haitner. Semi-Honest to Malicious Oblivious Transfer - The Black-Box Way. In Proc. 5th TCC, pages 412-426, 2008. ↩
-
J. Boyar, G. Brassard and R. Peralta. Subquadratic zero-knowledge. J. ACM, 42(6), pages 1169-1193, 1995. Earlier version in FOCS ’91. ↩ ↩2
-
J. Kilian and E. Petrank. An Efficient Noninteractive Zero-Knowledge Proof System for NP with General Assumptions. J. Cryptology 11(1), pages 1-27, 1998. ↩
-
J. Kilian, S. Micali, and R. Ostrovsky. Minimum Resource Zero-Knowledge Proofs. In FOCS 1989, pages 474-479. ↩ ↩2
-
R. Cramer and I. Damgard. Zero-Knowledge Proofs for Finite Field Arithmetic; or: Can Zero-Knowledge be for Free? In Proc. CRYPTO 1998, pages 424-441. ↩
-
J. Boyar, I. Damgard and R. Peralta. Short Non-interactive Cryptographic Proofs. J. Cryptology 13(4): 449-472 (2000). ↩ ↩2
-
J. Groth, R. Ostrovsky, and A. Sahai. Perfect Non-interactive Zero Knowledge for NP. In Proc. EUROCRYPT 2006, pages 339-358. ↩
-
S. Micali. Computationally Sound Proofs. SIAM Journal on Computing, 30(4):1253—1298, 2000. ↩ ↩2
-
O. Goldreich. Foundations of Cryptography: Basic Tools. Cambridge University Press, 2001. ↩ ↩2 ↩3 ↩4 ↩5
-
R. Canetti. Security and composition of multiparty cryptographic protocols. In J. of Cryptology, 13(1), 2000. ↩ ↩2 ↩3
-
M. Naor. Bit commitment using pseudorandomness. J. of Cryptology, 4:151—158, 1991. ↩ ↩2 ↩3
-
J. Hastad, R. Impagliazzo, L. A. Levin, and M. Luby. A Pseudorandom Generator from any One-way Function. SIAM J. Comput. 28(4): 1364-1396 (1999). ↩ ↩2 ↩3
-
U. Maurer. Secure Multi-party Computation Made Simple. In Proc. SCN 2002, pages 14-28. ↩
-
O. Goldreich and A. Kahan. How to Construct Constant-Round Zero-Knowledge Proof Systems for NP. J. Cryptology 9(3): 167-190 (1996) ↩
-
A. Rosen. A Note on Constant Round Zero Knowledge Proofs for NP. In Proc. 1st TCC, pages 191-202, 2004. ↩
-
M. Prabhakaran, A. Rosen, and A. Sahai. Concurrent Zero-Knowledge with Logarithmic Round Complexity. In Proc. of FOCS 2002, pages 366-375. ↩
-
I. Haitner and O. Reingold. Statistically-Hiding Commitment from Any One-Way Function. In Proc. 39th STOC, pages 1-10, 2007. ↩
-
A. Shamir. How to share a secret. Commun. ACM, 22(6):612—-613, June 1979. ↩
-
M. K. Franklin and M. Yung. Communication Complexity of Secure Computation. In Proc. of STOC 1992, pages 699-710. ↩ ↩2
-
D. Harnik, Y. Ishai, E. Kushilevitz, and J.B. Nielsen. OT-Combiners from Secure Computation. In Proc. 5th TCC, pages 393-411, 2008. ↩
-
Y. Ishai, M. Prabhakaran, and A. Sahai. Founding cryptography on oblivious transfer — efficiently. In Proc. CRYPTO 2008, to appear. ↩
-
Y. T. Kalai and R. Raz. Interactive PCP. In Proc. 35th ICALP, pages 536-547, 2008. Earlier version: Electronic Colloquium on Computational Complexity (ECCC) Report TR07-031, 2007. ↩
-
S. Goldwasser, Y. T. Kalai, and G. Rothblum. Delegating computation: interactive proofs for muggles. In Proc. 40th STOC, pages 113-122, 2008. ↩