JP5321696B2 - Proof device and verification device applied to non-repudiation zero knowledge dialogue proof - Google Patents
Proof device and verification device applied to non-repudiation zero knowledge dialogue proof Download PDFInfo
- Publication number
- JP5321696B2 JP5321696B2 JP2012004225A JP2012004225A JP5321696B2 JP 5321696 B2 JP5321696 B2 JP 5321696B2 JP 2012004225 A JP2012004225 A JP 2012004225A JP 2012004225 A JP2012004225 A JP 2012004225A JP 5321696 B2 JP5321696 B2 JP 5321696B2
- Authority
- JP
- Japan
- Prior art keywords
- proof
- relationship
- common input
- commitment
- dialogue
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012795 verification Methods 0.000 title claims abstract description 308
- 238000004364 calculation method Methods 0.000 claims abstract description 93
- 238000004891 communication Methods 0.000 claims abstract description 90
- 230000002452 interceptive effect Effects 0.000 claims abstract description 52
- 238000004088 simulation Methods 0.000 claims description 23
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000000034 method Methods 0.000 abstract description 12
- 230000006870 function Effects 0.000 description 180
- 238000009826 distribution Methods 0.000 description 14
- 238000007796 conventional method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 239000003086 colorant Substances 0.000 description 3
- 101000706020 Nicotiana tabacum Pathogenesis-related protein R minor form Proteins 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Abstract
Description
本発明は、否認可能零知識対話証明に適用される証明装置及び検証装置に関する。 The present invention relates to a proof device and a verification device applied to non-repudible zero knowledge dialogue proof.
従来のランダムオラクルモデルにおける否認可能零知識対話証明の技術について、例えば、非特許文献1に記載されている。以下、非特許文献1に記載された技術(従来技術1と記すことにする。)について説明する。 For example, Non-Patent Document 1 describes a technique of non-repudiation zero knowledge dialogue proof in a conventional random oracle model. Hereinafter, the technique described in Non-Patent Document 1 (hereinafter referred to as Conventional Technique 1) will be described.
図4は、非特許文献1に記載される構成を示す説明図である。なお、本出願における図面において、合流する矢印は、矢印の元の情報が全て集まって矢印の先へ送られることを意味し、分岐する矢印は、矢印の元の情報全てまたは一部がそれぞれの矢印の先へ送られることを意味する。 FIG. 4 is an explanatory diagram illustrating a configuration described in Non-Patent Document 1. In the drawings in this application, the joining arrows mean that all the original information of the arrows are gathered and sent to the tip of the arrows, and the branching arrows are all or part of the original information of the arrows. Means sent to the end of the arrow.
また、従来技術1が証明する言語は、NP完全であるグラフの三彩色問題である。ここで、言語とはデータの集合を意味し、「言語が三彩色問題である」とは、データの集合が、三彩色問題の集合であることを意味する。また、あるdがある言語(例えば三色彩問題)に属することを証明するとは、dが三色彩問題の集合に属することを証明することである。従来技術1で、本言語を否認可能零知識で証明できるということは、従来技術1でNPに属する全ての言語が否認可能零知識で証明できることを意味する。 Further, the language proved by the prior art 1 is a trichromatic problem of a graph that is NP-complete. Here, the language means a set of data, and “language is a trichromatic problem” means that the data set is a trichromatic problem set. Further, proving that a certain d belongs to a certain language (for example, the three-color problem) is to prove that d belongs to a set of three-color problems. The fact that the prior art 1 can prove this language with repudable zero knowledge means that the prior art 1 can prove all languages belonging to NP with repudable zero knowledge.
図4に示す証明装置103と検証装置104には、有方向グラフGn=(VG,EG)が共通入力101として入力される。ここで、VGはグラフの頂点の集合であり、EGは辺の集合であり、 両者によりグラフG が表現される。また、頂点の数(|VG|と記す。)は、|VG|=nとする。
A directed graph G n = (V G , E G ) is input as a
また、証明装置103には各頂点の色 C=(c1,c2,...,cn)が証拠102として入力される。各i ∈{1,...,n} はci∈ {1,2,3}で、三色の色を表し、 頂点の塗り分けを表現する。C は、 全ての辺に関して、この辺で連結された二つの頂点が異る色となる様な塗り分けとする。
Further, the color C = (c 1 , c 2 ,..., C n ) of each vertex is input to the proving
証明装置103は、検証装置104にG に関する上記の証拠C が存在することを否認可能零知識対話証明する。「対話証明する」とは、もし上記性質を持つC がG に対して存在しなければ、いかなる偽の証明装置を用いても、この偽の証明装置と検証装置(本例では検証装置104)が互いの通信及び各装置における計算を行なった後、検証装置(本例では検証装置104)が最終的に証明を受理することを表す信号を出力せず、証明装置(本例では証明装置103)と検証装置(本例では検証装置104)に上記G とC が入力されれば、検証装置(本例では検証装置104)は証明を受理することを表す信号を出力することを意味する。
The proving
また、否認可能零知識であるとは次のことを言う。いかなるデータが入力された、多項式時間しか動作しないいかなる偽の検証装置が証明装置(本例では証明装置103)と通信を行なっても、その偽の検証装置の出力は次の性質(性質Aと記す。)を満すことをいう。ただし、偽の検証装置は同じG と C が与えられた複数の証明装置と同時並行的に通信を行なうことが可能であるとする。ここで、上記の性質Aとは、偽の検証装置と通信可能な、多項式時間しか動作しないある模擬装置が存在して、この装置に上記偽の検証装置への入力が与えられたならば、この模擬装置が証明装置(本例では証明装置103)と通信が不可能であっても、上記偽の検証装置の出力とその分布が識別不可能なデータを出力することができることである。性質Aの具体例を示す。例えば、任意の偽の検証装置が、証明装置(本例では証明装置103)と通信をした後、何らかのデータを出力したとする。このデータをaと呼ぶことにする。一方、模擬装置は、偽の検証装置と通信を行い(このとき、証明装置として振る舞う)、その後、何らかのデータを出力する。このデータをbと呼ぶことにする。模擬装置は、どのような偽の検証装置を持ってきても、その出力データaの分布と識別不可能な分布を持つデータbを出力できる(性質A)。
The non-repudiation zero knowledge means the following. Whatever data is input and any fake verifier that operates only in polynomial time communicates with the proving device (the
なお、「データaの分布とデータbの分布とが識別不可能である」とは、以下のような意味である。あるデータの分布Aとデータの分布Bが与えられたとする。また、データaは、分布Aから一様無作為に選ばれたデータであり、データbは、分布Bから一様無作為に選ばれたデータであるとする。どのような識別装置D(0か1を出力する装置であるものとする。)を持ってきても、識別装置Dにaを入力した時における識別装置Dが1を出力する確率と、識別装置Dにbを入力した時における識別装置Dが1を出力する確率とが等しければ、データaの分布とデータbの分布とが識別不可能であるという。なお、確率は、分布A,Bからaとbとを何度も選びなおして求める。 Note that “the distribution of data a and the distribution of data b cannot be distinguished” has the following meaning. It is assumed that a certain data distribution A and data distribution B are given. In addition, it is assumed that the data a is data randomly selected from the distribution A, and the data b is data randomly selected from the distribution B. What kind of identification device D (assuming to be a device that outputs 0 or 1), the probability that the identification device D outputs 1 when a is input to the identification device D, and the identification device If the probability that the discriminating device D outputs 1 when b is input to D is equal, it is said that the distribution of data a and the distribution of data b cannot be discriminated. The probability is obtained by repeatedly selecting a and b from the distributions A and B.
以下、図4に示す証明装置103および検証装置104の動作について説明する。以下の説明では、離散対数問題を使った例を示すが、一般の(確率的)一方向性関数でも可能である。Gqを位数q の離散対数問題が難しい乗法群とし、g をその生成子とする。t を安全変数とする。t の値は、160以上であれば十分である。Hash(・)はハッシュ関数で、その出力の大きさはt ビットとする。
Hereinafter, operations of the proving
ステップ1:検証装置104は無作為にx ∈ Z/qZを選び、y=gxを計算する。
Step 1: The
ステップ2:検証装置104は、i = 1,...,t に関してx'[i]∈ Z/qZを選び、y'[i] = gx'[i] とする。
Step 2: The
ステップ3:検証装置104は、i = 1,...,t に関して、乱数 r[1,i] ∈ {0,1}n と、乱数 r[2,i] ∈ {0,1}n を選ぶ。検証装置104は、i = 1,...,t に関して、ハッシュ値 c[1,i] = Hash(x'[i],r[1,i]) と、ハッシュ値 c[2,i] = Hash(x'[i]+x,r[2,i]) と、をハッシュ関数を生成する装置105と何度も通信して生成する。
Step 3: The
ステップ4:検証装置104は、t ビットのハッシュ値c を次の様に計算する。
Step 4: The
h=Hash({g,y,y'[i],c[1,i],c[2,i]}i=1,...,t) h = Hash ({g, y, y '[i], c [1, i], c [2, i]} i = 1, ..., t )
検証装置104は、i=1,...,t に関して、h のi 番目のビットが0ならば、t[1,i] = x'[i]、t[2,i] = r[1,i] とする。また、h のi 番目のビットが1ならば、t[1,i] = x'[i]+x、t[2,i] = r[2,i]) とする。
If i = 1, ..., t and the i-th bit of h is 0, the
ステップ5:検証装置104は、証明装置103に{g,y,y'[i],c[1,i],c[2,i],t[1,i],t[2,i]}i=1,...,t)を送付する。
Step 5: The
ステップ6:証明装置103は、h'=Hash({g,y,y'[i],c[1,i],c[2,i]}i=1,...,t) を計算する。証明装置103は、ハッシュ関数を計算する装置107と通信することで、i=1,...,t に関して、h'のi 番目のビットが0ならば、c[1,i] = Hash(t[1,i],t[2,i])であることと、gt[1,i] = y'[i] であることを確認し、h'のi 番目のビットが1ならば、c[2,i] = Hash(t[1,i],t[2,i])であることと、gt[2,i] = y・y'[i] であることを確認する。
Step 6: The proving
ステップ7:証明装置103は、y = gxなるx を知っているか、あるいはG に対してC を知っていることの、ハッシュ関数107を用いた非対話的零知識証明を生成する。ただし、どちらを知っているかは識別できない様に証明する。また、ステップ7における非対話的零知識証明は、例えば、非特許文献3に記載された方法により生成する。
Step 7: The proving
ステップ8:証明装置103は、ステップ7で生成した非対話的零知識証明を検証装置104に送付する。
Step 8: The
ステップ9:検証装置104は、証明装置103から送られてきた非対話的零知識証明を検証し、正当であれば受理を、不当であれば不受理を表す信号を検証結果109として出力する。
Step 9: The
ハッシュ関数がランダムなデータを返す関数だと仮定すれば、ステップ1−5は検証装置104の、検証装置104がx を知っていることの非対話的零知識証明である。これは次の様にして分かる。
Assuming that the hash function is a function that returns random data, step 1-5 is a non-interactive zero-knowledge proof of the
証明装置103から送られるデータは、h'=Hash({g,y,y'[i],c[1,i],c[2,i]}i=1,...,t) に対し、以下のようになっていればよい。
The data sent from the proving
すなわち、i=1,...,t に関して、h'のi 番目のビットが0ならば、c[1,i] = Hash(t[1,i],t[2,i])であり、gt[1,i] = y'[i] であり、h'のi 番目のビットが1ならば、c[2,i] = Hash(t[1,i],t[2,i])であり、gt[2,i] = y・y'[i] であればよい。 That is, for i = 1, ..., t, if the i-th bit of h 'is 0, then c [1, i] = Hash (t [1, i], t [2, i]) , G t [1, i] = y '[i] and the i-th bit of h' is 1, c [2, i] = Hash (t [1, i], t [2, i ]) And g t [2, i] = y · y '[i].
このようなデータは、あらかじめh'の値が決まっていれば簡単に生成可能である。ハッシュ関数がランダムな値を返す関数だと仮定すれば、このような仮定が可能である為、x を知らなくとも上記データは生成可能である。このため、このデータから証明装置103がいかなる知識を得ることもない。
Such data can be easily generated if the value of h ′ is determined in advance. Assuming that the hash function is a function that returns a random value, such an assumption can be made. Therefore, the above data can be generated without knowing x. For this reason, the
上記の証明が、証明装置103と検証装置104とにおける対話証明となっていることは次の事から分かる。ステップ7において証明装置103は検証装置104に対し、G に対して(1)C を知っている、すなわちG に対してC が存在する、あるいは (2)x を知っている、のいずれかであることを証明している。ところが、ステップ5で受け取るデータから証明装置103は何ら知識を得ることができないため、Gq の離散対数を求めることができず、z を知ることができない。よって、上記の(1)を証明する必要がある。
It can be seen from the following that the above proof is a dialogue proof between the
また、上記の動作において、証明装置103と検証装置104とにおける対話は否認可能零知識となっていることは次の事から分かる。ランダムオラクルモデルでは検証装置104が、ハッシュ値 c[1,i] = Hash(x'[i],r[1,i])と、ハッシュ値 c[2,i] = Hash(x'[i]+x,r[2,i])とを計算する時には、それぞれ(x'[i],r[1,i])と(x'[i]+x,r[2,i])とをランダムオラクルに送らなければならない。模擬装置がこのような値を途中で傍受すると、(x'[i]+x) - x'[i] = x のように、容易にx を求めることができる。このx を知る模擬装置は、ステップ7において上記(2)の「x を知っていること」を証明することができる。これは上記(1) の「C を知っていること」の証明と識別できないため、証明装置103の生成するデータと識別ができないデータを生成することが可能である。
Further, in the above operation, it can be understood from the following that the dialogue between the proving
上記の動作で、証明装置103と検証装置104とにおける否認可能零知識対話証明は2ラウンドである。すなわち、検証装置104から証明装置103への通信が一回、証明装置103から検証装置104への通信が一回、合わせて二回の通信しか必要としない。
With the above operation, the non-repudiation zero knowledge dialogue proof in the
また、従来の特別正直検証者零知識対話証明の技術については、例えば、非特許文献2に記載されている。なお、「特別正直検証者」とは、検証者(検証装置)が証明者(証明装置)に送るデータが乱数であるという意味である。また、特別正直検証者零知識対話証明では、最初に証明装置から検証装置に送られるメッセージaRと、次に検証装置から証明装置に送られるメッセージeRと、最後に証明装置から検証装置に送られるメッセージzRとを用いる。「証明コミットメント」とは、上記の最初に検証装置に送られるメッセージaRのことである。また、「挑戦値」とは、次に検証装置から証明装置に送られるメッセージeRのことである。「応答」とは、最後に証明装置から検証装置に送られるメッセージzRのことである。 Further, the conventional special honest verifier zero knowledge dialogue proof technique is described in Non-Patent Document 2, for example. The “special honest verifier” means that the data sent from the verifier (verification device) to the prover (certification device) is a random number. In the special honest verifier zero-knowledge dialogue proof, the message a R first sent from the verification device to the verification device, the message e R sent from the verification device to the verification device, and finally the verification device to the verification device. Use message z R to be sent. “Proof commitment” is the message a R sent to the verification device first. The “challenge value” is a message e R that is next sent from the verification device to the certification device. The “response” is a message z R that is finally sent from the verification device to the verification device.
以下、非特許文献2に記載された技術(従来技術2と記すことにする。)について説明する。図5および図6は、非特許文献2に記載される構成を示す説明図である。また、以下の説明において、関係をR 、共通入力(図5および図6では共通入力207)をX 、証拠(図6では証拠208)をW の記号で表す。共通入力X と証拠W が関係R を満たすことを(X,W) ∈ Rと記す。
Hereinafter, the technique described in Non-Patent Document 2 (referred to as Prior Art 2) will be described. 5 and 6 are explanatory diagrams showing the configuration described in Non-Patent Document 2. FIG. In the following description, the relationship is represented by R 1, the common input (
図5に示す証明コミットメント生成装置201は、関数ARにより証明コミットメントを生成する装置である。応答生成装置202は、関数ZRにより応答を生成する関数である。検証装置203は、関数VRにより検証結果を出力する装置である。図6に示す模擬装置204は、関数SRの演算を行う装置である。証拠抽出装置205は、関数ERにより証拠を抽出する装置である。関数AR、関数ZR、関数VR、関数SR、関数ERについては、後述する。
Proof
関係R に関する3ラウンド特別正直検証者零知識対話証明をSHVZKIP(R)と記す。これは、証明コミットメントを生成する関数AR、応答を生成する関数ZR、検証の為の関数VR、模擬の為の関数SR、証拠抽出の関数ERを用い、以下のような性質を満すものである。以下の説明で、RP,RSは、ランダムテープである。 The 3-round special honest verifier zero knowledge dialogue proof for relation R is denoted as SHVZKIP (R). This uses the function A R for generating proof commitment, the function Z R for generating response, the function V R for verification, the function S R for simulation, and the function E R for evidence extraction, and has the following properties: Is satisfied. In the following description, R P and R S are random tapes.
[性質1]
挑戦値eR(図における挑戦値212)を乱数206とする。また、証明コミットメントaR(図における証明コミットメント209)と応答zR(図における応答210)が以下の式によって表されるとする。
[Property 1]
The challenge value e R (
aR = AR(X,W,RP)
zR = ZR(X,W,RP,eR)
a R = A R (X, W, R P )
z R = Z R (X, W, R P , e R )
このとき、VR = VR(X,aP,eR,zR)=1 が成り立つ。ここでVRの出力を検証結果211と呼ぶ。 At this time, V R = V R (X, a P , e R , z R ) = 1 holds. Here, the output of V R is called a verification result 211.
[性質2]
証明コミットメントaR(図における証明コミットメント213)、第一挑戦値eRと第二挑戦値e'R (図では、第一挑戦値および第二挑戦値の組214として示している。)、第一応答zRと第二応答z'R (図では、第一応答および第二応答の組215として示している。)が以下の式を満たしているとする。
[Property 2]
The proof commitment a R (the
VR(X,aR,eR,zR)=1
VR(X,aR,e'R,z'R)=1
eR ≠ e'R
V R (X, a R , e R , z R ) = 1
V R (X, a R , e ' R , z' R ) = 1
e R ≠ e ' R
このとき、W'= ER(aR,eR,zR,e'R,z'R) なる証拠W'(図における証拠216) は、(X,W')∈ Rとなる。
At this time, the evidence W ′ (
[性質3]
挑戦値eR(図における挑戦値212)を乱数とする。また、証明コミットメントaR(図における証明コミットメント209)と応答zR(図における応答210)が以下の式によって表されるとする。ただし、RPはランダムテープ206である。
[Property 3]
The challenge value e R (
aR = AR(X,W,RP)
zR = ZR(X,W,RP,eR)
a R = A R (X, W, R P )
z R = Z R (X, W, R P , e R )
一方、挑戦値e'R (図における挑戦値216)を乱数とする。また、証明コミットメントa'R(図における証明コミットメント217)と応答z'R(図における応答218)が以下のように導出されるとする。ただし、RSはランダムテープ219である。
On the other hand, the challenge value e ′ R (
(a'R,z'R) = SR(X,e'R,RS) (a ' R , z' R ) = S R (X, e ' R , R S )
このとき、ランダムテープRP(図におけるランダムテープ206)をランダムに振ったときの (aR,eR,zR) の分布と、ランダムテープRS(図におけるランダムテープ219)をランダムに振ったときの (a'R,e'R,z'R) の分布とを識別することが難しい。
At this time, the distribution of (a R , e R , z R ) when the random tape R P (
SHVZKIP(R)を用いて対話証明を行なった場合、検証装置の選ぶeRがランダムでなければならないという制約があるが、一般に検証装置がその様なeRを選ぶ保証はないため、この対話証明は零知識とはならない。 If you make the dialogue demonstrated using SHVZKIP (R), for e R choice for verification devices, but there is a restriction that must be random, generally to the verification device there is no guarantee that choose such e R, this dialogue Proof is not zero knowledge.
しかし、多くのR に関する効率的なSHVZKIP(R)が知られているため、このSHVZKIP(R)を利用して、効率の悪化を抑えながら零知識対話証明を構成することには応用上意義がある。 However, since efficient SHVZKIP (R) for many Rs is known, using this SHVZKIP (R) to construct a zero-knowledge dialogue proof while suppressing deterioration in efficiency has application significance. is there.
以下に、SHVZKIP(R)の例をあげる。X はGqの二つの元(y,g) とし、W をZ/qZの元x とし、y=gxなる関係を満すとき、(X,W) ∈ Rとする。 An example of SHVZKIP (R) is given below. X is two elements (y, g) of G q , W is an element x of Z / qZ, and (X, W) ∈ R when y = g x is satisfied.
関数ARは、例えば、以下のような関数である。入力は、X,W 、及びランダムテープRPである。そして、RPからランダムな x' ∈ Z/qZ を生成し、aR = y' =gx' として、aRを出力する。 The function A R is, for example, the following function. Input is X, W, and a random tape R P. Then, a random x ′ ∈ Z / qZ is generated from R P , and a R is output with a R = y ′ = g x ′ .
関数ZRは、例えば、以下のような関数である。入力は、X,W、ランダムテープRP、及び eR=cである。そして、 zR = r = xc + x' mod q を計算し、zRを出力する。 The function Z R is, for example, the following function. Inputs are X, W, random tape R P , and e R = c. Then, z R = r = xc + x ′ mod q is calculated and z R is output.
関数VRは、例えば、以下のような関数である。入力は、X,aR,eR,zRである。そして、gr = yc y'が成立するならば1を出力し、成立しないならば0を出力する。 The function V R is, for example, the following function. Inputs are X, a R , e R , and z R. If g r = y c y 'is satisfied, 1 is output, and if not, 0 is output.
関数ERは、例えば、以下のような関数である。入力は、aR,eR=c,zR=r, e'R=c',z'R=r'である。そして、 W = x =(r-r')/(c'-c) mod q を計算し、W を出力する。 The function E R is, for example, the following function. The inputs are a R , e R = c, z R = r, e ′ R = c ′, z ′ R = r ′. Then, W = x = (r−r ′) / (c′−c) mod q is calculated and W is output.
関数SRは、例えば、以下のような関数である。入力は、X,eR=c,及びランダムテープRSである。そして、RSからランダムな zR=r ∈ Z/qZ を生成し、aR = y' = gry-c を生成する。そして、(aR,zR) を出力する。 The function S R is, for example, the following function. Inputs are X, e R = c, and random tape R S. Then, a random z R = r ∈ Z / qZ is generated from R S , and a R = y ′ = g r y -c is generated. Then, (a R , z R ) is output.
[非対話的知識の証明]
次に、非対話的知識の証明について説明する。上記の従来技術2では、証明装置と検証装置が対話(互いに通信)することで、証明者が検証者に、ある事例がある言語に属する事を証明した。一方、証明者が、検証者にデータを一回送るだけで、ある事例がある言語に属する事を証明する方法がある。これを非対話的証明と言う。特に、ある事例がある言語に属することを多項式時間で検証し得る証拠を保持していることを証明する場合は、非対話的知識の証明と言う。
[Proof of non-interactive knowledge]
Next, proof of non-interactive knowledge will be described. In the above-described prior art 2, the prover proves to the verifier that the case belongs to a certain language by the dialog (communication with each other) between the prover and the verifier. On the other hand, there is a method for proving that a case belongs to a certain language by sending data once to the verifier. This is called non-interactive proof. In particular, when it is proved that a case can be verified in polynomial time that it belongs to a language, it is called proof of non-interactive knowledge.
非特許文献3に記された方法に従うと、特別正直検証者零知識対話証明を用いて、X に対して、(X,W) ∈ RなるR の知識があることの非対話的知識の証明の一例(PR)を次の様に構成できる。 According to the method described in Non-Patent Document 3, proof of non-interactive knowledge that there is knowledge of R with (X, W) ∈ R for X using special honest verifier zero-knowledge dialogue proof An example (P R ) can be configured as follows.
PR = (aR,zR) P R = (aR, zR)
ただし、RPはランダムテープである。また、以下の関係が成り立っているものとする。
aR = AR(X,W,RP) ,
eR = Hash(X,aR) ,
aR = AR(X,W,RP,eR).
However, RP is a random tape. Further, it is assumed that the following relationship holds.
a R = A R (X, W, R P ),
e R = Hash (X, a R ),
a R = A R (X, W, R P , e R ).
しかし、上記の従来技術1は、以下に示す問題を有している。 However, the above prior art 1 has the following problems.
従来技術1では、ステップ3において、十分に大きなt に関して、t 個のコミットメント{c[1,i] と c[2.i]}i=1,...,t を生成する必要がある。この理由は次の通りである。模擬装置は、二つのコミットメント c[1,i] = Hash(x'[i],r[1,i])と c[2,i] = Hash(x'[i]+x,r[2,i])の両方の、コミットされた値x'[i] とx'[i]+x を必要とする。すなわち両方のコミットメントが正しく作られない限り、模擬装置はうまく働かない。ところが、実際の検証装置の動作では、各i に関して、片方しかコミットされた値を公開しない。それゆえ、公開しない方の値を不正に生成しておいても、証明装置に発覚しないおそれがある。このようなおそれがあるため、十分に多くのi に関して(t 個) コミットメントを生成することにより、検証装置が全てのi に関して証明装置を騙せる確率を十分に小さく(1/2t) している。 In the prior art 1, in step 3, it is necessary to generate t commitments {c [1, i] and c [2.i]} i = 1 ,. The reason is as follows. The simulator has two commitments c [1, i] = Hash (x '[i], r [1, i]) and c [2, i] = Hash (x' [i] + x, r [2 , i]) requires committed values x '[i] and x' [i] + x. That is, the simulator will not work unless both commitments are made correctly. However, in the actual operation of the verification apparatus, only one of the values committed for each i is disclosed. Therefore, even if the value that is not disclosed is illegally generated, the proving device may not be detected. Because of this possibility, by generating (t) commitments for a sufficiently large number of i, the probability that the verification device can lose the proving device for all i is reduced sufficiently (1/2 t ). Yes.
上記理由により、従来の技術は検証装置に数多くのコミットメント生成を要求し、ステップ6において証明装置に数多くの計算を要求する。このことにより、計算時間、両者の通信量が共に大きくなるという欠点を持っている。 For the above reasons, the conventional technique requires a verification apparatus to generate a large number of commitments, and in step 6 requires a verification apparatus to perform a large number of calculations. This has the disadvantage that both the calculation time and the amount of communication between both are large.
従来技術1で説明したステップ1−5は離散対数の知識の非対話零知識証明であるが、次の離散対数の知識の非対話零知識証明と比べることで、その計算量と通信量の差がよく分かる。 Step 1-5 described in the prior art 1 is a non-interactive zero knowledge proof of knowledge of discrete logarithm, but by comparing with the non-interactive zero knowledge proof of knowledge of discrete logarithm, the difference between the calculation amount and the communication amount is as follows. I understand well.
y=gxとする。証明装置にg,y,x が入力され、検証者(検証装置)にg,y が入力される。 Let y = g x . G, y, x is input to the proving device, and g, y is input to the verifier (verification device).
ステップ1:証明装置は、 x' ∈ Z/qZ を選び、y'=gx'を生成する。 Step 1: The proving device selects x ′ ∈ Z / qZ and generates y ′ = g x ′ .
ステップ2:証明装置は、c = Hash(g,y,y')を計算する。 Step 2: The proving device calculates c = Hash (g, y, y ′).
ステップ3:証明装置は、t = c x +x' mod q を計算する。 Step 3: The proving device calculates t = c x + x ′ mod q.
ステップ4:証明装置は、(t,c) を検証装置に送付する。 Step 4: The proving device sends (t, c) to the verification device.
ステップ5:検証装置は、c = Hash(g,y,gty-c) が成り立つことを確認する。 Step 5: The verification device confirms that c = Hash (g, y, g t y −c ) holds.
ここで示した非対話零知識証明における通信量と計算量は、どちらも従来の技術で利用されているものの、1/t 倍程であり、大変効率的である。 The amount of communication and the amount of computation in the non-interactive zero-knowledge proof shown here are both 1 / t times, although they are used in the conventional technology, and are very efficient.
しかし、ここで示した方式を、既に説明した従来の方式に単純に適用することはできない。なぜなら、疑似装置が、ハッシュへの入力(g,y,y')をたとえ取り出せることができても、x を求めることができないからである。 However, the method shown here cannot be simply applied to the conventional method already described. This is because even if the pseudo-device can extract the input (g, y, y ′) to the hash, it cannot determine x.
一方、従来技術2には、従来技術2の説明の最後に挙げたように、効率的な方法が多くのR に対して数多くあるが、零知識性を持たない。特に、否認可能零知識性を持つことはない。 On the other hand, as described at the end of the description of the prior art 2, the prior art 2 has many efficient methods for many R 1, but does not have zero knowledge. In particular, it has no undeniable zero knowledge.
本発明は、上記問題点に鑑みてなされたものであって、特別正直検証者零知識対話証明の方法が与えられたときに、これを利用して、通信量と計算量共に少ない否認可能零知識対話証明を行えるようにすることを目的とする。 The present invention has been made in view of the above-mentioned problems, and when a special honest verifier zero knowledge dialogue proof method is provided, it can be used to reduce the amount of communication and the amount of computation. The purpose is to enable knowledge dialogue proof.
本発明による証明装置は、検証装置と通信可能に接続される証明装置であって、
予め定められた第一の関係を満たす共通入力および証拠とランダムテープとに基づいて、第一の関係に関する特別正直検証者零知識対話証明の証明のコミットメントを生成する第一証明コミットメント生成装置と通信可能に接続され、第一の関係に関する共通入力および証拠とランダムテープと挑戦値とに基づいて、第一の関係に関する特別正直検証者零知識対話証明の応答を生成する第一応答生成装置と通信可能に接続され、第二の関係に関する共通入力と証明コミットメントと挑戦値と応答とに基づいて、第二の関係に関する特別正直検証者零知識対話証明の受理を表す信号または不受理を表す信号を出力する第二対話証明検証装置と通信可能に接続され、第二の関係に関する共通入力と挑戦値とランダムテープとに基づいて、第二の関係に関する証明コミットメントおよび応答を生成する模擬装置と通信可能に接続され、ハッシュ関数の計算を行うハッシュ関数の計算装置と通信可能に接続され、予め定められた第一の関係を満たす共通入力および証拠が入力される共通入力等受信手段と、第一のランダムテープおよび第二のランダムテープが入力されるランダムテープ入力手段と、検証装置から、第二の関係に関する共通入力および当該共通入力に対応する証拠の知識の非対話証明を受信する非対話証明受信手段と、非対話証明を用いて、ハッシュ関数の計算装置および第二対話証明検証装置と通信した結果により、非対話証明を受理するか否かを判定する非対話証明受理不受理判定手段と、第一のランダムテープ、第二のランダムテープ、第一の関係を満たす共通入力と証拠、および非対話証明に含まれる共通入力を用いて、模擬装置、第一証明コミットメント生成装置、ハッシュ関数の計算装置、および第一応答生成装置と通信することにより、第一の関係に関する共通入力に対する証拠の知識あるいは、第二の関係に関する共通入力に対する証拠の知識のいずれかの知識があることの知識の非対話証明を生成する証拠知識非対話証明生成手段と、証拠知識非対話証明生成手段が生成した知識の非対話証明を検証装置に送信する非対話証明送信手段とを備えたことを特徴とする。
A proving device according to the present invention is a proving device that is communicably connected to a verification device,
Communicating with a first proof commitment generator for generating a proof commitment of a special honest verifier zero knowledge dialog proof of the first relationship based on common input and evidence satisfying a predetermined first relationship and a random tape Communicating with a first response generating device that generates a response of a special honest verifier zero-knowledge dialogue proof about the first relationship based on the common input and evidence on the first relationship, the random tape, and the challenge value A signal representing acceptance or non-acceptance of a special honest verifier zero-knowledge dialogue proof of the second relationship based on the common input, proof commitment, challenge value and response of the second relationship The second dialogue proof verification device is connected to be communicable, and the second relationship is based on the common input, challenge value, and random tape regarding the second relationship. A common input and evidence satisfying a predetermined first relationship, connected to a simulation device that generates a proof commitment and a response, and communicatively connected to a hash function calculation device that calculates a hash function. Common input such as common input, random tape input means for inputting the first random tape and the second random tape, and evidence corresponding to the common input from the verification device and the common input. Whether to accept the non-dialogue proof based on the result of communicating with the non-dialogue proof receiving means for receiving the non-dialogue proof of knowledge and the hash function calculator and the second dialog proof verifier using the non-dialogue proof Non-dialogue proof acceptance non-acceptance judgment means for judging the first random tape, second random tape, common input satisfying the first relationship Common input related to the first relationship by communicating with the simulation device, the first proof commitment generation device, the hash function calculation device, and the first response generation device using the common input included in the certificate and the non-dialogue proof Evidence knowledge non-dialogue proof generating means and evidence knowledge non-dialogue proof generating means for generating knowledge non-dialogue proof of knowledge that either knowledge of evidence for knowledge or knowledge of evidence for common input related to second relation exists And non-dialogue proof transmitting means for transmitting the non-dialogue proof of knowledge generated to the verification device.
非対話証明受信手段が、検証装置から、第二の関係に関する共通入力と証明コミットメントと応答とを含む非対話証明を受信し、非対話証明受理不受理判定手段が、非対話証明に含まれる第二の関係に関する共通入力および証明コミットメントをハッシュ関数の計算装置に送信し、第二の関係に関する共通入力および証明コミットメントに応じた挑戦値となるハッシュ値を計算させ、挑戦値と、非対話証明に含まれる第二の関係に関する共通入力、証明コミットメント、および応答とを、第二対話証明検証装置に送信し、第二対話証明検証装置が出力力する信号により、非対話証明を受理するか否かを判定し、証拠知識非対話証明生成手段が、第二のランダムテープにより第二の関係に関する挑戦値を生成し、第二の関係に関する共通入力、第二の関係に関する挑戦値、および第二のランダムテープを模擬装置に送信し、第二の関係に関する証明コミットメントおよび応答を生成させ、第一の関係を満たす共通入力および証拠と、第一のランダムテープとを第一証明コミットメント生成装置に送信し、第一の関係に関する証明コミットメントを生成させ、第一の関係に関する共通入力および証明コミットメントと、第二の関係に関する共通入力と、模擬装置に生成させた第二の関係に関する証明コミットメントとをハッシュ関数の計算装置に送信し、第一の関係に関する共通入力および証明コミットメントと第二の関係に関する共通入力および証明コミットメントとに応じたハッシュ値を計算させ、当該ハッシュ値と第二の関係に関する挑戦値とに基づいて第一の関係に関する挑戦値を決定し、第一の関係を満たす共通入力および証拠と、第一のランダムテープと、第一の関係に関する挑戦値とを第一応答生成装置に送信し、第一の関係に関する応答を生成させ、第一の関係に関する証明コミットメント、挑戦値、および応答と、第二の関係に関する挑戦値と、模擬装置に生成させた第二の関係に関する証明コミットメントおよび応答とを知識の非対話証明とする構成であってもよい。 The non-dialog proof receiving means receives a non-dialog proof including a common input, proof commitment, and response regarding the second relationship from the verification device, and the non-dialog proof acceptance non-acceptance determination means is included in the non-dialog proof. Send the common input and proof commitment for the second relationship to the hash function calculator, and calculate the hash value that will be the challenge value according to the common input and proof commitment for the second relationship. Whether or not to accept the non-dialogue proof by a signal output from the second dialog proof verifier by transmitting common input, proof commitment, and response regarding the included second relationship to the second dialog proof verifier The evidence knowledge non-dialogue proof generation means generates a challenge value related to the second relationship using the second random tape, and a common input related to the second relationship, Send the challenge value for the second relationship, and the second random tape to the simulator to generate a proof commitment and response for the second relationship, common input and evidence satisfying the first relationship, and the first random tape Is sent to the first proof commitment generation device, and the proof commitment for the first relationship is generated, and the common input and proof commitment for the first relationship and the common input for the second relationship are generated by the simulation device. The proof commitment for the second relationship is transmitted to the hash function calculation device, and the hash value corresponding to the common input and proof commitment for the first relationship and the common input and proof commitment for the second relationship is calculated. The challenge for the first relationship based on the hash value and the challenge value for the second relationship And send the common input and evidence satisfying the first relationship, the first random tape, and the challenge value for the first relationship to the first response generator to generate a response for the first relationship. Proof commitment, challenge value, and response for the first relationship, challenge value for the second relationship, and proof commitment and response for the second relationship generated by the simulator as non-dialogue proof of knowledge It may be.
本発明による検証装置は、上記の証明装置と通信可能に接続される検証装置であって、第一の関係に関する共通入力と証明コミットメントと挑戦値と応答とに基づいて、第一の関係に関する特別正直検証者零知識対話証明の受理を表す信号または不受理を表す信号を出力する第一対話証明検証装置と通信可能に接続され、第二の関係に関する共通入力と証明コミットメントと挑戦値と応答とに基づいて、第二の関係に関する特別正直検証者零知識対話証明の受理を表す信号または不受理を表す信号を出力する第二対話証明検証装置と通信可能に接続され、第二の関係に関する共通入力および証拠とランダムテープとに基づいて、第二の関係に関する特別正直検証者零知識対話証明の証明のコミットメントを生成する第二証明コミットメント生成装置と通信可能に接続され、第二の関係に関する共通入力および証拠とランダムテープと挑戦値とに基づいて、第二の関係に関する特別正直検証者零知識対話証明の応答を生成する第二応答生成装置と通信可能に接続され、ハッシュ関数の計算を行うハッシュ関数の計算装置と通信可能に接続され、第一の関係に関する共通入力が入力される共通入力入力手段と、第三のランダムテープとしてランダムテープRVおよびランダムテープR'V が入力されるランダムテープ入力手段と、第二の関係を満たす共通入力および証拠を、第三のランダムテープのうちのランダムテープR'V から生成する共通入力等生成手段と、共通入力等生成手段に生成された第二の関係を満たす共通入力および証拠と、第三のランダムテープのうちのランダムテープRVとを用いて、第二証明コミットメント生成装置、第二応答生成装置、およびハッシュ関数の計算装置と通信することにより、共通入力との間で第二の関係を満たすような証拠の知識の非対話証明を生成する証拠知識非対話証明生成手段と、証拠知識非対話証明生成手段によって生成された知識の非対話証明を証明装置に送信する非対話証明送信手段と、証明装置から、第一の関係に関する共通入力に対する証拠の知識あるいは、第二の関係に関する共通入力に対する証拠の知識のいずれかの知識があることの知識の非対話証明を受信する非対話証明受信手段と、第二の関係に関する共通入力と、共通入力入力手段に入力された第一の関係に関する共通入力と、非対話証明受信手段が受信した非対話証明とを用いて、第一対話証明検証装置、第二対話証明検証装置、およびハッシュ関数の計算装置と通信を行うことによって、非対話証明受信手段が受信した非対話証明を受理するか否かの判定を行い、その判定結果を出力する判定手段とを備えたことを特徴とする。 The verification device according to the present invention is a verification device that is communicably connected to the proof device described above, and is based on the common input, the proof commitment, the challenge value, and the response related to the first relationship. Honest verifier is connected to the first dialog proof verification device that outputs a signal indicating acceptance or non-acceptance of zero knowledge dialog proof, and is communicably connected to the second relation, common input, proof commitment, challenge value, and response Is connected to a second dialogue proof verification device that outputs a signal representing acceptance or non-acceptance of a special honest verifier zero knowledge dialogue proof relating to the second relationship, and is common to the second relationship. A second proof commitment student that generates a proof commitment of a special honest verifier zero knowledge dialog proof of the second relationship based on input and evidence and random tape Second response generation communicatively connected to the device to generate a special honest verifier zero knowledge dialogue proof response for the second relationship based on common input and evidence for the second relationship, random tape and challenge value A common input input means connected to the apparatus and communicably connected to a hash function calculation apparatus for calculating a hash function and receiving a common input related to the first relationship; and a random as a third random tape Random tape input means to which tape R V and random tape R ′ V are input, common input that generates the common input and evidence satisfying the second relationship from the random tape R ′ V of the third random tape, etc. Generating means, common input and proof satisfying the second relationship generated by the generating means such as common input, and a random tape R V of the third random tape. Using non-dialogue proof of knowledge of evidence to satisfy the second relationship with the common input by communicating with the second proof commitment generator, the second response generator, and the hash function calculator Common knowledge about the first relationship from the proof device and the non-dialogue proof transmitting means for transmitting the non-dialogue proof of the knowledge generated by the evidence knowledge non-dialogue proof generating means to the proof device Non-dialogue proof receiving means for receiving a non-dialogue proof of knowledge that there is knowledge of evidence for input or knowledge of evidence for common input regarding the second relationship, and common input regarding the second relationship; The first dialog proof verification device, the second pair, using the common input related to the first relationship input to the common input input means and the non-dialog proof received by the non-dialog proof receiving means. A communication means for determining whether or not to accept the non-interactive proof received by the non-interactive proof receiving means by communicating with the proof verification device and the hash function calculating device, and a determination means for outputting the determination result; It is characterized by that.
証拠知識非対話証明生成手段が、第二の関係を満たす共通入力および証拠と、第三のランダムテープのうちのランダムテープRVとを第二証明コミットメント生成装置に送信し、第二の関係に関する証明コミットメントを生成させ、第二の関係に関する共通入力と第二の関係に関する証明コミットメントをハッシュ関数の計算装置に送信し、共通入力および証明コミットメントに応じた挑戦値となるハッシュ値を計算させ、第二の関係を満たす共通入力および証拠と、ランダムテープRVと、挑戦値とを、第二応答生成装置に送信し、第二の関係に関する応答を生成させ、第二の関係に関する共通入力、証明コミットメント、および応答を、知識の非対話証明とし、非対話証明受信手段が、証明装置から、第一の関係に関する証明コミットメント、挑戦値、および応答と、第二の関係に関する証明コミットメント、挑戦値、および応答とを含む非対話証明を受信し、判定手段が、共通入力入力手段に入力された第一の関係に関する共通入力と、非対話証明に含まれる第一の関係に関する証明コミットメント、挑戦値、および応答とを、第一対話証明検証装置に送信し、第一対話証明検証装置が出力する信号を受信し、第二の関係に関する共通入力と、非対話証明に含まれる第二の関係に関する証明コミットメント、挑戦値、および応答とを、第二対話証明検証装置に送信し、第二対話証明検証装置が出力する信号を受信し、第一の関係に関する共通入力および証明コミットメントと第二の関係に関する共通入力および証明コミットメントとをハッシュ関数の計算装置に送信して、第一の関係に関する共通入力および証明コミットメントと第二の関係に関する共通入力および証明コミットメントとに応じたハッシュ値を計算させ、当該ハッシュ値と非対話証明に含まれる第一の関係に関する挑戦値および第二の関係に関する挑戦値との間に所定の関係が成立しているか否かを判定し、その判定の結果と、第一対話証明検証装置および第二対話証明検証装置から受信した信号とに基づいて、非対話証明を受理するか否かを判定する構成であってもよい。 Evidence knowledge non-interactive proof generation means, a common input and evidence satisfy a second relationship, and a random tape R V of the third random tape sent to the second proof commitment generation apparatus, and a second relationship Generate a proof commitment, send the common input for the second relationship and the proof commitment for the second relationship to the hash function calculator, calculate the hash value that will be the challenge value according to the common input and the proof commitment, The common input and evidence satisfying the two relations, the random tape R V and the challenge value are transmitted to the second response generation device to generate a response relating to the second relation, and the common input and proof relating to the second relation. The commitment and the response are assumed to be non-dialogue proofs of knowledge, and the non-dialogue proof receiving means receives a proof commitment concerning the first relationship from the proof device. A non-dialogue proof including a challenge value and a response and a proof commitment, a challenge value, and a response regarding the second relationship is received, and the determination means is a common input regarding the first relationship input to the common input input means; , Transmitting a proof commitment, a challenge value, and a response regarding the first relationship included in the non-dialogue proof to the first dialog proof verifier, receiving a signal output by the first dialog proof verifier, Sends the common input for the relationship and the proof commitment, challenge value, and response for the second relationship included in the non-dialogue proof to the second dialog proof verifier and receives the signal output by the second dialog proof verifier Send the common input and proof commitment for the first relationship and the common input and proof commitment for the second relationship to the hash function computing device, A hash value corresponding to the common input and proof commitment related to the clerk and the common input and proof commitment related to the second relationship is calculated, and the challenge value and the second relationship related to the first relationship included in the hash value and the non-dialogue proof are calculated. It is determined whether or not a predetermined relationship is established between the challenge value and the determination value, and based on the result of the determination and the signals received from the first dialog proof verification device and the second dialog proof verification device, It may be configured to determine whether or not to accept the dialogue proof.
本発明によれば、通信量と計算量共に少ない否認可能零知識対話証明を実現することができる。 According to the present invention, it is possible to realize non-repudiation zero knowledge dialogue proof that both the communication amount and the calculation amount are small.
以下、本発明の実施の形態を図面を参照して説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
以下の説明では、挑戦値のコミットメントに言及するが、この「コミットメント」と、既に説明した「証明コミットメント」とは異なるものである。そこで、まず、「コミットメント」について説明する。「U(例えば、挑戦値)のコミットメント」とは、以下の性質を有するデータである。すなわち、「Uのコミットメントのみが与えられても、Uに関する情報が何も得られず、Uのコミットメントを生成したものは、後にこれがUのコミットメントであることを証明することができる。」という性質を有し、そして、「いかなるU’≠Uに関してもU’のコミットメントであることを証明できない。」という性質を有するデータである。以下の説明で言及する「挑戦値のコミットメント」も、この性質を有する。 In the following explanation, reference is made to the commitment of the challenge value, but this “commitment” is different from the “proof commitment” already explained. First, “commitment” will be described. “Commitment of U (for example, challenge value)” is data having the following properties. In other words, the property that "even if only U's commitment is given, no information about U is obtained, and the one that generates U's commitment can later prove that this is U's commitment." And has the property that “it is not possible to prove that U ′ is a commitment for any U ′ ≠ U”. The “challenge of commitment value” mentioned in the following explanation also has this property.
実施の形態1.
図1は、本発明の第1の実施の形態の証明装置および検証装置を示す説明図である。証明装置301および検証装置302は、互いに通信可能となるように接続されている。証明装置301には、(X,W) ∈ Rなる共通入力X 、証拠W 、および第一のランダムテープRPが入力される。この関係R は、予め定められた関係である。本実施の形態では、便宜的に、関係R のことを第一の関係と呼ぶことにする。
Embodiment 1 FIG.
FIG. 1 is an explanatory diagram illustrating a proving device and a verification device according to the first embodiment of this invention. The
なお、共通入力は、証明装置および検証装置に共通に入力されるデータである。ただし、後述する第2の実施の形態では、検証装置が共通入力となるデータ(第2の実施の形態におけるX')を生成し、証明装置に送信する場合も示す。このように、検証装置が生成し、証明装置に送信するデータも共通入力となる。 The common input is data input in common to the proving device and the verification device. However, in the second embodiment to be described later, a case where the verification device generates data (X ′ in the second embodiment) as a common input and transmits it to the certification device is also shown. In this way, data generated by the verification device and transmitted to the certification device is also a common input.
証明装置301は、第一の関係に関する挑戦値のコミットメント検証装置324(以下、挑戦値のコミットメント検証装置324と記す。)と、対話的な、第一の関係に関する知識の証明生成装置330(以下、証明生成装置330と記す。)とを備える。
The
検証装置312は、第一の関係に関する挑戦値のコミットメント生成装置312(以下、挑戦値のコミットメント生成装置312と記す。)と、対話的な、第一の関係に関する知識の証明検証装置340(以下、証明検証装置340と記す。)とを備える。
The
挑戦値のコミットメント検証装置324は、ハッシュ関数の計算装置310と通信可能に接続される。また、証明生成装置330は、第一の関係R に関する特別正直検証者零知識対話証明の証明コミットメント生成装置303(以下、証明コミットメント生成装置303と記す。)と通信可能に接続される。また、証明生成装置330は、第一の関係R に関する特別正直検証者零知識対話証明の応答生成304(以下、応答生成装置304と記す。)と通信可能に接続される。
The challenge value
挑戦値のコミットメント生成装置312は、ハッシュ関数の計算装置311と通信可能に接続される。証明検証装置340は、第一の関係R に関する特別正直検証者零知識対話証明の検証装置305(以下、対話証明検証装置305と記す。)と通信可能に接続される。
The challenge value
証明コミットメント生成装置303は、関数(関数ARとする。)に従って、証明生成装置330からの入力に応じた証明コミットメントを生成し、証明生成装置330に出力する。なお、本実施の形態における関数ARの具体的な計算例は、例えば、従来技術2で示した関数ARと同様である。
The proof
応答生成装置304は、関数(関数ZRとする。)に従って、証明生成装置330からの入力に応じた応答を生成し、証明生成装置330に出力する。なお、本実施の形態における関数ZRの具体的な計算例は、例えば、従来技術2で示した関数ZRと同様である。
The
対話証明検証装置305は、関数(関数VRとする。)に従って、証明検証装置340からの入力に応じた検証結果を生成し、証明検証装置340に出力する。なお、本実施の形態における関数VRの具体的な計算例は、例えば、従来技術2で示した関数VRと同様である。なお、検証結果が1であれば、証明の受理を表し、検証結果が0であれば、証明の不受理を表すものとする。
The dialogue
挑戦値のコミットメント検証装置324には、挑戦値のコミットメント生成装置312から、挑戦値のコミットメント(c とする。)が入力される。挑戦値のコミットメント検証装置324は、証明検証装置340が証明生成装置330に対して出力する挑戦値および乱数を用いたハッシュ関数の計算結果が、挑戦値のコミットメントc と一致するか否かを判定する。
A challenge value
証明生成装置330には、前述の共通入力X 、証拠W 、および第一のランダムテープRPが入力される。また、証明生成装置330は、証明コミットメント生成装置303に生成させた証明コミットメントを、証明検証装置340に出力する。その後、証明生成装置330には、証明検証装置340から、挑戦値および乱数が入力される。挑戦値および乱数を用いたハッシュ関数の計算結果が、挑戦値のコミットメントc と一致していた場合には、証明生成装置330は、応答生成装置304に生成させた応答を証明検証装置340に出力する。
The above-mentioned common input X 1, evidence W 2, and first random tape RP are input to the
挑戦値のコミットメント生成装置312には、共通入力X 、および第二のランダムテープRVが入力される。そして、挑戦値のコミットメント生成装置312は、挑戦値、乱数を生成し、ハッシュ関数の計算装置311に挑戦値のコミットメントc を生成させる。挑戦値のコミットメント生成装置312は、挑戦値のコミットメントc を挑戦値のコミットメント検証装置324に出力する。
証明検証装置340には、証明生成装置330から証明コミットメントが入力される。その後、証明検証装置340は、挑戦値および乱数を証明生成装置330を出力する。そして、証明生成装置330から応答が入力される。証明検証装置340は、応答を受けると、対話証明検証装置305に検証結果を生成させ、その検証結果322を出力する。
The proof commitment is input from the
なお、図1では、符号306を用いて共通入力X を示している。また、符号307を用いて証拠W を示している。また、符号308を用いて第一のランダムテープRPを示している。また、符号309を用いて第二のランダムテープRVを示している。
In FIG. 1, the common input X is indicated by
次に、証明装置301と検証装置302とによる関係R の否認可能零知識対話証明の動作について説明する。
Next, the operation of the repudiation zero knowledge dialogue proof of the relation R 1 by the
まず、証明装置301の証明生成装置330に、(X,W) ∈ Rなる共通入力X 、証拠W 、および第一のランダムテープRPが入力される。
First, the common input X with (X, W) ∈ R, the evidence W, and the first random tape RP are input to the
続いて、検証装置302が備える挑戦値のコミットメント生成装置312に、共通入力X 、および第二のランダムテープRVが入力される。
Subsequently, the common input X and the second random tape R V are input to the commitment value
次に、挑戦値のコミットメント生成装置312は、以下のようにして、第一の関係R に関する挑戦値のコミットメントを、ハッシュ関数の計算装置311に生成させる。挑戦値のコミットメント生成装置312は、第二のランダムテープRVを用いて、挑戦値eRを選ぶ。また、挑戦値のコミットメント生成装置312は、第二のランダムテープRVを用いて、乱数r を選ぶ。この乱数r は、挑戦値のコミットメントの証拠となっている。挑戦値のコミットメント生成装置312は、挑戦値eRおよび乱数r をハッシュ関数の計算装置311に送信する。ハッシュ関数の計算装置311は、c = Hash(eR,r)として、挑戦値のコミットメントc を計算し、挑戦値のコミットメントc を挑戦値のコミットメント生成装置312に送信する。このときの通信を、図1では、通信313として示している。
Next, the challenge value
挑戦値のコミットメント生成装置312は、ハッシュ関数の計算装置311から受信した挑戦値のコミットメントc を、挑戦値のコミットメント検証装置324に送信する(図1に示す通信314)。なお、挑戦値のコミットメント検証装置324は、挑戦値のコミットメント生成装置312から挑戦値のコミットメントc が送信されてくるのを待ち、挑戦値のコミットメント生成装置312から挑戦値のコミットメントc を受信する。
The challenge value
挑戦値のコミットメント検証装置324が挑戦値のコミットメントc を受信すると、証明生成装置330は、共通入力X 、証拠W 、および第一のランダムテープRPを、証明コミットメント生成装置303に送信する。証明コミットメント生成装置303は、関数ARによって、aR =AR(x,w,RP)として、証明コミットメントaRを生成する。そして、証明コミットメント生成装置303は、証明コミットメントaRを証明生成装置330に送信する。このときの通信を、図1では、通信315として示している。
When the challenge value
証明生成装置330は、証明コミットメント生成装置303から受信した証明コミットメントaRを証明検証装置340に送信する(図1に示す通信316)。証明生成装置330は、証明コミットメントaRを送信した後、証明検証装置340から、挑戦値のコミットメントc によりコミットされた挑戦値およびそのコミットメントの証拠(乱数r )が送信されてくるのを待つ。
The
証明検証装置340は、証明コミットメントaRを受信した後、挑戦値eRおよび乱数r を証明生成装置330に送信する(図1に示す通信317)。証明検証装置340は、挑戦値eRおよび乱数r を送信した後、証明生成装置330から応答が送信されてくるのを待つ。
After receiving the certification commitment a R , the
証明生成装置330が挑戦値eRおよび乱数r を受信すると、挑戦値のコミットメント検証装置324は、ハッシュ関数の計算装置310と通信を行い(図1に示す通信319)、挑戦値eRおよび乱数をr を用いたハッシュ関数の計算結果が、挑戦値のコミットメントc と一致するか否かを判定する。すなわち、ハッシュ関数の計算装置310に、Hash(eR,r)を計算させ、その計算結果が、既に受信している挑戦値のコミットメントc と一致するか否かを判定する。換言すると、既に受信している挑戦値のコミットメントc が挑戦値eRのコミットメントであるか否かを、乱数r を用いて検証する。
When the
c = Hash(eR,r)が成立していないならば、挑戦値のコミットメント検証装置324は、証明装置301の停止命令を証明生成装置330に出力する(図1に示す出力325)。停止命令が出力された場合、証明装置301は動作を停止する。なお、c = Hash(eR,r)が成立しているならば、停止命令を出力しない。
If c = Hash (e R , r) does not hold, the challenge value
停止命令が出力されなかった場合、証明生成装置330は、共通入力X 、証拠W 、挑戦値eR、および第一のランダムテープRPを、応答生成装置304に送信する。応答生成装置304は、関数ZRによって、zR =ZR(x,w,eR,RP) として、応答zRを生成する。そして、応答生成装置304は、応答zRを証明生成装置330に送信する。このときの通信を、図1では、通信320として示している。
If the stop command is not output, the
証明生成装置330は、応答生成装置304から受信した応答zRを証明検証装置340に送信する(図1に示す通信318)。
The
証明検証装置340は、応答zRを受信すると、共通入力X 、証明コミットメントaR、挑戦値eR、および応答zRを、対話証明検証装置305に送信する。なお、証明検証装置340は、挑戦値のコミットメント生成装置312から挑戦値eRを受信すればよい(図1に示す通信326)。対話証明検証装置305は、関数VRによって、VR(X,aR,eR,zR)の計算結果を導出する。この計算結果は、例えば、1か0かのいずれかとなり、証明の受理あるいは不受理を表す。対話証明検証装置305は、証明の受理あるいは不受理を表す信号を証明検証装置340に送信する。このときの通信を、図1では、通信321として示している。
Upon receiving the response z R , the
証明検証装置340は、受信した信号(証明の受理あるいは不受理を表す信号)を、検証結果322として出力する。
The
第1の実施の形態によれば、検証装置302から証明装置301への送信は、挑戦値のコミットメントc の送信(図1に示す通信314)、および、そのコミットメントが挑戦値のコミットメントであることを示すデータの送信(図1に示す通信317)のみである。よって、通信量が少なくて済み、方式を簡易化し、通信を効率化することができる。
According to the first embodiment, transmission from the
第1の実施の形態において、証明装置が備える共通入力等入力手段、ランダムテープ入力手段、証明コミットメント生成制御手段、挑戦値等受信手段、および応答生成制御手段は、証明装置301の証明生成装置330によって実現される。また、証明装置が備える挑戦値コミットメント受信手段、挑戦値コミットメント検証手段は、証明装置301の挑戦値のコミットメント検証装置324によって実現される。
In the first embodiment, the common input unit, the random tape input unit, the proof commitment generation control unit, the challenge value reception unit, and the response generation control unit included in the proof device are the
そして、検証装置が備える共通入力入力手段、ランダムテープ入力手段、挑戦値生成手段、乱数生成手段、挑戦値コミットメント生成制御手段は、検証装置302の挑戦値のコミットメント生成装置312によって実現される。また、検証装置が備える証明コミットメント受信手段、応答受信手段、検証結果出力手段は、検証装置303の証明検証装置340によって実現される。
The common input input means, random tape input means, challenge value generation means, random number generation means, and challenge value commitment generation control means included in the verification apparatus are realized by the challenge value
実施の形態2.
以下の説明では、ビット毎の排他的論理和を符号∨によって表すものとする。
Embodiment 2. FIG.
In the following description, the bitwise exclusive OR is represented by a sign ∨.
図2は、本発明の第2の実施の形態の証明装置および検証装置を示す説明図である。証明装置401および検証装置402は、互いに通信可能となるように接続されている。証明装置401には、(X,W) ∈ Rなる共通入力X、証拠W、第一のランダムテープRP、第二のランダムテープR'Pが入力される。この関係R は、予め定められた関係であり、以下、第一の関係と呼ぶ。なお、第一の関係R とは別の第二の関係をR'とする。
FIG. 2 is an explanatory diagram illustrating a proving device and a verification device according to the second embodiment of this invention. The
証明装置401は、第二の関係に関する非対話的知識の証明検証装置423(以下、第二関係証明検証装置423と記す。)と、非対話的な、第一の関係を満たす証拠、あるいは第二の関係を満たす証拠のいずれかの証拠の知識の証明生成装置425(以下、証明生成装置425と記す。)とを備える。
The
検証装置402は、第二の関係に関する非対話的知識の証明生成装置417(以下、第二関係証明生成装置417と記す。)と、非対話的な、第一の関係を満たす知識、あるいは第二の関係を満たす知識のいずれかの知識の証明検証装置434(以下、証明検証装置434と記す。)とを備える。
The
第二関係証明検証装置423は、ハッシュ関数の計算装置410と通信可能に接続される。また、第二関係証明検証装置423は、第二の関係R'に関する特別正直検証者零知識対話証明の検証装置408(以下、第二対話証明検証装置408と記す。)とも通信可能に接続されている。
The second relationship
証明生成装置425は、ハッシュ関数の計算装置410と通信可能に接続される。また、証明生成装置425は、第一の関係R に関する特別正直検証者零知識対話証明の証明コミットメント生成装置403(以下、第一証明コミットメント生成装置403と記す。)と通信可能に接続される。また、証明生成装置425は、第一の関係R に関する特別正直検証者零知識対話証明の応答生成装置404(以下、第一応答生成装置404と記す。)と通信可能に接続される。さらに、証明生成装置425は、第二の関係R'に関する特別正直検証者零知識対話証明の模擬装置409(以下、第二関係模擬装置409と記す。)と通信可能に接続される。
The
第二関係証明生成装置417は、ハッシュ関数の計算装置411と通信可能に接続される。また、第二関係証明生成装置417は、第二の関係R' に関する特別正直検証者零知識対話証明の証明コミットメント生成装置406(以下、第二証明コミットメント生成装置406)と通信可能に接続される。さらに、第二関係証明生成装置417は、第二の関係R'に関する特別正直検証者零知識対話証明の応答生成装置407(以下、第二応答生成装置407)と通信可能に接続される。
The second relationship
証明検証装置434は、ハッシュ関数の計算装置411と通信可能に接続される。また、証明検証装置434は、第一の関係R に関する特別正直検証者零知識対話証明の検証装置405(以下、第一対話証明検証装置405と記す。)と通信可能に接続される。さらに、証明検証装置434は、第二対話証明検証装置408と通信可能に接続される。
The
第一証明コミットメント生成装置403は、関数(関数ARとする。)に従って、証明生成装置425からの入力に応じた証明コミットメントを生成し、証明生成装置425に出力する。なお、本実施の形態における関数ARの具体的な計算例は、例えば、従来技術2で示した関数ARと同様である。
The first proof
第一応答生成装置404は、関数(関数ZRとする。)に従って、証明生成装置425からの入力に応じた応答を生成し、証明生成装置425に出力する。なお、本実施の形態における関数ZRの具体的な計算例は、例えば、従来技術2で示した関数ZRと同様である。
The first
第一対話証明検証装置405は、関数(関数VRとする。)に従って、証明検証装置434からの入力に応じた検証結果(証明の受理あるいは不受理を表す信号)を生成し、証明検証装置434に出力する。なお、本実施の形態における関数VRの具体的な計算例は、例えば、従来技術2で示した関数VRと同様である。なお、検証結果が1であれば、証明の受理を表し、検証結果が0であれば、証明の不受理を表すものとする。
The first dialog proof verification device 405 generates a verification result (a signal indicating acceptance or non-acceptance of the proof) according to the input from the
第二証明コミットメント生成装置406は、関数(関数AR’ とする。)に従って、第二関係証明生成装置417からの入力に応じた証明コミットメント(aR'とする。)を生成し、第二関係証明生成装置417に出力する。関数AR’ は、共通入力、証拠、ランダムテープを入力とし、証明コミットメントを出力する関数である。ここでは、関数AR’ が関数ARとは異なる計算を行う関数であるものとして説明するが、第一の関係R と第二の関係R’とが同じ関係であるならば、関数AR’ が関数ARと同様の計算を行う関数であってもよい。
The second proof
第二応答生成装置407は、関数(関数ZR’ とする。)に従って、第二関係証明生成装置417からの入力に応じた応答を生成し、第二関係証明生成装置417に出力する。関数ZR’ は、共通入力、証拠、挑戦値、およびランダムテープを入力とし、応答(zR'とする。)を出力する関数である。ここでは、関数ZR’ が関数ZRとは異なる計算を行う関数であるものとして説明するが、第一の関係R と第二の関係R’とが同じ関係であるならば、関数ZR’ が関数ZRと同様の計算を行う関数であってもよい。
The second response generation device 407 generates a response according to the input from the second relationship
第二対話証明検証装置408は、関数(関数VR’ とする。)に従って、第二関係証明検証装置423や証明検証装置434からの入力に応じた検証結果(証明の受理あるいは不受理を表す信号)を生成し、第二関係証明検証装置423や証明検証装置434にその検証結果を出力する。関数VR’ は、証明コミットメント、応答、共通入力、挑戦値を入力とし、検証結果を出力する関数である。ここでは、関数VR’ が関数VRとは異なる計算を行う関数であるものとして説明するが、第一の関係R と第二の関係R’とが同じ関係であるならば、関数VR’ が関数VRと同様の計算を行う関数であってもよい。なお、検証結果が1であれば、証明の受理を表し、検証結果が0であれば、証明の不受理を表すものとする。
The second dialog
第二関係模擬装置409は、関数(関数SR’ とする。)に従って、証明生成装置425からの入力に応じた証明コミットメントおよび応答を出力する。関数SR’ は、共通入力、挑戦値、およびランダムテープを入力とし、証明コミットメントおよび応答を出力する関数である。本実施の形態における関数SR’ の具体的な計算例は、例えば、従来技術2で示した関数SRと同様である。
The second
第二関係証明生成装置417には、共通入力X と第三のランダムテープが入力される。なお、第三のランダムテープとしては、RVおよびR'V が入力される。また、第二関係証明生成装置417は、第二の関係R'に関する非対話的知識の証明(PR' とする。)を第二関係証明検証装置423に出力する。
A common input X and a third random tape are input to the second relationship
第二関係証明検証装置423は、第二の関係R'に関する非対話的知識の証明PR' を用いて、所定の関係式が成立しているか否かを判定する。
Second relationship
証明生成装置425には、前述の共通入力X、証拠W、第一のランダムテープRP、第二のランダムテープR'Pが入力される。そして、非対話的な、第一の関係を満たす証拠、あるいは第二の関係を満たす証拠のいずれかの証拠の知識の証明(PR∨R'とする。)を生成し、その証明を証明検証装置434に出力する。
The above-mentioned common input X, evidence W, first random tape R P , and second random tape R ′ P are input to the
証明検証装置434は、第一対話証明検証装置405および第二対話証明検証装置408との通信結果に基づいて、証明PR∨R'の受理または不受理を表す信号を検証結果435として出力する。
The
なお、図2では、符号412を用いて共通入力X を示している。また、符号413を用いて証拠W を示している。また、符号414を用いて第一のランダムテープRPを示している。また、符号415を用いて第二のランダムテープR'P を示している。また、符号416を用いて第三のランダムテープRVおよびR'V を示している。
In FIG. 2, the common input X is indicated by
次に、証明装置401と検証装置402とによる関係R の否認可能零知識対話証明の動作について説明する。
Next, the operation of the repudiation zero knowledge dialogue proof of the relation R 1 by the
まず、証明装置401の証明生成装置425に、(X,W) ∈ Rなる共通入力X 、証拠W 、第一のランダムテープRP、および第二のランダムテープR'Pが入力される。
First, the common input X 1, the evidence W 1, the first random tape R P , and the second random tape R ′ P with (X, W) ∈ R are input to the
続いて、検証装置402の第二関係証明生成装置417に、共通入力X 及び第三のランダムテープRVおよびR'V が入力される。
Subsequently, the common input X and the third random tapes R V and R ′ V are input to the second relationship
次に、第二関係証明生成装置417は、以下のようにして、第二の関係R'に関する非対話的知識の証明PR' を生成する。
Next, the second relationship
第二関係証明生成装置417は、一様無作為に、(X',W') ∈ R' なるX',W' (第二の関係R'に関する共通入力および証拠)を、第三のランダムテープのうちのR'V を用いて生成する。
The second relationship
次に、第二関係証明生成装置417は、共通入力X'、証拠W'、第三のランダムテープのうちのRVを第二証明コミットメント生成装置406に送信する。第二証明コミットメント生成装置406は、関数AR’ によって、aR'=AR'(X',W', RV)として、証明コミットメントaR' を生成する。そして、第二証明コミットメント生成装置406は、証明コミットメントaR' を第二関係証明生成装置417に送信する。このときの通信を、図2では、通信418として示している。
Next, the second relationship
次に、第二関係証明生成装置417は、共通入力X'、証明コミットメントaR' をハッシュ関数の計算装置411に送信する。ハッシュ関数の計算装置411は、eR' =Hash(X',aR') としてハッシュ値を計算する。ハッシュ関数の計算装置411は、ハッシュ値eR' を第二関係証明生成装置417に送信する。このときの通信を、図2では、通信419として示している。
Next, the second relationship
次に、第二関係証明生成装置417は、共通入力X'、証拠W'、ハッシュ値eR' 、および第三のランダムテープのうちのRVを第二応答生成装置407に送信する。ここでは、ハッシュ値eR' を挑戦値として送信する。第二応答生成装置407は、関数ZR’ によって、zR' =ZR'(X',W',eR', RV)として、応答zR'を生成する。第二応答生成装置407は、応答zR'を第二関係証明生成装置417に送信する。このときの通信を、図2では、通信420として示している。
Next, the second relationship
第二関係証明生成装置417は、第二の関係R'に関する非対話的知識の証明PR'を(X',aR',zR') とする。第二関係証明生成装置417は、以上のようにして生成した証明PR'=(X',aR',zR')を、第二関係証明検証装置423に送信する(図2に示す通信421)。
The second relationship
なお、第二関係証明検証装置423は、証明PR'(第二の関係R’に関する共通入力X'とその共通入力X'に対応する証拠W'の知識の非対話証明)が送信されてくるのを待ち、上記の通信421で、第二関係証明生成装置417をから証明PR'=(X',aR',zR')を受信する。
The second relationship
証明装置401の第二関係証明検証装置423は、以下のようにして、第二の関係R' に関する非対話的知識の証明 PR'を検証する。
The second relationship
第二関係証明検証装置423は、共通入力X'、証明コミットメントaR' をハッシュ関数の計算装置410に送信する。ハッシュ関数の計算装置410は、eR' = Hash(X',aR') としてハッシュ値を計算する。ハッシュ関数の計算装置410は、ハッシュ値eR'を第二関係証明検証装置423に送信する。このときの通信を、図2では、通信422として示している。
The second relationship
第二関係証明検証装置423は、共通入力X'、証明コミットメントaR' 、ハッシュ値eR'、応答zR'を第二対話証明検証装置408に送信する。ここでは、ハッシュ値eR' を挑戦値として送信する。第二対話証明検証装置408は、関数VR’ によって、VR'(X',aR',eR',zR')の計算結果を導出し、その計算結果を第二関係証明検証装置423に送信する。このときの通信を、図2では、通信424として示している。
The second relationship
第二関係証明検証装置423は、VR'(X',aR',eR',zR')=1が成り立つか否かを判定する。成り立っていないならば、証明装置401を停止する。また、成り立っているならば、証明装置401は、次に示す動作を行う。すなわち、VR'(X',aR',eR',zR')=1が成立していれば、証明 PR'を受理とし、成立していなければ証明 PR'を不受理とする。
The second relationship
証明装置401の証明生成装置425は、以下のようにして、第一の関係R を満す証拠あるいは第二の関 係R' を満す証拠の、いずれかの証拠に関する知識の非対話的知識の証明PR∨R'を生成する。
The
証明生成装置425は、第二のランダムテープR'Pを用いて乱数e'R'を生成し、これを第二の関係R'に関する挑戦値とする。
The
次に、証明生成装置425は、共通入力X'、挑戦値e'R'、および第二のランダムテープR'Pを第二関係模擬装置409に送信して、第二関係模擬装置409に第二の関係R'に関する証明コミットメントa'R'と応答z'R'を生成させる。第二関係模擬装置409は、関数SR’ によって、(a'R',z'R') =SR'(X',e'R',R'P)を導出し、証明コミットメントa'R'と応答z'R'を証明生成装置425に送信する。このときの通信を、図2では、通信426として示している。
Next, the
次に、証明生成装置425は、共通入力X 、証拠W 、および第一のランダムテープRPを第一証明コミットメント生成装置403に送信する。第一証明コミットメント生成装置403は、関数ARによって、aR=AR(X,W,RP)として、証明コミットメントaRを生成し、証明生成装置425に送信する。このときの通信を、図2では、通信427として示している。
Next, the
次に、証明生成装置425は、第一の関係R に関する共通入力X 、証明コミットメントaR、第二の関係R'に関する共通入力X'、証明コミットメントa'R'を、ハッシュ関数の計算装置410に送信する。ハッシュ関数の計算装置410は、e = Hash(X,aR,X',a'R')としてハッシュ値e を計算し、そのハッシュ値を証明生成装置425に送信する。このときの通信を、図2では、通信428として示している。
Next, the
次に、証明生成装置425は、eR= e ∨ e'R'として、挑戦値eRを計算する。証明生成装置425は、共通入力X 、証拠W 、挑戦値eR、および第一のランダムテープRPを第一応答生成装置404に送信し、応答zRを生成させる。第一応答生成装置404は、関数ZRによって、zR=ZR(X,W,eR,RP)として、応答zRを生成し、応答zRを証明生成装置425に送信する。このときの通信を、図2では、通信429として示している。
Next, the
証明生成装置425は、第一の関係R を満す証拠あるいは第二の関係R'を満す証拠の、いずれかの証拠に関する知識の非対話的知識の証明 PR∨R' を(aR,eR,zR, a'R',e'R',z'R') とする。証明生成装置425は、以上のようにして生成した証明PR∨R'= (aR,eR,zR, a'R',e'R',z'R')を、検証装置402の証明検証装置434に送信する(図2に示す通信429)。
The proof generation device 425 obtains a non-interactive knowledge proof P R∨R ′ of knowledge about either evidence of the evidence satisfying the first relation R 1 or the evidence satisfying the second relation R ′ (a R , e R , z R , a ′ R ′ , e ′ R ′ , z ′ R ′ ). The
証明検証装置434は、共通入力X (検証装置402に入力された共通入力X)、証明コミットメントaR、共通入力X'、および証明コミットメントa'R'をハッシュ関数の計算装置411に送信し、ハッシュ値を計算させる。ハッシュ関数の計算装置411は、Hash(X,aR,X',a'R')の計算結果を導出し、その計算結果(ハッシュ値)を証明検証装置434に送信する。このときの通信を、図2では、通信430として示している。そして、証明検証装置434は、Hash(X,aR,X',a'R')の計算結果が、eR∨e'R'と等しくなっているか否かを判定する。
The
次に、証明検証装置434は、共通入力X 、証明コミットメントaR、挑戦値eR、応答zRを第一対話証明検証装置405に送信する。第一対話証明検証装置405は、関数VRによって、VR(X,aR,eR,zR)の計算結果を導出し、その計算結果を証明検証装置434に送信する。このときの通信を、図2では、通信432として示している。証明検証装置434は、VR(X,aR,eR,zR)=1が成立しているか否かを判定する。
Next, the
次に、証明検証装置434は、共通入力X'、証明コミットメントa'R'、挑戦値e'R'、応答z'R'を第二対話証明検証装置408に送信する。第二対話証明検証装置408は、関数VR’ によって、VR'(X',a'R',e'R',z'R')の計算結果を導出し、その計算結果を証明検証装置434に送信する。このときの通信を、図2では、通信431として示している。証明検証装置434は、VR'(X',a'R',e'R',z'R')=1が成立しているか否かを判定する。
Next, the
証明検証装置434は、上記の各判定が全て成立している場合、すなわち、Hash(X,aR,X',a'R')=eR∨e'R'、VR(X,aR,eR,zR)=1、およびVR'(X',a'R',e'R',z'R')=1が全て成立している場合、“1”を検証結果435として出力する。その他の場合、証明検証装置434は、“0”を検証結果435として出力する。上記の“1”は、証明 PR∨R' を受理することを表す。また、上記の“0”は、証明 PR∨R' を受理しないことを表す。
The
第2の実施の形態によれば、検証装置402から証明装置401に送信する通信量が少なくて済み、通信量や計算量を抑えることができる。例えば、図4に示す従来技術1では、検証装置から証明装置に2t個のc[1,i]、c[2,i]を送信している。それに対し、第2の実施の形態では、検証装置402は、証明装置401に対して証明PR’を送信しているのみである。このように、本発明によれば、通信量や計算量を抑えることができる。
According to the second embodiment, the amount of communication transmitted from the
第2の実施の形態において、証明装置が備える非対話証明受信手段、非対話証明受理不受理判定手段は、証明装置402の第二関係証明検証装置423によって実現される。また、証明装置が備える共通入力等受信手段、ランダムテープ入力手段、証拠知識非対話証明生成手段、非対話証明送信手段は、証明装置402の証明生成装置425によって実現される。
In the second embodiment, the non-dialogue proof receiving means and the non-dialogue proof acceptance non-acceptance judging means included in the proof device are realized by the second relationship
そして、検証装置が備える共通入力入力手段、ランダムテープ入力手段、共通入力等生成手段、証拠知識非対話証明生成手段、非対話証明送信手段は、検証装置402の第二関係証明生成装置417によって実現される。また、検証装置が備える非対話証明受信手段、判定手段は、検証装置402の証明検証装置434によって実現される。
The common input input means, random tape input means, common input generation means, evidence knowledge non-dialogue proof generation means, and non-dialogue proof transmission means included in the verification device are realized by the second relation
本発明によれば、特別正直検証者零知識対話証明が存在すれば否認可能零知識対話証明を行なうことが可能であり、特にその計算量と通信量に関する効率を従来技術1と比較して著しく高めることができる。 According to the present invention, if there is a special honest verifier zero knowledge dialogue proof, it is possible to perform a repudiation zero knowledge dialogue proof. Can be increased.
また、本発明によれば、証明装置が、検証装置と通信を行った事実を、いかなる検証装置も証明することができないため、効率的な否認不可署名、否認可能証明、レシートフリー電子投票を実現することができる。 In addition, according to the present invention, since any verification device cannot prove the fact that the verification device communicated with the verification device, efficient non-repudiation signature, non-repudiation verification, and receipt-free electronic voting are realized. can do.
また、上記の各実施の形態において、証明装置、検証装置を、それぞれプログラムに従って動作するコンピュータによって実現してもよい。 In each of the above embodiments, the proving device and the verification device may be realized by a computer that operates according to a program.
なお、上記の各実施の形態では、証明を受理する場合を“1”で表し、受理しない場合を“0”で表すようにしているが、逆であってもよい。 In each of the above embodiments, the case where the proof is accepted is represented by “1”, and the case where the proof is not accepted is represented by “0”.
以下、第2の実施の形態の実施例について説明する。図3は、本発明の第2の形態の実施例を示す説明図である。本実施例では、第一の関係R と第二の関係R'として両方とも同じ離散対数の関係を用いる場合を例にして説明する。そして、本実施例の実現は、否認可能認証となっている。ここでは、証明装置が検証装置による認証を受ける。 Examples of the second embodiment will be described below. FIG. 3 is an explanatory diagram showing an example of the second mode of the present invention. In the present embodiment, the case where the same discrete logarithmic relationship is used as both the first relationship R and the second relationship R ′ will be described as an example. The realization of the present embodiment is a non-repudiation authentication. Here, the certification device is authenticated by the verification device.
図3に示す証明装置501は、第2の実施の形態における証明装置401に相当し、図3に検証装置502は、第2の実施の形態における検証装置402に相当する。
A
証明装置501は、第二の関係に関する非対話的知識の証明検証装置523(以下、第二関係証明検証装置523と記す。)と、非対話的な、第一の関係を満たす証拠、あるいは第二の関係を満たす証拠のいずれかの証拠の知識の証明生成装置525(以下、証明生成装置525と記す。)とを備える。これらは、それぞれ、第二の実施の形態における証明検証装置423、証明生成装置425に相当する。
The
検証装置502は、第二の関係に関する非対話的知識の証明生成装置517(以下、第二関係証明生成装置517と記す。)と、非対話的な、第一の関係を満たす知識、あるいは第二の関係を満たす知識のいずれかの知識の証明検証装置534(以下、証明検証装置534と記す。)とを備える。これらは、それぞれ、第二の実施の形態における第二関係証明生成装置417、証明検証装置434に相当する。
The
また、図3に示すハッシュ関数の計算装置510,511は、それぞれ第2の実施の形態におけるハッシュ関数の計算装置410,411に相当する。
Also, hash
また、図3では、符号512を用いて共通入力X を示している。また、符号513を用いて証拠W を示している。また、符号514を用いて第一のランダムテープRPを示している。また、符号515を用いて第二のランダムテープR'P を示している。また、符号516を用いて第三のランダムテープRVおよびR'V を示している。
In FIG. 3, the common input X is indicated by
本実施例では、第一の関係R と第二の関係R'として両方とも同じ離散対数の関係を用いる。従って、第2の実施の形態における第一証明コミットメント生成装置403および第二証明コミットメント生成装置406を、同一の装置で実現している。この装置は、図3に示す離散対数の関係に関する特別正直検証者零知識対話証明の証明コミットメント生成装置503(以下、証明コミットメント生成装置503と記す。)である。証明コミットメント生成装置503は、関数ARによって、証明コミットメントを生成する。
In this embodiment, the same discrete logarithmic relationship is used for both the first relationship R and the second relationship R ′. Therefore, the first proof
同様に、本実施例では、第2の実施の形態における第一応答生成装置404および第二応答生成装置407を、同一の装置で実現している。この装置は、図3に示す離散対数の関係に関する特別正直検証者零知識対話証明の応答生成装置504(以下、応答生成装置504と記す。)である。応答生成装置504は、関数ZRによって、応答を生成する。
Similarly, in the present example, the first
同様に、本実施例では、第2の実施の形態における第一対話証明検証装置405および第二対話証明検証装置408を、同一の装置で実現している。この装置は、図3に示す離散対数の関係に関する特別正直検証者零知識対話証明の検証装置505(以下、対話証明検証装置505と記す。)である。対話証明検証装置505は、関数VRによって、検証結果を導出する。
Similarly, in the present embodiment, the first dialog proof verification device 405 and the second dialog
また、図3に示す離散対数の関係に関する特別正直検証者零知識対話証明の模擬装置509(以下、模擬装置509と記す。)は、第二の実施の形態における第二関係模擬装置409に相当する。模擬装置509は、関数SR’ を用いて、証明コミットメントおよび応答を生成する。
Moreover, the special honest verifier zero knowledge dialogue proof simulation device 509 (hereinafter referred to as a simulation device 509) related to the discrete logarithmic relationship shown in FIG. 3 corresponds to the second
以下に本実施例における関数AR、関数ZR、関数VR、関数SR’ について説明する。なお、本実施例では用いないが、補足として、従来技術2における関数ERについても併せて説明する。 Hereinafter, the function A R , the function Z R , the function V R , and the function S R ′ in this embodiment will be described. Although not used in this embodiment, as a supplement, it is also explained the function E R in the prior art 2.
[関数AR]
入力は、X,W 、及びランダムテープRPである。そして、RPからランダムな x' ∈ Z/qZ を生成し、aR = y' =gx' として、aRを出力する。
[Function A R ]
Input is X, W, and a random tape R P. Then, a random x ′ ∈ Z / qZ is generated from R P , and a R is output with a R = y ′ = g x ′ .
[関数ZR]
入力は、X,W、ランダムテープRP、及び eR=cである。そして、 zR = r = xc + x' mod q を計算し、zRを出力する。
[Function Z R ]
Inputs are X, W, random tape R P , and e R = c. Then, z R = r = xc + x ′ mod q is calculated and z R is output.
[関数VR]
入力は、X,aR,eR,zRである。そして、gr = yc y'が成立するならば1を出力し、成立しないならば0を出力する。
[Function V R ]
Inputs are X, a R , e R , and z R. If g r = y c y 'is satisfied, 1 is output, and if not, 0 is output.
[関数SR’ ]
入力は、X,eR=c,及びランダムテープRSである。そして、RSからランダムな zR=r ∈ Z/qZ を生成し、aR = y' = gry-c を生成する。そして、(aR,zR) を出力する。
[Function S R ' ]
Inputs are X, e R = c, and random tape R S. Then, a random z R = r ∈ Z / qZ is generated from R S , and a R = y ′ = g r y -c is generated. Then, (a R , z R ) is output.
[関数ER]
入力は、aR,eR=c,zR=r, e'R=c',z'R=r'である。そして、 W = x =(r-r')/(c'-c) mod q を計算し、W を出力する。
[Function E R ]
The inputs are a R , e R = c, z R = r, e ′ R = c ′, z ′ R = r ′. Then, W = x = (r−r ′) / (c′−c) mod q is calculated and W is output.
なお、上記の関数の説明で、入力となるランダムテープをRS等と表したが、これは入力となるランダムテープを便宜的に表したものに過ぎない。 In the above description of the function, the input random tape is represented as R S or the like, but this is merely a convenient representation of the input random tape.
次に、本実施例における証明装置と検証装置とによる否認可能認証の動作について説明する。 Next, an operation of non-repudiation authentication by the proving device and the verification device in the present embodiment will be described.
まず、証明装置501の証明生成装置525に、(X,W) ∈ Rなる共通入力X 、証拠W 、第一のランダムテープRP、および第二のランダムテープR'Pが入力される。
First, the common input X with (X, W) ∈ R, the evidence W, the first random tape R P , and the second random tape R ′ P are input to the
続いて、検証装置502の第二関係証明生成装置517に、共通入力X 及び第三のランダムテープRVおよびR'V が入力される。
Subsequently, the common input X and the third random tapes R V and R ′ V are input to the second relationship
次に、第二関係証明生成装置517は、以下のようにして、離散対数の関係に関する非対話的知識の証明PRを生成する。
Next, the second relationship
第二関係証明生成装置517は、一様無作為に、(X',W') ∈R' なるX',W' を、第三のランダムテープのうちのR'V を用いて生成する。
The second relationship
次に、第二関係証明生成装置517は、共通入力X'、証拠W'、第三のランダムテープのうちのRVを証明コミットメント生成装置503に送信する。証明コミットメント生成装置503は、関数ARによって、αR= AR(X',W', RV)として、証明コミットメントαR を生成する。そして、証明コミットメント生成装置503は、証明コミットメントαR を第二関係証明生成装置517に送信する。このときの通信を、図3では、通信518として示している。
Next, the second relationship
次に、第二関係証明生成装置517は、共通入力X'、証明コミットメントαR をハッシュ関数の計算装置511に送信する。ハッシュ関数の計算装置511は、εR=Hash(X', αR)としてハッシュ値を計算する。ハッシュ関数の計算装置511は、ハッシュ値εR を第二関係証明生成装置517に送信する。このときの通信を、図3では、通信519として示している。
Next, the second relationship
次に、第二関係証明生成装置517は、共通入力X'、証拠W'、ハッシュ値εR 、および第三のランダムテープのうちのRVを応答生成装置504に送信する。ここでは、ハッシュ値εR を挑戦値として送信する。応答生成装置504は、関数ZRによって、ζR =ZR(X',W',εR, RV)として、応答ζR を生成する。応答生成装置504は、応答ζR を第二関係証明生成装置517に送信する。このときの通信を、図3では、通信520として示している。
Next, the second relationship
第二関係証明生成装置517は、離散対数の関係に関する非対話的知識の証明PRを(X',εR,ζR)とする。第二関係証明生成装置517は、以上のようにして生成した証明 PR=(X',εR,ζR)を、第二関係証明検証装置523に送信する(図3に示す通信521)。
Second relationship
なお、第二関係証明検証装置523は、証明PRが送信されてくるのを待ち、上記の通信521で、第二関係証明生成装置517から証明 PR=(X',εR,ζR)を受信する。
Incidentally, the second relationship
証明装置501の第二関係証明検証装置523は、以下のようにして、離散対数の関係に関する非対話的知識の証明PRを検証する。
Second relationship
第二関係証明検証装置523は、共通入力X'、証明コミットメントαR をハッシュ関数の計算装置510に送信する。ハッシュ関数の計算装置510は、ε'R = Hash(X', αR)としてハッシュ値を計算する。ハッシュ関数の計算装置510は、ハッシュ値ε'Rを第二関係証明検証装置523に送信する。このときの通信を、図3では、通信522として示している。
The second relationship
第二関係証明検証装置523は、共通入力X'、証明コミットメントαR 、ハッシュ値ε'R、応答ζR を対話証明検証装置505に送信する。ここでは、ハッシュ値ε'Rを挑戦値として送信する。対話証明検証装置505は、関数VRによって、VR(X',αR,ε'R, ζR)の計算結果を導出し、その計算結果を第二関係証明検証装置523に送信する。このときの通信を、図3では、通信524として示している。
The second relationship
第二関係証明検証装置523は、VR(X',αR,ε'R, ζR)=1が成り立つか否かを判定する。成り立っていないならば、証明装置501を停止する。また、成り立っているならば、証明装置501は、次に示す動作を行う。すなわち、VR(X',αR,ε'R, ζR)=1が成立していれば、証明PRを受理とし、成立していなければ証明PRを不受理とする。
The second relationship
証明装置501の証明生成装置525は、以下のようにして、X に関して離散対数の関係を満す証拠あるいはX'に関して離散対数の関係を満す証拠の、いずれかの証拠に関する知識の非対話的知識の証明 PR(X)∨R(X') を生成する。
The
証明生成装置525は、第二のランダムテープR'P を用いて乱数e'Rを生成し、これを挑戦値とする。
The
次に、証明生成装置525は、共通入力X'、挑戦値e'R、および第二のランダムテープR'Pを模擬装置509に送信して、模擬装置509に証明コミットメントa'Rと応答z'Rを生成させる。模擬装置509は、関数SR’ によって、(a'R,z'R) =SR'(X',e'R,R'P)を導出し、証明コミットメントa'Rと応答z'Rを証明生成装置525に送信する。このときの通信を、図3では、通信526として示している。
Next, the
次に、証明生成装置525は、共通入力X 、証拠W 、および第一のランダムテープRPを証明コミットメント生成装置503に送信する。証明コミットメント生成装置503は、関数ARによって、aR=AR(X,W,RP)として、証明コミットメントaRを生成し、証明生成装置525に送信する。このときの通信を、図3では、通信527として示している。
Next, the
次に、証明生成装置525は、共通入力X 、証明コミットメントaR、共通入力X'、証明コミットメントa'Rを、ハッシュ関数の計算装置510に送信する。ハッシュ関数の計算装置510は、e = Hash(X,aR,X',a'R) としてハッシュ値e を計算し、そのハッシュ値を証明生成装置525に送信する。このときの通信を、図3では、通信528として示している。
Next, the
次に、証明生成装置525は、eR= e ∨ e'Rとして、挑戦値eRを計算する。証明生成装置525は、共通入力X 、証拠W 、挑戦値eR、および第一のランダムテープRPを応答生成装置504に送信し、応答zRを生成させる。応答生成装置504は、関数ZRによって、zR=ZR(X,W,eR,RP)として、応答zRを生成し、応答zRを証明生成装置525に送信する。このときの通信を、図3では、通信529として示している。
Next, the
証明生成装置525は、X に関する離散対数の関係を満す証拠あるいはX' に関する離散対数の関係を満す証拠の、いずれかの証拠に関する知識の非対話的知識の証明 PR(X)∨R(X') を(aR,eR,zR, a'R,e'R,z'R)とする。証明生成装置525は、以上のようにして生成した証明 PR(X)∨R(X') =(aR,eR,zR, a'R,e'R,z'R)を、検証装置502の証明検証装置534に送信する(図3に示す通信529)。
The
証明検証装置534は、共通入力X 、証明コミットメントaR、共通入力X'、および証明コミットメントa'Rをハッシュ関数の計算装置511に送信し、ハッシュ値を計算させる。ハッシュ関数の計算装置511は、Hash(X,aR,X',a'R) の計算結果を導出し、その計算結果(ハッシュ値)を証明検証装置534に送信する。このときの通信を、図3では、通信530として示している。そして、証明検証装置534は、Hash(X,aR,X',a'R) の計算結果が、eR∨e'Rと等しくなっているか否かを判定する。
The
次に、証明検証装置534は、共通入力X 、証明コミットメントaR、挑戦値eR、応答zRを対話証明検証装置505に送信する。対話証明検証装置505は、関数VRによって、VR(X,aR,eR,zR)の計算結果を導出し、その計算結果を証明検証装置534に送信する。このときの通信を、図3では、通信532として示している。証明検証装置534は、VR(X,aR,eR,zR)=1が成立しているか否かを判定する。
Next, the
次に、証明検証装置534は、共通入力X'、証明コミットメントa'R、挑戦値e'R、応答z'Rを対話証明検証装置505に送信する。対話証明検証装置505は、関数VRによって、VR(X',a'R,e'R,z'R)の計算結果を導出し、その計算結果を証明検証装置534に送信する。このときの通信を、図3では、通信531として示している。証明検証装置534は、VR(X',a'R,e'R,z'R)=1が成立しているかを判定する。
Next, the
証明検証装置534は、上記の各判定が全て成立している場合、すなわち、Hash(X,aR,X',a'R) =eR∨e'R、VR(X,aR,eR,zR)=1、およびVR(X',a'R,e'R,z'R)=1が全て成立している場合、“1”を検証結果535として出力する。その他の場合、証明検証装置534は、“0”をを検証結果535として出力する。上記の“1”は、証明 PR(X)∨R(X')を受理することを表す。また、上記の“0”は、証明 PR(X)∨R(X')を受理しないことを表す。
The
本発明は、例えば、否認不可署名の否認プロトコル、 否認不可署名の確認プロトコル、否認可能認証等に使われる否認可能零知識対話証明に適用可能である。 The present invention is applicable to non-repudiation zero knowledge dialogue proofs used for non-repudiation signature non-repudiation protocol, non-repudiation signature confirmation protocol, non-repudiation authentication, and the like.
また、本発明は、スマートカード等の計算力の小さなハードウェアによる否認可能認証にも適用可能である。スマートカード等を用いて従来の方法で否認可能証明のようなプライバシー保護性が高い認証を行なう場合、スマートカード等の計算力の低さにより、膨大な時間がかかってしまっていた。本発明を適用することにより、一般に使われているプライバシー保護性が低い認証の高々2倍程度の計算量で、プライバシー保護性が高い認証を実現できる。 The present invention can also be applied to non-repudiation authentication using hardware with a small computational power such as a smart card. When performing authentication with high privacy protection such as non-repudiation proof by a conventional method using a smart card or the like, it takes a lot of time due to the low computational power of the smart card or the like. By applying the present invention, authentication with high privacy protection can be realized with a calculation amount about twice as high as that of authentication with low privacy protection generally used.
また、サーバ等が多くのプライバシー保護性が高い認証を行なう場合にも、本発明を用いることができる。一般に、サーバ等が多量の認証を行なう場合、個々の認証に必要な時間と通信量が大して多くなくとも、多量の認証を行なうと、全体としてそれらの量は膨大となる。本発明を用いれば、プライバシー保護性が高い認証を行っても、サーバの計算量と通信量を小さく抑えることができる。 The present invention can also be used when a server or the like performs many privacy-protective authentications. In general, when a server or the like performs a large amount of authentication, even if the time and the amount of communication required for each authentication are not so large, if a large amount of authentication is performed, the amount thereof becomes enormous as a whole. If the present invention is used, even if authentication with high privacy protection is performed, the calculation amount and communication amount of the server can be kept small.
また、プライバシー保護性が高い零知識証明を行なう場合にも、本発明を用いることができる。認証、電子投票、否認 不可署名、検証者指定署名等、高いプライバシー保護性が満されると都合のよいアプリケーションが多くある。また、これらのアプリケーションに対応する特別正直検証者零知識対話証明が数多く提案されている。これらの特別正直検証者零知識対話証明に本発明を適用すれば、高いプライバシー保護性が満される電子投票、否認不可署名、検証者指定署名等が容易に実現できる。 The present invention can also be used when performing zero knowledge proof with high privacy protection. There are many applications that are convenient when high privacy protection is satisfied, such as authentication, electronic voting, non-repudiation signature, and verifier-designated signature. Many special honest verifier zero-knowledge dialogue proofs corresponding to these applications have been proposed. By applying the present invention to these special honest verifier zero knowledge dialogue proofs, it is possible to easily realize electronic voting, non-repudiation signature, verifier designated signature, etc. that satisfy high privacy protection.
301 証明装置
302 検証装置
303 証明コミットメント生成装置
304 応答生成装置
305 対話証明検証装置
310,311 ハッシュ関数の計算装置
312 挑戦値のコミットメント生成装置
324 挑戦値のコミットメント検証装置
330 証明生成装置
340 証明検証装置
DESCRIPTION OF
Claims (4)
予め定められた第一の関係を満たす共通入力および証拠とランダムテープとに基づいて、第一の関係に関する特別正直検証者零知識対話証明の証明のコミットメントを生成する第一証明コミットメント生成装置と通信可能に接続され、
第一の関係に関する共通入力および証拠とランダムテープと挑戦値とに基づいて、第一の関係に関する特別正直検証者零知識対話証明の応答を生成する第一応答生成装置と通信可能に接続され、
第二の関係に関する共通入力と証明コミットメントと挑戦値と応答とに基づいて、第二の関係に関する特別正直検証者零知識対話証明の受理を表す信号または不受理を表す信号を出力する第二対話証明検証装置と通信可能に接続され、
第二の関係に関する共通入力と挑戦値とランダムテープとに基づいて、第二の関係に関する証明コミットメントおよび応答を生成する模擬装置と通信可能に接続され、
ハッシュ関数の計算を行うハッシュ関数の計算装置と通信可能に接続され、
予め定められた第一の関係を満たす共通入力および証拠が入力される共通入力等受信手段と、
第一のランダムテープおよび第二のランダムテープが入力されるランダムテープ入力手段と、
前記検証装置から、第二の関係に関する共通入力および当該共通入力に対応する証拠の知識の非対話証明を受信する非対話証明受信手段と、
前記非対話証明を用いて、前記ハッシュ関数の計算装置および前記第二対話証明検証装置と通信した結果により、前記非対話証明を受理するか否かを判定する非対話証明受理不受理判定手段と、
第一のランダムテープ、第二のランダムテープ、第一の関係を満たす共通入力と証拠、および前記非対話証明に含まれる共通入力を用いて、前記模擬装置、前記第一証明コミットメント生成装置、前記ハッシュ関数の計算装置、および第一応答生成装置と通信することにより、第一の関係に関する共通入力に対する証拠の知識あるいは、第二の関係に関する共通入力に対する証拠の知識のいずれかの知識があることの知識の非対話証明を生成する証拠知識非対話証明生成手段と、
前記証拠知識非対話証明生成手段が生成した知識の非対話証明を前記検証装置に送信する非対話証明送信手段とを備えた
ことを特徴とする証明装置。 A verification device communicably connected to the verification device,
Communicating with a first proof commitment generator for generating a proof commitment of a special honest verifier zero knowledge dialog proof of the first relationship based on common input and evidence satisfying a predetermined first relationship and a random tape Connected and possible
Communicatively connected to a first response generator for generating a special honest verifier zero knowledge dialogue proof response for the first relationship based on the common input and evidence for the first relationship, the random tape and the challenge value;
A second dialog that outputs a signal representing acceptance or non-acceptance of a special honest verifier zero-knowledge dialogue proof regarding the second relationship based on the common input, proof commitment, challenge value, and response regarding the second relationship Communicatively connected to the proof verification device,
Communicatively connected to a simulator that generates a proof commitment and response for the second relationship based on the common input, challenge value, and random tape for the second relationship;
It is connected to a hash function computing device that performs hash function computation,
A common input satisfying a predetermined first relation and a receiving means such as a common input to which evidence is input; and
A random tape input means for inputting the first random tape and the second random tape;
Non-dialogue proof receiving means for receiving a non-dialogue proof of common input related to the second relationship and knowledge of evidence corresponding to the common input from the verification device;
Non-dialog proof acceptance non-acceptance judging means for judging whether or not to accept the non-dialog proof based on a result of communication with the hash function calculation device and the second dialogue proof verification device using the non-dialog proof. ,
Using the first random tape, the second random tape, the common input and evidence satisfying the first relationship, and the common input included in the non-interactive proof, the simulation device, the first proof commitment generation device, Knowledge of evidence for common input regarding the first relationship or knowledge of evidence for common input regarding the second relationship by communicating with the hash function calculation device and the first response generation device Evidence knowledge non-dialogue proof generation means for generating a non-dialogue proof of knowledge,
A proof device comprising: non-dialogue proof transmission means for transmitting a non-dialogue proof of knowledge generated by the evidence knowledge non-dialogue proof generation means to the verification device.
検証装置から、第二の関係に関する共通入力と証明コミットメントと応答とを含む非対話証明を受信し、
非対話証明受理不受理判定手段は、
前記非対話証明に含まれる第二の関係に関する共通入力および証明コミットメントをハッシュ関数の計算装置に送信し、前記第二の関係に関する共通入力および証明コミットメントに応じた挑戦値となるハッシュ値を計算させ、
前記挑戦値と、前記非対話証明に含まれる第二の関係に関する共通入力、証明コミットメント、および応答とを、第二対話証明検証装置に送信し、第二対話証明検証装置が出力力する信号により、前記非対話証明を受理するか否かを判定し、
証拠知識非対話証明生成手段は、
第二のランダムテープにより第二の関係に関する挑戦値を生成し、
前記第二の関係に関する共通入力、前記第二の関係に関する挑戦値、および第二のランダムテープを模擬装置に送信し、第二の関係に関する証明コミットメントおよび応答を生成させ、
第一の関係を満たす共通入力および証拠と、第一のランダムテープとを第一証明コミットメント生成装置に送信し、第一の関係に関する証明コミットメントを生成させ、
第一の関係に関する共通入力および証明コミットメントと、第二の関係に関する共通入力と、模擬装置に生成させた第二の関係に関する証明コミットメントとを前記ハッシュ関数の計算装置に送信し、第一の関係に関する共通入力および証明コミットメントと第二の関係に関する共通入力および証明コミットメントとに応じたハッシュ値を計算させ、
当該ハッシュ値と前記第二の関係に関する挑戦値とに基づいて第一の関係に関する挑戦値を決定し、
第一の関係を満たす共通入力および証拠と、第一のランダムテープと、前記第一の関係に関する挑戦値とを第一応答生成装置に送信し、第一の関係に関する応答を生成させ、
第一の関係に関する証明コミットメント、挑戦値、および応答と、第二の関係に関する挑戦値と、模擬装置に生成させた第二の関係に関する証明コミットメントおよび応答とを知識の非対話証明とする
請求項1に記載の証明装置。 The non-interactive proof receiving means
Receiving a non-interactive proof including a common input, proof commitment and response for the second relationship from the verification device;
Non-dialogue proof acceptance non-acceptance judgment means,
The common input and proof commitment related to the second relationship included in the non-interactive proof are transmitted to the hash function calculation device, and the hash value that becomes the challenge value corresponding to the common input and proof commitment related to the second relationship is calculated. ,
The challenge value and the common input, the proof commitment, and the response related to the second relationship included in the non-dialogue proof are transmitted to the second dialogue proof verification device, and the second dialogue proof verification device outputs an output signal. , Determine whether to accept the non-dialogue proof,
Evidence knowledge non-dialogue proof generation means
Generate a challenge value for the second relationship with the second random tape,
Send a common input for the second relationship, a challenge value for the second relationship, and a second random tape to the simulator to generate a proof commitment and response for the second relationship;
Send the common input and evidence satisfying the first relationship and the first random tape to the first proof commitment generating device to generate a proof commitment for the first relationship,
A common input and proof commitment related to the first relationship, a common input related to the second relationship, and a proof commitment related to the second relationship generated by the simulation device are transmitted to the calculation device of the hash function, and the first relationship A hash value corresponding to the common input and proof commitment related to the second relationship and the common input and proof commitment related to
Determining a challenge value for the first relationship based on the hash value and the challenge value for the second relationship;
Sending the common input and evidence satisfying the first relationship, the first random tape, and the challenge value related to the first relationship to the first response generation device to generate a response related to the first relationship;
The proof commitment, challenge value, and response for the first relationship, the challenge value for the second relationship, and the proof commitment and response for the second relationship generated by the simulator are non-dialogue proofs of knowledge. 1. The proving device according to 1.
第一の関係に関する共通入力と証明コミットメントと挑戦値と応答とに基づいて、第一の関係に関する特別正直検証者零知識対話証明の受理を表す信号または不受理を表す信号を出力する第一対話証明検証装置と通信可能に接続され、
第二の関係に関する共通入力と証明コミットメントと挑戦値と応答とに基づいて、第二の関係に関する特別正直検証者零知識対話証明の受理を表す信号または不受理を表す信号を出力する第二対話証明検証装置と通信可能に接続され、
第二の関係に関する共通入力および証拠とランダムテープとに基づいて、第二の関係に関する特別正直検証者零知識対話証明の証明のコミットメントを生成する第二証明コミットメント生成装置と通信可能に接続され、
第二の関係に関する共通入力および証拠とランダムテープと挑戦値とに基づいて、第二の関係に関する特別正直検証者零知識対話証明の応答を生成する第二応答生成装置と通信可能に接続され、
ハッシュ関数の計算を行うハッシュ関数の計算装置と通信可能に接続され、
第一の関係に関する共通入力が入力される共通入力入力手段と、
第三のランダムテープとしてランダムテープRVおよびランダムテープR'V が入力されるランダムテープ入力手段と、
第二の関係を満たす共通入力および証拠を、第三のランダムテープのうちのランダムテープR'V から生成する共通入力等生成手段と、
前記共通入力等生成手段に生成された第二の関係を満たす共通入力および証拠と、第三のランダムテープのうちのランダムテープRVとを用いて、前記第二証明コミットメント生成装置、前記第二応答生成装置、および前記ハッシュ関数の計算装置と通信することにより、前記共通入力との間で第二の関係を満たすような証拠の知識の非対話証明を生成する証拠知識非対話証明生成手段と、
前記証拠知識非対話証明生成手段によって生成された知識の非対話証明を証明装置に送信する非対話証明送信手段と、
証明装置から、第一の関係に関する共通入力に対する証拠の知識あるいは、第二の関係に関する共通入力に対する証拠の知識のいずれかの知識があることの知識の非対話証明を受信する非対話証明受信手段と、
第二の関係に関する共通入力と、共通入力入力手段に入力された第一の関係に関する共通入力と、非対話証明受信手段が受信した非対話証明とを用いて、前記第一対話証明検証装置、前記第二対話証明検証装置、および前記ハッシュ関数の計算装置と通信を行うことによって、非対話証明受信手段が受信した非対話証明を受理するか否かの判定を行い、その判定結果を出力する判定手段とを備えた
ことを特徴とする検証装置。 A verification device that is communicably connected to the certification device according to claim 1 or 2,
A first dialog that outputs a signal indicating acceptance or non-acceptance of a special honest verifier zero-knowledge dialogue proof regarding the first relationship based on the common input, proof commitment, challenge value, and response regarding the first relationship Communicatively connected to the proof verification device,
A second dialog that outputs a signal representing acceptance or non-acceptance of a special honest verifier zero-knowledge dialogue proof regarding the second relationship based on the common input, proof commitment, challenge value, and response regarding the second relationship Communicatively connected to the proof verification device,
Communicatively connected to a second proof commitment generator for generating a proof commitment for a special honest verifier zero knowledge dialogue proof for the second relationship based on the common input and evidence for the second relationship and a random tape,
Communicatively connected to a second response generator for generating a special honest verifier zero knowledge dialogue proof response for the second relationship based on the common input and evidence for the second relationship, the random tape and the challenge value;
It is connected to a hash function computing device that performs hash function computation,
A common input input means for inputting a common input related to the first relationship;
Random tape input means in which random tape R V and random tape R ′ V are input as a third random tape;
Common input and the like generating means for generating the common input and evidence satisfying the second relationship from the random tape R ′ V of the third random tape,
A common input and evidence satisfy a second relationship that is generated to the common input or the like generating means, a third by using a random tape R V of the random tape, said second proof commitment generation apparatus, the second Evidence knowledge non-dialogue proof generation means for generating a non-dialogue proof of knowledge of evidence that satisfies the second relationship with the common input by communicating with a response generation device and the hash function calculation device; ,
Non-dialog proof transmitting means for transmitting the non-dialog proof of knowledge generated by the evidence knowledge non-dialog proof generating means to a proving device;
Non-dialogue proof receiving means for receiving from the proof device a non-dialogue proof of knowledge that there is either knowledge of evidence for the common input related to the first relationship or knowledge of evidence for the common input related to the second relationship When,
Using the common input related to the second relationship, the common input related to the first relationship input to the common input input means, and the non-dialogue proof received by the non-dialogue proof receiving means, By communicating with the second dialog proof verification device and the hash function calculation device, it is determined whether or not the non-dialog proof received by the non-dialog proof receiving means is received, and the determination result is output. And a verification device.
第二の関係を満たす共通入力および証拠と、第三のランダムテープのうちのランダムテープRVとを第二証明コミットメント生成装置に送信し、第二の関係に関する証明コミットメントを生成させ、
第二の関係に関する共通入力と前記第二の関係に関する証明コミットメントをハッシュ関数の計算装置に送信し、前記共通入力および前記証明コミットメントに応じた挑戦値となるハッシュ値を計算させ、
第二の関係を満たす共通入力および証拠と、前記ランダムテープRVと、前記挑戦値とを、第二応答生成装置に送信し、第二の関係に関する応答を生成させ、
第二の関係に関する共通入力、証明コミットメント、および応答を、知識の非対話証明とし、
非対話証明受信手段は、
証明装置から、第一の関係に関する証明コミットメント、挑戦値、および応答と、第二の関係に関する証明コミットメント、挑戦値、および応答とを含む非対話証明を受信し、
判定手段は、
共通入力入力手段に入力された第一の関係に関する共通入力と、非対話証明に含まれる第一の関係に関する証明コミットメント、挑戦値、および応答とを、第一対話証明検証装置に送信し、第一対話証明検証装置が出力する信号を受信し、
第二の関係に関する共通入力と、非対話証明に含まれる第二の関係に関する証明コミットメント、挑戦値、および応答とを、第二対話証明検証装置に送信し、第二対話証明検証装置が出力する信号を受信し、
第一の関係に関する共通入力および証明コミットメントと第二の関係に関する共通入力および証明コミットメントとをハッシュ関数の計算装置に送信して、第一の関係に関する共通入力および証明コミットメントと第二の関係に関する共通入力および証明コミットメントとに応じたハッシュ値を計算させ、当該ハッシュ値と非対話証明に含まれる第一の関係に関する挑戦値および第二の関係に関する挑戦値との間に所定の関係が成立しているか否かを判定し、
その判定の結果と、第一対話証明検証装置および第二対話証明検証装置から受信した信号とに基づいて、非対話証明を受理するか否かを判定する
請求項3に記載の検証装置。 Evidence knowledge non-dialogue proof generation means
A common input and evidence satisfy a second relationship, and a random tape R V of the third random tape sent to the second proof commitment generation apparatus, to generate a proof commitment to the second relationship,
Sending a common input relating to a second relationship and a proof commitment relating to the second relationship to a calculation device of a hash function, causing a hash value to be a challenge value corresponding to the common input and the proof commitment to be calculated;
Send the common input and evidence satisfying the second relationship, the random tape R V and the challenge value to the second response generation device to generate a response regarding the second relationship,
Let the common input, proof commitment, and response for the second relationship be a non-dialogue proof of knowledge,
The non-interactive proof receiving means
Receiving a non-interactive proof including a proof commitment, challenge value, and response for the first relationship and a proof commitment, challenge value, and response for the second relationship from the proof device;
The judging means is
The common input related to the first relationship input to the common input input means and the proof commitment, challenge value, and response regarding the first relationship included in the non-dialogue proof are transmitted to the first dialog proof verification device, Receiving a signal output from one dialogue proof verification device;
The common input related to the second relationship and the proof commitment, the challenge value, and the response related to the second relationship included in the non-dialogue proof are transmitted to the second dialog proof verification device and output by the second dialog proof verification device. Receive the signal,
The common input and proof commitment for the first relationship and the common input and proof commitment for the second relationship are sent to the hash function computing device, and the common input and proof commitment for the first relationship and the common for the second relationship A hash value corresponding to the input and proof commitment is calculated, and a predetermined relationship is established between the hash value and the challenge value related to the first relationship and the challenge value related to the second relationship included in the non-dialogue proof. Whether or not
The verification device according to claim 3, wherein it is determined whether or not a non-dialogue proof is accepted based on a result of the determination and a signal received from the first dialogue proof verification device and the second dialogue proof verification device.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012004225A JP5321696B2 (en) | 2012-01-12 | 2012-01-12 | Proof device and verification device applied to non-repudiation zero knowledge dialogue proof |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012004225A JP5321696B2 (en) | 2012-01-12 | 2012-01-12 | Proof device and verification device applied to non-repudiation zero knowledge dialogue proof |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2005233636A Division JP4940592B2 (en) | 2005-08-11 | 2005-08-11 | Proof device and verification device applied to non-repudiation zero knowledge dialogue proof |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2012070460A JP2012070460A (en) | 2012-04-05 |
| JP5321696B2 true JP5321696B2 (en) | 2013-10-23 |
Family
ID=46167082
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2012004225A Expired - Fee Related JP5321696B2 (en) | 2012-01-12 | 2012-01-12 | Proof device and verification device applied to non-repudiation zero knowledge dialogue proof |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5321696B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115834076B (en) * | 2022-11-02 | 2024-06-21 | 鹏城实验室 | Sigma protocol proof verification method and related equipment in normal form relation |
| CN116506128B (en) * | 2023-03-24 | 2024-03-12 | 中国科学院信息工程研究所 | A packaged zero-knowledge proof method, device, electronic device and storage medium |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11252070A (en) * | 1998-03-02 | 1999-09-17 | Kdd Corp | User authentication method |
-
2012
- 2012-01-12 JP JP2012004225A patent/JP5321696B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2012070460A (en) | 2012-04-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8015405B2 (en) | Proving apparatus and verification apparatus applied to deniable zero-knowledge interactive proof | |
| EP2737656B1 (en) | Credential validation | |
| US20220131707A1 (en) | Digital Signature Method, Signature Information Verification Method, Related Apparatus and Electronic Device | |
| US20130326602A1 (en) | Digital Signatures | |
| CN111200502A (en) | Collaborative digital signature method and device | |
| CN103733564A (en) | Digital signatures with implicit certificate chains | |
| CN103765809A (en) | Implicitly certified public keys | |
| EP0803153A1 (en) | Private signature and proof systems | |
| US20060248339A1 (en) | Security method using electronic signature | |
| CN113037479B (en) | Data verification method and device | |
| EP2061178A1 (en) | Electronic signature system and electronic signature verifying method | |
| KR20130100959A (en) | Authentication device, authentication method, and program | |
| JP5321696B2 (en) | Proof device and verification device applied to non-repudiation zero knowledge dialogue proof | |
| CN102064940B (en) | High-efficiency on-line/off-line digital signature method | |
| CN112600669A (en) | Cipher algorithm and conformity verification system | |
| JP4973193B2 (en) | Restricted blind signature system | |
| Zhang et al. | A new multivariate based threshold ring signature scheme | |
| JP6125459B2 (en) | Signature system, signature generation apparatus, signature generation / verification method, signature generation method, and program | |
| CN114362962B (en) | Block chain workload evidence generation method | |
| US8638928B2 (en) | Key exchanging apparatus | |
| Pramudita et al. | Development of IoT authentication mechanisms for microgrid applications | |
| CN108282336A (en) | Device subscription verification method and device | |
| CN107612696B (en) | A method for one-way reduction of two protocols in a quantum deniable protocol | |
| JP2009224997A (en) | Signature system, signature method, certifying apparatus, verifying apparatus, certifying method, verifying method, and program | |
| CN119544213B (en) | Data transmission method, device, equipment and medium based on certificateless key |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120112 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130618 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130701 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5321696 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |