JP4769147B2 - Batch proof verification method, proof device, verification device, batch proof verification system and program - Google Patents

Batch proof verification method, proof device, verification device, batch proof verification system and program Download PDF

Info

Publication number
JP4769147B2
JP4769147B2 JP2006231221A JP2006231221A JP4769147B2 JP 4769147 B2 JP4769147 B2 JP 4769147B2 JP 2006231221 A JP2006231221 A JP 2006231221A JP 2006231221 A JP2006231221 A JP 2006231221A JP 4769147 B2 JP4769147 B2 JP 4769147B2
Authority
JP
Japan
Prior art keywords
unit
integer
operation unit
verification
random number
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
JP2006231221A
Other languages
Japanese (ja)
Other versions
JP2008054240A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2006231221A priority Critical patent/JP4769147B2/en
Publication of JP2008054240A publication Critical patent/JP2008054240A/en
Application granted granted Critical
Publication of JP4769147B2 publication Critical patent/JP4769147B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報セキュリティ技術分野における零知識証明技術に関するものである。   The present invention relates to zero knowledge proof technology in the field of information security technology.

零知識証明とは、証明者とその検証者の間で、証明者が秘密情報(知識)を一切漏らさずに,秘密情報(あるいは、命題など)を知っていることを検証者に納得させる(証明する)方法である。   Zero-knowledge proof convinces the verifier that the prover knows the secret information (or proposition, etc.) without leaking any secret information (knowledge) between the prover and the verifier ( Proof).

零知識証明技術の応用として、複数の問題の零知識証明を個々に扱うよりも計算コスト、通信コストの削減が見込めるバッチ証明が知られている。例えば、バッチ証明(Batch Proof)(例えば、非特許文献1参照)や、複数の問題の零知識証明の検証を個々に扱うよりも計算コストの削減が見込めるバッチ検証(Batch Verification)(例えば、非特許文献2参照)が広く知られている。   As an application of the zero-knowledge proof technique, batch proof that can reduce the calculation cost and communication cost is known rather than handling the zero-knowledge proof of multiple problems individually. For example, batch proof (Batch Proof) (for example, see Non-Patent Document 1) and batch verification (for example, non-patent document 1) that can be expected to reduce the calculation cost rather than individually handling verification of zero knowledge proofs of multiple problems. Patent Document 2) is widely known.

以下に、零知識証明技術に関する各々の技術について、知識の証明を例に概説する。   In the following, each technique related to the zero-knowledge proof technique is outlined by taking knowledge proof as an example.

先ず、知識の証明では、ある位数qの有限群Gの元P,元Q=wPに対して(wは0以上q未満の整数)、証明者はwを知っていることを検証者に証明する。   First, in the proof of knowledge, for an element P and element Q = wP of a finite group G of some order q (w is an integer of 0 or more and less than q), the prover knows that w is known. Prove it.

この前提の下に、以下のような動作検証1を行う。   Under this assumption, the following operation verification 1 is performed.

[証明検証1]
まず、証明者は0以上q未満の整数rをランダムに選び、X=rPを計算してXを検証者に送る(第1段階)。
[Proof verification 1]
First, the prover randomly selects an integer r greater than or equal to 0 and less than q, calculates X = rP, and sends X to the verifier (first stage).

続いて、検証者は1以上2t以下の整数cをランダムに選び、それを証明者に送る。ここでtはあるセキュリティパラメータ(第2段階)。 Subsequently, the verifier randomly selects an integer c between 1 and 2 t and sends it to the prover. Here, t is a certain security parameter (second stage).

続いて、証明者はs=(r−cw)mod qを計算してそれを検証者に送る(第3段階)。   Subsequently, the prover calculates s = (r−cw) mod q and sends it to the verifier (third stage).

そして、検証者はX=sP+cQが成り立つか確認し、成り立つ場合は証明者がwを知っていると判断する(第4段階)。   Then, the verifier confirms whether X = sP + cQ is satisfied, and if it is satisfied, determines that the prover knows w (step 4).

次に、バッチ証明について説明する。知識の証明をバッチ証明で行う場合、ある位数qの有限群Gの元P,Pi=wiPに対して(i=1,...,n,wiは0以上q未満の整数)、証明者はwi(i=1,...,n)を知っていることを以下のバッチ証明検証2の手順で検証者に証明する。 Next, batch certification will be described. When proof of knowledge is performed by batch proof, for an element P, P i = w i P of a finite group G of a certain order q (i = 1,..., N, w i is 0 or more and less than q) Integer), the prover proves to the verifier by the following procedure of batch proof verification 2 that w i (i = 1,..., N) is known.

[バッチ証明検証2]
バッチ証明検証2は、次の通り。
[Batch proof verification 2]
Batch certification verification 2 is as follows.

まず、証明者は0以上q未満の整数rをランダムに選び、X=rPを計算してXを検証者に送る(第1段階)。   First, the prover randomly selects an integer r greater than or equal to 0 and less than q, calculates X = rP, and sends X to the verifier (first stage).

続いて、検証者は1以上2t以下の整数eをランダムに選び、それを証明者に送る(第2段階)。ここでtはあるセキュリティパラメータである。 Subsequently, the verifier randomly selects an integer e of 1 to 2 t and sends it to the prover (second stage). Here, t is a certain security parameter.

続いて、証明者は、s=(r−Σiii)mod qを計算してそれを検証者に送る(第3段階)。 Subsequently, the prover is to calculate the s = (r-Σ i w i e i) mod q and sends it to the verifier (third stage).

そして、検証者は、X=sP+Σiiiが成り立つか確認し、成り立つ場合は証明者がwiを知っていると判断する(第4段階)。 Then, the verifier, X = sP + Σ i e i P i is whether to confirm holds, if the true prover is determined to know the w i (fourth stage).

以上の手順によって、知識の証明を単純にn回繰り返す場合は、G上のスカラー倍演算を証明者がn回、検証者が2n回行う必要があるが、バッチ証明の場合は、証明者が1回、検証者がn+1回で済む。   When the proof of knowledge is simply repeated n times by the above procedure, the prover needs to perform the scalar multiplication on G n times and the verifier 2n times. In the case of batch proof, Once, the verifier needs n + 1 times.

次に、バッチ検証を説明するための準備として、知識の証明を非対話で行う方法について説明する。   Next, as a preparation for explaining batch verification, a method of performing knowledge proof in a non-interactive manner will be described.

[証明検証3]
まず、証明者は以下の手続きを行う(第1段階)。
[Proof Verification 3]
First, the prover performs the following procedure (first stage).

手続き1として、0以上q未満の整数rをランダムに選び、X=rPを計算する。   As procedure 1, an integer r of 0 or more and less than q is selected at random, and X = rP is calculated.

手続き2として、c=H(P‖Q‖X)を計算する。ここで、Hは任意入力に対して1以上2t以下の整数を出力する一方向ハッシュ関数である。 As procedure 2, c = H (P‖Q‖X) is calculated. Here, H is a one-way hash function that outputs an integer of 1 to 2 t with respect to an arbitrary input.

手続き3として、s=(r−cw)mod qを計算し、(X,s)を公開する。   As procedure 3, s = (r−cw) mod q is calculated and (X, s) is disclosed.

そして、検証者は公開情報(G,q,P,Q,X,s)を用いて、c’=H(P‖Q‖X)を計算し、X=sP+c’Qが成り立つか確認し、成り立つ場合は証明者がwを知っていると判断する(第2段階)。   Then, the verifier uses the public information (G, q, P, Q, X, s) to calculate c ′ = H (P‖Q) X), and confirms that X = sP + c′Q holds. If true, it is determined that the prover knows w (second stage).

上記の非対話の知識の証明に基づき、以下でバッチ検証について説明する。   Based on the above proof of non-interactive knowledge, batch verification is described below.

検証者は、ある位数qの有限群Gの元Qi,Ri=wiiに対して(i=1,...,n,wiは0以上q未満の整数)、n組の非対話の知識の証明(Xi,si)(i=1,...,n)を検証することを前提に以下のバッチ検証4を行う。 For the verifier Q i , R i = w i Q i of a finite group G of order q (where i = 1,..., N, w i is an integer greater than or equal to 0 and less than q), n The following batch verification 4 is performed on the premise that verification (X i , s i ) (i = 1,..., N) of non-dialogue knowledge of a set is verified.

[バッチ検証4]
まず、c’i=H(Qi‖Ri‖Xi)を計算する(第1段階)。
[Batch verification 4]
First, c ′ i = H (Q i ‖R i ‖X i ) is calculated (first stage).

そして、n個の1以上2t以下の整数eiをランダムに選び(ここでtはあるセキュリティパラメータ)、Σii(sii+c’ii−Xi)=0が成り立つか確認し、成り立つ場合は全ての(Qi,Ri,Xi,si)について証明者がwiを知っていると判断する(第2段階)。 Then, n integers e i of 1 to 2 t are selected at random (where t is a security parameter), and Σ i e i (s i Q i + c ′ i R i −X i ) = 0 holds. If it holds, it is determined that the prover knows w i for all (Q i , R i , X i , s i ) (second stage).

これにより、知識の証明を単純にn回繰り返す場合は、検証者はn個の検証式を計算する必要があるが、バッチ検証の場合は1個の検証式で済み、この検証式削減によって計算コストを削減できる方法がいくつか知られている。   Thus, when the proof of knowledge is simply repeated n times, the verifier needs to calculate n verification expressions, but in the case of batch verification, only one verification expression is required. Several methods are known that can reduce costs.

また、非対話の知識の証明及び検証方法として以下が知られている。   Further, the following methods are known as proof and verification methods for non-interactive knowledge.

[証明検証5]
まず、証明者は以下の手続きを行う(第1段階)。
[Proof Verification 5]
First, the prover performs the following procedure (first stage).

手続き1は、0以上q未満の整数rをランダムに選び、X=rPを計算する。   Procedure 1 randomly selects an integer r greater than or equal to 0 and less than q, and calculates X = rP.

手続き2は、c=H(P‖Q‖X)を計算する。   Procedure 2 calculates c = H (P‖Q‖X).

手続き3は、s=(r−cw)mod qを計算し、(c,s)を公開する。   Procedure 3 calculates s = (r−cw) mod q and discloses (c, s).

そして、検証者は公開情報(G,q,P,Q,c,s)を用いて、X’=sP+cQを計算し、c=H(P‖Q‖X’)が成り立つか確認し、成り立つ場合は証明者がwを知っていると判断する(第2段階)。   Then, the verifier calculates X ′ = sP + cQ using the public information (G, q, P, Q, c, s), and confirms that c = H (P‖Q‖X ′) holds. In this case, it is determined that the prover knows w (second stage).

これにより、Xのデータ長よりもcのデータ長が短い場合は、通信データ長を削減できる。   Thereby, when the data length of c is shorter than the data length of X, the communication data length can be reduced.

なお、関連技術として、非対話で零知識証明をバッチ処理する方法(例えば、非特許文献3)も知られている。
R.Gennaro,D.Leigh,R.Sundaram,and W.Yerazunis,“Batching Schnorr Identification Scheme with Applications to Privacy−Preserving Authorization and Low−Bandwidth Communication Devices”,ASIACRYPT 2004,2004,PP.276−292. D.M’Raihi and D.Naccache,“Batch exponentiation−A fast DLP based signature generation strategy” ,3rd ACM CCS,ACM,1996,PP.58−61. B.Schoenmakers and P.Tuyls,”Practical two−party computation based on the conditional gate”,Advances in Cryptogy − ASIACRYPT 2004,LNCS 3329,Springer−Verlag,2004,PP.119−136.
As a related technique, a method (for example, Non-Patent Document 3) that batch-processes zero knowledge proofs in a non-interactive manner is also known.
R. Gennaro, D.M. Leigh, R.A. Sundaram, and W.M. Yerazanis, “Batching Schnorr Identification Scheme with Applications to Privacy-Preserving Authentication Devices and Low-Bandwidth Communication Devices”, ASIA CRYPT. 276-292. D. M'Raihi and D.M. Naccache, “Batch explosion-A fast DLP based signature generation strategy”, 3rd ACM CCS, ACM, 1996, PP. 58-61. B. Schonmarkers and P.M. Tuyls, “Practical two-particulation based on the conditional gate”, Advances in Cryptography—ASIA CRYPT 2004, LNCS 3329, Springer-Verlag, 2004. 119-136.

上述のバッチ検証4の入力であるn組の知識の証明は、i=1,...,nについてQiが異なれば、単純には、上述のバッチ証明検証2の技術を適用できない。 The proof of the n sets of knowledge that is the input of the batch verification 4 is i = 1,. . . , Different Q i for n, simply can not be applied to batch certification verification 2 of the techniques described above.

また、上述の証明検証5の性質から、単純に、バッチ検証4の技術を証明検証5に適用することもできない。   Further, due to the nature of the proof verification 5 described above, the technique of the batch verification 4 cannot be simply applied to the proof verification 5.

即ち、ある位数qの有限群Gの元Pi、元Xi=siiに対して(i=1,...,n;siは0以上q未満の整数)、証明者がsiの知識を検証者に証明する場合、上述の証明検証5で示した方法を単純にn回繰り返す従来方法の場合は、証明者は証明に必要な情報Xをn個求め、全体で2n個の整数を検証者に送る必要があった。 That is, for an element P i and element X i = s i P i of a finite group G of order q (i = 1,..., N; s i is an integer of 0 to less than q), a prover In the case of the conventional method in which the method shown in the above proof verification 5 is simply repeated n times when the knowledge of s i is proved to the verifier, the prover obtains n pieces of information X necessary for the proof, It was necessary to send 2n integers to the verifier.

そのため、上述のバッチ検証4の入力のように、複数の異なる基底を用いた零知識証明において、単純にn回零知識証明を繰り返すよりも計算コスト、通信コストを小さくする方法を必要とする。   Therefore, as in the input of the batch verification 4 described above, in the zero knowledge proof using a plurality of different bases, a method for reducing the calculation cost and the communication cost is required rather than simply repeating the zero knowledge proof n times.

本発明は、前記課題に基づいてなされたものであって、複数の異なる基底を用いた零知識証明に対して、効率の良いバッチ処理を行うバッチ証明検証方法,証明装置,検証装置,バッチ証明検証システム並びにプログラムを提供することにある。   The present invention has been made based on the above-described problem, and provides a batch proof verification method, a proof device, a verification device, and a batch proof that perform efficient batch processing for zero knowledge proof using a plurality of different bases. To provide a verification system and a program.

前記課題の解決を図るために、請求項1記載の発明は、証明装置が、初期情報を入力する入力部,送信部,受信部,乱数を発生させる乱数生成部,群加算演算部,スカラー倍演算部,四則演算部を備え、検証装置が、入力部,出力部,送信部,受信部,乱数生成部,群加算演算部,スカラー倍演算部,比較部を備え、互いに通信回線で接続された該証明装置と該検証装置を用いるバッチ証明検証方法であって、前記証明装置の入力部が、ある有限群G,ある2以上の整数n,前記Gのn個の元Pi,整数sを入力するステップと、前記検証装置の入力部が、前記有限群G,整数n,元Pi及びn個の有限群GのsPiである元Xiを入力するステップと、前記検証装置の乱数生成部がn個の整数ei(i=1,...,n)を生成し、前記検証装置の送信部が整数eiを前記証明装置に送信するステップと、前記証明装置の受信部が前記整数eiを受信し、前記証明装置の乱数生成部が整数rを生成し、前記証明装置の群加算演算部及びスカラー倍演算部がY=Σireiiを計算しYを求め、該Yを前記検証装置の送信部が前記検証装置に送信するステップと、前記検証装置の受信部がYを受信し、前記検証装置の乱数生成部が整数cを生成し、該整数cを前記検証装置の送信部が前記証明装置に送信するステップと、前記証明装置の受信部が前記整数cを受信し、前記証明装置の四則演算部がz=r−csを計算しzを求め、該zを前記証明装置の送信部が前記検証装置に送信するステップと、前記検証装置の受信部がzを受信し、前記検証装置の群加算演算部及びスカラー倍演算部が、Y’=Σii(zPi+cXi)を計算しY’を求め、前記検証装置の比較部が前記受信したYと計算したY’が等しいか否かの判定結果を求め、当該判定結果を前記検証装置の出力部から出力するステップと、を有することを特徴とする。 In order to solve the above-mentioned problem, the invention according to claim 1 is characterized in that the proving device has an input unit for inputting initial information, a transmission unit, a reception unit, a random number generation unit for generating random numbers, a group addition operation unit, a scalar multiplication. It has an arithmetic unit and four arithmetic units, and the verification device has an input unit, an output unit, a transmission unit, a reception unit, a random number generation unit, a group addition operation unit, a scalar multiplication operation unit, and a comparison unit, which are connected to each other via a communication line. In the batch proof verification method using the proof device and the verification device, an input unit of the proof device includes a certain finite group G, a certain integer n of 2 or more, n elements P i of the G, an integer s The input unit of the verification device inputs the element X i that is the sP i of the finite group G, the integer n, the element P i and the n finite groups G; random number generation unit are n integers e i (i = 1, ... , n) to generate, the verification Receiving a step of transmitting portion of the location to send the integer e i to the certification device, receiving section of the proving device is the integer e i, the random number generator of the proving device generates an integer r, the prover a step of the group adder and scalar multiplication calculation unit obtains the Y calculates the Y = Σ i re i P i , the transmission unit of the verification device the Y sends to the verification apparatus, the reception of the verification device A unit receives Y, the random number generation unit of the verification device generates an integer c, and the transmission unit of the verification device transmits the integer c to the verification device; and the reception unit of the verification device receives the integer c, the four arithmetic operation units of the proving device calculate z = r-cs to obtain z, and the transmitting unit of the proving device transmits the z to the verification device; and the receiving unit of the verification device Receives z, and the group addition operation unit and scalar multiplication operation of the verification device Part is, Y obtains a '= Σ i e i (zP i + cX i) was calculated Y', obtains the determination result comparison unit whether the Y 'is equal to calculated Y was the reception of the verification device And outputting the determination result from the output unit of the verification device.

請求項2記載の発明は、初期情報を入力する入力部,送信部,受信部,乱数を発生させる乱数生成部,群加算演算部,スカラー倍演算部,四則演算部を備え、入力された証明に必要な情報である元Xiに対するsの知識を証明する証明装置であって、前記入力部で、ある有限群G,ある2以上の整数n,前記Gのn個の元Pi,整数sを入力する手段と、前記受信部で、整数eiを受信し、前記乱数生成部に整数rを生成させ、前記群加算演算部及びスカラー倍演算部でY=Σireiiを計算しYを求め、前記送信部で該Yを送信する手段と、前記受信部で整数cを受信し、前記四則演算部でz=r−csを計算しzを求め、前記送信部で該zを送信する手段と、を有することを特徴とする。 The invention described in claim 2 includes an input unit for inputting initial information, a transmission unit, a reception unit, a random number generation unit for generating random numbers, a group addition operation unit, a scalar multiplication operation unit, and an arithmetic operation unit, and an input proof Is a proof device for proving knowledge of s with respect to an element X i that is information necessary for the above, and at the input unit, a certain finite group G, an integer n greater than or equal to 2, n elements P i of the G, an integer The means for inputting s and the receiving unit receive the integer e i , cause the random number generation unit to generate an integer r, and the group addition operation unit and scalar multiplication operation unit to set Y = Σ i re i P i Y is calculated and the transmission unit transmits the Y, and the reception unit receives the integer c. The four arithmetic operation units calculate z = r−cs to obtain z, and the transmission unit means for transmitting z.

請求項3記載の発明は、初期情報を入力する入力部,送信部,受信部,乱数を発生させる乱数生成部,群加算演算部,スカラー倍演算部,四則演算部を備え、前記入力部で、ある有限群G,ある2以上の整数n,前記Gのn個の元Pi,未満の整数sを入力する手段と、前記受信部から前記整数eiを受信し、前記乱数生成部に整数rを生成させ、前記群加算演算部及びスカラー倍演算部でY=Σireiiを計算しYを求め、前記送信部で該Yを送信する手段と、前記受信部で前記整数cを受信し、四則演算部でz=r−csを計算しzを求め、前記送信部で該zを送信する手段と、を有し、入力された証明に必要な情報である元Xiに対するsの知識を証明する証明装置で用いた前記有限群G,整数n,元Pi及びn個の有限群GのsPiである元Xiを入力する入力部,出力部,送信部,受信部,乱数生成部,群加算演算部,スカラー倍演算部,比較部を備える検証装置であって、前記検証装置の乱数生成部にn個の整数ei(i=1,...,n)を生成させ、前記検証装置の送信部で整数eiを送信する手段と、前記検証装置の受信部でYを受信し、前記検証装置の乱数生成部で整数cを生成し、該整数cを前記検証装置の送信部で送信する手段と、前記検証装置の受信部からzを受信し、前記検証装置の群加算演算部及びスカラー倍演算部で、Y’=Σii(zPi+cXi)を計算しY’を求め、前記検証装置の比較部で前記受信したYと計算したY’が等しいか否かの判定結果を求め、当該判定結果を前記検証装置の出力部から出力する手段と、を有することを特徴とする。 The invention described in claim 3 includes an input unit for inputting initial information, a transmission unit, a reception unit, a random number generation unit for generating random numbers, a group addition operation unit, a scalar multiplication operation unit, and an arithmetic operation unit. Means for inputting a certain finite group G, a certain integer n of 2 or more, n elements P i of G, an integer s less than the integer G, and receiving the integer e i from the receiving unit. An integer r is generated, Y = Σ i re i Pi is calculated by the group addition operation unit and the scalar multiplication operation unit, Y is obtained, the transmission unit transmits the Y, and the reception unit transmits the integer means for receiving z, calculating z = r−cs in the four arithmetic operation units, obtaining z, and transmitting the z in the transmission unit, and an element X i that is information necessary for the input proof the finite group G used in the certification apparatus to prove the knowledge of s with respect to the integer n, the original P i and n number of the finite group G sP i Input unit, an output unit for inputting the certain original X i, transmitting unit, receiving unit, the random number generation unit, the group addition operation unit, the scalar multiplication unit, a verification device comprising a comparing unit, a random number generation unit of the verification device Generating n integers e i (i = 1,..., N), and transmitting the integer e i in the transmitting unit of the verification device; and receiving Y in the receiving unit of the verification device; Means for generating an integer c in the random number generation unit of the verification device, transmitting the integer c in the transmission unit of the verification device, receiving z from the reception unit of the verification device, and group addition operation unit of the verification device and a scalar multiplication unit, Y obtains a '= Σ i e i (zP i + cX i) was calculated Y', whether the Y calculated as Y said received comparison of the verification device 'equals Means for obtaining a determination result and outputting the determination result from the output unit of the verification device. .

請求項4記載の発明は、入力部,出力部,乱数生成部,群加算演算部,スカラー倍演算部,ハッシュ関数演算部,四則演算部を備え、入力された証明に必要な情報である元Xiに対するsの知識を証明する証明装置であって、入力部から、ある有限群G、ある2以上の整数n、前記Gのn個の元Pi(i=1,2,...,n)、整数s、有限群GのsPiである元Xiを入力する手段と、前記乱数生成部に乱数rを生成させる手段と、前記ハッシュ関数演算部に、P1,・・・,Pnを入力して、整数eiを生成させる手段と、前記乱数rと整数eiに基づいて、前記群加算演算部及びスカラー倍演算部でY=ΣiirPiを計算し、Yを求める手段と、前記求めたYに基づいて、前記ハッシュ関数演算部に、Yを入力して、数値cを生成させる手段と、前記四則演算部でz=r−csを計算し、zを求める手段と、前記出力部で前記数値c,zを出力する手段と、を備えることを特徴とする。 The invention according to claim 4 includes an input unit, an output unit, a random number generation unit, a group addition operation unit, a scalar multiplication operation unit, a hash function operation unit, and an arithmetic operation unit, and is an element necessary for proof input. A proof device for proving knowledge of s with respect to X i , from an input unit, from a certain finite group G, an integer n of 2 or more, and n elements P i (i = 1, 2,...) Of G. N), an integer s, an element X i that is an sP i of a finite group G, a means for causing the random number generation unit to generate a random number r, and a hash function calculation unit including P 1 ,. , type P n, a means for generating an integer e i, based on the random number r and an integer e i, computes the Y = Σ i e i rP i in said group adder and scalar multiplication unit , Y is obtained, and based on the obtained Y, Y is input to the hash function calculation unit to generate a numerical value c. Means for calculating z = r−cs by the four arithmetic operation units, obtaining z, and means for outputting the numerical values c and z by the output unit.

請求項5記載の発明は、入力部,出力部,乱数生成部,群加算演算部,スカラー倍演算部,ハッシュ関数演算部,四則演算部を備え、前記入力部で、ある有限群G、ある2以上の整数n、前記Gのn個の元Pi(i=1,2,...,n)、整数s、有限群GのsPiである元Xiを入力する手段と、前記乱数生成部に乱数rを生成させる手段と、前記ハッシュ関数演算部に、P1,・・・,Pnを入力して、整数eiを生成させる手段と、前記乱数rと整数eiに基づいて、前記群加算演算部及びスカラー倍演算部でY=ΣiirPiを計算し、Yを求める手段と、前記求めたYに基づいて、前記ハッシュ関数演算部に、Yを入力して、数値cを生成させる手段と、前記四則演算部でz=r−csを計算し、zを求める手段と、前記出力部で前記数値c,zを出力する手段と、を有し、入力された証明に必要な情報である元Xiに対するsの知識を証明する証明装置で用いた前記有限群G,整数n,元Pi,有限群GのsPiである元Xiとそれらの値を用いて出力したc,zを入力する入力部,出力部,群加算演算部,スカラー倍演算部,ハッシュ関数演算部,比較部を備え、入力された証明に必要な情報である元Xiに対するsの知識を検証する検証装置であって、前記検証装置のハッシュ関数演算部に、P1,・・・,Pnを入力して、整数e’iを生成させる手段と、前記検証装置の群加算演算部及びスカラー倍演算部で、Y’=Σie’i(zPi+cXi)を計算し、Y’を求める手段と、前記検証装置のハッシュ関数演算部に前記求めたY’を入力して、数値c’を計算する手段と、前記検証装置の判定部でcとc’が等しいか否かを判定する手段と、前記検証装置の出力部で前記判定結果を出力する手段と、
を備えることを特徴とする。
The invention according to claim 5 includes an input unit, an output unit, a random number generation unit, a group addition operation unit, a scalar multiplication operation unit, a hash function operation unit, and an arithmetic operation unit, and the input unit is a finite group G. Means for inputting an integer n of 2 or more, n elements P i of G (i = 1, 2,..., N), an integer s, and an element X i of sP i of a finite group G; Means for generating a random number r in the random number generation unit, means for generating an integer e i by inputting P 1 ,..., P n to the hash function calculation unit, and the random number r and the integer e i based on the Y = Σ i e i rP i in said group adder and scalar multiplication unit calculates, means for determining Y, based on the obtained Y, the hash function operation unit, type Y Then, means for generating a numerical value c, means for calculating z = r−cs by the four arithmetic operation units, obtaining z, and the output unit Serial numerical c, comprises a means for outputting a z, a, the finite group G used in the certification apparatus to prove the knowledge of s with respect to the original X i which is necessary information to the input proven integer n, the original P i, c which is output using the original X i and their values are sP i of the finite group G, an input unit for inputting the z, output unit, the group addition operation unit, the scalar multiplication unit, a hash function operation unit, comparison , Pn for verifying the knowledge of s with respect to the element X i that is information necessary for the input proof, and P 1 ,... type, integers e 'and means for generating a i, said at group adder of the verification device and the scalar multiplication unit, Y''calculates the i (zP i + cX i) , Y' = Σ i e the Means for obtaining, and means for calculating the numerical value c ′ by inputting the obtained Y ′ to the hash function calculation unit of the verification device; It means for determining whether the c and c 'are equal in the determination of the verification device, and means for outputting the judgment result at the output of the verification device,
It is characterized by providing.

請求項6記載の発明は、証明装置が、初期情報を入力する入力部,送信部,受信部,乱数を発生させる乱数生成部,群加算演算部,スカラー倍演算部,四則演算部を備え、検証装置が、入力部,出力部,送信部,受信部,乱数生成部,群加算演算部,スカラー倍演算部,比較部を備え、互いに通信回線で接続された該証明装置と該検証装置を用いるバッチ証明検証方法であって、前記証明装置の入力部が、ある有限群G、ある2以上の整数n、前記Gのn個の元Pi、n個の整数siを入力するステップと、前記検証装置の入力部が、前記G,n,Pi及びn個のGのsiiである元Xiを入力するステップと、前記検証装置の乱数生成部がn個の整数ei(i=1,...,n)を生成し、検証装置の送信部が証明装置に整数eiを送信するステップと、前記証明装置の受信部が整数eiを受信し、証明装置の乱数生成部がn個の整数riを生成し、Y=Σiiiiを計算し、証明装置の送信部がYを検証装置に送信するステップと、前記検証装置の受信部がYを受信し、検証装置の乱数生成部が整数cを生成し、その整数cを検証装置の送信部が証明装置に送信するステップと、前記証明装置の受信部が乱数cを受信し、証明装置の四則演算部がzi=ri−csiを計算し、証明装置の送信部がziを検証装置に送信するステップと、前記検証装置の受信部がziを受信し、検証装置の群加算演算部及びスカラー倍演算部がY’=Σii(zii+cXi)を計算し、前記受信したYと算出したY’が等しいか否かを検証装置の比較部が判定するステップと、を有することを特徴とする。 The invention described in claim 6 includes a proof device comprising an input unit for inputting initial information, a transmission unit, a reception unit, a random number generation unit for generating random numbers, a group addition operation unit, a scalar multiplication operation unit, and an arithmetic operation unit, The verification device includes an input unit, an output unit, a transmission unit, a reception unit, a random number generation unit, a group addition operation unit, a scalar multiplication operation unit, and a comparison unit, and the verification device and the verification device connected to each other via a communication line. A batch proof verification method to be used, wherein the input unit of the proof device inputs a certain finite group G, a certain integer n of 2 or more, n elements P i of G, and n integers s i ; The input unit of the verification device inputs the element X i which is the G, n, P i and n G s i Pis ; and the random number generation unit of the verification device has n integers e i (i = 1,..., n) is generated, and the transmitting unit of the verification device transmits an integer e i to the proving device. A step, receiving portion of the proving device receives the integer e i, the random number generation unit of the proving device generates a n integers r i, computes the Y = Σ i r i e i P i, prover Transmitting the Y to the verification device, the reception unit of the verification device receives Y, the random number generation unit of the verification device generates an integer c, and the transmission unit of the verification device proves the integer c The step of transmitting to the device, the receiving unit of the proving device receives the random number c, the four arithmetic operation units of the proving device calculate z i = r i -cs i, and the transmitting unit of the proving device verifies z i And the receiving unit of the verification device receives z i, and the group addition operation unit and the scalar multiplication operation unit of the verification device calculate Y ′ = Σ i e i (z i P i + cX i ). The comparison unit of the verification device determines whether or not the received Y and the calculated Y ′ are equal to each other. And butterflies.

請求項7記載の発明は、初期情報を入力する入力部,送信部,受信部,乱数を発生させる乱数生成部,群加算演算部,スカラー倍演算部,四則演算部を備え、入力された証明に必要な情報である元Xiに対するsの知識を証明する証明装置であって、前記入力部で、ある有限群G、ある2以上の整数n、前記Gのn個の元Pi、n個の整数siを入力する手段と、前記受信部で整数eiを受信し、前記乱数生成部にn個の整数riを生成させ、前記群加算演算部及びスカラー倍演算部でY=Σiiiiを計算し、前記送信部でYを送信する手段と、前記受信部で乱数cを受信し、前記四則演算部でzi=ri−csiを計算し、前記送信部でziを送信する手段と、を有することを特徴とする。 The invention described in claim 7 includes an input unit for inputting initial information, a transmission unit, a reception unit, a random number generation unit for generating random numbers, a group addition operation unit, a scalar multiplication operation unit, and an arithmetic operation unit, and an input proof Is a proof device for proving the knowledge of s with respect to an element X i that is necessary information for the element X i at the input unit, a certain finite group G, an integer n greater than or equal to 2, and n elements P i of the G, n Means for inputting the integers s i , the reception unit receives the integer e i , causes the random number generation unit to generate n integers r i , and the group addition calculation unit and the scalar multiplication calculation unit Y = calculate the Σ i r i e i P i , and means for transmitting the Y in the transmitting unit, receives a random number c by the reception unit, calculates the z i = r i -cs i in the arithmetic unit, Means for transmitting z i by the transmitter.

請求項8記載の発明は、初期情報を入力する入力部,送信部,受信部,乱数を発生させる乱数生成部,群加算演算部,スカラー倍演算部,四則演算部を備え、前記入力部で、ある有限群G、ある2以上の整数n、前記Gのn個の元Pi、n個の整数siを入力する手段と、前記受信部で整数eiを受信し、乱数生成部にn個の整数riを生成させ、前記群加算演算部及びスカラー倍演算部でY=Σiiiiを計算し、送信部でYを送信する手段と、前記受信部で乱数cを受信し、四則演算部でzi=ri−csiを計算し、送信部でziを送信する手段と、を有し、入力された証明に必要な情報である元Xiに対するsの知識を証明する証明装置で用いた有限群G,ある2以上の整数n,前記Gのn個の元Pi及びn個の有限群Gのsiiである元Xiを入力する入力部,出力部,送信部,受信部,乱数生成部,群加算演算部,スカラー倍演算部,比較部を備える検証装置であって、前記検証装置の乱数生成部にn個の整数ei(i=1,...,n)を生成させ、検証装置の送信部で整数eiを送信する手段と、前記検証装置の受信部でYを受信し、前記検証装置の乱数生成部に整数cを生成させ、その整数cを検証装置の送信部で送信するステップと、前記検証装置の受信部でziを受信し、前記検証装置の群加算演算部及びスカラー倍演算部でY’=Σii(zii+cXi)を計算し、前記受信したYと算出したY’が等しいか否かを検証装置の比較部で判定する手段と、を有することを特徴とする。 The invention described in claim 8 includes an input unit for inputting initial information, a transmission unit, a reception unit, a random number generation unit for generating random numbers, a group addition operation unit, a scalar multiplication operation unit, and an arithmetic operation unit. Means for inputting a certain finite group G, an integer n of 2 or more, n elements P i of G, and n integers s i , and receiving the integer e i by the receiver, means for generating n integers r i , Y = Σ i r i e i P i is calculated by the group addition operation unit and the scalar multiplication operation unit, Y is transmitted by the transmission unit, and a random number is generated by the reception unit means for receiving c, calculating z i = r i -cs i in the four arithmetic operation units, and transmitting z i in the transmission unit, and for the element X i that is the information necessary for the input proof finite group G used in the certification apparatus to prove the knowledge of s, there are two or more integer n, s i P i of n elements P i and n number of the finite group G of the G Input unit, an output unit for inputting the certain original X i, transmitting unit, receiving unit, the random number generation unit, the group addition operation unit, the scalar multiplication unit, a verification device comprising a comparing unit, a random number generation unit of the verification device Generating n integers e i (i = 1,..., N), the transmitting unit of the verification device transmitting the integer e i, and the receiving unit of the verification device receiving Y, Causing the random number generation unit of the verification device to generate an integer c, and transmitting the integer c by the transmission unit of the verification device; receiving z i by the reception unit of the verification device; and a group addition operation unit of the verification device; and Y means for determining whether '= Σ i e i (z i P i + cX i) is calculated and the received Y and calculated Y' are equal in the comparison of the verification device in the scalar multiplication unit, It is characterized by having.

請求項9記載の発明は、入力部,出力部,乱数生成部,群加算演算部,スカラー倍演算部,ハッシュ関数演算部,四則演算部を備え、入力された証明に必要な情報である元Xiに対するsの知識を証明する証明装置であって、前記入力部で、ある有限群G,ある2以上の整数n,前記Gのn個の元Pi(i=1,2,...,n),n個の整数si,Gのsiiである元Xiを入力する手段と、前記乱数生成部にn個の乱数riを生成させる手段と、前記ハッシュ関数演算部に、P1,・・・,Pnを入力し、整数eiを生成させる手段と、前記群加算演算部及びスカラー倍演算部で、Y=Σiiiiを計算する手段と、前記ハッシュ関数演算部に、Yを入力して数値cを生成させる手段と、前記四則演算部で、zi=ri−csiを計算する手段と、前記出力部で(c,z1,...,zn)を出力する手段と、を有することを特徴とする。 The invention described in claim 9 includes an input unit, an output unit, a random number generation unit, a group addition operation unit, a scalar multiplication operation unit, a hash function operation unit, and an arithmetic operation unit, and is an element necessary for input proof. A proof device for proving knowledge of s with respect to X i , wherein at the input unit, a certain finite group G, an integer n of 2 or more, and n elements P i (i = 1, 2,...) Of G. ., n), n integers s i, means for inputting the original X i, which is the s i P i of G, and means for generating n random number r i in the random number generation unit, the hash function operation in part, P 1, · · ·, type a P n, a means for generating an integer e i, in the group addition operation unit and the scalar multiplication unit calculates the Y = Σ i e i r i P i and means, in the hash function operation unit, and means for generating a numerical value c to input Y, in the arithmetic unit, calculates the z i = r i -cs i Means that, (c, z 1, ... , z n) in the output section and having a means for outputting, a.

請求項10記載の発明は、入力部,出力部,乱数生成部,群加算演算部,スカラー倍演算部,ハッシュ関数演算部,四則演算部を備え、前記入力部で、ある有限群G,ある2以上の整数n,前記Gのn個の元Pi(i=1,2,...,n),n個の整数si,Gのsiiである元Xiを入力する手段と、前記乱数生成部にn個の乱数riを生成させる手段と、前記ハッシュ関数演算部に、P1,・・・,Pnを入力して、整数eiを生成させる手段と、前記群加算演算部及びスカラー倍演算部で、Y=Σiiiiを計算する手段と、前記ハッシュ関数演算部に、Yを入力して整数cを生成させる手段と、前記四則演算部で、zi=ri−csiを計算する手段と、前記出力部で(c,z1,...,zn)を出力する手段と、を有し、入力された証明に必要な情報である元Xiに対するsiの知識を証明する証明装置で用いた前記有限群G,整数n,元Pi,有限群Gのsiiである元Xiとそれらの値を用いて出力したc,z1,...,znを入力する入力部,出力部,群加算演算部,スカラー倍演算部,ハッシュ関数演算部,比較部を備え、入力された証明に必要な情報である元Xiに対するsiの知識を検証する手段を備えた検証装置であって、前記検証装置のハッシュ関数演算部にP1,・・・,Pnを入力して、整数e’iを生成させる手段と、前記検証装置の群加算演算部及びスカラー倍演算部でY’=Σie’i(zii+cXi)を計算する手段と、前記検証装置のハッシュ関数演算部にY’を入力して整数c’を生成させる手段と、前記検証装置の比較部で前記入力されたcと前記計算されたc’が等しいか否かを判定する手段と、前記検証装置の出力部で、その判定結果を出力する手段と、を有することを特徴とする。 The invention described in claim 10 includes an input unit, an output unit, a random number generation unit, a group addition operation unit, a scalar multiplication operation unit, a hash function operation unit, and an arithmetic operation unit, and the input unit is a finite group G. Input an integer n of 2 or more, n elements P i of G (i = 1, 2,..., N), n integers s i and elements X i of G s i P i. Means for generating n random numbers r i in the random number generation unit; and means for generating integer e i by inputting P 1 ,..., P n to the hash function calculation unit; in the group adder and scalar multiplication unit, means for calculating a Y = Σ i e i r i P i, the hash function operation unit, a means for generating an integer c by entering Y, the arithmetic Means for calculating z i = r i −cs i in the arithmetic unit and means for outputting (c, z 1 ,..., Z n ) in the output unit; The finite group G used in the certification apparatus to prove the knowledge of s i for the original X i which is information necessary force has been proven, integer n, based on P i, based on X which is a s i P i of the finite group G c and z 1 ,... output using i and their values. . . , Z n input unit, output unit, group addition operation unit, scalar multiplication operation unit, hash function operation unit, comparison unit, knowledge of s i for element X i that is necessary information for proof input a verification apparatus comprising means for verifying, P 1 to the hash function operation unit of the verification device, ..., type P n, a means for generating an integer e 'i, the verification device in the group adder and scalar multiplication unit Y '= Σ i e' i (z i P i + cX i) means for calculating a, the Y in the hash function operation unit of the verification device 'integral to input c' Generating means, means for determining whether the input c and the calculated c ′ are equal in the comparison unit of the verification device, and outputting the determination result in the output unit of the verification device And means.

請求項11記載の発明は、証明装置が、初期情報を入力する入力部,送信部,受信部,乱数を発生させる乱数生成部,群加算演算部,スカラー倍演算部,四則演算部を備え、検証装置が、入力部,出力部,送信部,受信部,乱数生成部,群加算演算部,スカラー倍演算部,比較部を備え、互いに通信回線で接続された該証明装置と該検証装置を用いるバッチ証明検証方法であって、前記証明装置の入力部が、ある有限群G、ある2以上の整数n、前記Gのn個の元Pi、n個の整数siを入力するステップと、前記証明装置の乱数生成部が乱数ri(i=1,...,n)を生成し、前記証明装置の群加算演算部及び前記証明装置のスカラー倍演算部によってY=Σiiiを計算し、前記証明装置の送信部がYを送信するステップと、前記検証装置の受信部がYを受信し、前記検証装置の乱数生成部が0以上2t未満の整数からなる乱数ei(i=1,...,n)を生成し、前記検証装置の送信部から乱数eiを送信するステップと、前記証明装置の受信部が乱数eiを受信し、前記証明装置の四則演算部によってzi=(ri−eii)を計算し、前記証明装置の送信部がziを送信するステップと、前記検証装置の群加算演算部及びスカラー倍演算部を使ってY’=Σiii+eiiを計算し、前記検証装置の比較部が前記受信したYと算出したY’が等しいか否かを判定するステップと、を有することを特徴とする。 The invention according to claim 11 is provided with an input unit for inputting initial information, a transmission unit, a reception unit, a random number generation unit for generating random numbers, a group addition operation unit, a scalar multiplication operation unit, and an arithmetic operation unit, The verification device includes an input unit, an output unit, a transmission unit, a reception unit, a random number generation unit, a group addition operation unit, a scalar multiplication operation unit, and a comparison unit, and the verification device and the verification device connected to each other via a communication line. A batch proof verification method to be used, wherein the input unit of the proof device inputs a certain finite group G, a certain integer n of 2 or more, n elements P i of G, and n integers s i ; The random number generation unit of the proving device generates a random number r i (i = 1,..., N), and Y = Σ i r by the group addition operation unit of the proving device and the scalar multiplication operation unit of the proving device. the i P i calculated, a step of transmitting portions of the proving device transmits the Y, wherein Receiver proof apparatus receives the Y, the random number e i (i = 1, ... , n) the random number generator consists of an integer from 0 to less than 2 t of the verification device generates, the verification device A step of transmitting a random number e i from the transmitting unit; a receiving unit of the proving device receives the random number e i, and z i = (r i −e i s i ) is calculated by an arithmetic operation unit of the proving device; wherein the step of transmitting portions of the proving device transmits the z i, the use of the group adder and scalar multiplication portion of the verification device calculates the Y '= Σ i z i P i + e i X i, the verification And a step of determining whether or not the received Y is equal to the calculated Y ′.

請求項12記載の発明は、入力部,出力部,乱数生成部,群加算演算部,スカラー倍演算部,ハッシュ関数演算部,四則演算部を備え、入力された証明に必要な情報である元Xiに対するsの知識を証明する証明装置であって、前記入力部で、ある有限群G,ある2以上の整数n,n個の整数si,前記Gのn個の元Pi(i=1,2,...,n),有限群Gのsiiである元Xiを入力する手段と、前記乱数生成部から整数である乱数ri(i=1,...,n)を生成させる手段と、前記群加算演算部およびスカラー倍演算部によってY=Σiiiを計算する手段と、前記ハッシュ関数演算部にP1,・・・,Pnを入力し、整数eを生成し、さらに、Yを入力して数値cを生成させる手段と、前記四則演算部で、zi=ri−eicsiを計算する手段と、前記出力部で(c,z1,...,zn)を出力する手段と、を有することを特徴とする。 The invention described in claim 12 includes an input unit, an output unit, a random number generation unit, a group addition operation unit, a scalar multiplication operation unit, a hash function operation unit, and an arithmetic operation unit, and is an element necessary for input proof. A proof device for proving knowledge of s with respect to X i , wherein at the input unit, a certain finite group G, a certain integer n of 2 or more, n integers s i , and n elements P i (i of G) = 1, 2,..., N), means for inputting element X i which is s i P i of finite group G, and random number r i (i = 1,. , a means for generating an n), means for calculating a Y = Σ i r i P i by the group addition operation unit and the scalar multiplication unit, P 1 to the hash function operation unit, ..., the P n type, generates an integer e, further comprising means for generating a numerical value c to input Y, in the arithmetic unit, z i = r i -e i It means for calculating a s i, (c, z 1 , ..., z n) in the output section and having a means for outputting, a.

請求項13記載の発明は、入力部,出力部,乱数生成部,群加算演算部,スカラー倍演算部,ハッシュ関数演算部,四則演算部を備え、前記入力部で、ある有限群G,ある2以上の整数n,n個の整数si,前記Gのn個の元Pi(i=1,2,...,n),有限群Gのsiiである元Xiを入力する手段と、前記乱数生成部から整数である乱数ri(i=1,...,n)を生成させる手段と、前記群加算演算部およびスカラー倍演算部によってY=Σiiiを計算する手段と、前記ハッシュ関数演算部にP1,・・・,Pnを入力し、整数eを生成し、さらに、Yを入力して数値cを生成させる手段と、前記四則演算部で、zi=ri−eicsiを計算する手段と、前記出力部で(c,z1,...,zn)を出力する手段と、を有し、入力された証明に必要な情報である元Xiに対するsの知識を証明する証明装置で用いた有限群G,整数n,整数si,元Pi,有限群Gのsiiである元Xiとそれらの値を用いて出力したc,z1,...,znを入力する入力部,出力部,群加算演算部,スカラー倍演算部,ハッシュ関数演算部,比較部を備え、入力された証明に必要な情報である元Xiに対するsiの知識を検証する手段を備えた検証装置であって、前記検証装置のハッシュ関数演算部にP1,・・・,Pnを入力して、整数eを生成させる手段と、前記検証装置の群加算演算部及びスカラー倍演算部でY’=Σiii+eicXiを計算する手段と、前記検証装置のハッシュ関数演算部にY’を入力して整数c’を生成させる手段と、前記検証装置の比較部で前記入力された数値cと前記計算された整数c’が等しいか否か判定する手段と、前記検証装置の出力部で、その判定結果を出力する手段と、を有することを特徴とする。 The invention described in claim 13 includes an input unit, an output unit, a random number generation unit, a group addition operation unit, a scalar multiplication operation unit, a hash function operation unit, and an arithmetic operation unit, and the input unit is a finite group G. An integer n greater than or equal to 2, n integers s i , n elements P i of G (i = 1, 2,..., N), elements X i that are s i P i of a finite group G Y = Σ i r i by means for inputting, means for generating random numbers r i (i = 1,..., N) that are integers from the random number generation unit, and the group addition calculation unit and scalar multiplication calculation unit Means for calculating P i , means for inputting P 1 ,..., P n to the hash function computing unit, generating an integer e, and inputting Y to generate a numerical value c; in the calculating portion, means for calculating a z i = r i -e i cs i, at the output section (c, z 1, ..., z n) and means for outputting, the And, the finite group G used in the certification apparatus to prove the knowledge of s with respect to the original X i which is necessary information to the input proven integer n, the integer s i, based on P i, of the finite group G s i P i C, z 1 ,... Output using these elements X i and their values. . . , Z n input unit, output unit, group addition operation unit, scalar multiplication operation unit, hash function operation unit, comparison unit, knowledge of s i for element X i that is necessary information for proof input a verification apparatus comprising means for verifying, P 1 to the hash function operation unit of the verification device, ..., type P n, a means for generating an integer e, the group addition of the verification device 'means for calculating a = Σ i z i P i + e i cX i, Y to the hash function operation unit of the verification device' Y in the calculating portion and the scalar multiplication unit and means for generating the integer c 'to input Means for determining whether or not the input numerical value c and the calculated integer c ′ are equal in the comparison unit of the verification device, and means for outputting the determination result in the output unit of the verification device. It is characterized by having.

請求項14記載の発明は、バッチ証明検証システムであって、請求項2に記載の証明装置及び請求項3に記載の検証装置が通信回線で接続され、請求項2に記載の証明装置と請求項3に記載の検証装置間でデータを送受信してバッチ証明検証を行うことを特徴とする。   The invention according to claim 14 is a batch certification verification system, wherein the certification device according to claim 2 and the verification device according to claim 3 are connected by a communication line, and the certification device according to claim 2 and the billing Item 4. Batch verification is performed by transmitting and receiving data between verification devices according to item 3.

請求項15記載の発明は、バッチ証明検証プログラムであって、請求項1,6,11のいずれかに記載のバッチ証明検証方法を、コンピュータで実行可能なコンピュータプログラムとして記述したことを特徴とする。   The invention according to claim 15 is a batch certification verification program, characterized in that the batch certification verification method according to any one of claims 1, 6 and 11 is described as a computer program executable by a computer. .

前記の請求項1,6,14の発明によれば、証明に必要な情報Y及びY’を求めるだけで、検証者に送る整数をn+1個にすることができる。   According to the first, sixth, and 14th aspects of the present invention, it is possible to make n + 1 integers to be sent to the verifier simply by obtaining the information Y and Y 'necessary for the proof.

前記の請求項2,4,7,9,12の発明によれば、証明検証に必要な情報Yを1個求めることができる。   According to the second, fourth, seventh, ninth, and twelfth aspects of the invention, one piece of information Y required for proof verification can be obtained.

前記の請求項3,5,8,10,13の発明によれば、証明検証に必要な情報Y’を1個求めることができる。   According to the third, fifth, eighth, tenth and thirteenth aspects of the present invention, one piece of information Y 'required for proof verification can be obtained.

前記の請求項11の発明によれば、乱数eiを生成するだけで証明検証を行うことができる。 According to the eleventh aspect of the present invention, proof verification can be performed only by generating the random number e i .

前記の請求項15の発明によれば、請求項1,6,11のいずれかに記載のバッチ証明検証方法をコンピュータプログラムとして記載できる。   According to the fifteenth aspect of the present invention, the batch certification verification method according to any one of the first, sixth, and eleventh aspects can be described as a computer program.

また、詳細に説明するならば、請求項7に記載の証明装置及び請求項8に記載の検証装置が、通信回線で接続され、請求項7に記載の証明装置と請求項8に記載の検証装置間でデータを送受信してバッチ証明検証を行うバッチ証明検証システムも構成できる。   Further, in detail, the verification device according to claim 7 and the verification device according to claim 8 are connected by a communication line, and the verification device according to claim 7 and the verification according to claim 8 are connected. A batch certification verification system that performs batch certification verification by transmitting and receiving data between devices can also be configured.

さらに、請求項4に記載の証明装置及び請求項5に記載の検証装置、あるいは、請求項9に記載の証明装置及び請求項10に記載検証装置では、証明装置と検証装置間でデータを送受信しなくてもバッチ検証を行うバッチ証明検証システムを構成できる。   Furthermore, in the verification device according to claim 4 and the verification device according to claim 5, or the verification device according to claim 9 and the verification device according to claim 10, data is transmitted and received between the verification device and the verification device. It is possible to configure a batch certification verification system that performs batch verification even if it is not necessary.

以上示したように請求項1,2,3,6,7,8,14の発明によれば、証明検証における演算処理や通信量の効率性を高めることができる。   As described above, according to the first, second, third, sixth, seventh, eighth, and 14th inventions, it is possible to improve the efficiency of calculation processing and communication amount in proof verification.

請求項4,5,9,10,12,13の発明によれば、証明検証における演算処理の効率性を高めることができる。   According to the inventions of the fourth, fifth, ninth, tenth, twelfth and thirteenth aspects, it is possible to improve the efficiency of arithmetic processing in proof verification.

請求項11の発明によれば、請求項6に記載のバッチ証明検証方法より証明装置と検証装置間の通信回数を少なくできる。   According to the eleventh aspect of the invention, the number of communications between the proving apparatus and the verification apparatus can be reduced compared to the batch proof verification method according to the sixth aspect.

請求項15の発明によれば、請求項1,6,11のいずれかに記載のバッチ証明検証方法を実装したコンピュータプログラムを提供できる。   According to the fifteenth aspect of the present invention, it is possible to provide a computer program that implements the batch certification verification method according to any one of the first, sixth, and eleventh aspects.

これを以って情報セキュリティ技術分野に貢献できる。   This can contribute to the information security technology field.

以下、本実施形態を図面等に基づいて詳細に説明する。   Hereinafter, the present embodiment will be described in detail based on the drawings.

[第1実施形態]
第1実施形態の方式は、sの知識を証明検証する方式であって、ある位数qの有限群Gの元Pi,元Xiに対して(i=1,...,n)、Xi=sPiとなるような0以上q未満の整数sが存在することを、sを有意に求めることが可能な情報を与えることなく他者に証明する方式である。なお、nは2以上の整数である。
[First Embodiment]
The system of the first embodiment is a system for proving and verifying the knowledge of s, and for elements P i and X i of a finite group G of order q (i = 1,..., N). , X i = sP i is a method of proving to others that there is an integer s of 0 or more and less than q without giving information that can significantly determine s. Note that n is an integer of 2 or more.

第1実施形態におけるバッチ証明検証システムの装置構成を図1に基づいて説明する。   The apparatus configuration of the batch certification verification system in the first embodiment will be described with reference to FIG.

バッチ証明検証システムは、証明装置(例えば、パーソナルコンピュータ)1及び検証装置(例えば、パーソナルコンピュータ)2から構成され、それらは互いにデータを送受信できるような通信回線(例えば、IP(Internet Protocol)ネットワーク)100で結ばれているものとする。   The batch certification verification system includes a certification device (for example, a personal computer) 1 and a verification device (for example, a personal computer) 2, which are communication lines (for example, an IP (Internet Protocol) network) that can transmit and receive data to and from each other. It is assumed that 100 is connected.

証明装置1は、初期情報を入力する入力部11,送信部12,受信部13,乱数を発生させる乱数生成部14,群加算演算部15,スカラー倍演算部16,及び四則演算部17を有する。   The proving device 1 includes an input unit 11 for inputting initial information, a transmission unit 12, a reception unit 13, a random number generation unit 14 for generating random numbers, a group addition operation unit 15, a scalar multiplication operation unit 16, and an arithmetic operation unit 17. .

検証装置2は、入力部21,出力部22,送信部23,受信部24,乱数生成部25,群加算演算部26,スカラー倍演算部27,及び比較部28を有する。   The verification device 2 includes an input unit 21, an output unit 22, a transmission unit 23, a reception unit 24, a random number generation unit 25, a group addition calculation unit 26, a scalar multiplication calculation unit 27, and a comparison unit 28.

また、証明装置1及び検証装置2は、図示省略されているが、以下の計算や処理におけるデータやプログラムコードを格納する汎用的な記憶部(例えば、メモリやハードディスク装置など)を備える。証明装置1及び検証装置2は、各部を制御するCPU(Central Processing Unit)を備えていても良い。乱数生成部14及び乱数生成部25は、乱数生成装置を含んでいても良い。四則演算部17は、剰余算も処理する。群加算演算部(例えば、群加算演算部15,26など)は、群演算における加法演算を行う部である。   Although not shown, the proving device 1 and the verification device 2 include a general-purpose storage unit (for example, a memory or a hard disk device) that stores data and program codes in the following calculations and processes. The proving device 1 and the verification device 2 may include a CPU (Central Processing Unit) that controls each unit. The random number generation unit 14 and the random number generation unit 25 may include a random number generation device. The four arithmetic operation units 17 also process the remainder calculation. The group addition operation unit (for example, the group addition operation units 15 and 26) is a unit that performs an addition operation in the group operation.

まず、検証装置2は、入力部(例えば、キーボード装置を含む入力部)21から初期情報(G,q,n,Pi,Xi)を入力した後、乱数生成部25から0以上2t未満の整数からなる乱数ei(i=1,...,n)を得て、送信部23を使って乱数eiを証明装置1に送信する。なお、tはセキュリティパラメータであり、2t≦qを満たすある自然数とする。例えばt=160とする。検証装置2に備えられ、記憶部に記憶された初期情報(G,q,n,Pi,Xi)を管理する初期情報管理手段(例えば、データベース装置やメモリ)から初期情報を取得し入力部21に入力しても良い。 First, the verification device 2 inputs initial information (G, q, n, P i , X i ) from the input unit (for example, an input unit including a keyboard device) 21, and then receives 0 or more 2 t from the random number generation unit 25. A random number e i (i = 1,..., N) consisting of an integer less than is obtained, and the transmission unit 23 is used to transmit the random number e i to the proving device 1. Note that t is a security parameter and is a natural number satisfying 2 t ≦ q. For example, t = 160. Obtained and input initial information from initial information management means (for example, a database device or a memory) provided in the verification device 2 and managing initial information (G, q, n, P i , X i ) stored in the storage unit You may input into the part 21. FIG.

続いて、証明装置1は、入力部(例えば、キーボード装置を含む入力部)11から初期情報(G,q,n,s,Pi)を入力した後、検証装置2が送信した乱数eiを受信部24から受信し、乱数生成部25から0以上q未満の整数から成る乱数rを得て、群加算演算部26及びスカラー倍演算部27によってY=Σireiiを計算し、送信部12からYを検証装置2に送信する。なお、証明装置1に備えられ、記憶部に記憶された初期情報(G,q,n,s,Pi)を管理する初期情報管理手段から初期情報を取得し入力部11に入力しても良い。 Subsequently, the proving device 1 inputs initial information (G, q, n, s, P i ) from the input unit (for example, an input unit including a keyboard device) 11, and then the random number e i transmitted by the verification device 2. Is received from the receiving unit 24, a random number r consisting of an integer of 0 or more and less than q is obtained from the random number generating unit 25, and Y = Σ i re i Pi is calculated by the group addition calculating unit 26 and the scalar multiplication calculating unit 27. , Y is transmitted from the transmission unit 12 to the verification device 2. Note that even if the initial information is obtained from the initial information management means that manages the initial information (G, q, n, s, P i ) that is provided in the proof device 1 and is stored in the storage unit, the initial information may be input to the input unit 11. good.

続いて、検証装置2は、受信部24よりYを受信後、乱数生成部25から0以上2t未満の整数から成る乱数cを得て、送信部23より乱数cを証明装置1に送信する。 Subsequently, after receiving Y from the receiving unit 24, the verification device 2 obtains a random number c consisting of an integer between 0 and less than 2 t from the random number generating unit 25, and transmits the random number c from the transmitting unit 23 to the proving device 1. .

続いて、証明装置1は乱数cを受信後、四則演算部17によってz=(r−cs)mod qを計算し、送信部12からzを検証装置2に送信する。なお、zはr−csをqで割った余りとする。即ち、zは0以上q未満の整数と成る。   Subsequently, after receiving the random number c, the proving device 1 calculates z = (r−cs) mod q by the four arithmetic operation unit 17 and transmits z to the verification device 2 from the transmission unit 12. Note that z is a remainder obtained by dividing r-cs by q. That is, z is an integer of 0 or more and less than q.

最後に、検証装置2は、受信部24によってzを受信し、群加算演算部26及びスカラー倍演算部27によってY’=Σii(zPi+cXi)を計算し、比較部28によってYとY’が等しいか否かの判定結果を求め、当該判定結果を出力部22から出力する。 Finally, the verification device 2 receives z by the receiving unit 24, calculates Y ′ = Σ i e i (zP i + cX i ) by the group addition calculating unit 26 and the scalar multiplication calculating unit 27, and the comparing unit 28 A determination result as to whether Y and Y ′ are equal is obtained, and the determination result is output from the output unit 22.

以上のように、第1実施形態において、Xi=sPiとなるような0以上q未満の整数sが存在することの証明及び検証手続きの方式を述べたが、事前に生成、計算できる部分は上記の手順に従うことなく事前に行っても良い。 As described above, in the first embodiment, the proof and verification procedure method that there exists an integer s greater than or equal to 0 and less than q such that X i = sP i has been described, but the part that can be generated and calculated in advance May be performed in advance without following the above procedure.

例えば、検証装置が生成する乱数cは証明装置からYを受信する前から生成できる事は明らかである。   For example, it is clear that the random number c generated by the verification device can be generated before Y is received from the proving device.

また、乱数の範囲は第1実施形態に限ったものではなく、例えばcを0以上q未満の整数から採っても良く、逆にrを0以上2t未満の整数から採っても良い。 The range of random numbers is not limited to the first embodiment. For example, c may be taken from an integer of 0 or more and less than q, and r may be taken from an integer of 0 or more and less than 2t .

さらに、eiの何れかは1として良く、更に送信データ長を削減する工夫として、e2,...,enは乱数e1から自動的に決定されるようにしても良い。 Further, any of e i may be 1, and as a device for further reducing the transmission data length, e 2 ,. . . , E n can also be automatically determined from the random number e 1.

例えば、e1=1,e2は乱数eとして、i>2についてはei=ei mod qとする、あるいはHを任意入力から1以上2t未満の整数を出力する一方向性ハッシュ関数としてei=H(e‖i)などとすれば(ここで「‖」はデータの連結を意味する)、検証装置は(e1,...,en)全てを送信する必要なく、e2だけを生成して証明装置に送信し、(e1,e3,...,en)は証明装置及び検証装置が各々生成すれば良い。 For example, e 1 = 1, e 2 is a random number e, and for i> 2, e i = e i mod q, or H is an arbitrary input and outputs an integer from 1 to less than 2 t. If e i = H (e‖i), etc. (where “‖” means data concatenation), the verification device does not need to send all (e 1 ,..., E n ), Only e 2 is generated and transmitted to the proving device, and (e 1 , e 3 ,..., e n ) may be generated by the proving device and the verification device, respectively.

[第2実施形態]
第1実施形態では、証明装置と検証装置が対話的に証明検証を行う方式について説明したが、第2実施形態では、証明装置と検証装置が非対話で証明検証を行う方式について説明する。
[Second Embodiment]
In the first embodiment, the method in which the proof device and the verification device perform proof verification interactively has been described. In the second embodiment, a method in which the proof device and the verification device perform proof verification in a non-interactive manner will be described.

第2実施形態は、第1実施形態と同様に、sの知識を証明検証する方式であって、ある位数qの有限群Gの元Pi,元Xiに対して(i=1,...,n)、Xi=sPiとなるような0以上q未満の整数sが存在することを、sを有意に求めることが可能な情報を与えることなく他者に証明する方式である。なお、nは2以上の整数である。 As in the first embodiment, the second embodiment is a method for proving and verifying the knowledge of s, and for the elements P i and X i of a finite group G of order q (i = 1, , N), a method of proving to others that there is an integer s greater than or equal to 0 and less than q such that X i = sP i , without giving information that can significantly determine s. is there. Note that n is an integer of 2 or more.

第2実施形態におけるバッチ証明検証システムの装置構成を図2に基づいて説明する。   The apparatus configuration of the batch certification verification system in the second embodiment will be described with reference to FIG.

バッチ証明検証システムは、証明装置3及び検証装置4から構成される。   The batch proof verification system includes a proof device 3 and a verification device 4.

証明装置3は、入力部31,出力部32,乱数生成部33,群加算演算部34,スカラー倍演算部35,ハッシュ関数演算部36,及び四則演算部37を有する。   The proving device 3 includes an input unit 31, an output unit 32, a random number generation unit 33, a group addition operation unit 34, a scalar multiplication operation unit 35, a hash function operation unit 36, and an arithmetic operation unit 37.

検証装置4は、入力部41,出力部42,群加算演算部43,スカラー倍演算部44,ハッシュ関数演算部45,及び比較部46を有する。   The verification device 4 includes an input unit 41, an output unit 42, a group addition calculation unit 43, a scalar multiplication calculation unit 44, a hash function calculation unit 45, and a comparison unit 46.

証明装置3及び検証装置4は、図示省略されているが、以下の計算や処理におけるデータを格納する汎用的な記憶部(例えば、メモリやハードディスク装置など)を備える。証明装置3及び検証装置4は、各部を制御するCPUを備えていても良い。乱数生成部33は、乱数生成装置を含んでいても良い。四則演算部37は、剰余算も処理する。群加算演算部(例えば、群加算演算部34,43など)は、群演算における加法演算を行う部である。   Although not shown, the proving device 3 and the verification device 4 include a general-purpose storage unit (for example, a memory or a hard disk device) that stores data in the following calculation and processing. The proving device 3 and the verification device 4 may include a CPU that controls each unit. The random number generation unit 33 may include a random number generation device. The four arithmetic operation unit 37 also processes the remainder calculation. The group addition operation unit (for example, the group addition operation units 34 and 43) is a unit that performs an addition operation in the group operation.

なお、第1実施形態とは異なり非対話で証明検証ができるため、証明装置3と検証装置4は、互いにデータを送受信できる必要は無い。従って、送信部及び受信部は不要となる。証明装置3が出力した情報は、記録メディア(例えば、CD−ROM(Compact Disk Read Only Memory)などの記録メディア)に格納しておき、必要に応じて検証装置4が当該情報を入力すれば良い。   Note that, unlike the first embodiment, proof verification can be performed in a non-interactive manner, so the proof device 3 and the verification device 4 do not need to be able to transmit and receive data to and from each other. Therefore, the transmission unit and the reception unit are not necessary. Information output from the certification device 3 may be stored in a recording medium (for example, a recording medium such as a CD-ROM (Compact Disk Read Only Memory)), and the verification device 4 may input the information as necessary. .

以下に証明装置3及び検証装置4が行う手続きについて説明する。   Below, the procedure which the certification | authentication apparatus 3 and the verification apparatus 4 perform is demonstrated.

まず、証明装置3は、入力部(例えば、キーボード装置を含む入力部)31から初期情報(G,q,n,s,Pi)を入力した後、ハッシュ関数演算部36によってi=1,...,nについてei=H(q‖n‖P1‖・・・‖Pn‖i)を計算する。なお、ここでHはある範囲内のビット列を入力として、0以上q未満の整数を出力とするようなハッシュ関数とし、「‖」はデータの連結を意味する記号とする。証明装置3に備えられ、記憶部に記憶された初期情報(G,q,n,s,Pi)を管理する初期情報管理手段から初期情報を取得し入力部31に入力しても良い。 First, the proving device 3 inputs initial information (G, q, n, s, P i ) from an input unit (for example, an input unit including a keyboard device) 31, and then i = 1, . . . , N, e i = H (q‖n‖P 1 ‖... ‖P n ‖i) is calculated. Here, H is a hash function that takes a bit string within a certain range as input and outputs an integer between 0 and q, and “‖” is a symbol that signifies data concatenation. The initial information may be obtained from the initial information management means that manages the initial information (G, q, n, s, P i ) that is provided in the proving device 3 and stored in the storage unit, and may be input to the input unit 31.

続いて、乱数生成部33によって0以上q未満の整数と成る乱数rを生成し、群加算演算部34及びスカラー倍演算部35によってY=ΣiirPiを計算し、ハッシュ関数演算部36よりc=H(q‖n‖P1‖・・・‖Pn‖Y)を計算し,四則演算部37によってz=(r−cs)mod qを計算し、(c,z)を出力部32から出力する。 Subsequently, the random number generation unit 33 generates a random number r that is an integer greater than or equal to 0 and less than q, the group addition operation unit 34 and the scalar multiplication operation unit 35 calculate Y = Σ i e i rP i , and the hash function operation unit 36, c = H (q‖n‖P 1 ‖... ‖P n ‖Y) is calculated, z = (r−cs) mod q is calculated by the four arithmetic operation unit 37, and (c, z) is calculated. Output from the output unit 32.

これを受けて検証装置4は、入力部(例えば、キーボード装置を含む入力部,初期情報を格納した記憶部に接続された通信回線を含む入力部)41から初期情報(G,q,n,Pi,Xi,c,z)を入力した後、ハッシュ関数演算部45によってe’i=H(q‖n‖P1‖・・・‖Pn‖i)を計算し、群加算演算部43及びスカラー倍演算部44によってY’=Σie’i(zPi+cXi)を計算し、ハッシュ関数演算部45よりc’=H(q‖n‖P1‖・・・‖Pn‖Y’)を計算し、比較部46によってcとc’が等しい否か判定し、当該判定結果を出力部42より出力する。なお、検証装置4に備えられ、記憶部に記憶された初期情報(G,q,n,Pi,Xi,c,z)を管理する初期情報管理手段から初期情報を取得し入力部41に入力しても良い。 In response to this, the verification device 4 receives initial information (G, q, n, etc.) from an input unit (for example, an input unit including a keyboard device, an input unit including a communication line connected to a storage unit storing initial information) 41. After inputting P i , X i , c, z), the hash function calculation unit 45 calculates e ′ i = H (q‖n‖P 1 ‖... ‖P n ‖i), and group addition operation the parts 43 and scalar multiplication calculation portion 44 calculates the Y '= Σ i e' i (zP i + cX i), from the hash function operation unit 45 c '= H (q‖n‖P 1 ‖ · · · ‖P n ‖Y ') was calculated, c and c by the comparison unit 46' determines whether or not equal to the output from the output unit 42 the determination result. The initial information is obtained from the initial information management means that is provided in the verification device 4 and manages the initial information (G, q, n, P i , X i , c, z) stored in the storage unit. May be entered.

以上のように、第2実施形態において、Xi=sPiとなるような0以上q未満の整数sが存在することの証明及び検証手続きを非対話で行う方式を述べたが、第2実施形態のポイントは、乱数eiを初期情報からハッシュ関数を用いて生成することである。第2実施形態では、ei=H(q‖n‖P1‖・・・‖Pn‖i)としたが、ハッシュ関数の入力はこの部分データでも良く、追加するデータがあっても良い。また、第1実施形態の類似として、e1=1,e2=e=H(q‖n‖P1‖・・・‖Pn),ei=ei mod q(i=3,...,n)としてeiを生成しても良い。 As described above, in the second embodiment, the method for performing non-dialogue proof and verification procedure for the existence of an integer s greater than or equal to 0 and less than q such that X i = sP i has been described. The point of the form is to generate a random number e i from the initial information using a hash function. In the second embodiment, e i = H (q‖n‖P 1 ‖... ‖P n ‖i), but the input of the hash function may be this partial data or there may be additional data. . As similarities to the first embodiment, e 1 = 1, e 2 = e = H (q (n‖P 1 ‖... P n ), e i = e i mod q (i = 3,. .., n) as may be generated by e i.

[第3実施形態]
第3実施形態は、ある位数qの有限群Gの元Pi,元Xiに対して(i=1,...,n)、Xi=siiとなるような0以上q未満の整数siが存在することを、siを有意に求めることが可能な情報を与えることなく他者に証明する方式である。なお、nは2以上の整数である。
[Third Embodiment]
The third embodiment, the original P i of the finite group G of a position number q, the original X i (i = 1, ... , n), and made such 0 or X i = s i P i In this method, the existence of an integer s i less than q is proved to another person without giving information that can significantly determine s i . Note that n is an integer of 2 or more.

第3実施形態におけるバッチ証明検証システムの装置構成は図1と同様であるため、説明を省略する。以下の説明で、図1中の符号と同じものの説明は省略する。   The apparatus configuration of the batch certification verification system according to the third embodiment is the same as that shown in FIG. In the following description, the description of the same reference numerals as those in FIG. 1 is omitted.

まず、検証装置2は、入力部21から初期情報(G,q,n,Pi,Xi)を入力した後、乱数生成部25によって0以上2t未満の整数からなる乱数ei(i=1,...,n)を得て、送信部23よりeiを証明装置1に送信する。 First, the verification device 2 inputs initial information (G, q, n, P i , X i ) from the input unit 21, and then a random number e i (i) consisting of an integer between 0 and less than 2 t by the random number generation unit 25. = 1,..., N), and e i is transmitted from the transmitting unit 23 to the proving device 1.

続いて、証明装置1は、入力部11から初期情報(G,q,n,si,Pi)を入力した後、検証装置2が送信したeiを受信部13から受信し、乱数生成部14から0以上q未満の整数から成る乱数ri(i=1,...,n)を得て、群加算演算部15及びスカラー倍演算部16よってY=Σiiiiを計算し、送信部12からYを検証装置2に送信する。 Subsequently, after the initial information (G, q, n, s i , P i ) is input from the input unit 11, the proving device 1 receives e i transmitted from the verification device 2 from the receiving unit 13 and generates a random number. A random number r i (i = 1,..., N) consisting of an integer greater than or equal to 0 and less than q is obtained from the unit 14, and Y = Σ i r i e i P by the group addition operation unit 15 and the scalar multiplication operation unit 16. i is calculated, and Y is transmitted from the transmission unit 12 to the verification device 2.

続いて、検証装置2は受信部24からYを受信後、乱数生成部25から0以上2t未満の整数から成る乱数cを得て、送信部23から乱数cを証明装置1に送信する。 Subsequently, after receiving Y from the receiving unit 24, the verification device 2 obtains a random number c consisting of an integer between 0 and less than 2 t from the random number generation unit 25, and transmits the random number c from the transmission unit 23 to the proving device 1.

続いて、証明装置1は乱数cを受信後、四則演算部17によってzi=(ri−csi)mod qを計算し、送信部12よりziを検証装置2に送信する。 Subsequently, after receiving the random number c, the proving device 1 calculates z i = (r i −cs i ) mod q by the four arithmetic operation unit 17, and transmits z i from the transmission unit 12 to the verification device 2.

最後に、検証装置2は、群加算演算部26及びスカラー倍演算部27よりY’=Σii(zii+cXi)を計算し、比較部28よりYとY’が等しいか否かの判定結果を求め、当該判定結果を出力部22から出力する。 Finally, either the verification device 2, from the group adder 26 and a scalar multiplication unit 27 Y '= Σ i e i a (z i P i + cX i ) calculates, Y and Y from the comparison section 28' of equal A determination result of whether or not is obtained, and the determination result is output from the output unit 22.

[第4実施形態]
第3実施形態では、証明装置と検証装置が対話的に証明検証を行う方式について説明したが、第4実施形態は、証明装置と検証装置が非対話で証明検証を行う方式について説明する。
[Fourth Embodiment]
In the third embodiment, the method in which the proof device and the verification device perform proof verification interactively has been described. In the fourth embodiment, a method in which the proof device and the verification device perform proof verification in a non-interactive manner will be described.

第4実施形態は、第3実施形態と同様に、ある位数qの有限群Gの元Pi,Xiに対して(i=1,...,n)、Xi=siiとなるような0以上q未満の整数siが存在することを、siを有意に求めることが可能な情報を与えることなく他者に証明する方式である。なお、nは2以上の整数である。 In the fourth embodiment, as in the third embodiment, for elements P i and X i of a finite group G of order q (i = 1,..., N), X i = s i P This is a method for proving to others that there is an integer s i that is greater than or equal to 0 and less than q that is i , without giving information that can significantly determine s i . Note that n is an integer of 2 or more.

第4実施形態におけるバッチ証明検証システムの装置構成は図2と同様であるため、説明を省略する。以下の説明で、図2中の符号と同じものの説明は省略する。   The apparatus configuration of the batch certification verification system according to the fourth embodiment is the same as that shown in FIG. In the following description, the description of the same reference numerals as those in FIG. 2 is omitted.

以下に、証明装置3及び検証装置4が行う手続きについて説明する。   Below, the procedure which the certification | authentication apparatus 3 and the verification apparatus 4 perform is demonstrated.

証明装置3は、入力部31から初期情報(G,q,n,si,Pi)を入力した後、ハッシュ関数演算部36よりi=1,...,nについてei=H(q‖n‖P1‖・・・‖Pn‖i)を計算し、乱数生成部33より0以上q未満の整数と成る乱数riを生成し、群加算演算部34及びスカラー倍演算部35によってY=Σiiiiを計算し、ハッシュ関数演算部36によってc=H(q‖n‖P1‖・・・‖Pn‖Y)を計算し、四則演算部37によってzi=(ri−csi)mod qを計算し、(c,zi,...,zn)を出力部32から出力する。 After the initial information (G, q, n, s i , P i ) is input from the input unit 31, the proving device 3 receives i = 1,. . . , N, e i = H (q ‖n ‖P 1 ‖... ‖P n ‖i) is calculated, the random number generator 33 generates a random number r i that is an integer greater than or equal to 0 and less than q, and the group addition the arithmetic unit 34 and the scalar multiplication calculation portion 35 calculates the Y = Σ i e i r i P i, the hash function operation unit 36 c = H (q‖n‖P 1 || ··· ‖P n ‖Y) And the arithmetic operation unit 37 calculates z i = (r i −cs i ) mod q, and outputs (c, z i ,..., Z n ) from the output unit 32.

これを受けて検証装置4は、入力部41から初期情報(G,q,n,Pi,Xi,c,z1,...,zn)を入力した後、ハッシュ関数演算部45によってe’i=H(q‖n‖P1‖・・・‖Pn‖i)を計算し、群加算演算部43及びスカラー倍演算部44によってY’=Σie’i(zii+cXi)を計算し、ハッシュ関数演算部45によってc’=H(q‖n‖P1‖・・・‖Pn‖Y’)を計算し、比較部46によってcとc’が等しいか否か判定し、当該判定結果を出力部42から出力する。 In response to this, the verification device 4 inputs initial information (G, q, n, P i , X i , c, z 1 ,..., Z n ) from the input unit 41 and then the hash function calculation unit 45. E ′ i = H (q ‖n‖P 1 ‖... ‖P n ‖i) is calculated, and Y ′ = Σ i e ′ i (z i ) is calculated by the group addition operation unit 43 and the scalar multiplication operation unit 44. P i + cX i ), c ′ = H (q‖n‖P 1 ‖... P n ‖Y ′) is calculated by the hash function calculation unit 45, and c and c ′ are calculated by the comparison unit 46. It is determined whether or not they are equal, and the determination result is output from the output unit 42.

[第5実施形態]
第5実施形態は、第3実施形態と同様の初期条件、装置構成である。
[Fifth Embodiment]
The fifth embodiment has the same initial conditions and apparatus configuration as the third embodiment.

まず、証明装置1は、入力部11から初期情報(G,q,n,si,Pi)を入力した後、乱数生成部14から0以上q未満の整数からなる乱数ri(i=1,...,n)を得て、群加算演算部15およびスカラー倍演算部16によってY=Σiiiを計算し、送信部12からYを検証装置2に送信する。 First, after the initial information (G, q, n, s i , P i ) is input from the input unit 11, the proving apparatus 1 receives a random number r i (i = i = n) that is an integer from 0 to less than q from the random number generation unit 14. 1, ..., with the n), calculates the Y = Σ i r i P i by the group addition unit 15 and the scalar multiplication unit 16, and transmitted from the transmission unit 12 a Y to the verification device 2.

続いて、検証装置2は、受信部24からYを受信後、乱数生成部25から0以上2t未満の整数からなる乱数ei(i=1,...,n)を得て、送信部23から乱数eiを証明装置1に送信する。 Subsequently, after receiving Y from the receiving unit 24, the verification device 2 obtains a random number e i (i = 1,..., N) composed of an integer of 0 or more and less than 2 t from the random number generation unit 25 and transmits it. The random number e i is transmitted from the unit 23 to the proving device 1.

続いて、証明装置1は、乱数eiを受信後、四則演算部17によってzi=(ri−eii)mod qを計算し、送信部12からziを検証装置2に送信する。 Subsequently, after receiving the random number e i , the proving device 1 calculates z i = (r i −e i s i ) mod q by the four arithmetic operation unit 17 and transmits z i from the transmission unit 12 to the verification device 2. To do.

最後に、検証装置2は、群加算演算部26及びスカラー倍演算部27を使ってY’=Σiii+eiiを計算し、比較部28を使ってYとY’が等しいか否かの判定結果を求め、当該判定結果を出力部22から出力する。 Finally, the verification apparatus 2, using the group addition operation unit 26 and a scalar multiplication unit 27 'calculates a = Σ i z i P i + e i X i, Y and Y with the comparison unit 28' Y is A determination result of whether or not they are equal is obtained, and the determination result is output from the output unit 22.

以上のように、第5実施形態は、第3実施形態より証明装置,検証装置間の通信回数が少なくてすむ。   As described above, the fifth embodiment requires fewer communication times between the proving device and the verification device than the third embodiment.

[第6実施形態]
第6実施形態は、第5実施形態を非対話で行う方法である。なお、装置構成は図2と同じものとする。
[Sixth Embodiment]
The sixth embodiment is a method for performing the fifth embodiment in a non-interactive manner. The apparatus configuration is the same as in FIG.

まず、証明装置3は、入力部31から初期情報(G,q,n,si,Pi,Xi)を入力した後、乱数生成部33から0以上q未満の整数となる乱数ri(i=1,...,n)を生成し、群加算演算部34およびスカラー倍演算部35によってY=Σiiiを計算し、次にハッシュ関数演算部45によってe=H(q‖n‖P1‖・・・‖Pn‖X1‖・・・‖Xn‖Y)を計算し、四則演算部37によってzi=(ri−eii)mod qを計算し、(e,z1,...,zn)を出力部32から出力する。 First, after the initial information (G, q, n, s i , P i , X i ) is input from the input unit 31, the proving device 3 receives a random number r i that is an integer from 0 to less than q from the random number generation unit 33. (i = 1, ..., n ) to generate, compute the Y = Σ i r i P i by the group addition unit 34 and the scalar multiplication calculation portion 35, then by the hash function operation unit 45 e = H (q‖n‖P 1 || ··· ‖P n ‖X 1 || ··· ‖X n ‖Y) was calculated, z i = the arithmetic unit 37 (r i -e i s i ) mod q And (e, z 1 ,..., Z n ) is output from the output unit 32.

これを受けて検証装置4は、入力部41から初期情報(G,q,n,Pi,Xi,e,z1,...,zn)を入力した後、群加算演算部43及びスカラー倍演算部44によってY’=Σiii+eiiを計算し、ハッシュ関数演算部45によってe’=H(q‖n‖P1‖・・・‖Pn‖X1‖・・・‖Xn‖Y’)を計算し、比較部46によってeとe’が等しいか否か判定し、当該判定結果を出力部42から出力する。 In response to this, the verification apparatus 4 inputs initial information (G, q, n, P i , X i , e 1 , z 1 ,..., Z n ) from the input unit 41 and then the group addition operation unit 43. and 'calculates a = Σ i z i P i + e i X i, the hash function operation unit 45 e' Y by the scalar multiplication unit 44 = H (q‖n‖P 1 || ··· ‖P n ‖X 1 ‖... ‖X n ‖Y ′), the comparison unit 46 determines whether e and e ′ are equal, and outputs the determination result from the output unit 42.

[第7実施形態]
第7実施形態は、第4実施形態の応用例となる、非特許文献3で述べられている零知識証明をバッチ処理する方法である。なお、装置構成は図2と同じものとする。
[Seventh Embodiment]
The seventh embodiment is a method of batch processing zero knowledge proofs described in Non-Patent Document 3, which is an application example of the fourth embodiment. The apparatus configuration is the same as in FIG.

非特許文献3では、以下と同様のデータに対する零知識証明を行う必要がある:ある位数qの有限群G,Gの元P,Q,Q’,Pi,Qi,Xi,Yi,Zi,P’i,Q’i,X’i,Y’i(i=1,...,n)。ここで、Zi=xiP+wiQ’,P’i=si+xii,Q’i=siQ+xiQ,X’i=tiP+xii,Y’=tiQ+xiiであり、si,ti,wi,xiは秘密の整数である。即ち、証明者はsi,ti,wi,xiを証明する。非特許文献3で示されたアプリケーションにおいても、nは非常に大きくなると考えられるため、計算コスト、通信コストを削減することは、アプリケーションの実現可能性を高める意味でも重要である。 In Non-Patent Document 3, it is necessary to perform zero knowledge proof for data similar to the following: finite groups G, G elements P, Q, Q ′, P i , Q i , X i , Y of a certain order q i , Z i , P ′ i , Q ′ i , X ′ i , Y ′ i (i = 1,..., n). Here, Z i = x i P + w i Q ′, P ′ i = s i + x i P i , Q ′ i = s i Q + x i Q, X ′ i = t i P + x i X i , Y ′ = t i Q + x i Y i , and s i , t i , w i , and x i are secret integers. That is, the prover proves s i , t i , w i , and x i . In the application shown in Non-Patent Document 3, n is considered to be very large. Therefore, reducing the calculation cost and the communication cost is important in terms of increasing the feasibility of the application.

以下に、si,ti,wi,xiの知識を証明するための処理手順を説明する。 Hereinafter, a processing procedure for proving knowledge of s i , t i , w i , and x i will be described.

証明装置3は、入力部31から初期情報(G,q,P,Q,Q’,Pi,Qi,Xi,Yi,Zi,P’i,Q’i,X’i,Y’i,si,ti,wi,xi)を入力した後(i=1,...,n),ハッシュ関数演算部36を使ってei=H(q‖n‖P‖Q‖Q’‖XX‖i)を計算し、乱数生成部33を使って0以上q未満の整数となる乱数a,b,d,riを生成し、群加算演算部34及びスカラー倍演算部35によってA=bQ’+(Σii)P,B=aP+Σiiii,C=aQ+Σiii,D=cP+Σiiii,E=dQ+Σiiiiを計算し、ハッシュ関数演算部36によってc=H(A‖B‖C‖D‖E)を計算し、四則演算部37によってz1,i=(ri−eicxi)mod q,z2=(b−c(Σiii))mod q,z3=(a−c(Σiii))mod q,z4=(d−c(Σiii))mod qを計算し、(c,z1,i,...,z1,n,z2,z3,z4)を出力部32から出力する。ここで、XXは、i=1,...,nについて、Pi,Qi,Xi,Yi,Zi,P’i,Q’i,X’i,Y’iを並べたデータとする。 The proving device 3 receives initial information (G, q, P, Q, Q ′, P i , Q i , X i , Y i , Z i , P ′ i , Q ′ i , X ′ i , Y ′ i , s i , t i , w i , x i ) are input (i = 1,..., N), and then e i = H (q‖n‖P using the hash function calculation unit 36. ‖Q‖Q'‖XX‖i) was calculated, integers become random number a from 0 to less than using a random number generation unit 33 q, b, d, produces a r i, the group addition operation unit 34 and the scalar multiplication the arithmetic unit 35 A = bQ '+ (Σ i r i) P, B = aP + Σ i e i r i P i, C = aQ + Σ i e i Q i, D = cP + Σ i e i r i X i, E = dQ + Σ i e i r i Y i is calculated and calculates a c = H (A‖B‖C‖D‖E) by the hash function operation unit 36, z 1 by the arithmetic unit 37, i = (r i - e i cx i) mod q, z 2 = (b-c (Σ i i w i)) mod q, z 3 = (a-c (Σ i e i s i)) mod q, z 4 = (d-c (Σ i e i t i)) a mod q is calculated, ( c, z 1, i ,..., z 1 , n, z 2 , z 3 , z 4 ) are output from the output unit 32. Here, XX represents i = 1,. . . , N, let P i , Q i , X i , Y i , Z i , P ′ i , Q ′ i , X ′ i , Y ′ i be arranged data.

これを受けて、検証装置4は、入力部41から初期情報(G,q,P,Q,Q’,Pi,Qi,Xi,Yi,Zi,P’i,Q’i,X’i,Y’i)を入力した後、ハッシュ関数演算部によって、eiを計算し、群加算演算部43及びスカラー倍演算部44によってA’=(Σi1,i)P+z2Q’+Σiii,B’=z3P+Σii,1i+eicX’i,C’=z3Q+Σi1,ii+eicQ’i,D’=z4P+Σi1,ii+eicX’i,E’=z4Q+Σi1,ii+eicY’iを計算し、ハッシュ関数演算部45によってc’=(A’‖B’‖C’‖D’‖E’)を計算し、比較部46によってcとc’が等しいか否かを判定し、当該判定結果を出力部42から出力する。 In response to this, the verification apparatus 4 receives initial information (G, q, P, Q, Q ′, P i , Q i , X i , Y i , Z i , P ′ i , Q ′ i from the input unit 41. , X ′ i , Y ′ i ), ei is calculated by the hash function calculation unit, and A ′ = (Σ i z 1, i ) P + z 2 is calculated by the group addition calculation unit 43 and the scalar multiplication calculation unit 44. Q '+ Σ i e i Z i, B' = z 3 P + Σ i z i, 1 P i + e i cX 'i, C' = z 3 Q + Σ i z 1, i Q i + e i cQ 'i, D' = z 4 P + Σ i z 1 , i X i + e i cX 'i, E' = z 4 ' computes the i, c by the hash function operation unit 45' Q + Σ i z 1 , i Y i + e i cY = (a ' (B′‖C′‖D′‖E ′) is calculated, the comparison unit 46 determines whether c and c ′ are equal, and the determination result is output from the output unit 42.

なお、第1乃至第7実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のCPU(Central Processing Unit),MPU(Microprocessing Unit)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、実現できる。   A storage medium storing software program codes for realizing the functions of the first to seventh embodiments is supplied to a system or apparatus, and a CPU (Central Processing Unit) or MPU (Microprocessing Unit) of the system or apparatus is provided. It can also be realized by reading and executing the program code stored in the storage medium.

以上のように、第1乃至第7実施形態は次のような基本原理に基づく。   As described above, the first to seventh embodiments are based on the following basic principle.

ある位数qの有限群Gの元Pi、元Xi(=sii)に対して(i=1,...,n;siは0以上q未満の整数)、証明者及び検証者は以下の手続きを行う。なお、元Xiは証明者が証明に必要とする情報である。 For an element P i , element X i (= s i P i ) of a finite group G of order q (i = 1,..., N; s i is an integer between 0 and less than q), a prover And the verifier performs the following procedure. The element X i is information that the prover needs for proof.

まず、証明者は以下の手続きを行う。   First, the prover performs the following procedure.

手続き1は、n個の0以上q未満の整数riを生成する。 Procedure 1 generates n integers r i that are greater than or equal to 0 and less than q.

手続き2は、e1=1,ei=H(P1‖・・・‖Pn‖X1‖・・・‖Xn‖i)を計算する。ここでHは、0以上q未満の整数に写す一方向性ハッシュ関数である。 The procedure 2 calculates e 1 = 1, e i = H (P 1 ‖... ‖P n ‖X 1 ‖... X n ‖i). Here, H is a one-way hash function copied to an integer of 0 or more and less than q.

手続き3は、Y=Πiiiiを計算する。 Procedure 3 calculates Y = Π i e i r i P i .

手続き4は、c=H(P1‖・・・‖Pn‖X1‖・・・‖Xn‖e1‖・・・‖en‖Y)を計算する。 Procedure 4 calculates c = H (P 1 || ··· ‖P n ‖X 1 || ··· ‖X n ‖e 1 || ··· ‖e n ‖Y).

手続き5は、zi=ri−csiを計算する。 Procedure 5 calculates z i = r i −cs i .

手続き6は、(c,z1,...,zn)を出力する。 The procedure 6 outputs (c, z 1 ,..., Z n ).

そして、検証者は、Pi,Xi,(c,z1,...,zn)を入力として以下の手続きを行う。 Then, the verifier performs the following procedure with P i , X i , (c, z 1 ,..., Z n ) as inputs.

手続き1は、e’1=1,e’i=H(P1‖・・・‖Pn‖X1‖・・・‖Xn‖i)を計算する。 The procedure 1 calculates e ′ 1 = 1, e ′ i = H (P 1 ‖... ‖P n ‖X 1 ‖... X n ‖i).

手続き2は、Y=Σie’i(zii+cXi)が成り立つか確認し、成り立つ場合は証明者がsiを知っていると判断する。 The procedure 2 checks whether Y = Σ i e ′ i (z i P i + cX i ) holds, and if so, determines that the prover knows s i .

以上、本発明の実施形態について説明したが、本発明は説明した実施形態に限定されるものでなく、各請求項に記載した範囲において各種の変形を行うことが可能である。   Although the embodiments of the present invention have been described above, the present invention is not limited to the described embodiments, and various modifications can be made within the scope described in each claim.

例えば、第1及び第3実施形態における証明装置の入力部,検証装置の入力部及び出力部をそれぞれ証明装置の受信部、検証装置の受信部、送信部に統合しても良い。即ち、初期情報をネットワーク経由で入力し、出力をネットワーク経由で送ることもできる。   For example, the input unit of the proof device, the input unit and the output unit of the verification device in the first and third embodiments may be integrated into the reception unit of the verification device, the reception unit of the verification device, and the transmission unit, respectively. That is, initial information can be input via the network and output can be sent via the network.

第1,3,5実施形態におけるバッチ証明検証システムの装置構成図。The apparatus block diagram of the batch certification verification system in 1st, 3rd, 5th embodiment. 第2,4,6,7実施形態におけるバッチ証明検証システムの装置構成図。The apparatus block diagram of the batch certification verification system in 2nd, 4th, 6th, 7th embodiment.

符号の説明Explanation of symbols

1,3…証明装置
11,21,31,41…入力部
12,23…送信部
13,24…受信部
14,25,33…乱数生成部
15,26,34,43…群加算演算部
16,27,35,44…スカラー倍演算部
17,37…四則演算部
2,4…検証装置
22,32,42…出力部
28,46…比較部
36,45…ハッシュ関数演算部
100…通信回線
DESCRIPTION OF SYMBOLS 1,3 ... Proof device 11, 21, 31, 41 ... Input part 12, 23 ... Transmission part 13, 24 ... Reception part 14, 25, 33 ... Random number generation part 15, 26, 34, 43 ... Group addition calculating part 16 , 27, 35, 44 ... scalar multiplication unit 17, 37 ... four arithmetic units 2, 4 ... verification device 22, 32, 42 ... output unit 28, 46 ... comparison unit 36, 45 ... hash function calculation unit 100 ... communication line

Claims (15)

証明装置が、初期情報を入力する入力部,送信部,受信部,乱数を発生させる乱数生成部,群加算演算部,スカラー倍演算部,四則演算部を備え、
検証装置が、入力部,出力部,送信部,受信部,乱数生成部,群加算演算部,スカラー倍演算部,比較部を備え、
互いに通信回線で接続された該証明装置と該検証装置を用いるバッチ証明検証方法であって、
前記証明装置の入力部が、ある有限群G,ある2以上の整数n,前記Gのn個の元Pi,整数sを入力するステップと、
前記検証装置の入力部が、前記有限群G,整数n,元Pi及びn個の有限群GのsPiである元Xiを入力するステップと、
前記検証装置の乱数生成部がn個の整数ei(i=1,...,n)を生成し、前記検証装置の送信部が整数eiを前記証明装置に送信するステップと、
前記証明装置の受信部が前記整数eiを受信し、前記証明装置の乱数生成部が整数rを生成し、前記証明装置の群加算演算部及びスカラー倍演算部がY=Σireiiを計算しYを求め、該Yを前記検証装置の送信部が前記検証装置に送信するステップと、
前記検証装置の受信部がYを受信し、前記検証装置の乱数生成部が整数cを生成し、該整数cを前記検証装置の送信部が前記証明装置に送信するステップと、
前記証明装置の受信部が前記整数cを受信し、前記証明装置の四則演算部がz=r−csを計算しzを求め、該zを前記証明装置の送信部が前記検証装置に送信するステップと、
前記検証装置の受信部がzを受信し、前記検証装置の群加算演算部及びスカラー倍演算部が、Y’=Σii(zPi+cXi)を計算しY’を求め、前記検証装置の比較部が前記受信したYと計算したY’が等しいか否かの判定結果を求め、当該判定結果を前記検証装置の出力部から出力するステップと、
を有することを特徴とするバッチ証明検証方法。
The proving device includes an input unit for inputting initial information, a transmission unit, a reception unit, a random number generation unit for generating random numbers, a group addition operation unit, a scalar multiplication operation unit, and four arithmetic operation units,
The verification device includes an input unit, an output unit, a transmission unit, a reception unit, a random number generation unit, a group addition operation unit, a scalar multiplication operation unit, and a comparison unit.
A batch proof verification method using the verification device and the verification device connected to each other via a communication line,
The input unit of the proving device inputs a certain finite group G, a certain integer n of 2 or more, n elements P i of G, and an integer s;
The input unit of the verification device inputs the element X i which is the finite group G, the integer n, the element P i and the sP i of the n finite groups G;
A random number generation unit of the verification device generates n integers e i (i = 1,..., N), and a transmission unit of the verification device transmits the integers e i to the certification device;
The reception unit of the proving device receives the integer e i , the random number generation unit of the proving device generates an integer r, and the group addition operation unit and the scalar multiplication operation unit of the proving device are Y = Σ i re i P calculating i , obtaining Y, and transmitting the Y to the verification device by the transmission unit of the verification device;
A receiving unit of the verification device receives Y, a random number generation unit of the verification device generates an integer c, and a transmission unit of the verification device transmits the integer c to the verification device;
The receiving unit of the proving device receives the integer c, the four arithmetic operation units of the proving device calculate z = r−cs to obtain z, and the transmitting unit of the proving device transmits the z to the verification device. Steps,
The receiving unit of the verification device receives z, and the group addition operation unit and the scalar multiplication operation unit of the verification device calculate Y ′ = Σ i e i (zP i + cX i ) to obtain Y ′, and the verification Obtaining a determination result of whether or not the received Y and the calculated Y ′ are equal by the comparison unit of the device, and outputting the determination result from the output unit of the verification device;
A batch proof verification method characterized by comprising:
初期情報を入力する入力部,送信部,受信部,乱数を発生させる乱数生成部,群加算演算部,スカラー倍演算部,四則演算部を備え、
入力された証明に必要な情報である元Xiに対するsの知識を証明する証明装置であって、
前記入力部で、ある有限群G,ある2以上の整数n,前記Gのn個の元Pi,整数sを入力する手段と、
前記受信部で、整数eiを受信し、前記乱数生成部に整数rを生成させ、前記群加算演算部及びスカラー倍演算部でY=Σireiiを計算しYを求め、前記送信部で該Yを送信する手段と、
前記受信部で整数cを受信し、前記四則演算部でz=r−csを計算しzを求め、前記送信部で該zを送信する手段と、
を有することを特徴とする証明装置。
An input unit for inputting initial information, a transmission unit, a reception unit, a random number generation unit for generating random numbers, a group addition operation unit, a scalar multiplication operation unit, an arithmetic operation unit,
A proof device that proves knowledge of s for an element X i that is information necessary for input proof,
Means for inputting a certain finite group G, a certain integer n of 2 or more, n elements P i of G, and an integer s at the input unit;
The reception unit receives an integer e i , causes the random number generation unit to generate an integer r, calculates Y = Σ i re i P i in the group addition operation unit and scalar multiplication operation unit, finds Y, Means for transmitting the Y in the transmission unit;
Means for receiving an integer c at the receiving unit, calculating z = r−cs at the four arithmetic operation units to obtain z, and transmitting the z at the transmitting unit;
A proving device comprising:
初期情報を入力する入力部,送信部,受信部,乱数を発生させる乱数生成部,群加算演算部,スカラー倍演算部,四則演算部を備え、
前記入力部で、ある有限群G,ある2以上の整数n,前記Gのn個の元Pi,未満の整数sを入力する手段と、
前記受信部から前記整数eiを受信し、前記乱数生成部に整数rを生成させ、前記群加算演算部及びスカラー倍演算部でY=Σireiiを計算しYを求め、前記送信部で該Yを送信する手段と、
前記受信部で前記整数cを受信し、四則演算部でz=r−csを計算しzを求め、前記送信部で該zを送信する手段と、
を有し、
入力された証明に必要な情報である元Xiに対するsの知識を証明する証明装置で用いた前記有限群G,整数n,元Pi及びn個の有限群GのsPiである元Xiを入力する入力部,出力部,送信部,受信部,乱数生成部,群加算演算部,スカラー倍演算部,比較部を備える検証装置であって、
前記検証装置の乱数生成部にn個の整数ei(i=1,...,n)を生成させ、前記検証装置の送信部で整数eiを送信する手段と、
前記検証装置の受信部でYを受信し、前記検証装置の乱数生成部で整数cを生成し、該整数cを前記検証装置の送信部で送信する手段と、
前記検証装置の受信部からzを受信し、前記検証装置の群加算演算部及びスカラー倍演算部で、Y’=Σii(zPi+cXi)を計算しY’を求め、前記検証装置の比較部で前記受信したYと計算したY’が等しいか否かの判定結果を求め、当該判定結果を前記検証装置の出力部から出力する手段と、
を有することを特徴とする検証装置。
An input unit for inputting initial information, a transmission unit, a reception unit, a random number generation unit for generating random numbers, a group addition operation unit, a scalar multiplication operation unit, an arithmetic operation unit,
Means for inputting a certain finite group G, a certain integer n of 2 or more, n elements P i of G, and an integer s less than, at the input unit;
Receiving the integer e i from the reception unit, causing the random number generation unit to generate an integer r, calculating Y = Σ i re i P i in the group addition operation unit and the scalar multiplication operation unit, obtaining Y; Means for transmitting the Y in the transmission unit;
Means for receiving the integer c at the receiving unit, calculating z = r−cs at the four arithmetic operation units to obtain z, and transmitting the z at the transmitting unit;
Have
Element X which is sP i of finite group G, integer n, element P i and n finite groups G used in the proof device for proving knowledge of s for element X i which is information necessary for input proof A verification apparatus comprising an input unit for inputting i , an output unit, a transmission unit, a reception unit, a random number generation unit, a group addition operation unit, a scalar multiplication operation unit, and a comparison unit,
Means for generating n integers e i (i = 1,..., N) in the random number generation unit of the verification device, and transmitting the integers e i in the transmission unit of the verification device;
Means for receiving Y at the receiver of the verification device, generating an integer c at the random number generator of the verification device, and transmitting the integer c at the transmitter of the verification device;
Receiving said z from the receiver of the verification device, by the group addition operation unit of the verification device and the scalar multiplication unit, Y obtains a '= Σ i e i (zP i + cX i) was calculated Y', the verification Means for determining whether the received Y and the calculated Y ′ are equal in the comparison unit of the device, and outputting the determination result from the output unit of the verification device;
The verification apparatus characterized by having.
入力部,出力部,乱数生成部,群加算演算部,スカラー倍演算部,ハッシュ関数演算部,四則演算部を備え、
入力された証明に必要な情報である元Xiに対するsの知識を証明する証明装置であって、
入力部から、ある有限群G、ある2以上の整数n、前記Gのn個の元Pi(i=1,2,...,n)、整数s、有限群GのsPiである元Xiを入力する手段と、
前記乱数生成部に乱数rを生成させる手段と、
前記ハッシュ関数演算部に、P1,・・・,Pnを入力して、整数eiを生成させる手段と、
前記乱数rと整数eiに基づいて、前記群加算演算部及びスカラー倍演算部でY=ΣiirPiを計算し、Yを求める手段と、
前記求めたYに基づいて、前記ハッシュ関数演算部に、Yを入力して、数値cを生成させる手段と、
前記四則演算部でz=r−csを計算し、zを求める手段と、
前記出力部で前記数値c,zを出力する手段と、
を備えることを特徴とする証明装置。
Input unit, output unit, random number generation unit, group addition operation unit, scalar multiplication operation unit, hash function operation unit, four arithmetic operation unit,
A proof device that proves knowledge of s for an element X i that is information necessary for input proof,
From the input unit, a certain finite group G, an integer n greater than or equal to 2, n elements P i (i = 1, 2,..., N) of G, an integer s, and sP i of the finite group G Means for inputting the original X i ;
Means for causing the random number generator to generate a random number r;
Means for inputting P 1 ,..., P n to the hash function computing unit to generate an integer e i ;
Based on the random number r and the integer e i , Y = Σ i e i rP i is calculated by the group addition operation unit and the scalar multiplication operation unit, and Y is obtained;
Based on the obtained Y, means for inputting Y to the hash function computing unit and generating a numerical value c;
Means for calculating z = r−cs in the four arithmetic units and obtaining z;
Means for outputting the numerical values c and z at the output unit;
A proof device comprising:
入力部,出力部,乱数生成部,群加算演算部,スカラー倍演算部,ハッシュ関数演算部,四則演算部を備え、
前記入力部で、ある有限群G、ある2以上の整数n、前記Gのn個の元Pi(i=1,2,...,n)、整数s、有限群GのsPiである元Xiを入力する手段と、
前記乱数生成部に乱数rを生成させる手段と、
前記ハッシュ関数演算部に、P1,・・・,Pnを入力して、整数eiを生成させる手段と、
前記乱数rと整数eiに基づいて、前記群加算演算部及びスカラー倍演算部でY=ΣiirPiを計算し、Yを求める手段と、
前記求めたYに基づいて、前記ハッシュ関数演算部に、Yを入力して、数値cを生成させる手段と、
前記四則演算部でz=r−csを計算し、zを求める手段と、
前記出力部で前記数値c,zを出力する手段と、を有し、
入力された証明に必要な情報である元Xiに対するsの知識を証明する証明装置で用いた前記有限群G,整数n,元Pi,有限群GのsPiである元Xiとそれらの値を用いて出力したc,zを入力する入力部,出力部,群加算演算部,スカラー倍演算部,ハッシュ関数演算部,比較部を備え、
入力された証明に必要な情報である元Xiに対するsの知識を検証する検証装置であって、
前記検証装置のハッシュ関数演算部に、P1,・・・,Pnを入力して、整数e’iを生成させる手段と、
前記検証装置の群加算演算部及びスカラー倍演算部で、Y’=Σie’i(zPi+cXi)を計算し、Y’を求める手段と、
前記検証装置のハッシュ関数演算部に前記求めたY’を入力して、数値c’を計算する手段と、
前記検証装置の判定部でcとc’が等しいか否かを判定する手段と、
前記検証装置の出力部で前記判定結果を出力する手段と、
を備えることを特徴とする検証装置。
Input unit, output unit, random number generation unit, group addition operation unit, scalar multiplication operation unit, hash function operation unit, four arithmetic operation unit,
In the input unit, a certain finite group G, an integer n of 2 or more, n elements P i (i = 1, 2,..., N) of G, an integer s, and sP i of the finite group G Means for inputting a certain element X i ,
Means for causing the random number generator to generate a random number r;
Means for inputting P 1 ,..., P n to the hash function computing unit to generate an integer e i ;
Based on the random number r and the integer e i , Y = Σ i e i rP i is calculated by the group addition operation unit and the scalar multiplication operation unit, and Y is obtained;
Based on the obtained Y, means for inputting Y to the hash function computing unit and generating a numerical value c;
Means for calculating z = r−cs in the four arithmetic units and obtaining z;
Means for outputting the numerical values c and z at the output unit,
The finite group G, the integer n, the element P i , the element X i that is the sP i of the finite group G, and those used in the proof device that proves the knowledge of s for the element X i that is information necessary for the input proof An input unit for inputting c and z output using the value of, an output unit, a group addition operation unit, a scalar multiplication operation unit, a hash function operation unit, a comparison unit,
A verification device for verifying knowledge of s with respect to an element X i which is information necessary for input proof,
Means for inputting P 1 ,..., P n to the hash function calculation unit of the verification device to generate an integer e ′ i ;
Wherein in the group addition operation unit of the verification device and the scalar multiplication unit calculates the Y '= Σ i e' i (zP i + cX i), means for determining Y ',
Means for inputting the obtained Y ′ to the hash function computing unit of the verification device and calculating a numerical value c ′;
Means for determining whether c and c ′ are equal in the determination unit of the verification device;
Means for outputting the determination result at the output unit of the verification device;
A verification apparatus comprising:
証明装置が、初期情報を入力する入力部,送信部,受信部,乱数を発生させる乱数生成部,群加算演算部,スカラー倍演算部,四則演算部を備え、
検証装置が、入力部,出力部,送信部,受信部,乱数生成部,群加算演算部,スカラー倍演算部,比較部を備え、
互いに通信回線で接続された該証明装置と該検証装置を用いるバッチ証明検証方法であって、
前記証明装置の入力部が、ある有限群G、ある2以上の整数n、前記Gのn個の元Pi、n個の整数siを入力するステップと、
前記検証装置の入力部が、前記G,n,Pi及びn個のGのsiiである元Xiを入力するステップと、
前記検証装置の乱数生成部がn個の整数ei(i=1,...,n)を生成し、検証装置の送信部が証明装置に整数eiを送信するステップと、
前記証明装置の受信部が整数eiを受信し、証明装置の乱数生成部がn個の整数riを生成し、Y=Σiiiiを計算し、証明装置の送信部がYを検証装置に送信するステップと、
前記検証装置の受信部がYを受信し、検証装置の乱数生成部が整数cを生成し、その整数cを検証装置の送信部が証明装置に送信するステップと、
前記証明装置の受信部が乱数cを受信し、証明装置の四則演算部がzi=ri−csiを計算し、証明装置の送信部がziを検証装置に送信するステップと、
前記検証装置の受信部がziを受信し、検証装置の群加算演算部及びスカラー倍演算部がY’=Σii(zii+cXi)を計算し、前記受信したYと算出したY’が等しいか否かを前記検証装置の比較部が判定するステップと、
を有することを特徴とするバッチ証明検証方法。
The proving device includes an input unit for inputting initial information, a transmission unit, a reception unit, a random number generation unit for generating random numbers, a group addition operation unit, a scalar multiplication operation unit, and four arithmetic operation units,
The verification device includes an input unit, an output unit, a transmission unit, a reception unit, a random number generation unit, a group addition operation unit, a scalar multiplication operation unit, and a comparison unit.
A batch proof verification method using the verification device and the verification device connected to each other via a communication line,
The input unit of the proving device inputs a certain finite group G, a certain integer n of 2 or more, n elements P i of the G, and n integers s i ;
The input unit of the verification device inputs the element X i which is the G, n, P i and the n G s i P i ;
The random number generation unit of the verification device generates n integers e i (i = 1,..., N), and the transmission unit of the verification device transmits the integer e i to the proving device;
Receiving unit receives the integer e i of the proving device, the random number generation unit of the proving device generates a n integers r i, computes the Y = Σ i r i e i P i, the transmitting unit of the proving device Transmitting Y to the verification device;
The receiving unit of the verification device receives Y, the random number generation unit of the verification device generates an integer c, and the transmission unit of the verification device transmits the integer c to the certification device;
A receiving unit of the proving device receives a random number c, an arithmetic operation unit of the proving device calculates z i = r i -cs i, and a transmitting unit of the proving device transmits z i to the verification device;
The receiving unit of the verification device receives z i , the group addition operation unit and the scalar multiplication operation unit of the verification device calculate Y ′ = Σ i e i (z i P i + cX i ), and the received Y and A step of determining whether the calculated Y ′ is equal by the comparison unit of the verification device;
A batch proof verification method characterized by comprising:
初期情報を入力する入力部,送信部,受信部,乱数を発生させる乱数生成部,群加算演算部,スカラー倍演算部,四則演算部を備え、
入力された証明に必要な情報である元Xiに対するsの知識を証明する証明装置であって、
前記入力部で、ある有限群G、ある2以上の整数n、前記Gのn個の元Pi、n個の整数siを入力する手段と、
前記受信部で整数eiを受信し、前記乱数生成部にn個の整数riを生成させ、前記群加算演算部及びスカラー倍演算部でY=Σiiiiを計算し、前記送信部でYを送信する手段と、
前記受信部で乱数cを受信し、前記四則演算部でzi=ri−csiを計算し、前記送信部でziを送信する手段と、
を有することを特徴とする証明装置。
An input unit for inputting initial information, a transmission unit, a reception unit, a random number generation unit for generating random numbers, a group addition operation unit, a scalar multiplication operation unit, an arithmetic operation unit,
A proof device that proves knowledge of s for an element X i that is information necessary for input proof,
Means for inputting a certain finite group G, a certain integer n of 2 or more, n elements P i of G, and n integers s i at the input unit;
The reception unit receives an integer e i , causes the random number generation unit to generate n integers r i , and calculates Y = Σ i r i e i P i by the group addition operation unit and the scalar multiplication operation unit. Means for transmitting Y in the transmission unit;
Means for receiving a random number c at the receiving unit, calculating z i = r i −cs i at the four arithmetic operation units, and transmitting z i at the transmitting unit;
A proving device comprising:
初期情報を入力する入力部,送信部,受信部,乱数を発生させる乱数生成部,群加算演算部,スカラー倍演算部,四則演算部を備え、
前記入力部で、ある有限群G、ある2以上の整数n、前記Gのn個の元Pi、n個の整数siを入力する手段と、
前記受信部で整数eiを受信し、乱数生成部にn個の整数riを生成させ、前記群加算演算部及びスカラー倍演算部でY=Σiiiiを計算し、送信部でYを送信する手段と、
前記受信部で乱数cを受信し、四則演算部でzi=ri−csiを計算し、送信部でziを送信する手段と、を有し、入力された証明に必要な情報である元Xiに対するsの知識を証明する証明装置で用いた有限群G,ある2以上の整数n,前記Gのn個の元Pi及びn個の有限群Gのsiiである元Xiを入力する入力部,出力部,送信部,受信部,乱数生成部,群加算演算部,スカラー倍演算部,比較部を備える検証装置であって、
前記検証装置の乱数生成部にn個の整数ei(i=1,...,n)を生成させ、検証装置の送信部で整数eiを送信する手段と、
前記検証装置の受信部でYを受信し、前記検証装置の乱数生成部に整数cを生成させ、その整数cを検証装置の送信部で送信するステップと、
前記検証装置の受信部でziを受信し、前記検証装置の群加算演算部及びスカラー倍演算部でY’=Σii(zii+cXi)を計算し、前記受信したYと算出したY’が等しいか否かを検証装置の比較部で判定する手段と、
を有することを特徴とする検証装置。
An input unit for inputting initial information, a transmission unit, a reception unit, a random number generation unit for generating random numbers, a group addition operation unit, a scalar multiplication operation unit, an arithmetic operation unit,
Means for inputting a certain finite group G, a certain integer n of 2 or more, n elements P i of G, and n integers s i at the input unit;
The receiving unit receives the integer e i , causes the random number generation unit to generate n integers r i , and calculates Y = Σ i r i e i P i in the group addition operation unit and scalar multiplication operation unit, Means for transmitting Y at the transmitter;
Means for receiving the random number c at the receiving unit, calculating z i = r i −cs i at the four arithmetic operation units, and transmitting z i at the transmitting unit, and with the information necessary for the input proof is there based on X i finite group used in the certification apparatus to prove the knowledge of s with respect to G, are two or more integer n, s i P i of n elements P i and n number of the finite group G of the G A verification device including an input unit, an output unit, a transmission unit, a reception unit, a random number generation unit, a group addition operation unit, a scalar multiplication operation unit, and a comparison unit for inputting an element X i ,
Means for generating n integers e i (i = 1,..., N) in the random number generation unit of the verification device, and transmitting the integers e i in the transmission unit of the verification device;
Receiving Y at the reception unit of the verification device, causing the random number generation unit of the verification device to generate an integer c, and transmitting the integer c at the transmission unit of the verification device;
Receiving said z i by the receiver of the verification device, wherein in the group addition operation unit and the scalar multiplication portion of the verification device Y '= Σ i e i a (z i P i + cX i ) was calculated and the received Y And means for determining by the comparison unit of the verification device whether the calculated Y ′ is equal;
The verification apparatus characterized by having.
入力部,出力部,乱数生成部,群加算演算部,スカラー倍演算部,ハッシュ関数演算部,四則演算部を備え、
入力された証明に必要な情報である元Xiに対するsの知識を証明する証明装置であって、
前記入力部で、ある有限群G,ある2以上の整数n,前記Gのn個の元Pi(i=1,2,...,n),n個の整数si,Gのsiiである元Xiを入力する手段と、
前記乱数生成部にn個の乱数riを生成させる手段と、
前記ハッシュ関数演算部に、P1,・・・,Pnを入力し、整数eiを生成させる手段と、
前記群加算演算部及びスカラー倍演算部で、Y=Σiiiiを計算する手段と、
前記ハッシュ関数演算部に、Yを入力して数値cを生成させる手段と、
前記四則演算部で、zi=ri−csiを計算する手段と、
前記出力部で(c,z1,...,zn)を出力する手段と、
を有することを特徴とする証明装置。
Input unit, output unit, random number generation unit, group addition operation unit, scalar multiplication operation unit, hash function operation unit, four arithmetic operation unit,
A proof device that proves knowledge of s for an element X i that is information necessary for input proof,
At the input unit, a finite group G, an integer n greater than or equal to 2, n elements P i (i = 1, 2,..., N) of G, n integers s i , s of G and means for inputting the original X i, which is the i P i,
Means for causing the random number generator to generate n random numbers r i ;
Means for inputting P 1 ,..., P n to the hash function computing unit to generate an integer e i ;
In the group adder and scalar multiplication unit, means for calculating a Y = Σ i e i r i P i,
Means for inputting Y to the hash function computing unit to generate a numerical value c;
Means for calculating z i = r i −cs i in the arithmetic operation unit;
Means for outputting (c, z 1 ,..., Z n ) at the output unit;
A proving device comprising:
入力部,出力部,乱数生成部,群加算演算部,スカラー倍演算部,ハッシュ関数演算部,四則演算部を備え、
前記入力部で、ある有限群G,ある2以上の整数n,前記Gのn個の元Pi(i=1,2,...,n),n個の整数si,Gのsiiである元Xiを入力する手段と、
前記乱数生成部にn個の乱数riを生成させる手段と、
前記ハッシュ関数演算部に、P1,・・・,Pnを入力して、整数eiを生成させる手段と、
前記群加算演算部及びスカラー倍演算部で、Y=Σiiiiを計算する手段と、
前記ハッシュ関数演算部に、Yを入力して整数cを生成させる手段と、
前記四則演算部で、zi=ri−csiを計算する手段と、
前記出力部で(c,z1,...,zn)を出力する手段と、を有し、
入力された証明に必要な情報である元Xiに対するsiの知識を証明する証明装置で用いた前記有限群G,整数n,元Pi,有限群Gのsiiである元Xiとそれらの値を用いて出力したc,z1,...,znを入力する入力部,出力部,群加算演算部,スカラー倍演算部,ハッシュ関数演算部,比較部を備え、
入力された証明に必要な情報である元Xiに対するsiの知識を検証する手段を備えた検証装置であって、
前記検証装置のハッシュ関数演算部にP1,・・・,Pnを入力して、整数e’iを生成させる手段と、
前記検証装置の群加算演算部及びスカラー倍演算部でY’=Σie’i(zii+cXi)を計算する手段と、
前記検証装置のハッシュ関数演算部にY’を入力して整数c’を生成させる手段と、
前記検証装置の比較部で前記入力されたcと前記計算されたc’が等しいか否かを判定する手段と、
前記検証装置の出力部で、その判定結果を出力する手段と、
を有することを特徴とする検証装置。
Input unit, output unit, random number generation unit, group addition operation unit, scalar multiplication operation unit, hash function operation unit, four arithmetic operation unit,
At the input unit, a finite group G, an integer n greater than or equal to 2, n elements P i (i = 1, 2,..., N) of G, n integers s i , s of G and means for inputting the original X i, which is the i P i,
Means for causing the random number generator to generate n random numbers r i ;
Means for inputting P 1 ,..., P n to the hash function computing unit to generate an integer e i ;
In the group adder and scalar multiplication unit, means for calculating a Y = Σ i e i r i P i,
Means for inputting Y to the hash function computing unit to generate an integer c;
Means for calculating z i = r i −cs i in the arithmetic operation unit;
Means for outputting (c, z 1 ,..., Z n ) at the output unit,
The finite group G used in the certification apparatus to prove the knowledge of s i for the original X i with the information necessary to input proven integer n, the original P i, based on X which is a s i P i of the finite group G c and z 1 ,... output using i and their values. . . , Z n input unit, output unit, group addition operation unit, scalar multiplication operation unit, hash function operation unit, comparison unit,
A verification apparatus comprising means for verifying the knowledge of s i with respect to an element X i which is information necessary for input proof,
Means for inputting P 1 ,..., P n to the hash function calculation unit of the verification device to generate an integer e ′ i ;
It means for calculating a Y '= Σ i e' i (z i P i + cX i) in the group addition unit of the verification device and the scalar multiplication calculation portion,
Means for generating an integer c ′ by inputting Y ′ into the hash function calculation unit of the verification device;
Means for determining whether the input c and the calculated c ′ are equal in the comparison unit of the verification device;
Means for outputting the determination result at the output unit of the verification device;
The verification apparatus characterized by having.
証明装置が、初期情報を入力する入力部,送信部,受信部,乱数を発生させる乱数生成部,群加算演算部,スカラー倍演算部,四則演算部を備え、
検証装置が、入力部,出力部,送信部,受信部,乱数生成部,群加算演算部,スカラー倍演算部,比較部を備え、
互いに通信回線で接続された該証明装置と該検証装置を用いるバッチ証明検証方法であって、
前記証明装置の入力部が、ある有限群G、ある2以上の整数n、前記Gのn個の元Pi、n個の整数siを入力するステップと、
前記証明装置の乱数生成部が乱数ri(i=1,...,n)を生成し、前記証明装置の群加算演算部及び前記証明装置のスカラー倍演算部によってY=Σiiiを計算し、前記証明装置の送信部がYを送信するステップと、
前記検証装置の受信部がYを受信し、前記検証装置の乱数生成部が0以上2t未満の整数からなる乱数ei(i=1,...,n)を生成し、前記検証装置の送信部から乱数eiを送信するステップと、
前記証明装置の受信部が乱数eiを受信し、前記証明装置の四則演算部によってzi=(ri−eii)を計算し、前記証明装置の送信部がziを送信するステップと、
前記検証装置の群加算演算部及びスカラー倍演算部を使ってY’=Σiii+eiiを計算し、前記検証装置の比較部が前記受信したYと算出したY’が等しいか否かを判定するステップと、
を有することを特徴とするバッチ証明検証方法。
The proving device includes an input unit for inputting initial information, a transmission unit, a reception unit, a random number generation unit for generating random numbers, a group addition operation unit, a scalar multiplication operation unit, and four arithmetic operation units,
The verification device includes an input unit, an output unit, a transmission unit, a reception unit, a random number generation unit, a group addition operation unit, a scalar multiplication operation unit, and a comparison unit.
A batch proof verification method using the verification device and the verification device connected to each other via a communication line,
The input unit of the proving device inputs a certain finite group G, a certain integer n of 2 or more, n elements P i of the G, and n integers s i ;
The random number generation unit of the proving device generates a random number r i (i = 1,..., N), and Y = Σ i r i by the group addition operation unit of the proving device and the scalar multiplication operation unit of the proving device. Calculating Pi, and the transmitting unit of the proving device transmits Y;
The receiving unit of the verification device receives Y, and the random number generation unit of the verification device generates a random number e i (i = 1,..., N) consisting of an integer between 0 and less than 2 t , and the verification device a step of the transmission unit transmits the random number e i,
The receiving unit of the proving device receives the random number e i , calculates z i = (r i −e i s i ) by the four arithmetic operation units of the proving device, and the transmitting unit of the proving device transmits z i . Steps,
Wherein using the group addition operation unit and the scalar multiplication portion of the verification device Y 'calculates a = Σ i z i P i + e i X i, the comparison unit of the verification device and the calculated Y said received Y' is Determining whether they are equal;
A batch proof verification method characterized by comprising:
入力部,出力部,乱数生成部,群加算演算部,スカラー倍演算部,ハッシュ関数演算部,四則演算部を備え、
入力された証明に必要な情報である元Xiに対するsの知識を証明する証明装置であって、
前記入力部で、ある有限群G,ある2以上の整数n,n個の整数si,前記Gのn個の元Pi(i=1,2,...,n),有限群Gのsiiである元Xiを入力する手段と、
前記乱数生成部から整数である乱数ri(i=1,...,n)を生成させる手段と、
前記群加算演算部およびスカラー倍演算部によってY=Σiiiを計算する手段と、
前記ハッシュ関数演算部にYを入力して数値eを生成させる手段と、
前記四則演算部で、zi=ri−eiiを計算する手段と、
前記出力部で(e,z1,...,zn)を出力する手段と、
を有することを特徴とする証明装置。
Input unit, output unit, random number generation unit, group addition operation unit, scalar multiplication operation unit, hash function operation unit, four arithmetic operation unit,
A proof device that proves knowledge of s for an element X i that is information necessary for input proof,
In the input unit, a certain finite group G, a certain integer n of 2 or more, n integers s i , n elements P i of G (i = 1, 2,..., N), finite group G Means for inputting an element X i that is s i P i of
Means for generating random numbers r i (i = 1,..., N) which are integers from the random number generation unit;
Means for calculating Y = Σ i r i P i by the group addition operation unit and the scalar multiplication operation unit;
Means for generating a numerical value e by inputting Y into the hash function calculation unit;
Means for calculating z i = r i −e i s i in the arithmetic operation unit;
Means for outputting (e, z 1 ,..., Z n ) at the output unit;
A proving device comprising:
入力部,出力部,乱数生成部,群加算演算部,スカラー倍演算部,ハッシュ関数演算部,四則演算部を備え、
前記入力部で、ある有限群G,ある2以上の整数n,n個の整数si,前記Gのn個の元Pi(i=1,2,...,n),有限群Gのsiiである元Xiを入力する手段と、
前記乱数生成部から整数である乱数ri(i=1,...,n)を生成させる手段と、
前記群加算演算部およびスカラー倍演算部によってY=Σiiiを計算する手段と、
前記ハッシュ関数演算部にYを入力して数値eを生成させる手段と、
前記四則演算部で、zi=ri−eiiを計算する手段と、
前記出力部で(e,z1,...,zn)を出力する手段と、
を有し、入力された証明に必要な情報である元Xiに対するsの知識を証明する証明装置で用いた有限群G,整数n,整数si,元Pi,有限群Gのsiiである元Xiとそれらの値を用いて出力したe,z1,...,znを入力する入力部,出力部,群加算演算部,スカラー倍演算部,ハッシュ関数演算部,比較部を備え、
入力された証明に必要な情報である元Xiに対するsiの知識を検証する手段を備えた検証装置であって、
前記検証装置の群加算演算部及びスカラー倍演算部でY’=Σiii+eiiを計算する手段と、
前記検証装置のハッシュ関数演算部にY’を入力して整数e’を生成させる手段と、
前記検証装置の比較部で前記入力された数値eと前記計算された整数e’が等しいか否か判定する手段と、
前記検証装置の出力部で、その判定結果を出力する手段と、
を有することを特徴とする検証装置。
Input unit, output unit, random number generation unit, group addition operation unit, scalar multiplication operation unit, hash function operation unit, four arithmetic operation unit,
In the input unit, a certain finite group G, a certain integer n of 2 or more, n integers s i , n elements P i of G (i = 1, 2,..., N), finite group G Means for inputting an element X i that is s i P i of
Means for generating random numbers r i (i = 1,..., N) which are integers from the random number generation unit;
Means for calculating Y = Σ i r i P i by the group addition operation unit and the scalar multiplication operation unit;
Means for generating a numerical value e by inputting Y into the hash function calculation unit;
Means for calculating z i = r i −e i s i in the arithmetic operation unit;
Means for outputting (e, z 1 ,..., Z n ) at the output unit;
Has a finite group G used in the certification apparatus to prove the knowledge of s with respect to the original X i which is necessary information to the input proven integer n, the integer s i, based on P i, s i of the finite group G e, z 1, which is output using the original X i and their values are P i. . . , Z n input unit, output unit, group addition operation unit, scalar multiplication operation unit, hash function operation unit, comparison unit,
A verification apparatus comprising means for verifying the knowledge of s i with respect to an element X i which is information necessary for input proof,
It means for calculating a Y '= Σ i z i P i + e i X i in the group addition unit of the verification device and the scalar multiplication calculation portion,
Means for generating an integer e ′ by inputting Y ′ into the hash function computing unit of the verification device;
Means for determining whether or not the input numerical value e and the calculated integer e ′ are equal in the comparison unit of the verification device;
Means for outputting the determination result at the output unit of the verification device;
The verification apparatus characterized by having.
請求項2に記載の証明装置及び請求項3に記載の検証装置が通信回線で接続され、請求項2に記載の証明装置と請求項3に記載の検証装置間でデータを送受信してバッチ証明検証を行うことを特徴とするバッチ証明検証システム。   The verification apparatus according to claim 2 and the verification apparatus according to claim 3 are connected by a communication line, and batch verification is performed by transmitting and receiving data between the verification apparatus according to claim 2 and the verification apparatus according to claim 3. A batch proof verification system characterized by performing verification. 請求項1,6,11のいずれかに記載のバッチ証明検証方法を、コンピュータで実行可能なコンピュータプログラムとして記述したことを特徴とするバッチ証明検証プログラム。   12. A batch certification verification program characterized in that the batch certification verification method according to claim 1, is described as a computer program executable by a computer.
JP2006231221A 2006-08-28 2006-08-28 Batch proof verification method, proof device, verification device, batch proof verification system and program Expired - Fee Related JP4769147B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006231221A JP4769147B2 (en) 2006-08-28 2006-08-28 Batch proof verification method, proof device, verification device, batch proof verification system and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006231221A JP4769147B2 (en) 2006-08-28 2006-08-28 Batch proof verification method, proof device, verification device, batch proof verification system and program

Publications (2)

Publication Number Publication Date
JP2008054240A JP2008054240A (en) 2008-03-06
JP4769147B2 true JP4769147B2 (en) 2011-09-07

Family

ID=39237809

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006231221A Expired - Fee Related JP4769147B2 (en) 2006-08-28 2006-08-28 Batch proof verification method, proof device, verification device, batch proof verification system and program

Country Status (1)

Country Link
JP (1) JP4769147B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009212875A (en) 2008-03-05 2009-09-17 Nec Corp Communication device and operation management method used for the same

Also Published As

Publication number Publication date
JP2008054240A (en) 2008-03-06

Similar Documents

Publication Publication Date Title
Bellare et al. The knowledge-of-exponent assumptions and 3-round zero-knowledge protocols
US7688973B2 (en) Encryption apparatus, decryption apparatus, key generation apparatus, program, and method
Biasse et al. LESS is more: code-based signatures without syndromes
US8745376B2 (en) Verifying implicit certificates and digital signatures
CN112800478B (en) Method, device and system for determining shared data for protecting private data
US20120233457A1 (en) Issuing implicit certificates
CN103475473B (en) Crypto-operation method and server in digital signature method and equipment, digital signature
US6959085B1 (en) Secure user identification based on ring homomorphisms
KR101986392B1 (en) Information processing device, information processing method, and recording medium
CN102064940B (en) High-efficiency on-line/off-line digital signature method
CN110190957A (en) Multivariable broadcasting multi-signature method based on no certificate
Stallings Digital signature algorithms
JP4769147B2 (en) Batch proof verification method, proof device, verification device, batch proof verification system and program
JP2010200065A (en) Signature verification system, signature verification method, blind signature generation method, user device, and blind signature generation program
Chang et al. Cryptanalysis on an improved version of ElGamal-like public-key encryption scheme for encrypting large messages
Yang et al. Divisible on-line/off-line proxy re-signature
Yang et al. On-line/off-line threshold proxy re-signature scheme through the simulation approach
JP5314449B2 (en) Electronic signature verification system, electronic signature device, verification device, electronic signature verification method, electronic signature method, verification method, electronic signature program, verification program
Debnath et al. Post‐quantum protocol for computing set intersection cardinality with linear complexity
JP5227764B2 (en) Electronic signature verification system, electronic signature device, verification device, electronic signature verification method, electronic signature method, verification method, electronic signature program, verification program
Zhang et al. Efficient designated confirmer signature from bilinear pairings
Ye et al. Group signature scheme based on verifiable random number
WO2011033642A1 (en) Signature generation device and signature verification device
Thanalakshmi et al. A quantum resistant universal designated verifier signature proof
Ali Provable security for public key cryptosystems: how to prove that the cryptosystem is secure

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080905

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090609

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100520

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: 20110614

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110617

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4769147

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140624

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees