Feige-Fiat-Shamirが符号ビットのないゼロ知識ではないのはなぜですか?


12

HAC(10.4.2)の第10章、我々は平方根因子に難しい複合モジュロ抽出(推定)困難を使用してゼロ知識証明に基づく周知Feige -フィアット-シャミール識別プロトコルを参照します。スキームを自分の言葉で説明します(そしてうまくいけばそれを正しくします)。

単純なスキームから始めましょうを、因数分解が困難な十分に大きいサイズのBlum整数(で、とそれぞれが3 mod 4)とします。以来ブラム数である、の要素の半分ヤコビシンボル+1及び他の半分を持っている持っている-1。+1要素の場合、それらの半分には平方根があり、平方根を持つ各要素には4つの要素があり、1つはそれ自体が正方形です。n = p q p q n Z nnn=pqpqnZn

今ペギーはランダムな要素を選択からし、セットが。次に、をVictorに送信します。次は、プロトコルです:ビクターは、ペギーはの平方根を知っていることを確認したいとペギーはについては何も漏らすことなく、彼にそれを証明したい彼女は、このような知っている事実を超えた。Z n v = s 2 v v s ssZnv=s2vvss

  1. ペギーはでランダムを選択し、をビクターに送信します。Z n r 2rZnr2
  2. ビクターはおそらくまたはをペギーに送り返します。b = 1b=0b=1
  3. ペギーはビクターにを送ります。rsb

ビクターは、受け取ったものを二乗し、正しい結果と比較することにより、ペギーが正しい答えを送信したことを確認できます。もちろん、この相互作用を繰り返して、ペギーが単なる幸運な推測者である可能性を減らします。このプロトコルはZKであると主張されています。証拠はさまざまな場所で見つけることができます(たとえば、Boaz Barakの講義ノート)。

このプロトコルを拡張してより効率的にする場合、Feige-Fiat-Shamirと呼ばれます。上記と非常によく似ています。私たちは、とペギーを開始ランダムな値とランダム兆候彼女のように自分の正方形を公開し。つまり、一部をランダムに無効にします。今s 1s k t 1 = ± 1 t k = ± 1 v 1 = t 1 s 2 1v k = t k s 2 k v iks1skt1=±1,tk=±1v1=t1s12,,vk=tksk2vi

  1. ペギーはでランダムを選択し、をビクターに送信します。Z n r 2rZnr2
  2. ビクターequiprobably送信値bはIから{ 0 1 }ペギーへ戻ります。kbi{0,1}
  3. ペギーは、送信ビクターにします。rΠi=1ksibi

私の質問: signビットが必要なのはなぜですか?括弧内に、HACは、秘密情報が漏洩していないことを証明するために必要な技術的要件として存在していることに注目しています。Feige-Fiat-Shamirのウィキペディアページ(プロトコルが間違っています)は、これがないと少しリークすることを意味しています。ti

ペギーが兆候を省略した場合、ペギーから何かを抽出する攻撃は見つかりません。

回答:


8

Feige-Fiat-Shamir(FFS)識別プロトコルは知識証明(PoK)であり、証明者(Peggy)は、検証者(Victor)への入力の平方根を知識として証明します。

FFSは、PoK を言語メンバーシップの証明から区別したいと考えています。Peggyは、入力に何らかのプロパティがあることを証明します(より正式には、入力は特定の言語に属します)。

負の符号を使用しない場合、入力に平方根が含まれていない可能性があります。たとえば、数値20には平方根mod 21がありません。正方形と非正方形を区別することは有名な困難な問題であるため、FFSは入力をある数値のプラスまたはマイナスにすることでそれを回避します。で自分の言葉(ビットを変更):

可能にすることにより、どちらかのプラスまたはマイナス平方剰余であることをブラム数、我々はことを確認して、V iの持つすべての数字の上に及ぶことができるヤコビ記号+ 1つのmod nとし、これ、私は関係なく、(ビューのVの視点から)が存在しますVのi個の文字、知識の無制限の入力ゼロ知識証明に必要とされます。vivi +1modnsivi

無制限の入力ゼロ知識知識により、それらは言語メンバーシップの対応する証拠が些細なZK PoKを意味します。つまり、Vは入力が(Jacobiシンボルをチェックするだけで)ある正方形のプラスまたはマイナスであることを自分で決定できます。


答えてくれてありがとう、しかし私はまだ従いません:標識がなければ、ヤコビのシンボルは+1です。標識がある場合、ヤコビシンボルは+1です。上記の「負の符号を使用しない場合、入力に平方根がない可能性があります」と言います。そんなことがあるものか?検証者への入力は、(正直な証明者を想定して)常に平方根を持つ平方のリストです。
フィクシー

2番目の質問:サインは証拠が通過するためだけに存在すると言っていますか?または、省略された場合、実際の攻撃はありますか?
フィクシー

@Fixee:プロトコルに従っていない公開鍵()を選択する不正行為者を想定します。ジャコビ記号が+1であるランダムな値を言う。(貧弱な)検証者は、v iが平方根を持っているかどうかを言う方法がありません。唯一の方法は、プロトコルを実行し、証明者から助けを得ることです。つまり、証明者はs iの知識を証明すると同時に、言語のメンバーシップの証明を提供します(つまり、v iは二次剰余の言語QRに属します)。 「無制限入力」証明からの証明の。私はこれを単なる専門技術だと思っています。vivisivi
MS Dousti
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.