ランダムOracleモデルのゼロ知識プロトコルのシミュレータを使い果たす


13

「共通参照文字列とランダムOracleモデルにおける否認可能性」というタイトルの論文で、Rafael Passは次のように書いています。

RO [Random Oracle]モデルの標準ゼロ知識定義に従ってセキュリティを証明する場合、シミュレーターにはプレーンモデルシミュレーターに比べて2つの利点があります。

  1. シミュレーターは、パーティがオラクルを照会する値を確認できます。
  2. シミュレーターは、答えが「見える」限り、どのような方法でもこれらのクエリに答えることができます。

最初の手法、つまりROへのクエリを「監視」する機能は、ROモデルのゼロ知識の概念に言及するすべての論文で非常に一般的です。

ここで、ブラックボックスゼロ知識の定義を検討します(PPTは、確率的、多項式時間チューリングマシンを表します)。

(おそらく不正行為)PPT verifier、共通入力、およびランダム性ように、PPTシミュレーターし、以下は区別できません。V *X L RSVxLr

  • 入力証明者と対話し、ランダム性を使用しているののビュー。 P x rVPxr
  • 出力入力上及び、ブラックボックスへのアクセス与えられる。 x r S V SxrSV

ここでは、ROクエリを監視しようとするシミュレーターを使い果たすことを目的とした不正検証ツール紹介します。V

LETブラックボックス零知識の定義において存在記号によって保証シミュレータであり、およびletの実行時間上部境界多項式である入力に。がROへのクエリを監視しようとすると仮定します。q | x |S x S V Sq(|x|)SxSV

ここで、最初に(選択した任意の入力に対して回ROを照会し、次に悪意を持って任意に動作する不正について考えます。 q | x |+ 1Vq(|x|)+1

明らかに、はシミュレータ使い果たします。の簡単な方法は、このような悪意のある動作を拒否することですが、その方法では、区別者は実際の対話をシミュレートされた対話と簡単に区別できます。(実際のインタラクションでは、証明者は 'のクエリを監視できないため、がクエリしすぎているという単なる事実に基づいて拒否しません。) S S P V V VSSPVV

上記の問題の回避策は何ですか?

編集:

ROモデルでZKを学習するための優れた情報源は次のとおりです。

MartinGagné、ランダムオラクルモデルの研究、博士号 論文、カリフォルニア大学デービス校、2008年、109ページ。ProQuestで入手可能:http : //gradworks.umi.com/33/36/3336254.html

特に、YungおよびZhaoに起因するセクション3.3(20ページ)のROモデルのブラックボックスZKの定義を示します。

モティ・ヨンとユンレイ・チャオ。制限付きランダムオラクルを使用したインタラクティブなゼロ知識。In Theory of Cryptography-TCC 2006、LNCS 3876、pp。21-40、2006。


「尽きる」のではなく、「徹底的な」という意味かもしれません。
デイブクラーク

失礼ですが同意できません。ZKプロトコルのシミュレーターを「使い果たす」方法を見つけたということです...「徹底的な」シミュレーターというものはありません。
MS Dousti

私の悪い。私は、動詞ではなく形容詞として消耗を読みました。
デイブクラーク

回答:


10

ランダムオラクルモデルでブラックボックスZKを定義する理由は疑問です。人々がブラックボックスゼロ知識の定義を提案した理由は少なくとも2つあります。

1)陽性の結果については、あなたが言うときシミュレータは、「ブラックボックス零知識を」それは自動的にその実行している時間に束縛素敵な(すなわち、与えていることをp o l y t i m e V )とは対照的に、シミュレーターはV ∗の「ガッツを見る」ことはせず、V poly|バツ|tmeVpolytmeVVVRAM、回路などを使用して実装されます。ランダムオラクルモデルシミュレータは効率的かもしれませんが、明らかにブラックボックスではありませんの実行を何らかの形で見て、V ∗の評価時にそれを理解する必要があるためですハッシュ関数。このため、ランダムオラクルのモデルシミュレーターが「ブラックボックス」であると言っても意味がありません。VV

2)否定的な結果を得るために、人々は「ブラックボックスシミュレーター」を使用して、証明技術の大規模なクラスをキャプチャします。この場合、ランダムオラクルモデルでもブラックボックスシミュレータを定義できます。意味のある定義は、デイビッドが言ったことです。実際、ランダムなオラクルモデルでなくても否定的な結果が得られるため、シミュレータの実行時間を許可しても結果が保持されるのが最善です。確かに、それは常に述べられているわけではありませんが、不正な検証者V poly(time(V))V 通常、いくつかの擬似ランダム関数を実行する固定多項式アルゴリズムですが、シミュレーターには任意の多項式実行時間を設定できます。


1
同じことが「ユニバーサルシミュレーション」ZKにも当てはまりますか?結局のところ、ブラックボックスZKはユニバーサルシミュレーションZKの一種であり、その実行時間はが決定される前に固定されます。(ただし、非ブラックボックスZKはユニバーサルシミュレーションZKの一種で、SはV *の「内臓」を見ることができます)V
MS Dousti

いくつかの参照については、編集された質問をご覧ください。
MS Dousti

1
ユニバーサル(非ブラックボックス)シミュレーターの場合、実行時間に実行時間多項式を許可する必要があります。そうでない場合、シミュレーターはV を呼び出す時間がないためです。しかし、一般的に私が言っていた点は、「ブラックボックスゼロナレッジ」は標準的な定義ではなく、ツールであり、そのツールを肯定的または否定的な結果のコンテキストで異なる方法で使用して、結果をより意味のあるものにすることができるということです。VV
ボアズバラク

1
もっと読みたかったので、コメントへの返信を遅らせました。特に、私はYungとZhaoの論文(上記を参照)を読み、ROモデルでブラックボックスZKを使用して肯定的な結果を得たことに注目しましたが、「ランダムオラクルモデルと言っても意味がありません」シミュレータは「ブラックボックス」です。」それらの結果は哲学的に問題がありますか、またはブラックボックスの定義を緩和する必要がありますか?
MS Dousti

4

問題に対する私の見解を以下に示します。ランダムオラクル(RO)モデルのブラックボックスゼロ知識に関する論文は最近読んでいません。簡単な答え(推測)は、ROモデルのBB-ZKがシミュレータを| x |の時間多項式で実行させるべきであるということです。また、V *(不正検証者)によって発行されたROクエリの数。

その推測を正当化してみましょう。最初の観察では、「ランダムオラクルモデルにおけるブラックボックスゼロ知識の証明」という用語は、適切に定義するために詳細に見る必要があります。ブラックボックスシミュレータは、任意のオラクル(つまり、ブラックボックスとしての不正検証機能)と連携するように定義されており、その唯一のインターフェイスはオラクルの入出力を介しています。このモデルを拡張してすべての関係者にROを与えるだけで(おそらく、彼らの回路にROゲートを持たせることにより)、シミュレーターがROをプログラムできないモデルが得られます-Oracleクエリで、すべて(ROクエリを含む)だけでV * Oracleの「内部」で発生し、次のメッセージを返します。ROプログラミングを許可する場合は、インターフェイスを変更する必要があります。シミュレータはV *の入出力オラクルを取得し、ランダムオラクルは取得しません。V * oracleを呼び出すたびに、次のメッセージを生成する代わりに、オラクルは代わりにROへの次のクエリを生成する場合があり、シミュレータはオラクルを再度呼び出すことでRO応答を返すことができます。これにより、ROプログラミングが可能になり、シミュレーターの実行時間をROに対するクエリの数に依存させることができます。

これらの定義の意味のさらなる調査は読者に任されています。構文的に考えています。


1
答えてくれてありがとう。ROをプログラムするシミュレーターの能力に関係なく、シミュレーターはROを「モニター」できるはずです。したがって、V *からのすべてのOracleクエリは、少なくともMの時間を無駄にします。あなたの大きなアイデアは、モデルを変更して、「| x |でシミュレータを時間多項式で実行し、V *によって発行されたROクエリの数」にすることです。これは標準モデルではありませんが、合理的なソリューションだと思います。しかし、私は...コミュニティの「巨人」が最初にこのようなモデルの信憑性を確認しなければならないと思います
MS Dousti

1
「標準モデル」を正確に定義するソースを引用できますか?(この用語は「ランダムなオラクルや他のそのような修正が計算モデルに存在しない」の同義語としてよく使用されますが、これがあなたが意図したものだとは思いません。)標準とみなされるものの、もしそうでなければ、「ジャイアント」が積極的に推論を証明することなくそれを理解することができます。
デビッドキャッシュ

1
確かに、「標準モデル」とは、ROモデルの下でのZKの「標準定義」を意味します。Rafael Passの論文(質問で引用)、または彼の修士論文(「ゼロ知識証明の代替バリアント」と題されています)、またはAsiaCrypt 2009のWeeの論文(「ランダムOracleモデルのゼロ知識、再訪」)を参照できます。 。ROモデルで「ブラックボックス」ZKを定義したものはありません(それらはすべて補助入力ZKに言及しています)が、「| x |で実行される多項式とV *によって作成されたROクエリの数」を参照していません。したがって、私はあなたが新しい定義前方に入れていると思います(Googleのそれを!)
MS Dousti

いくつかの参照については、編集された質問をご覧ください。
MS Dousti
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.