[go: up one dir, main page]

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 PDF

Info

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
Application number
JP2012004225A
Other languages
Japanese (ja)
Other versions
JP2012070460A (en
Inventor
潤 古川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2012004225A priority Critical patent/JP5321696B2/en
Publication of JP2012070460A publication Critical patent/JP2012070460A/en
Application granted granted Critical
Publication of JP5321696B2 publication Critical patent/JP5321696B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To make it possible to perform a deniable zero-knowledge interactive proof requiring a small amount of both communication and calculation by utilizing a method for a special honest verifier zero-knowledge interactive proof when the method is given. <P>SOLUTION: A second relation proof generation device 417, to which common input and a third random tape are input, outputs a proof of non-interactive knowledge related to a second relation to a second relation proof verification device 423. The second relation proof verification device 423 determines whether or not a prescribed relational expression is established by using the proof of non-interactive knowledge related to the second relation. A proof generation device 425; to which the common input, evidence, a first random tape, and a second random tape are input; generates a proof of non-interactive knowledge of either evidence of evidence meeting a first relation and evidence meeting the second relation. A proof verification device 434 outputs a signal showing acceptance or nonacceptance of the proof as a verification result. <P>COPYRIGHT: (C)2012,JPO&amp;INPIT

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 common input 101 to the proving device 103 and the verification device 104 shown in FIG. Here, V G is the set of vertices of a graph, E G is the set of edges, the graph G is represented by both. The number of vertices (denoted as | V G |) is | V G | = n.

また、証明装置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 device 103 as evidence 102. Each i ∈ {1, ..., n} is c i ∈ {1,2,3}, which represents three colors and expresses the colors of the vertices. C should be painted on all sides so that the two vertices connected at this side have different colors.

証明装置103は、検証装置104にG に関する上記の証拠C が存在することを否認可能零知識対話証明する。「対話証明する」とは、もし上記性質を持つC がG に対して存在しなければ、いかなる偽の証明装置を用いても、この偽の証明装置と検証装置(本例では検証装置104)が互いの通信及び各装置における計算を行なった後、検証装置(本例では検証装置104)が最終的に証明を受理することを表す信号を出力せず、証明装置(本例では証明装置103)と検証装置(本例では検証装置104)に上記G とC が入力されれば、検証装置(本例では検証装置104)は証明を受理することを表す信号を出力することを意味する。   The proving device 103 certifies that the above evidence C regarding G exists in the verification device 104 and proves that it is a zero knowledge dialogue. “Certification of dialogue” means that if C having the above property does not exist for G 1, this fake proof device and verification device (in this example, verification device 104) can be used. After performing communication with each other and calculation in each device, the verification device (verification device 104 in this example) does not output a signal indicating that the proof is finally accepted, and the verification device (in this example, the verification device 103). ) And the verification device (verification device 104 in this example) means that the verification device (verification device 104 in this example) outputs a signal indicating acceptance of the proof.

また、否認可能零知識であるとは次のことを言う。いかなるデータが入力された、多項式時間しか動作しないいかなる偽の検証装置が証明装置(本例では証明装置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 proving device 103 in this example), the output of the fake verifier has the following properties (property A and Satisfy.) However, it is assumed that a fake verification device can simultaneously communicate with a plurality of proving devices having the same G and C. Here, the property A is that if there is a simulation device that can communicate with a fake verification device and operates only in polynomial time, and an input to the fake verification device is given to this device, Even if this simulation device cannot communicate with the proving device (the proving device 103 in this example), the output of the fake verification device and data whose distribution cannot be identified can be output. A specific example of property A will be shown. For example, it is assumed that an arbitrary fake verification device outputs some data after communicating with the certification device (the certification device 103 in this example). This data is called a. On the other hand, the simulation device communicates with a fake verification device (behaves as a proof device at this time), and then outputs some data. This data is called b. The simulation device can output data b having a distribution indistinguishable from the distribution of the output data a (property A) no matter what fake verification device is brought.

なお、「データ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 device 103 and the verification device 104 illustrated in FIG. 4 will be described. In the following explanation, an example using the discrete logarithm problem is shown, but a general (stochastic) one-way function is also possible. Let G q be a multiplicative group for which the discrete logarithm problem of order q is difficult, and g be its generator. Let t be a safety variable. It is sufficient that the value of t is 160 or more. Hash (•) is a hash function and its output size is t bits.

ステップ1:検証装置104は無作為にx ∈ Z/qZを選び、y=gxを計算する。 Step 1: The verification device 104 randomly selects x ∈ Z / qZ and calculates y = g x .

ステップ2:検証装置104は、i = 1,...,t に関してx'[i]∈ Z/qZを選び、y'[i] = gx'[i] とする。 Step 2: The verification apparatus 104 selects x ′ [i] ∈Z / qZ for i = 1,..., T, and sets y ′ [i] = g x ′ [i] .

ステップ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 verification apparatus 104 calculates a random number r [1, i] ∈ {0,1} n and a random number r [2, i] ∈ {0, 1} n for i = 1,. Choose. The verification device 104 performs the hash value c [1, i] = Hash (x ′ [i], r [1, i]) and the hash value c [2, i] for i = 1,. = Hash (x ′ [i] + x, r [2, i]) is generated by communicating with the device 105 that generates the hash function many times.

ステップ4:検証装置104は、t ビットのハッシュ値c を次の様に計算する。   Step 4: The verification device 104 calculates a t-bit hash value c as follows.

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 verification device 104 determines that t [1, i] = x ′ [i], t [2, i] = r [1 , i]. If the i-th bit of h is 1, t [1, i] = x ′ [i] + x, t [2, i] = r [2, i]).

ステップ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 verification device 104 sends {g, y, y ′ [i], c [1, i], c [2, i], t [1, i], t [2, i] to the proving device 103. } Send i = 1, ..., t ).

ステップ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 apparatus 103 calculates h ′ = Hash ({g, y, y ′ [i], c [1, i], c [2, i]} i = 1, ..., t ). To do. The proving device 103 communicates with a device 107 that calculates a hash function, so that for i = 1,..., T, if the i-th bit of h ′ is 0, c [1, i] = Hash ( t [1, i], t [2, i]) and g t [1, i] = y '[i], and if 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] .

ステップ7:証明装置103は、y = gxなるx を知っているか、あるいはG に対してC を知っていることの、ハッシュ関数107を用いた非対話的零知識証明を生成する。ただし、どちらを知っているかは識別できない様に証明する。また、ステップ7における非対話的零知識証明は、例えば、非特許文献3に記載された方法により生成する。 Step 7: The proving device 103 generates a non-interactive zero-knowledge proof using the hash function 107 that knows x where y = g x or knows C with respect to G 1. However, prove that you do not know which one you know. The non-interactive zero knowledge proof in step 7 is generated by the method described in Non-Patent Document 3, for example.

ステップ8:証明装置103は、ステップ7で生成した非対話的零知識証明を検証装置104に送付する。   Step 8: The proof device 103 sends the non-interactive zero knowledge proof generated in Step 7 to the verification device 104.

ステップ9:検証装置104は、証明装置103から送られてきた非対話的零知識証明を検証し、正当であれば受理を、不当であれば不受理を表す信号を検証結果109として出力する。   Step 9: The verification device 104 verifies the non-interactive zero-knowledge proof sent from the verification device 103, and outputs a signal representing acceptance if it is valid and a signal indicating unacceptance if it is invalid, as a verification result 109.

ハッシュ関数がランダムなデータを返す関数だと仮定すれば、ステップ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 verifier 104 that the verifier 104 knows x. This can be understood as follows.

証明装置103から送られるデータは、h'=Hash({g,y,y'[i],c[1,i],c[2,i]}i=1,...,t) に対し、以下のようになっていればよい。 The data sent from the proving device 103 is h '= Hash ({g, y, y' [i], c [1, i], c [2, i]} i = 1, ..., t ) On the other hand, it should be as follows.

すなわち、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 proof device 103 does not obtain any knowledge from this data.

上記の証明が、証明装置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 proof device 103 and the verification device 104. In step 7, the proving device 103 tells the verification device 104 that either (1) C is known for G, that is, C exists for G or (2) x is known. Prove that there is. However, since the prover 103 cannot obtain any knowledge from the data received in step 5, it cannot obtain the discrete logarithm of G q and cannot know z. Therefore, it is necessary to prove the above (1).

また、上記の動作において、証明装置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 device 103 and the verification device 104 is non-repudible zero knowledge. In the random oracle model, the verification device 104 uses the hash value c [1, i] = Hash (x ′ [i], r [1, i]) and the hash value c [2, i] = Hash (x ′ [i ] + x, r [2, i]) and (x '[i], r [1, i]) and (x' [i] + x, r [2, i]) and Must be sent to a random oracle. If the simulator intercepts such a value, x can be easily obtained as (x ′ [i] + x) −x ′ [i] = x. In step 7, the simulation device that knows x can prove “knowing x” in (2) above. Since this cannot be identified from the proof of “knowing C” in (1) above, it is possible to generate data that cannot be identified from the data generated by the proving device 103.

上記の動作で、証明装置103と検証装置104とにおける否認可能零知識対話証明は2ラウンドである。すなわち、検証装置104から証明装置103への通信が一回、証明装置103から検証装置104への通信が一回、合わせて二回の通信しか必要としない。   With the above operation, the non-repudiation zero knowledge dialogue proof in the proof device 103 and the verification device 104 is two rounds. That is, only one communication is required from the verification device 104 to the verification device 103, and one communication from the verification device 103 to the verification device 104 is required.

また、従来の特別正直検証者零知識対話証明の技術については、例えば、非特許文献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 (common input 207 in FIGS. 5 and 6) is represented by X, and the evidence (evidence 208 in FIG. 6) is represented by the symbol W. Let (X, W) ∈ R that the common input X and the evidence W satisfy the relation R.

図5に示す証明コミットメント生成装置201は、関数ARにより証明コミットメントを生成する装置である。応答生成装置202は、関数ZRにより応答を生成する関数である。検証装置203は、関数VRにより検証結果を出力する装置である。図6に示す模擬装置204は、関数SRの演算を行う装置である。証拠抽出装置205は、関数ERにより証拠を抽出する装置である。関数AR、関数ZR、関数VR、関数SR、関数ERについては、後述する。 Proof commitment generation apparatus 201 shown in FIG. 5 is an apparatus for generating a proof commitment by the function A R. The response generation device 202 is a function that generates a response using the function Z R. The verification device 203 is a device for outputting a verification result by the function V R. The simulation device 204 shown in FIG. 6 is a device that performs the calculation of the function S R. Evidence extractor 205 is an apparatus for extracting evidence by a function E R. The function A R , the function Z R , the function V R , the function S R , and the function E R will be described later.

関係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 (challenge value 212 in the figure) is a random number 206. Further, it is assumed that the proof commitment a R (the proof commitment 209 in the figure) and the response z R (the response 210 in the figure) are expressed by the following equations.

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 proof commitment 213 in the figure), the first challenge value e R and the second challenge value e ′ R (shown as a set 214 of the first challenge value and the second challenge value in the figure), the first. It is assumed that the one response z R and the second response z ′ R (shown as a set 215 of the first response and the second response in the drawing) satisfy the following expression.

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 ′ (evidence 216 in the figure) as W ′ = E R (a R , e R , z R , e ′ R , z ′ R ) becomes (X, W ′) ∈R.

[性質3]
挑戦値eR(図における挑戦値212)を乱数とする。また、証明コミットメントaR(図における証明コミットメント209)と応答zR(図における応答210)が以下の式によって表されるとする。ただし、RPはランダムテープ206である。
[Property 3]
The challenge value e R (challenge value 212 in the figure) is a random number. Further, it is assumed that the proof commitment a R (the proof commitment 209 in the figure) and the response z R (the response 210 in the figure) are expressed by the following equations. Here, R P is the random tape 206.

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 (challenge value 216 in the figure) is a random number. Further, it is assumed that the proof commitment a ′ R (the proof commitment 217 in the figure) and the response z ′ R (the response 218 in the figure) are derived as follows. However, R S is a random tape 219.

(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 (random tape 206 in the figure) is randomly shaken and the random tape R S (random tape 219 in the figure) are randomly shaken. It is difficult to distinguish the distribution of (a ' R , e' R , z ' R ).

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 ).

“Rafael Pass”,“ On Deniability in the Common Reference String and Random Oracle Model”,“CRYPTO 2003”,2003年,p.316-337,p316-337“Rafael Pass”, “On Deniability in the Common Reference String and Random Oracle Model”, “CRYPTO 2003”, 2003, p.316-337, p316-337 “Oded Goldreich”,“Foundations of Cryptography --- Basic Tools”,“Cambridge University Press”,2001年,p.206-207“Oded Goldreich”, “Foundations of Cryptography --- Basic Tools”, “Cambridge University Press”, 2001, p.206-207 “Amos Fiat Adi Shamir”,“How to Prove Yourself: Practical Solutions to Identification and Signature Problems”,“CRYPTO 1986”,1986年,p.186-194“Amos Fiat Adi Shamir”, “How to Prove Yourself: Practical Solutions to Identification and Signature Problems”, “CRYPTO 1986”, 1986, p.186-194

しかし、上記の従来技術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.

本発明の第1の実施の形態の証明装置および検証装置を示す説明図である。It is explanatory drawing which shows the certification | authentication apparatus and verification apparatus of the 1st Embodiment of this invention. 本発明の第2の実施の形態の証明装置および検証装置を示す説明図である。It is explanatory drawing which shows the certification | authentication apparatus and verification apparatus of the 2nd Embodiment of this invention. 本発明の実施例を示す説明図である。It is explanatory drawing which shows the Example of this invention. 非特許文献1に記載される構成を示す説明図である。It is explanatory drawing which shows the structure described in the nonpatent literature 1. 非特許文献2に記載される構成を示す説明図である。It is explanatory drawing which shows the structure described in the nonpatent literature 2. 非特許文献2に記載される構成を示す説明図である。It is explanatory drawing which shows the structure described in the nonpatent literature 2.

以下、本発明の実施の形態を図面を参照して説明する。   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 proving device 301 and the verification device 302 are connected so that they can communicate with each other. To the proving device 301, a common input X (X, W) ∈ R, an evidence W, and a first random tape RP are input. This relationship R is a predetermined relationship. In the present embodiment, for convenience, the relationship R will be referred to as the first relationship.

なお、共通入力は、証明装置および検証装置に共通に入力されるデータである。ただし、後述する第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 proof device 301 includes a challenge value commitment verification device 324 (hereinafter referred to as a challenge value commitment verification device 324) related to the first relationship, and an interactive knowledge proof generation device 330 (hereinafter referred to as a challenge relationship commitment verification device 324). And a proof generation device 330).

検証装置312は、第一の関係に関する挑戦値のコミットメント生成装置312(以下、挑戦値のコミットメント生成装置312と記す。)と、対話的な、第一の関係に関する知識の証明検証装置340(以下、証明検証装置340と記す。)とを備える。   The verification device 312 includes a challenge value commitment generation device 312 (hereinafter referred to as a challenge value commitment generation device 312) related to the first relationship, and an interactive knowledge proof verification device 340 (hereinafter referred to as the challenge relationship commitment generation device 312). And proof verification device 340).

挑戦値のコミットメント検証装置324は、ハッシュ関数の計算装置310と通信可能に接続される。また、証明生成装置330は、第一の関係R に関する特別正直検証者零知識対話証明の証明コミットメント生成装置303(以下、証明コミットメント生成装置303と記す。)と通信可能に接続される。また、証明生成装置330は、第一の関係R に関する特別正直検証者零知識対話証明の応答生成304(以下、応答生成装置304と記す。)と通信可能に接続される。   The challenge value commitment verification device 324 is communicably connected to the hash function calculation device 310. Further, the proof generation device 330 is communicably connected to a proof commitment generation device 303 (hereinafter referred to as a proof commitment generation device 303) of the special honest verifier zero knowledge dialogue proof relating to the first relationship R. Further, the proof generation device 330 is communicably connected to a response generation 304 (hereinafter referred to as a response generation device 304) of the special honest verifier zero knowledge dialogue proof regarding the first relationship R.

挑戦値のコミットメント生成装置312は、ハッシュ関数の計算装置311と通信可能に接続される。証明検証装置340は、第一の関係R に関する特別正直検証者零知識対話証明の検証装置305(以下、対話証明検証装置305と記す。)と通信可能に接続される。   The challenge value commitment generation device 312 is communicably connected to a hash function calculation device 311. The proof verification device 340 is communicably connected to a special honest verifier zero knowledge dialogue proof verification device 305 (hereinafter referred to as a dialogue proof verification device 305) related to the first relationship R.

証明コミットメント生成装置303は、関数(関数ARとする。)に従って、証明生成装置330からの入力に応じた証明コミットメントを生成し、証明生成装置330に出力する。なお、本実施の形態における関数ARの具体的な計算例は、例えば、従来技術2で示した関数ARと同様である。 The proof commitment generation device 303 generates a proof commitment according to the input from the proof generation device 330 according to a function (function A R ) and outputs the proof commitment to the proof generation device 330. A specific calculation example of the function A R in the present embodiment is the same as the function A R shown in the conventional technique 2, for example.

応答生成装置304は、関数(関数ZRとする。)に従って、証明生成装置330からの入力に応じた応答を生成し、証明生成装置330に出力する。なお、本実施の形態における関数ZRの具体的な計算例は、例えば、従来技術2で示した関数ZRと同様である。 The response generation device 304 generates a response according to the input from the proof generation device 330 according to the function (function Z R ), and outputs the response to the proof generation device 330. A specific calculation example of the function Z R in the present embodiment is the same as the function Z R shown in the conventional technique 2, for example.

対話証明検証装置305は、関数(関数VRとする。)に従って、証明検証装置340からの入力に応じた検証結果を生成し、証明検証装置340に出力する。なお、本実施の形態における関数VRの具体的な計算例は、例えば、従来技術2で示した関数VRと同様である。なお、検証結果が1であれば、証明の受理を表し、検証結果が0であれば、証明の不受理を表すものとする。 The dialogue proof verification apparatus 305 generates a verification result corresponding to the input from the proof verification apparatus 340 according to the function (function V R ), and outputs the verification result to the proof verification apparatus 340. A specific calculation example of the function V R in the present embodiment is the same as the function V R shown in the conventional technique 2, for example. If the verification result is 1, it means that the proof is accepted, and if the verification result is 0, it means that the proof is not accepted.

挑戦値のコミットメント検証装置324には、挑戦値のコミットメント生成装置312から、挑戦値のコミットメント(c とする。)が入力される。挑戦値のコミットメント検証装置324は、証明検証装置340が証明生成装置330に対して出力する挑戦値および乱数を用いたハッシュ関数の計算結果が、挑戦値のコミットメントc と一致するか否かを判定する。   A challenge value commitment verification device 324 receives a challenge value commitment (c) from the challenge value commitment generation device 312. The challenge value commitment verification device 324 determines whether the calculation result of the hash function using the challenge value and the random number output from the proof verification device 340 to the proof generation device 330 matches the challenge value commitment c. To do.

証明生成装置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 proof generation device 330. The proof generation device 330 outputs the proof commitment generated by the proof commitment generation device 303 to the proof verification device 340. Thereafter, a challenge value and a random number are input from the proof verification device 340 to the proof generation device 330. When the calculation result of the hash function using the challenge value and the random number matches the challenge value commitment c, the proof generation device 330 outputs the response generated by the response generation device 304 to the proof verification device 340. To do.

挑戦値のコミットメント生成装置312には、共通入力X 、および第二のランダムテープRVが入力される。そして、挑戦値のコミットメント生成装置312は、挑戦値、乱数を生成し、ハッシュ関数の計算装置311に挑戦値のコミットメントc を生成させる。挑戦値のコミットメント生成装置312は、挑戦値のコミットメントc を挑戦値のコミットメント検証装置324に出力する。 Commitment generating device 312 of the challenge value is the common input X, and the second random tape R V is input. The challenge value commitment generation device 312 generates a challenge value and a random number, and causes the hash function calculation device 311 to generate a commitment value commitment c. The challenge value commitment generation device 312 outputs the challenge value commitment c to the challenge value commitment verification device 324.

証明検証装置340には、証明生成装置330から証明コミットメントが入力される。その後、証明検証装置340は、挑戦値および乱数を証明生成装置330を出力する。そして、証明生成装置330から応答が入力される。証明検証装置340は、応答を受けると、対話証明検証装置305に検証結果を生成させ、その検証結果322を出力する。   The proof commitment is input from the proof generation device 330 to the proof verification device 340. Thereafter, the proof verification device 340 outputs the challenge value and the random number to the proof generation device 330. Then, a response is input from the proof generation device 330. Upon receiving the response, the proof verification device 340 causes the dialog proof verification device 305 to generate a verification result and outputs the verification result 322.

なお、図1では、符号306を用いて共通入力X を示している。また、符号307を用いて証拠W を示している。また、符号308を用いて第一のランダムテープRPを示している。また、符号309を用いて第二のランダムテープRVを示している。 In FIG. 1, the common input X is indicated by reference numeral 306. Also, the evidence W is indicated by using a reference numeral 307. Further, the first random tape RP is indicated by using a reference numeral 308. In addition, a second random tape RV is indicated by reference numeral 309.

次に、証明装置301と検証装置302とによる関係R の否認可能零知識対話証明の動作について説明する。   Next, the operation of the repudiation zero knowledge dialogue proof of the relation R 1 by the proof device 301 and the verification device 302 will be described.

まず、証明装置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 proof generation device 330 of the proof device 301.

続いて、検証装置302が備える挑戦値のコミットメント生成装置312に、共通入力X 、および第二のランダムテープRVが入力される。 Subsequently, the common input X and the second random tape R V are input to the commitment value commitment generation device 312 included in the verification device 302.

次に、挑戦値のコミットメント生成装置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 commitment generation device 312 causes the hash function calculation device 311 to generate a commitment value commitment related to the first relationship R as follows. The challenge value commitment generator 312 selects the challenge value e R using the second random tape R V. Further, the commitment value commitment generator 312 selects the random number r using the second random tape R V. This random number r is evidence of a challenge value commitment. The challenge value commitment generation device 312 transmits the challenge value e R and the random number r to the hash function calculation device 311. The hash function calculation device 311 calculates a challenge value commitment c as c = Hash (e R , r), and transmits the challenge value commitment c to the challenge value commitment generation device 312. The communication at this time is shown as communication 313 in FIG.

挑戦値のコミットメント生成装置312は、ハッシュ関数の計算装置311から受信した挑戦値のコミットメントc を、挑戦値のコミットメント検証装置324に送信する(図1に示す通信314)。なお、挑戦値のコミットメント検証装置324は、挑戦値のコミットメント生成装置312から挑戦値のコミットメントc が送信されてくるのを待ち、挑戦値のコミットメント生成装置312から挑戦値のコミットメントc を受信する。   The challenge value commitment generation device 312 transmits the challenge value commitment c received from the hash function calculation device 311 to the challenge value commitment verification device 324 (communication 314 shown in FIG. 1). The challenge value commitment verification device 324 waits for a challenge value commitment c to be transmitted from the challenge value commitment generation device 312, and receives the challenge value commitment c from the challenge value commitment generation device 312.

挑戦値のコミットメント検証装置324が挑戦値のコミットメントc を受信すると、証明生成装置330は、共通入力X 、証拠W 、および第一のランダムテープRPを、証明コミットメント生成装置303に送信する。証明コミットメント生成装置303は、関数ARによって、aR =AR(x,w,RP)として、証明コミットメントaRを生成する。そして、証明コミットメント生成装置303は、証明コミットメントaRを証明生成装置330に送信する。このときの通信を、図1では、通信315として示している。 When the challenge value commitment verification device 324 receives the challenge value commitment c, the proof generation device 330 transmits the common input X, evidence W, and the first random tape RP to the proof commitment generation device 303. Proof commitment generation apparatus 303, by the function A R, a R = A R (x, w, R P) as to generate a proof commitment a R. Then, the proof commitment generation device 303 transmits the proof commitment a R to the proof generation device 330. The communication at this time is shown as communication 315 in FIG.

証明生成装置330は、証明コミットメント生成装置303から受信した証明コミットメントaRを証明検証装置340に送信する(図1に示す通信316)。証明生成装置330は、証明コミットメントaRを送信した後、証明検証装置340から、挑戦値のコミットメントc によりコミットされた挑戦値およびそのコミットメントの証拠(乱数r )が送信されてくるのを待つ。 The proof generation device 330 transmits the proof commitment a R received from the proof commitment generation device 303 to the proof verification device 340 (communication 316 shown in FIG. 1). After transmitting the proof commitment a R , the proof generation device 330 waits for the challenge value committed by the challenge value commitment c and the proof of the commitment (random number r) to be transmitted from the proof verification device 340.

証明検証装置340は、証明コミットメントaRを受信した後、挑戦値eRおよび乱数r を証明生成装置330に送信する(図1に示す通信317)。証明検証装置340は、挑戦値eRおよび乱数r を送信した後、証明生成装置330から応答が送信されてくるのを待つ。 After receiving the certification commitment a R , the certification verification device 340 transmits the challenge value e R and the random number r to the certification generation device 330 (communication 317 shown in FIG. 1). After transmitting the challenge value e R and the random number r 1 , the proof verification device 340 waits for a response from the proof generation device 330.

証明生成装置330が挑戦値eRおよび乱数r を受信すると、挑戦値のコミットメント検証装置324は、ハッシュ関数の計算装置310と通信を行い(図1に示す通信319)、挑戦値eRおよび乱数をr を用いたハッシュ関数の計算結果が、挑戦値のコミットメントc と一致するか否かを判定する。すなわち、ハッシュ関数の計算装置310に、Hash(eR,r)を計算させ、その計算結果が、既に受信している挑戦値のコミットメントc と一致するか否かを判定する。換言すると、既に受信している挑戦値のコミットメントc が挑戦値eRのコミットメントであるか否かを、乱数r を用いて検証する。 When the proof generation device 330 receives the challenge value e R and the random number r 1, the challenge value commitment verification device 324 communicates with the hash function calculation device 310 (communication 319 shown in FIG. 1), and the challenge value e R and the random number. It is determined whether the calculation result of the hash function using r matches the commitment value commitment c. That is, the hash function calculation device 310 calculates Hash (e R , r), and determines whether or not the calculation result matches the commitment value commitment c already received. In other words, it is verified by using the random number r whether or not the commitment value c already received is a commitment value e R commitment.

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 commitment verification device 324 outputs a stop command of the proving device 301 to the proof generating device 330 (output 325 shown in FIG. 1). When the stop command is output, the certification device 301 stops the operation. If c = Hash (e R , r) is established, no stop command is output.

停止命令が出力されなかった場合、証明生成装置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 proof generation device 330 transmits the common input X, the evidence W, the challenge value e R , and the first random tape RP to the response generation device 304. Response generation apparatus 304, by the function Z R, z R = Z R (x, w, e R, R P) as to generate a response z R. Then, the response generation device 304 transmits the response z R to the proof generation device 330. The communication at this time is shown as communication 320 in FIG.

証明生成装置330は、応答生成装置304から受信した応答zRを証明検証装置340に送信する(図1に示す通信318)。 The proof generation device 330 transmits the response z R received from the response generation device 304 to the proof verification device 340 (communication 318 shown in FIG. 1).

証明検証装置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 proof verification device 340 transmits the common input X 1, the proof commitment a R , the challenge value e R , and the response z R to the dialog proof verification device 305. The proof verification device 340 may receive the challenge value e R from the commitment value commitment generation device 312 (communication 326 shown in FIG. 1). The dialogue proof verification apparatus 305 derives the calculation result of V R (X, a R , e R , z R ) by the function V R. This calculation result is, for example, either 1 or 0 and represents acceptance or non-acceptance of the proof. The dialogue proof verification device 305 transmits a signal indicating acceptance or non-acceptance of the proof to the proof verification device 340. The communication at this time is shown as communication 321 in FIG.

証明検証装置340は、受信した信号(証明の受理あるいは不受理を表す信号)を、検証結果322として出力する。   The proof verification apparatus 340 outputs the received signal (a signal indicating acceptance or non-acceptance of the proof) as a verification result 322.

第1の実施の形態によれば、検証装置302から証明装置301への送信は、挑戦値のコミットメントc の送信(図1に示す通信314)、および、そのコミットメントが挑戦値のコミットメントであることを示すデータの送信(図1に示す通信317)のみである。よって、通信量が少なくて済み、方式を簡易化し、通信を効率化することができる。   According to the first embodiment, transmission from the verification device 302 to the verification device 301 includes transmission of a challenge value commitment c (communication 314 shown in FIG. 1), and the commitment is a commitment value commitment. Is transmitted only (communication 317 shown in FIG. 1). Therefore, the amount of communication can be reduced, the system can be simplified, and communication can be made efficient.

第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 proof generation device 330 of the proof device 301. It is realized by. Further, the challenge value commitment receiving means and the challenge value commitment verification means included in the proof device are realized by the challenge value commitment verification device 324 of the proof device 301.

そして、検証装置が備える共通入力入力手段、ランダムテープ入力手段、挑戦値生成手段、乱数生成手段、挑戦値コミットメント生成制御手段は、検証装置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 commitment generation apparatus 312 of the verification apparatus 302. Further, the proof commitment receiving means, the response receiving means, and the verification result output means included in the verification device are realized by the proof verification device 340 of the verification device 303.

実施の形態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 proving device 401 and the verification device 402 are connected so that they can communicate with each other. To the proving device 401, the common input X (X, W) ∈ R, the evidence W, the first random tape R P , and the second random tape R ′ P are input. This relationship R is a predetermined relationship, and is hereinafter referred to as a first relationship. Note that a second relationship different from the first relationship R is R ′.

証明装置401は、第二の関係に関する非対話的知識の証明検証装置423(以下、第二関係証明検証装置423と記す。)と、非対話的な、第一の関係を満たす証拠、あるいは第二の関係を満たす証拠のいずれかの証拠の知識の証明生成装置425(以下、証明生成装置425と記す。)とを備える。   The proof device 401 is a non-interactive knowledge proof verification device 423 (hereinafter referred to as a second relationship proof verification device 423) related to the second relationship, a non-interactive proof that satisfies the first relationship, A proof generation device 425 (hereinafter referred to as a proof generation device 425) for knowledge of any of the evidences satisfying the two relations.

検証装置402は、第二の関係に関する非対話的知識の証明生成装置417(以下、第二関係証明生成装置417と記す。)と、非対話的な、第一の関係を満たす知識、あるいは第二の関係を満たす知識のいずれかの知識の証明検証装置434(以下、証明検証装置434と記す。)とを備える。   The verification device 402 is a non-interactive knowledge proof generation device 417 (hereinafter referred to as a second relationship proof generation device 417) related to the second relationship and a non-interactive knowledge satisfying the first relationship, or A knowledge proof verification device 434 (hereinafter, referred to as a proof verification device 434) of any of the knowledge satisfying the two relations.

第二関係証明検証装置423は、ハッシュ関数の計算装置410と通信可能に接続される。また、第二関係証明検証装置423は、第二の関係R'に関する特別正直検証者零知識対話証明の検証装置408(以下、第二対話証明検証装置408と記す。)とも通信可能に接続されている。   The second relationship proof verification device 423 is communicably connected to the hash function calculation device 410. The second relationship proof verification device 423 is also communicably connected to a special honest verifier zero knowledge dialog proof verification device 408 (hereinafter referred to as a second dialog proof verification device 408) related to the second relationship R ′. ing.

証明生成装置425は、ハッシュ関数の計算装置410と通信可能に接続される。また、証明生成装置425は、第一の関係R に関する特別正直検証者零知識対話証明の証明コミットメント生成装置403(以下、第一証明コミットメント生成装置403と記す。)と通信可能に接続される。また、証明生成装置425は、第一の関係R に関する特別正直検証者零知識対話証明の応答生成装置404(以下、第一応答生成装置404と記す。)と通信可能に接続される。さらに、証明生成装置425は、第二の関係R'に関する特別正直検証者零知識対話証明の模擬装置409(以下、第二関係模擬装置409と記す。)と通信可能に接続される。   The proof generation device 425 is communicably connected to the hash function calculation device 410. Further, the proof generation device 425 is communicably connected to a proof commitment generation device 403 (hereinafter referred to as a first proof commitment generation device 403) of the special honest verifier zero knowledge dialogue proof relating to the first relationship R. Further, the proof generation device 425 is communicably connected to a response generation device 404 (hereinafter referred to as the first response generation device 404) of the special honest verifier zero knowledge dialogue proof relating to the first relationship R. Further, the proof generation device 425 is communicably connected to a special honest verifier zero knowledge dialogue proof simulation device 409 (hereinafter referred to as a second relationship simulation device 409) regarding the second relationship R ′.

第二関係証明生成装置417は、ハッシュ関数の計算装置411と通信可能に接続される。また、第二関係証明生成装置417は、第二の関係R' に関する特別正直検証者零知識対話証明の証明コミットメント生成装置406(以下、第二証明コミットメント生成装置406)と通信可能に接続される。さらに、第二関係証明生成装置417は、第二の関係R'に関する特別正直検証者零知識対話証明の応答生成装置407(以下、第二応答生成装置407)と通信可能に接続される。   The second relationship proof generation device 417 is communicably connected to the hash function calculation device 411. The second relationship proof generation device 417 is communicably connected to a proof commitment generation device 406 (hereinafter, second proof commitment generation device 406) of the special honest verifier zero knowledge dialogue proof regarding the second relationship R ′. . Furthermore, the second relationship proof generation device 417 is communicably connected to a response generation device 407 (hereinafter, second response generation device 407) of the special honest verifier zero knowledge dialogue proof regarding the second relationship R ′.

証明検証装置434は、ハッシュ関数の計算装置411と通信可能に接続される。また、証明検証装置434は、第一の関係R に関する特別正直検証者零知識対話証明の検証装置405(以下、第一対話証明検証装置405と記す。)と通信可能に接続される。さらに、証明検証装置434は、第二対話証明検証装置408と通信可能に接続される。   The proof verification device 434 is communicably connected to the hash function calculation device 411. Further, the proof verification device 434 is communicably connected to a special honest verifier zero knowledge dialogue proof verification device 405 (hereinafter referred to as a first dialogue proof verification device 405) related to the first relationship R. Further, the proof verification device 434 is connected to the second dialog proof verification device 408 so as to be communicable.

第一証明コミットメント生成装置403は、関数(関数ARとする。)に従って、証明生成装置425からの入力に応じた証明コミットメントを生成し、証明生成装置425に出力する。なお、本実施の形態における関数ARの具体的な計算例は、例えば、従来技術2で示した関数ARと同様である。 The first proof commitment generation device 403 generates a proof commitment corresponding to the input from the proof generation device 425 according to a function (function A R ) and outputs the proof commitment to the proof generation device 425. A specific calculation example of the function A R in the present embodiment is the same as the function A R shown in the conventional technique 2, for example.

第一応答生成装置404は、関数(関数ZRとする。)に従って、証明生成装置425からの入力に応じた応答を生成し、証明生成装置425に出力する。なお、本実施の形態における関数ZRの具体的な計算例は、例えば、従来技術2で示した関数ZRと同様である。 The first response generation device 404 generates a response corresponding to the input from the proof generation device 425 according to the function (function Z R ), and outputs the response to the proof generation device 425. A specific calculation example of the function Z R in the present embodiment is the same as the function Z R shown in the conventional technique 2, for example.

第一対話証明検証装置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 proof verification device 434 according to the function (function V R ). Output to 434. A specific calculation example of the function V R in the present embodiment is the same as the function V R shown in the conventional technique 2, for example. If the verification result is 1, it means that the proof is accepted, and if the verification result is 0, it means that the proof is not accepted.

第二証明コミットメント生成装置406は、関数(関数AR’ とする。)に従って、第二関係証明生成装置417からの入力に応じた証明コミットメント(aR'とする。)を生成し、第二関係証明生成装置417に出力する。関数AR’ は、共通入力、証拠、ランダムテープを入力とし、証明コミットメントを出力する関数である。ここでは、関数AR’ が関数ARとは異なる計算を行う関数であるものとして説明するが、第一の関係R と第二の関係R’とが同じ関係であるならば、関数AR’ が関数ARと同様の計算を行う関数であってもよい。 The second proof commitment generation device 406 generates a proof commitment (referred to as a R ′ ) corresponding to the input from the second relationship proof generation device 417 according to the function (referred to as function A R ′ ), and the second The data is output to the relationship proof generation device 417. The function A R ′ is a function that takes a common input, evidence, and random tape as inputs and outputs a proof commitment. Here, description will be made assuming that the function A R ′ is a function that performs a calculation different from the function A R , but if the first relationship R and the second relationship R ′ are the same relationship, the function A R 'it may be a function that calculates the same function a R.

第二応答生成装置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 proof generation device 417 according to the function (function Z R ′ ), and outputs the response to the second relationship proof generation device 417. The function Z R ′ is a function that inputs a common input, evidence, challenge value, and random tape and outputs a response (denoted z R ′ ). Here, description will be made assuming that the function Z R ′ is a function that performs a calculation different from the function Z R , but if the first relationship R and the second relationship R ′ are the same relationship, the function Z R ′ 'May be a function that performs the same calculation as the function Z R.

第二対話証明検証装置408は、関数(関数VR’ とする。)に従って、第二関係証明検証装置423や証明検証装置434からの入力に応じた検証結果(証明の受理あるいは不受理を表す信号)を生成し、第二関係証明検証装置423や証明検証装置434にその検証結果を出力する。関数VR’ は、証明コミットメント、応答、共通入力、挑戦値を入力とし、検証結果を出力する関数である。ここでは、関数VR’ が関数VRとは異なる計算を行う関数であるものとして説明するが、第一の関係R と第二の関係R’とが同じ関係であるならば、関数VR’ が関数VRと同様の計算を行う関数であってもよい。なお、検証結果が1であれば、証明の受理を表し、検証結果が0であれば、証明の不受理を表すものとする。 The second dialog proof verification device 408 indicates a verification result (representing acceptance or non-acceptance of the proof) according to an input from the second relationship proof verification device 423 or the proof verification device 434 according to a function (function V R ′ ). Signal) and the verification result is output to the second relationship proof verification device 423 and the proof verification device 434. The function V R ′ is a function that receives a proof commitment, a response, a common input, and a challenge value and outputs a verification result. Here, description will be made assuming that the function V R ′ is a function that performs a calculation different from the function V R , but if the first relationship R and the second relationship R ′ are the same relationship, the function V R 'it may be a function that calculates the same function V R. If the verification result is 1, it means that the proof is accepted, and if the verification result is 0, it means that the proof is not accepted.

第二関係模擬装置409は、関数(関数SR’ とする。)に従って、証明生成装置425からの入力に応じた証明コミットメントおよび応答を出力する。関数SR’ は、共通入力、挑戦値、およびランダムテープを入力とし、証明コミットメントおよび応答を出力する関数である。本実施の形態における関数SR’ の具体的な計算例は、例えば、従来技術2で示した関数SRと同様である。 The second relation simulation device 409 outputs a proof commitment and a response according to the input from the proof generation device 425 according to a function (function S R ′ ). The function S R ′ is a function that receives a common input, a challenge value, and a random tape, and outputs a proof commitment and a response. Specific example of calculation of the function S R 'in the present embodiment, for example, is similar to the function S R shown in the prior art 2.

第二関係証明生成装置417には、共通入力X と第三のランダムテープが入力される。なお、第三のランダムテープとしては、RVおよびR'V が入力される。また、第二関係証明生成装置417は、第二の関係R'に関する非対話的知識の証明(PR' とする。)を第二関係証明検証装置423に出力する。 A common input X and a third random tape are input to the second relationship proof generation device 417. Note that R V and R ′ V are input as the third random tape. Further, the second relationship proof generation device 417 outputs a non-interactive knowledge proof (referred to as P R ′ ) regarding the second relationship R ′ to the second relationship proof verification device 423.

第二関係証明検証装置423は、第二の関係R'に関する非対話的知識の証明PR' を用いて、所定の関係式が成立しているか否かを判定する。 Second relationship proof verification apparatus 423, by using a 'certificate P R of the non-interactive knowledge' second relation R, determines whether a predetermined relationship is satisfied.

証明生成装置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 proof generation device 425. Then, generate a proof of knowledge (referred to as PR∨R ' ) for either non-interactive evidence that satisfies the first relationship or evidence that satisfies the second relationship, and prove the proof. The data is output to the verification device 434.

証明検証装置434は、第一対話証明検証装置405および第二対話証明検証装置408との通信結果に基づいて、証明PR∨R'の受理または不受理を表す信号を検証結果435として出力する。 The proof verification apparatus 434 outputs a signal indicating acceptance or non-acceptance of the proof PR R′R ′ as the verification result 435 based on the communication result between the first dialog proof verification apparatus 405 and the second dialog proof verification apparatus 408. .

なお、図2では、符号412を用いて共通入力X を示している。また、符号413を用いて証拠W を示している。また、符号414を用いて第一のランダムテープRPを示している。また、符号415を用いて第二のランダムテープR'P を示している。また、符号416を用いて第三のランダムテープRVおよびR'V を示している。 In FIG. 2, the common input X is indicated by reference numeral 412. In addition, the proof W is indicated by using a reference numeral 413. Further, the first random tape RP is indicated by using a reference numeral 414. Further, the second random tape R ′ P is indicated by reference numeral 415. In addition, the third random tapes R V and R ′ V are indicated by reference numeral 416.

次に、証明装置401と検証装置402とによる関係R の否認可能零知識対話証明の動作について説明する。   Next, the operation of the repudiation zero knowledge dialogue proof of the relation R 1 by the proof device 401 and the verification device 402 will be described.

まず、証明装置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 proof generation device 425 of the proof device 401.

続いて、検証装置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 proof generation device 417 of the verification device 402.

次に、第二関係証明生成装置417は、以下のようにして、第二の関係R'に関する非対話的知識の証明PR' を生成する。 Next, the second relationship proof generation device 417 generates a non-interactive knowledge proof PR ′ for the second relationship R ′ as follows.

第二関係証明生成装置417は、一様無作為に、(X',W') ∈ R' なるX',W' (第二の関係R'に関する共通入力および証拠)を、第三のランダムテープのうちのR'V を用いて生成する。 The second relationship proof generation device 417 uniformly and randomly selects X ′, W ′ (common input and evidence regarding the second relationship R ′) such that (X ′, W ′) ∈ R ′ as a third random number. generated using R 'V of the tape.

次に、第二関係証明生成装置417は、共通入力X'、証拠W'、第三のランダムテープのうちのRVを第二証明コミットメント生成装置406に送信する。第二証明コミットメント生成装置406は、関数AR’ によって、aR'=AR'(X',W', RV)として、証明コミットメントaR' を生成する。そして、第二証明コミットメント生成装置406は、証明コミットメントaR' を第二関係証明生成装置417に送信する。このときの通信を、図2では、通信418として示している。 Next, the second relationship proof generation apparatus 417, the common input X ', evidence W', and transmits the R V of the third random tape to the second proof commitment generation apparatus 406. Second proof commitment generation apparatus 406 'by, a R' function A R = A R '(X ', W ', R V) as proof commitment a R' to generate. Then, the second proof commitment generation device 406 transmits the proof commitment a R ′ to the second relationship proof generation device 417. The communication at this time is shown as communication 418 in FIG.

次に、第二関係証明生成装置417は、共通入力X'、証明コミットメントaR' をハッシュ関数の計算装置411に送信する。ハッシュ関数の計算装置411は、eR' =Hash(X',aR') としてハッシュ値を計算する。ハッシュ関数の計算装置411は、ハッシュ値eR' を第二関係証明生成装置417に送信する。このときの通信を、図2では、通信419として示している。 Next, the second relationship proof generation device 417 transmits the common input X ′ and the proof commitment a R ′ to the hash function calculation device 411. The hash function calculation device 411 calculates a hash value as e R ′ = Hash (X ′, a R ′ ). The hash function calculation device 411 transmits the hash value e R ′ to the second relationship proof generation device 417. The communication at this time is shown as communication 419 in FIG.

次に、第二関係証明生成装置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 proof generation device 417 transmits the common input X ′, the evidence W ′, the hash value e R ′ , and R V of the third random tape to the second response generation device 407. Here, the hash value e R ′ is transmitted as a challenge value. Second response generation apparatus 407 'by, z R' function Z R = Z R '(X ', W ', e R', R V) as to generate a response z R '. The second response generation device 407 transmits the response z R ′ to the second relationship proof generation device 417. The communication at this time is shown as communication 420 in FIG.

第二関係証明生成装置417は、第二の関係R'に関する非対話的知識の証明PR'を(X',aR',zR') とする。第二関係証明生成装置417は、以上のようにして生成した証明PR'=(X',aR',zR')を、第二関係証明検証装置423に送信する(図2に示す通信421)。 The second relationship proof generation device 417 sets the non-interactive knowledge proof PR ′ for the second relationship R ′ as (X ′, a R ′ , z R ′ ). The second relationship proof generation device 417 transmits the proof PR = (X ′, a R ′ , z R ′ ) generated as described above to the second relationship proof verification device 423 (shown in FIG. 2). Communication 421).

なお、第二関係証明検証装置423は、証明PR'(第二の関係R’に関する共通入力X'とその共通入力X'に対応する証拠W'の知識の非対話証明)が送信されてくるのを待ち、上記の通信421で、第二関係証明生成装置417をから証明PR'=(X',aR',zR')を受信する。 The second relationship proof verification device 423 receives the proof P R ′ (the non-dialogue proof of the knowledge of the common input X ′ relating to the second relationship R ′ and the evidence W ′ corresponding to the common input X ′). Waiting to come, the above-described communication 421 receives the proof P R ′ = (X ′, a R ′ , z R ′ ) from the second relationship proof generation device 417.

証明装置401の第二関係証明検証装置423は、以下のようにして、第二の関係R' に関する非対話的知識の証明 PR'を検証する。 The second relationship proof verification device 423 of the proof device 401 verifies the non-interactive knowledge proof PR ′ for the second relationship R ′ as follows.

第二関係証明検証装置423は、共通入力X'、証明コミットメントaR' をハッシュ関数の計算装置410に送信する。ハッシュ関数の計算装置410は、eR' = Hash(X',aR') としてハッシュ値を計算する。ハッシュ関数の計算装置410は、ハッシュ値eR'を第二関係証明検証装置423に送信する。このときの通信を、図2では、通信422として示している。 The second relationship proof verification device 423 transmits the common input X ′ and the proof commitment a R ′ to the hash function calculation device 410. The hash function calculation unit 410 calculates a hash value as e R ′ = Hash (X ′, a R ′ ). The hash function calculation device 410 transmits the hash value e R ′ to the second relationship proof verification device 423. The communication at this time is shown as communication 422 in FIG.

第二関係証明検証装置423は、共通入力X'、証明コミットメントaR' 、ハッシュ値eR'、応答zR'を第二対話証明検証装置408に送信する。ここでは、ハッシュ値eR' を挑戦値として送信する。第二対話証明検証装置408は、関数VR’ によって、VR'(X',aR',eR',zR')の計算結果を導出し、その計算結果を第二関係証明検証装置423に送信する。このときの通信を、図2では、通信424として示している。 The second relationship proof verification device 423 transmits the common input X ′, proof commitment a R ′ , hash value e R ′ , and response z R ′ to the second dialog proof verification device 408. Here, the hash value e R ′ is transmitted as a challenge value. The second dialogue proof verification device 408 derives the calculation result of V R ′ (X ′, a R ′ , e R ′ , z R ′ ) by the function V R ′ and uses the calculation result as the second relation proof verification. Transmit to device 423. The communication at this time is shown as communication 424 in FIG.

第二関係証明検証装置423は、VR'(X',aR',eR',zR')=1が成り立つか否かを判定する。成り立っていないならば、証明装置401を停止する。また、成り立っているならば、証明装置401は、次に示す動作を行う。すなわち、VR'(X',aR',eR',zR')=1が成立していれば、証明 PR'を受理とし、成立していなければ証明 PR'を不受理とする。 The second relationship proof verification device 423 determines whether V R ′ (X ′, a R ′ , e R ′ , z R ′ ) = 1 holds. If not, the proving device 401 is stopped. Further, if it is established, the proving device 401 performs the following operation. That is, if V R ′ (X ′, a R ′ , e R ′ , z R ′ ) = 1 holds, the proof PR R ′ is accepted, and if not, the proof PR R ′ is not accepted. And

証明装置401の証明生成装置425は、以下のようにして、第一の関係R を満す証拠あるいは第二の関 係R' を満す証拠の、いずれかの証拠に関する知識の非対話的知識の証明PR∨R'を生成する。 The proof generation device 425 of the proof device 401 performs non-interactive knowledge of knowledge about one of the evidences satisfying the first relation R or the evidence satisfying the second relation R ′ as follows. Proof P R∨R ' is generated.

証明生成装置425は、第二のランダムテープR'Pを用いて乱数e'R'を生成し、これを第二の関係R'に関する挑戦値とする。 The proof generation device 425 generates a random number e ′ R ′ using the second random tape R ′ P, and sets this as a challenge value for the second relationship R ′.

次に、証明生成装置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 proof generation device 425 transmits the common input X ′, the challenge value e ′ R ′ , and the second random tape R ′ P to the second relationship simulation device 409, and sends it to the second relationship simulation device 409. Generate a proof commitment a 'R' and a response z 'R' for the second relation R '. The second relation simulator 409 derives (a ′ R ′ , z ′ R ′ ) = S R ′ (X ′, e ′ R ′ , R ′ P ) by the function S R ′ , and proves the proof commitment a ′. R ′ and response z ′ R ′ are transmitted to the proof generation device 425. The communication at this time is shown as communication 426 in FIG.

次に、証明生成装置425は、共通入力X 、証拠W 、および第一のランダムテープRPを第一証明コミットメント生成装置403に送信する。第一証明コミットメント生成装置403は、関数ARによって、aR=AR(X,W,RP)として、証明コミットメントaRを生成し、証明生成装置425に送信する。このときの通信を、図2では、通信427として示している。 Next, the proof generation device 425 transmits the common input X 1, the evidence W 2, and the first random tape RP to the first proof commitment generation device 403. The first proof commitment generation apparatus 403, by the function A R, a R = A R (X, W, R P) as to generate a proof commitment a R, and transmits the certificate generation unit 425. The communication at this time is shown as communication 427 in FIG.

次に、証明生成装置425は、第一の関係R に関する共通入力X 、証明コミットメントaR、第二の関係R'に関する共通入力X'、証明コミットメントa'R'を、ハッシュ関数の計算装置410に送信する。ハッシュ関数の計算装置410は、e = Hash(X,aR,X',a'R')としてハッシュ値e を計算し、そのハッシュ値を証明生成装置425に送信する。このときの通信を、図2では、通信428として示している。 Next, the proof generation device 425 uses the common input X relating to the first relationship R, the proof commitment a R , the common input X ′ relating to the second relationship R ′, and the proof commitment a ′ R ′ to the hash function calculation device 410. Send to. The hash function calculation unit 410 calculates a hash value e as e = Hash (X, a R , X ′, a ′ R ′ ), and transmits the hash value to the proof generation unit 425. The communication at this time is shown as communication 428 in FIG.

次に、証明生成装置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 proof generation device 425 calculates a challenge value e R as e R = e ∨ e ′ R ′ . The proof generation device 425 transmits the common input X, the evidence W, the challenge value e R , and the first random tape RP to the first response generation device 404 to generate a response z R. The first response generation apparatus 404, by the function Z R, z R = Z R (X, W, e R, R P) as to generate a response z R, and transmits a response z R to proof generation apparatus 425. The communication at this time is shown as communication 429 in FIG.

証明生成装置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 proof generation device 425 generates the proof PR ∨R ′ = (a R , e R , z R , a ′ R ′ , e ′ R ′ , z ′ R ′ ) generated as described above, and the verification device 402. To the proof verification device 434 (communication 429 shown in FIG. 2).

証明検証装置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 proof verification device 434 transmits the common input X (the common input X input to the verification device 402), the proof commitment a R , the common input X ′, and the proof commitment a ′ R ′ to the hash function calculation device 411. Let the hash value be calculated. The hash function calculation device 411 derives the calculation result of Hash (X, a R , X ′, a ′ R ′ ), and transmits the calculation result (hash value) to the proof verification device 434. The communication at this time is shown as communication 430 in FIG. Then, the proof verification device 434 determines whether the calculation result of Hash (X, a R , X ′, a ′ R ′ ) is equal to e R ∨ e ′ R ′ .

次に、証明検証装置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 proof verification device 434 transmits the common input X, the proof commitment a R , the challenge value e R , and the response z R to the first dialog proof verification device 405. The first dialog proof verification device 405 derives the calculation result of V R (X, a R , e R , z R ) by the function V R and transmits the calculation result to the proof verification device 434. The communication at this time is shown as communication 432 in FIG. The certification verification device 434 determines whether or not V R (X, a R , e R , z R ) = 1 holds.

次に、証明検証装置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 proof verification device 434 transmits the common input X ′, the proof commitment a ′ R ′ , the challenge value e ′ R ′ , and the response z ′ R ′ to the second dialog proof verification device 408. The second dialog proof verification device 408 derives the calculation result of V R ′ (X ′, a ′ R ′ , e ′ R ′ , z ′ R ′ ) by the function V R ′ and proves the calculation result. To the device 434. The communication at this time is shown as communication 431 in FIG. The proof verification apparatus 434 determines whether V R ′ (X ′, a ′ R ′ , e ′ R ′ , z ′ R ′ ) = 1 holds.

証明検証装置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 proof verification device 434 determines that when all the above determinations are satisfied, that is, Hash (X, a R , X ′, a ′ R ′ ) = e R ∨ e ′ R ′ , V R (X, a When R 1 , e R , z R ) = 1 and V R ′ (X ′, a ′ R ′ , e ′ R ′ , z ′ R ′ ) = 1 are all satisfied, the verification result is “1”. It outputs as 435. In other cases, the proof verification apparatus 434 outputs “0” as the verification result 435. The above “1” represents acceptance of the proof P R∨R ′ . Also, the above “0” indicates that the proof PR PR ' is not accepted.

第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 verification device 402 to the certification device 401 can be reduced, and the amount of communication and the amount of calculation can be suppressed. For example, in the related art 1 shown in FIG. 4, 2t c [1, i] and c [2, i] are transmitted from the verification device to the certification device. On the other hand, in the second embodiment, the verification device 402 only transmits the certification PR to the certification device 401. Thus, according to the present invention, it is possible to reduce the amount of communication and the amount of calculation.

第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 proof verification device 423 of the proof device 402. Further, the common input receiving means, random tape input means, evidence knowledge non-dialogue proof generation means, and non-dialogue proof transmission means included in the proof device are realized by a proof generation device 425 of the proof device 402.

そして、検証装置が備える共通入力入力手段、ランダムテープ入力手段、共通入力等生成手段、証拠知識非対話証明生成手段、非対話証明送信手段は、検証装置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 proof generation device 417 of the verification device 402. Is done. Further, the non-interactive certificate receiving means and the determining means provided in the verification device are realized by the proof verification device 434 of the verification device 402.

本発明によれば、特別正直検証者零知識対話証明が存在すれば否認可能零知識対話証明を行なうことが可能であり、特にその計算量と通信量に関する効率を従来技術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 verification apparatus 501 shown in FIG. 3 corresponds to the verification apparatus 401 in the second embodiment, and a verification apparatus 502 in FIG. 3 corresponds to the verification apparatus 402 in the second embodiment.

証明装置501は、第二の関係に関する非対話的知識の証明検証装置523(以下、第二関係証明検証装置523と記す。)と、非対話的な、第一の関係を満たす証拠、あるいは第二の関係を満たす証拠のいずれかの証拠の知識の証明生成装置525(以下、証明生成装置525と記す。)とを備える。これらは、それぞれ、第二の実施の形態における証明検証装置423、証明生成装置425に相当する。   The proof device 501 is a non-interactive knowledge proof verification device 523 (hereinafter referred to as a second relationship proof verification device 523) related to the second relationship, non-interactive evidence that satisfies the first relationship, A proof generation device 525 (hereinafter referred to as a proof generation device 525) for knowledge of any of the evidences satisfying the second relationship. These correspond to the proof verification device 423 and the proof generation device 425 in the second embodiment, respectively.

検証装置502は、第二の関係に関する非対話的知識の証明生成装置517(以下、第二関係証明生成装置517と記す。)と、非対話的な、第一の関係を満たす知識、あるいは第二の関係を満たす知識のいずれかの知識の証明検証装置534(以下、証明検証装置534と記す。)とを備える。これらは、それぞれ、第二の実施の形態における第二関係証明生成装置417、証明検証装置434に相当する。   The verification device 502 includes a non-interactive knowledge proof generation device 517 (hereinafter referred to as a second relationship proof generation device 517) related to the second relationship, and non-interactive knowledge satisfying the first relationship, A knowledge proof verification device 534 (hereinafter, referred to as a proof verification device 534) of knowledge satisfying the second relationship. These correspond to the second relationship proof generation device 417 and the proof verification device 434 in the second embodiment, respectively.

また、図3に示すハッシュ関数の計算装置510,511は、それぞれ第2の実施の形態におけるハッシュ関数の計算装置410,411に相当する。   Also, hash function calculation devices 510 and 511 shown in FIG. 3 correspond to the hash function calculation devices 410 and 411 in the second embodiment, respectively.

また、図3では、符号512を用いて共通入力X を示している。また、符号513を用いて証拠W を示している。また、符号514を用いて第一のランダムテープRPを示している。また、符号515を用いて第二のランダムテープR'P を示している。また、符号516を用いて第三のランダムテープRVおよびR'V を示している。 In FIG. 3, the common input X is indicated by reference numeral 512. Also, the evidence W is indicated by using a reference numeral 513. Further, the first random tape RP is indicated by using a reference numeral 514. Further, the second random tape R ′ P is indicated by reference numeral 515. Further, the third random tape R V and R ′ V are indicated by using reference numeral 516.

本実施例では、第一の関係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 commitment generation device 403 and the second proof commitment generation device 406 in the second embodiment are realized by the same device. This device is a proof commitment generation device 503 (hereinafter referred to as a proof commitment generation device 503) of the special honest verifier zero knowledge dialogue proof relating to the discrete logarithmic relationship shown in FIG. The proof commitment generation device 503 generates a proof commitment by the function A R.

同様に、本実施例では、第2の実施の形態における第一応答生成装置404および第二応答生成装置407を、同一の装置で実現している。この装置は、図3に示す離散対数の関係に関する特別正直検証者零知識対話証明の応答生成装置504(以下、応答生成装置504と記す。)である。応答生成装置504は、関数ZRによって、応答を生成する。 Similarly, in the present example, the first response generation device 404 and the second response generation device 407 in the second embodiment are realized by the same device. This apparatus is a special honest verifier zero knowledge dialogue proof response generation apparatus 504 (hereinafter referred to as a response generation apparatus 504) related to the relationship of discrete logarithms shown in FIG. The response generation device 504 generates a response with the function Z R.

同様に、本実施例では、第2の実施の形態における第一対話証明検証装置405および第二対話証明検証装置408を、同一の装置で実現している。この装置は、図3に示す離散対数の関係に関する特別正直検証者零知識対話証明の検証装置505(以下、対話証明検証装置505と記す。)である。対話証明検証装置505は、関数VRによって、検証結果を導出する。 Similarly, in the present embodiment, the first dialog proof verification device 405 and the second dialog proof verification device 408 in the second embodiment are realized by the same device. This device is a special honest verifier zero knowledge dialogue proof verification device 505 (hereinafter referred to as a dialogue proof verification device 505) related to the relationship of discrete logarithms shown in FIG. Interactive proof verification apparatus 505, by the function V R, to derive the verification result.

また、図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 relationship simulation device 409 in the second embodiment. To do. The simulator 509 uses the function S R ′ to generate a proof commitment and a response.

以下に本実施例における関数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 proof generation device 525 of the proof device 501.

続いて、検証装置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 proof generation device 517 of the verification device 502.

次に、第二関係証明生成装置517は、以下のようにして、離散対数の関係に関する非対話的知識の証明PRを生成する。 Next, the second relationship proof generation apparatus 517, as described below, to generate a proof P R of the non-interactive knowledge about the relationship of the discrete logarithm.

第二関係証明生成装置517は、一様無作為に、(X',W') ∈R' なるX',W' を、第三のランダムテープのうちのR'V を用いて生成する。 The second relationship proof generation device 517 generates X ′, W ′ such that (X ′, W ′) ∈ R ′ uniformly and randomly using R ′ V of the third random tape.

次に、第二関係証明生成装置517は、共通入力X'、証拠W'、第三のランダムテープのうちのRVを証明コミットメント生成装置503に送信する。証明コミットメント生成装置503は、関数ARによって、αR= AR(X',W', RV)として、証明コミットメントαR を生成する。そして、証明コミットメント生成装置503は、証明コミットメントαR を第二関係証明生成装置517に送信する。このときの通信を、図3では、通信518として示している。 Next, the second relationship proof generation device 517 transmits the common input X ′, the evidence W ′, and R V among the third random tapes to the proof commitment generation device 503. Proof commitment generation apparatus 503, by the function A R, α R = A R (X ', W', R V) as to generate a proof commitment alpha R. Then, the proof commitment generation device 503 transmits the proof commitment α R to the second relationship proof generation device 517. The communication at this time is shown as communication 518 in FIG.

次に、第二関係証明生成装置517は、共通入力X'、証明コミットメントαR をハッシュ関数の計算装置511に送信する。ハッシュ関数の計算装置511は、εR=Hash(X', αR)としてハッシュ値を計算する。ハッシュ関数の計算装置511は、ハッシュ値εR を第二関係証明生成装置517に送信する。このときの通信を、図3では、通信519として示している。 Next, the second relationship proof generation device 517 transmits the common input X ′ and the proof commitment α R to the hash function calculation device 511. The hash function calculation device 511 calculates a hash value as ε R = Hash (X ′, α R ). The hash function calculation device 511 transmits the hash value ε R to the second relationship proof generation device 517. The communication at this time is shown as communication 519 in FIG.

次に、第二関係証明生成装置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 proof generation device 517 transmits the common input X ′, the evidence W ′, the hash value ε R , and R V of the third random tape to the response generation device 504. Here, the hash value ε R is transmitted as a challenge value. Response generation apparatus 504, by the function Z R, ζ R = Z R (X ', W', ε R, R V) as to generate a response zeta R. The response generation device 504 transmits the response ζ R to the second relationship proof generation device 517. The communication at this time is shown as communication 520 in FIG.

第二関係証明生成装置517は、離散対数の関係に関する非対話的知識の証明PRを(X',εRR)とする。第二関係証明生成装置517は、以上のようにして生成した証明 PR=(X',εRR)を、第二関係証明検証装置523に送信する(図3に示す通信521)。 Second relationship proof generation apparatus 517, the certificate P R of the non-interactive knowledge about the relationship of the discrete logarithm (X ', ε R, ζ R) and. The second relationship proof generation device 517 transmits the proof P R = (X ′, ε R , ζ R ) generated as described above to the second relationship proof verification device 523 (communication 521 shown in FIG. 3). .

なお、第二関係証明検証装置523は、証明PRが送信されてくるのを待ち、上記の通信521で、第二関係証明生成装置517から証明 PR=(X',εRR)を受信する。 Incidentally, the second relationship proof verification apparatus 523 waits for the certificate P R is transmitted, by the communication 521, = second relationship proof generation apparatus 517 certificate from P R (X ', ε R , ζ R ).

証明装置501の第二関係証明検証装置523は、以下のようにして、離散対数の関係に関する非対話的知識の証明PRを検証する。 Second relationship proof verification apparatus 523 of the proving apparatus 501, as described below, to verify the certificate P R of the non-interactive knowledge about the relationship of the discrete logarithm.

第二関係証明検証装置523は、共通入力X'、証明コミットメントαR をハッシュ関数の計算装置510に送信する。ハッシュ関数の計算装置510は、ε'R = Hash(X', αR)としてハッシュ値を計算する。ハッシュ関数の計算装置510は、ハッシュ値ε'Rを第二関係証明検証装置523に送信する。このときの通信を、図3では、通信522として示している。 The second relationship proof verification device 523 transmits the common input X ′ and the proof commitment α R to the hash function calculation device 510. The hash function calculation device 510 calculates a hash value as ε ′ R = Hash (X ′, α R ). The hash function calculation device 510 transmits the hash value ε ′ R to the second relationship proof verification device 523. The communication at this time is shown as communication 522 in FIG.

第二関係証明検証装置523は、共通入力X'、証明コミットメントαR 、ハッシュ値ε'R、応答ζR を対話証明検証装置505に送信する。ここでは、ハッシュ値ε'Rを挑戦値として送信する。対話証明検証装置505は、関数VRによって、VR(X',αR,ε'R, ζR)の計算結果を導出し、その計算結果を第二関係証明検証装置523に送信する。このときの通信を、図3では、通信524として示している。 The second relationship proof verification device 523 transmits the common input X ′, the proof commitment α R , the hash value ε ′ R , and the response ζ R to the dialogue proof verification device 505. Here, the hash value ε ′ R is transmitted as a challenge value. The dialogue proof verification device 505 derives the calculation result of V R (X ′, α R , ε ′ R , ζ R ) by the function V R and transmits the calculation result to the second relationship proof verification device 523. The communication at this time is shown as communication 524 in FIG.

第二関係証明検証装置523は、VR(X',αR,ε'R, ζR)=1が成り立つか否かを判定する。成り立っていないならば、証明装置501を停止する。また、成り立っているならば、証明装置501は、次に示す動作を行う。すなわち、VR(X',αR,ε'R, ζR)=1が成立していれば、証明PRを受理とし、成立していなければ証明PRを不受理とする。 The second relationship proof verification device 523 determines whether V R (X ′, α R , ε ′ R , ζ R ) = 1 holds. If not, the proving device 501 is stopped. Further, if it is established, the proving apparatus 501 performs the following operation. That, V R (X ', α R, ε' R, ζ R) = long as it 1 is established, the certificate P R and acceptance, and not accept the certificate P R if not satisfied.

証明装置501の証明生成装置525は、以下のようにして、X に関して離散対数の関係を満す証拠あるいはX'に関して離散対数の関係を満す証拠の、いずれかの証拠に関する知識の非対話的知識の証明 PR(X)∨R(X') を生成する。 The proof generation device 525 of the proof device 501 performs non-interactive knowledge of knowledge about either evidence of evidence satisfying a discrete logarithmic relationship with respect to X or evidence satisfying a discrete logarithmic relationship with respect to X ′ as follows: Proof of knowledge P R (X) ∨R (X ') is generated.

証明生成装置525は、第二のランダムテープR'P を用いて乱数e'Rを生成し、これを挑戦値とする。 The proof generation device 525 generates a random number e ′ R using the second random tape R ′ P, and sets this as a challenge value.

次に、証明生成装置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 proof generation device 525 transmits the common input X ′, the challenge value e ′ R , and the second random tape R ′ P to the simulation device 509, and the proof commitment a ′ R and the response z are transmitted to the simulation device 509. 'Generate R. The simulation device 509 derives (a ′ R , z ′ R ) = S R ′ (X ′, e ′ R , R ′ P ) by the function S R ′ , and proves the commitment a ′ R and the response z ′ R. Is transmitted to the proof generation device 525. The communication at this time is shown as communication 526 in FIG.

次に、証明生成装置525は、共通入力X 、証拠W 、および第一のランダムテープRPを証明コミットメント生成装置503に送信する。証明コミットメント生成装置503は、関数ARによって、aR=AR(X,W,RP)として、証明コミットメントaRを生成し、証明生成装置525に送信する。このときの通信を、図3では、通信527として示している。 Next, the proof generation device 525 transmits the common input X 1, the evidence W 2, and the first random tape RP to the proof commitment generation device 503. Proof commitment generation apparatus 503, by the function A R, a R = A R (X, W, R P) as to generate a proof commitment a R, and transmits the certificate generation unit 525. The communication at this time is shown as communication 527 in FIG.

次に、証明生成装置525は、共通入力X 、証明コミットメントaR、共通入力X'、証明コミットメントa'Rを、ハッシュ関数の計算装置510に送信する。ハッシュ関数の計算装置510は、e = Hash(X,aR,X',a'R) としてハッシュ値e を計算し、そのハッシュ値を証明生成装置525に送信する。このときの通信を、図3では、通信528として示している。 Next, the proof generation device 525 transmits the common input X, the proof commitment a R , the common input X ′, and the proof commitment a ′ R to the hash function calculation device 510. The hash function calculation device 510 calculates a hash value e as e = Hash (X, a R , X ′, a ′ R ), and transmits the hash value to the proof generation device 525. The communication at this time is shown as communication 528 in FIG.

次に、証明生成装置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 proof generation device 525 calculates the challenge value e R as e R = e∨e ′ R. The proof generation device 525 transmits the common input X, the evidence W, the challenge value e R , and the first random tape RP to the response generation device 504 to generate a response z R. Response generation apparatus 504, by the function Z R, z R = Z R (X, W, e R, R P) as to generate a response z R, and transmits a response z R to proof generation apparatus 525. The communication at this time is shown as communication 529 in FIG.

証明生成装置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 proof generation device 525 proves the non-interactive knowledge of the knowledge about the evidence P R (X) ∨R , either the evidence satisfying the discrete logarithmic relationship with respect to X or the evidence satisfying the discrete logarithmic relationship with respect to X ′. Let (X ′) be (a R , e R , z R , a ′ R , e ′ R , z ′ R ). The proof generation device 525 generates the proof PR (X) ∨R (X ′) = (a R , e R , z R , a ′ R , e ′ R , z ′ R ) generated as described above, It transmits to the proof verification apparatus 534 of the verification apparatus 502 (communication 529 shown in FIG. 3).

証明検証装置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 proof verification device 534 transmits the common input X, the proof commitment a R , the common input X ′, and the proof commitment a ′ R to the hash function calculation device 511 to calculate a hash value. The hash function calculation device 511 derives the calculation result of Hash (X, a R , X ′, a ′ R ), and transmits the calculation result (hash value) to the proof verification device 534. The communication at this time is shown as communication 530 in FIG. Then, the proof verification apparatus 534 determines whether or not the calculation result of Hash (X, a R , X ′, a ′ R ) is equal to e R ∨ e ′ R.

次に、証明検証装置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 proof verification device 534 transmits the common input X, the proof commitment a R , the challenge value e R , and the response z R to the dialog proof verification device 505. The dialogue proof verification apparatus 505 derives the calculation result of V R (X, a R , e R , z R ) by the function V R and transmits the calculation result to the proof verification apparatus 534. The communication at this time is shown as communication 532 in FIG. The certification verification device 534 determines whether V R (X, a R , e R , z R ) = 1 is satisfied.

次に、証明検証装置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 proof verification device 534 transmits the common input X ′, the proof commitment a ′ R , the challenge value e ′ R , and the response z ′ R to the dialog proof verification device 505. The dialogue proof verification apparatus 505 derives the calculation result of V R (X ′, a ′ R , e ′ R , z ′ R ) by the function V R and transmits the calculation result to the proof verification apparatus 534. The communication at this time is shown as communication 531 in FIG. The proof verification apparatus 534 determines whether V R (X ′, a ′ R , e ′ R , z ′ R ) = 1 holds.

証明検証装置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 proof verification device 534 determines that all of the above determinations are satisfied, that is, Hash (X, a R , X ′, a ′ R ) = e R ∨ e ′ R , V R (X, a R , When all of e R , z R ) = 1 and V R (X ′, a ′ R , e ′ R , z ′ R ) = 1 are satisfied, “1” is output as the verification result 535. In other cases, the certification verification apparatus 534 outputs “0” as the verification result 535. The above “1” indicates that the proof PR (X) ∨R (X ′) is accepted. In addition, the above “0” indicates that the proof PR (X) ∨R (X ′) is not accepted.

本発明は、例えば、否認不可署名の否認プロトコル、 否認不可署名の確認プロトコル、否認可能認証等に使われる否認可能零知識対話証明に適用可能である。   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 SYMBOLS 301 Proving device 302 Verification device 303 Proof commitment generation device 304 Response generation device 305 Dialogue proof verification device 310, 311 Hash function calculation device 312 Challenge value commitment generation device 324 Challenge value commitment verification device 330 Proof generation device 340 Proof verification device

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.
請求項1または請求項2に記載の証明装置と通信可能に接続される検証装置であって、
第一の関係に関する共通入力と証明コミットメントと挑戦値と応答とに基づいて、第一の関係に関する特別正直検証者零知識対話証明の受理を表す信号または不受理を表す信号を出力する第一対話証明検証装置と通信可能に接続され、
第二の関係に関する共通入力と証明コミットメントと挑戦値と応答とに基づいて、第二の関係に関する特別正直検証者零知識対話証明の受理を表す信号または不受理を表す信号を出力する第二対話証明検証装置と通信可能に接続され、
第二の関係に関する共通入力および証拠とランダムテープとに基づいて、第二の関係に関する特別正直検証者零知識対話証明の証明のコミットメントを生成する第二証明コミットメント生成装置と通信可能に接続され、
第二の関係に関する共通入力および証拠とランダムテープと挑戦値とに基づいて、第二の関係に関する特別正直検証者零知識対話証明の応答を生成する第二応答生成装置と通信可能に接続され、
ハッシュ関数の計算を行うハッシュ関数の計算装置と通信可能に接続され、
第一の関係に関する共通入力が入力される共通入力入力手段と、
第三のランダムテープとしてランダムテープ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.
JP2012004225A 2012-01-12 2012-01-12 Proof device and verification device applied to non-repudiation zero knowledge dialogue proof Expired - Fee Related JP5321696B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11252070A (en) * 1998-03-02 1999-09-17 Kdd Corp User authentication method

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