JP5330858B2 - Signature verification system, signature verification method, blind signature generation method, user device, and blind signature generation program - Google Patents
Signature verification system, signature verification method, blind signature generation method, user device, and blind signature generation program Download PDFInfo
- Publication number
- JP5330858B2 JP5330858B2 JP2009043453A JP2009043453A JP5330858B2 JP 5330858 B2 JP5330858 B2 JP 5330858B2 JP 2009043453 A JP2009043453 A JP 2009043453A JP 2009043453 A JP2009043453 A JP 2009043453A JP 5330858 B2 JP5330858 B2 JP 5330858B2
- Authority
- JP
- Japan
- Prior art keywords
- signature
- commitment
- generation
- random number
- knowledge proof
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Abstract
Description
本発明は、利用者装置が署名生成装置から署名を得て、検証装置にその署名を与えずに署名の正当性を検証させる署名検証システム、署名検証方法、ブラインド署名生成方法、利用者装置、及びブラインド署名生成プログラムに関する。 The present invention provides a signature verification system, a signature verification method, a blind signature generation method, a user device, which allows a user device to obtain a signature from a signature generation device and verify the validity of the signature without giving the signature to the verification device. And a blind signature generation program.
電子署名は電子現金やクレデンシャルシステムなど、様々な暗号プロトコルにおいて基本的な構成要素として利用されている。ブラインド署名方式は、利用者AがメッセージMの内容を秘匿にしたまま、署名者からメッセージMに対する署名σを得ることができる方法である。利用者は署名者から得た署名σを変換し、検証者に変換した署名sを提出する。提出された署名sは、確かにMに対する署名者の署名であることが検証可能であり、提出された署名sは、たとえ署名者であってもその署名sが、署名者が利用者Aに与えたものであることを識別できないという特徴がある。つまり、署名者と利用者間での直接的な署名sの授受関係を知られることがないので、安全性の点で優れている。しかしながら、署名sの検証のためには、利用者はメッセージMと共に署名sを検証者に渡す必要があるため、署名者から利用者に送信された署名σと、利用者から検証者に送信された署名sとメッセージMを盗聴することにより、σとs、Mの関係が知られてしまい、好ましくない。 Electronic signatures are used as basic components in various cryptographic protocols such as electronic cash and credential systems. The blind signature method is a method in which the user A can obtain the signature σ for the message M from the signer while keeping the contents of the message M secret. The user converts the signature σ obtained from the signer and submits the converted signature s to the verifier. It is possible to verify that the submitted signature s is indeed the signer's signature for M, and even if the submitted signature s is a signer, the signature s becomes the signer to the user A. There is a feature that it cannot be identified that it is given. In other words, since there is no knowledge of the direct exchange relationship of the signature s between the signer and the user, it is excellent in terms of safety. However, since the user needs to pass the signature s together with the message M to the verifier in order to verify the signature s, the signature σ transmitted from the signer to the user and the user s transmitted to the verifier. By eavesdropping the signature s and the message M, the relationship between σ, s, and M is known, which is not preferable.
Universal composable model上で安全性証明が可能なブラインド署名方式が非特許文献1に提案されている。ユニバーサルコンポーザブルモデルは、複数のプロトコルや暗号アルゴリズムが用いられて1つのシステムを成しているような場合の安全性証明に適したモデルであり、ランダムオラクルモデルに比べていくつもの暗号ツールが混ざっているような複雑なプロトコルなどを想定しているモデルである。このような複合的なシステムの場合、従来のランダムオラクルモデルでは、たとえ個々(例えば、ある暗号アルゴリズムとある署名アルゴリズムなど)の安全性が単独で証明できていたとしても、システム全体の安全性を保証するものにはならず、システムの安全性を示す場合には、システム全体を捉えて証明しなおさなければならない。 Non-Patent Document 1 proposes a blind signature scheme that can perform security proof on a universal composable model. The universal composable model is suitable for security verification when multiple protocols and cryptographic algorithms are used to form a single system, and many cryptographic tools are mixed in comparison with the random oracle model. It is a model that assumes such a complicated protocol. In the case of such a complex system, the conventional random oracle model can improve the security of the entire system even if the individual security (for example, a certain cryptographic algorithm and a certain signature algorithm) can be proved independently. It cannot be guaranteed, and if the safety of the system is shown, the whole system must be captured and recertified.
ユニバーサルコンポーザブルモデルでは、個々の安全性が個のモデル上で証明されていた場合、システム全体の安全性はその積み上げで示せることになり、個々の(暗号アルゴリズムや署名アルゴリズム)の安全性が示されていれば、システム全体の安全性はそこから導くことができる特徴を持っている。 In the universal composable model, when individual security is proved on an individual model, the security of the entire system can be shown by the accumulation, and the security of each (encryption algorithm and signature algorithm) is shown. If so, the safety of the entire system has the characteristics that can be derived from it.
非特許文献1で示されている従来のユニバーサルコンポーザブルモデルで安全性証明可能なブラインド署名を構成する要求条件は複雑・難解で、必要以上に過多な条件を、安全性の性質として求めるものであり、従って非効率的なものであった。この発明の目的は、利用者が検証者に署名を渡さずに、利用者がメッセージに対する署名を確かに所有していることを検証できる、ユニバーサルコンポーザブルモデル上で安全性証明可能で効率的なブラインド署名方法を用いた署名検証システム、署名検証方法、ブラインド署名生成方法、利用者装置、及びブラインド署名生成プログラムを提供することである。
The requirements for constructing a blind signature that can be verified with the conventional universal composable model shown in Non-Patent
この発明によれば、利用者装置と、署名生成装置と、検証装置とを含み、素数qと、バイリニアペアリングe:G1×G2→GTが存在する位数qの群G1,G2,GTとを公開した署名検証システムにおいて、 According to the present invention, a group G 1 of orders q including a user device, a signature generation device, and a verification device, and having a prime number q and bilinear pairing e: G 1 × G 2 → G T exists. In the signature verification system that disclosed G 2 and G T ,
上記利用者装置は、上記G1の元g、h1とG2の元h2とを含むコミットメント鍵ckを使って情報mに対するコミットメントCを演算し、署名要求メッセージMとして上記署名生成装置に送信し、署名生成装置から受信した署名σの要素に対し、ペアリング等式が成立するか検証し、検証に成功した場合は、上記コミットメントCに対する非対話ゼロ知識証明と上記署名σに対する非対話ゼロ知識証明をそれぞれ生成し、上記情報mと共にブラインド署名として上記検証装置に与え、 The user apparatus calculates a commitment C for the information m using a commitment key ck including the element g of G 1 , h 1 and the element h 2 of G 2 , and sends a signature request message M to the signature generation apparatus. It is verified whether the pairing equation is established for the element of the signature σ transmitted and received from the signature generation apparatus. If the verification is successful, the non-interaction zero knowledge proof for the commitment C and the non-dialogue for the signature σ Each zero knowledge proof is generated and given to the verification device as a blind signature together with the information m,
上記署名生成装置は、上記群G1,G2の生成元g1、g2と位数qの剰余群Zqに属する乱数x、y、rを使って上記利用者装置から受信した署名要求メッセージMとの演算により群G1,G2,GTのいずれかの元となる複数の要素の組をMに対する署名σとして生成し、上記利用者装置にブラインド署名として送信し、 The signature generation apparatus receives a signature request received from the user apparatus using random numbers x, y, r belonging to generation groups g 1 and g 2 of the groups G 1 and G 2 and a residue group Z q of order q. A set of a plurality of elements that are one of the groups G 1 , G 2 , and G T is generated as a signature σ for M by operation with the message M, and is transmitted as a blind signature to the user device.
上記検証装置は、上記公開パラメータと上記コミットメント鍵を使って上記利用者装置から受信したコミットメントに対する非対話ゼロ知識証明と署名に対する非対話ゼロ知識証明とを検証し、検証に成功した場合は上記ブラインド署名を受け入れるように構成される。 The verification device verifies the non-dialog zero knowledge proof for the commitment received from the user device and the non-dialog zero knowledge proof for the signature using the public parameter and the commitment key, and if the verification is successful, the blind Configured to accept signatures.
本発明の署名検証システムによれば、利用者装置は公開されているバイリニアペアリングの群の任意の値を用いて情報mに対しコミットメントCを生成し、署名生成装置は前記群の任意の値を用いて署名要求メッセージM=Cに対し署名σを生成し、利用者装置はコミットメントCと署名σに対しそれぞれバイリニアペアリングeの群の値を知っていることを証明できる非対話ゼロ知識証明を生成して情報mと共にブラインド署名として検証装置に与える。従って、ユニバーサルコンポーザブルモデル上で安全性証明可能なブラインド署名方式が可能である。しかも、署名装置から利用者装置への署名と、利用者装置から検証装置へのブラインド署名を盗聴してもそれら間の対応関係を第3者は特定することができない。 According to the signature verification system of the present invention, the user device generates a commitment C for the information m using an arbitrary value of a group of publicly available bilinear pairings, and the signature generation device uses an arbitrary value of the group. Is used to generate a signature σ for the signature request message M = C, and the user apparatus can prove that it knows the values of the group of bilinear pairings e for the commitment C and the signature σ, respectively. And is given to the verification device as a blind signature together with the information m. Therefore, a blind signature scheme capable of proving safety on the universal composable model is possible. Moreover, even if the signature from the signature device to the user device and the blind signature from the user device to the verification device are eavesdropped, the third party cannot specify the correspondence between them.
図1はこの発明が実施される電子署名検証システム10の構成の概要を示し、図2は署名検証システムにおける処理手順を示す。電子署名検証システムは利用者装置100と、署名生成装置200と、検証装置300と、登録装置400とを含んでいる。登録装置400は予め大きな素数qと、バイリニアペアリングe:G1×G2→GTを満足する位数qの群G1、G2、GTとを決め、公開パラメータv=(q, G1, G2, GT, e)として保持している。G1、G2はそれらの任意の生成元をh1、h2とすると、任意の乱数tに対し、h1 tからh2 tを計算できるのは乱数tを知っている場合に限られるという性質を有する群である。なお、gbとは、g∈Gに対し、群Gで定義される演算をb回行うことを意味する。バイリニアペアリングeとしては、WeilペアリングやTateペアリングを使用することができる。
FIG. 1 shows an outline of a configuration of an electronic
利用者装置100は予め公開パラメータvを登録装置400から取得し(S11)、公開パラメータvに基づいてコミットメント鍵ckを生成し、登録装置400に登録する(S12)。コミットメントを行うごとに公開パラメータvを要求しなくても、公開パラメータvを記憶しておき、それを使用してもよい。利用者装置100は更に、入力された情報mに対し、コミットメント鍵ck=(v, g, h1, h2)を使ってコミットメントCを生成し、署名要求メッセージMとして署名生成装置200に送る(S13)。なお、コミットメント鍵ckに公開パラメータvを含めないでもよく、以下の各実施例でも同様である。
The
署名生成装置200は、予め公開パラメータvを登録装置400から取得し(S21)、公開パラメータvに基づいて公開鍵pkと秘密鍵skを生成し、公開鍵pkを登録装置400に登録する(S22)。利用者装置100から受信したコミットメントCである署名要求メッセージMに対し秘密鍵skを使って署名σを生成し、利用者装置100に送信する(S23)。
The
利用者装置100は、登録装置400から公開鍵pkを取得し(S14)、それを使って受信した署名σを検証し(S15)、正当であればコミットメントCに対する非対話ゼロ知識証明Prf(C)とブラインド署名σに対する非対話ゼロ知識証明Prf(σ)を生成し、情報mと共にブラインド署名として検証装置300に送信する(S16)。検証装置300は、予め登録装置400から公開パラメータvを取得し(S31)、更に登録装置400からコミットメント鍵ckを取得する(S32)。受信した非対話ゼロ知識証明Prf(C)と非対話ゼロ知識証明Prf(σ)を、公開パラメータvとコミットメント鍵ckと情報mを使って検証する(S33)。検証に成功すれば、利用者装置100が確かに情報mに対応するコミットメントCに対する署名σを所有しており、従って、情報mに対するコミットメントCを所有していることが確認できたことになる。
The
コミットメントC及びブラインド署名σに対する非対話ゼロ知識証明は、例えば Jens Groth, Amit Sahai, "Efficient Non-interractive Proof Systems for Bilinear Groups", EUROCRYPT 2008, pp.415-432に開示されているペアリングの群の要素に対する非対話ゼロ知識証明を使用することができる。 Non-interactive zero-knowledge proof for commitment C and blind signature σ is a pairing group disclosed in, for example, Jens Groth, Amit Sahai, "Efficient Non-interractive Proof Systems for Bilinear Groups", EUROCRYPT 2008, pp.415-432 A non-interactive zero-knowledge proof for elements of can be used.
上述のシステムの概要は以下の実施例に共通である。以下に各実施例の詳細を説明する。なお、上述では利用者装置100がコミットメント鍵ck=(v, g, h1, h2)を生成し、登録装置400に登録する場合を説明したが、登録装置400がコミットメント鍵ckを生成し、利用者装置100及び検証装置300に与えるようにしてもよい。その場合は図3の利用者装置100中のコミットメント鍵生成部110は不要であり、また図4中のステップS12は登録装置400からのコミットメント鍵取得ステップに置き換えられる。以下の各実施例においても利用者装置100がコミットメント鍵ckを生成する場合を示すが、登録装置400がコミットメント鍵を生成してもよい。
The outline of the above system is common to the following embodiments. Details of each embodiment will be described below. In the above description, the case where the
[登録装置]
登録装置400は信頼できる第三者等が管理し、公開パラメータvを登録及び公開している。例えば、登録装置400は、図示してない通信部と、記憶部と、制御部を有し、通信部を介して、利用者装置100、署名生成装置200及び検証装置300に公開パラメータvを送信する。また、署名生成装置200から公開鍵pkを受信し、記憶部に登録し、要求に応じて利用者装置100に公開鍵pkを送信する。以下、特に記述しなくとも、これら装置との通信は通信部を介して行われるものとする。通信部は、例えば、LANアダプタ等により構成され、LANやインターネット等からなるネットワークと接続される。但し、利用者装置100、署名生成装置200、検証装置300は必ずしも通信部を有さずともよく、例えば、キーボード等の入力装置から公開パラメータvを入力してもよいし、また、USBメモリ等の可搬媒体に公開パラメータvを記憶し、それを入力してもよい。以下、同様に各装置(利用者装置、署名生成装置及び検証装置)は送信部を有さずともよく、装置間のデータの入出力は、通信以外の方法であってもよい。登録装置400の図示してない記憶部は、公開パラメータv、コミットメント鍵ck、公開鍵pk等を記憶する。なお、上記「登録」とは、記憶部に記憶することを意味してもよい。また、「公開」とは、利用者の求めに応じて、情報(例えば、公開パラメータv、コミットメント鍵ck、公開鍵pk等)を閲覧可能、または、取得可能とすることを意味する。制御部は、各処理を制御する。
[Registered device]
The
[利用者装置]
図3は、利用者装置100の構成例を示し、図4は、利用者装置100の処理手順S100の一例を示す。利用者装置100は、通信部101と、記憶部102と、制御部103と、コミットメント鍵生成部110と、乱数生成部120と、コミットメント生成部130と、開封情報生成部140と、署名検証部150と、署名変形部160と、ゼロ知識証明生成部170とを含んでいる。
[User device]
FIG. 3 shows a configuration example of the
本実施例の利用者装置100は、制御部103の制御のもと各処理を実行する。利用者装置100は、登録装置400から公開パラメータvを受け取る。例えば、通信部101は、署名生成装置200、登録装置400及び検証装置300と通信を行い、登録装置400から公開パラメータvを受信し、記憶部102に記憶する(S110)。以下、特に記述しなくとも、署名生成装置200、登録装置400及び検証装置300と通信する際には、通信部101を介して行われるものとする。
The
また、特に示さない限り、入出力される各データや演算過程の各データは、逐一、記憶部102に格納・読み出され、各演算処理が進められる。但し、必ずしも記憶部102に記憶しなければならないわけではなく、各部間で直接データを受け渡してもよい。
Unless otherwise indicated, each input / output data and each data in the calculation process are stored / read out in the
コミットメント鍵生成部110は、記憶部102から公開パラメータv=(q, G1, G2, GT, e)が入力され、G1から生成元g及びh1を、G2から生成元h2を無作為に選択し、これら生成元を用いてコミットメント鍵ck=(v, g, h1, h2)を生成し,登録装置400に登録する。また、生成元h1をコミットメント生成部130へ出力し、生成元h2を開封情報算出部140へ出力する(S120)。
The commitment
乱数生成部120は、Zqに属する任意の乱数t及びηを生成し、記憶部102に保存すると共に乱数tを開封情報算出部140及びコミットメント生成部130へ出力する(S130)。開封情報算出部140は、G2の生成元h2及び乱数tが入力され、開封情報H=h2 tを算出する(S140)。これにより開封情報Hが離散対数問題が困難な元となる。開放情報算出部140は、開封情報H=h2 tをゼロ知識証明生成部170に出力する。
The random
コミットメント生成部130は、乱数生成部120から乱数tを、コミットメント鍵生成部120からG1の生成元g、h1を、さらに情報mを入力され、コミットメントC=gmh1 tを生成し、署名要求メッセージM=Cとして署名生成装置200に送信する(S150)。また、コミットメントCを署名検証部150とゼロ知識証明生成部170に与える。なお、情報m∈Zqであり、補助記憶装置やメモリ上のデータ等、もしくは、入力インターフェース、キーボード、マウス等から入力されるデータである。
The
署名検証部150と署名変形部160と、ゼロ知識証明生成部170の説明は次の署名生成装置200の説明の後に行う。
The
[署名生成装置]
図5は、署名生成装置200の構成例を示す図である。図6は、署名生成装置200の処理手順S200の一例を示す図である。署名生成装置200は、通信部201と、記憶部202と、制御部203と、生成元選択部210と、乱数生成部220と、公開鍵生成部230と、電子署名生成部240を有する。
[Signature generator]
FIG. 5 is a diagram illustrating a configuration example of the
本実施例の署名生成装置200は、制御部203の制御のもと各処理を実行する。署名生成装置200は、以下、特に記述しなくとも、登録装置400及び利用者装置100と通信する際には、通信部201を介して行われるものとする。また、特に示さない限り、入出力される各データや演算過程の各データは、逐一、記憶部202に格納・読み出され、各演算処理が進められる。但し、必ずしも記憶部202に記憶しなければならないわけではなく、各部間で直接データを受け渡してもよい。署名生成装置200は、登録装置400から公開パラメータvを受信し、記憶部202に保存する(S210)。
The
生成元選択部210は、与えられた公開パラメータv中の群G1及びG2からそれぞれ生成元g1及びg2を無作為に選択し、公開パラメータvを入力され、生成元g1及びg2を公開鍵生成部230及び電子署名生成部240へ出力する(S220)。乱数生成部220は、Zqに属する乱数r、x及びyを生成し、乱数x、yを公開鍵生成部230へ、乱数r、x、yを電子署名生成部240へ出力し(S230)。乱数生成部220は更に乱数x、yを秘密鍵sk=(x, y)として記憶部202に秘密に保存する(S240)。なお、秘密鍵skには、対応する公開鍵pkを含め、sk=(pk, x, y)としてもよい。他の実施例においても同様である。公開鍵pkについての詳細は後述する。
The
公開鍵生成部230は、x、y、g1及びg2が入力され、X'=g2 x、Y'=g2 yを計算し、公開鍵pk=(v, g1, g2, X', Y')を生成し、通信部201を介して、登録装置400へ送られ、登録される(S250)。ただし、ここではXDH仮定を前提としている。XDHはThe External Diffie-Hellman (XDH) assumptionの略であり、いわゆる楕円のペアリングなどが存在する場合に、以下の3つの性質を持つことを想定した仮定である。
The public
・The discrete logarithm problem (DLP)→離散対数問題
・The computational Diffie-Hellman problem (CDH)→いわゆるDH問題
・The computational co-Diffie-Hellman problem (co-DH)
The discrete logarithm problem (DLP) → discrete logarithm problem The computational Diffie-Hellman problem (CDH) → the so-called DH problem The computational co-Diffie-Hellman problem (co-DH)
上記のうち、co-DHとは以下のように双対の片方のグループの情報を与えられて、与えられたのとは別のグループのDHを計算する問題であり、これを解くのが難しいことを仮定している。具体的には、以下の通りである。 Among the above, co-DH is a problem of calculating DH of a group different from the given group given the information of one group of the dual as follows, it is difficult to solve this Is assumed. Specifically, it is as follows.
(G1; G2)上のThe co-Diffie-Hellman (co-DH) problemは:
G1, G2をそれぞれP1, P2により生成した位数Lの巡回群とする。(G1,G2)上のco-DH問題は(P1; aP1; P2)が与えられaP2を計算することである。
The co-Diffie-Hellman (co-DH) problem on (G1; G2) is:
Let G1 and G2 be cyclic groups of order L generated by P1 and P2, respectively. The co-DH problem on (G1, G2) is to calculate aP2 given (P1; aP1; P2).
公開鍵pkには、利用した公開パラメータvの代わりに、それを表す鍵情報iを含めpk=(i, g1, g2, X', Y')としてもよい。この場合には、以下で説明する検証装置300は、鍵情報iに基づいて、登録装置400に対応する公開パラメータviを要求する。また、登録装置400の記憶している公開パラメータの中から対応する公開パラメータvを特定することができる場合には、公開鍵pkに公開パラメータvや、公開パラメータを表示する鍵情報i等を含まなくともよく、検証装置300は、情報m及び電子署名σを受け付けた際に、登録装置400に公開パラメータvを要求する。これらのことは、後述の他の実施例にも当てはまる。
The public key pk may include pk = (i, g 1 , g 2 , X ′, Y ′) including key information i representing the public parameter v instead of the used public parameter v. In this case, the
電子署名生成部240は、g1、g2、r、x、y及び利用者装置100から受信したコミットメントCである署名要求メッセージM∈G1が入力され、署名要求メッセージMに対し、以下の5つの式
a1=g1 r (1)
a2=Mr (2)
a3=g1 rxMrxy (3)
a4=Mry (4)
a5=g2 r (5)
を計算し、これら5つの値の組を署名要求メッセージMに対する電子署名σ=(a1, a2, a3, a4, a5)∈G1 5×G2とし、利用者装置100に送信する(S260)。
The electronic
a 2 = M r (2)
a 3 = g 1 rx M rxy (3)
a 4 = M ry (4)
a 5 = g 2 r (5)
And the set of these five values is set as the electronic signature σ = (a 1 , a 2 , a 3 , a 4 , a 5 ) ∈G 1 5 × G 2 for the signature request message M, and Transmit (S260).
以下、利用者装置100の説明に戻る。
署名検証部150は署名生成装置200の公開鍵pk=(v, g1, g2, X', Y')を登録装置400から取得し(S160)、署名生成装置200から受信した署名σ=(a1, a2, a3, a4, a5)と署名要求メッセージM(即ちコミットメントC)の組に対する検証を、次の4つのペアリング等式が成立するか検査することにより行う(S170)。
Hereinafter, the description returns to the
The
e(g1,a5)=e(a1,g2) (6)
e(M,a5)=e(a2,g2) (7)
e(a2,Y')=e(a4,g2) (8)
e(a3,g2)=e(a1a4,X') (9)
e (g 1 , a 5 ) = e (a 1 , g 2 ) (6)
e (M, a 5 ) = e (a 2 , g 2 ) (7)
e (a 2 , Y ′) = e (a 4 , g 2 ) (8)
e (a 3 , g 2 ) = e (a 1 a 4 , X ′) (9)
<検証の妥当性>
式(6)は式(1)及び(5)を用いて、以下のように表すことができる。
<Validity of verification>
Equation (6) can be expressed as follows using equations (1) and (5).
e(g1,g2 r)=e (g1 r,g2) (6)'
これが成立することにより、バイリニアペアリングの性質から、両辺中の利用者装置100に知らされていない乱数rが同一であることを確認することができる。同様に、式(7)は式(1)及び(2)を用いて、以下のように表すことができる。
e (g 1 , g 2 r ) = e (g 1 r , g 2 ) (6) ′
If this is established, it is possible to confirm that the random numbers r not known to the
e(M,g2 r)=e(Mr,g2) (7)'
式(6)'でrの同一性が確認されたので、式(7)'が成立することにより、送信したM=Cと署名の対象となったMが同一であることを確認することができる。式(8)は式(2)、(4)、Y'=g2 yを用いて、以下のように表すことができる。
e (M, g 2 r) = e (M r, g 2) (7) '
Since the identity of r is confirmed in the expression (6) ′, it is possible to confirm that the transmitted M = C and the signature target M are the same when the expression (7) ′ is satisfied. it can. Equation (8) can be expressed as follows using equations (2) and (4), Y ′ = g 2 y .
e(Mr,g2 y)=e(Mry,g2) (8)’
式(6)'と(7)'で乱数rの同一性とメッセージMの同一性が確認されたので、式(8)'が成り立つ場合には、乱数yが正しいことが確認できる。式(9)は、式(1)、(3)、(4)、X'=g2 xを用いて、以下のように表すことができる。
e (M r , g 2 y ) = e (M ry , g 2 ) (8) ′
Since the identity of the random number r and the identity of the message M are confirmed by the equations (6) ′ and (7) ′, it can be confirmed that the random number y is correct when the equation (8) ′ holds. Equation (9) can be expressed as follows using equations (1), (3), (4), and X ′ = g 2 x .
e(g1 rxMrxy,g2)=e(g1 rMry,g2 x) (9)’
式(6)', (7)', (8)'で乱数r、メッセージM、及び乱数yが正しいことが確認できたので、式(9)'が成り立つ場合には、乱数xが正しいことが確認できる。これらの処理により、電子署名σを作成できるのは、秘密鍵sk=(x,y)を知っている署名者のみであることが確認できる。
e (g 1 rx M rxy, g 2) = e (g 1 r M ry, g 2 x) (9) '
Since it was confirmed that the random number r, the message M, and the random number y are correct in the expressions (6) ′, (7) ′, and (8) ′, the random number x is correct if the expression (9) ′ holds. Can be confirmed. With these processes, it can be confirmed that only the signer who knows the secret key sk = (x, y) can create the electronic signature σ.
署名検証部150で署名σの検証に成功すると、署名に対する非対話ゼロ知識証明を生成し、検証装置300に送信するが、その署名σの一部の要素を後述のように検証用情報としてそのまま検証装置300に送信しなければならないので、署名σそのものに対し非対話ゼロ知識証明を生成すると、盗聴した署名の要素から署名装置と利用者装置間のどのセッションで生成された署名が現在利用者装置から出力されたブラインド署名のデータにリンクしているのか特定される危険がある。そこで、安全性を高めるため、署名変形部160は乱数生成部120で生成した乱数ηを使って署名σの各要素に対し演算処理することにより署名σを署名σ'=(a'1, a'2, a'3, a'4, a'5)に変形する。ここでは演算処理a'i=ai η、i=1,…,5、により署名σ'に変形する(S180)。ゼロ知識証明生成部170は開封情報Hを使って情報mに関するコミットメントCに対する非対話ゼロ知識証明Prf(C)を以下のように生成する。
When the
Prf(C):NIZK{(C,H): e(C/gm, h2)e(h1 -1, H)=1} (10)
式(10)は、利用者装置100が検証装置300に対し(C,H)を隠したまま利用者装置100が(C,H)を確かに所有していることを、e(C/gm, h2)e(h1 -1, H)=1が成立することにより証明する非対話ゼロ知識証明を表す。
Prf (C): NIZK {(C, H): e (C / g m , h 2 ) e (h 1 −1 , H) = 1} (10)
Equation (10) shows that e (C / g) indicates that
ゼロ知識証明生成部170は更に、変形された署名σ'中の要素a'2,a'3,a'4について同様に、以下の3つの非対話ゼロ知識証明を生成する。
The zero knowledge
Prf(σ'):NIZK{(C, a'2): e(C, a'5)e(a'2, g2 -1)=1} (11)
NIZK{(a'2, a'4): e(a'2, Y')e(a'4, g2 -1)=1} (12)
NIZK{(a'3, a'4): e(a'3, g2)e(a'1a'4, X'-1)=1} (13)
式(11), (12), (13)は利用者装置100が検証装置に対しそれぞれ(C, a'2), (a'2, a'4), (a'3, a'4)を隠したまま利用者装置100がこれらを確かに所有していることを、それぞれの等式が成立することにより証明する非対話ゼロ知識証明を表し、これら3つのゼロ知識証明をまとめてPrf(σ')と表すことにする。非対話ゼロ知識証明Prf(C)とPrf(σ')は情報mおよび検証用情報としての要素a'1,a'5と共に検証装置300に送信される(S180)。
Prf (σ '): NIZK {(C, a' 2 ): e (C, a ' 5 ) e (a' 2 , g 2 -1 ) = 1} (11)
NIZK {(a ' 2 , a' 4 ): e (a ' 2 , Y') e (a ' 4 , g 2 -1 ) = 1} (12)
NIZK {(a ' 3 , a' 4 ): e (a ' 3 , g 2 ) e (a' 1 a ' 4 , X' -1 ) = 1} (13)
Equations (11), (12), and (13) indicate that (C, a ' 2 ), (a' 2 , a ' 4 ), (a' 3 , a ' 4 ) Represents a non-interactive zero knowledge proof that proves that the
非対話ゼロ知識証明としては、ペアリングの群の要素に対する非対話ゼロ知識証明であればどのようなものでもよく、例えば非特許文献2に示されている技術を使用してもよい。後述の他の実施例についても同様である。
Any non-interactive zero knowledge proof may be used as long as it is a non-interactive zero knowledge proof for elements of a pairing group. For example, the technique shown in
[検証装置]
図7は検証装置300の構成を示し、図8はその検証処理手順S300の一例を示す。検証装置300は、通信部301と、記憶部302と、制御部303と、ゼロ知識証明検証部310とから構成されている。制御部303は通信部301、記憶部302、ゼロ知識証明検証部310の動作を制御する。検証装置300は、通信部301により利用者装置100及び登録装置400と通信し、登録装置400から公開パラメータv=(q, G1, G2, GT, e)を取得して記憶部302に保存し(S310)、更に登録装置400からコミットメント鍵ck=(v, g, h1, h2)を取得し、記憶部302に保存する(S320)。
[Verification equipment]
FIG. 7 shows the configuration of the
検証装置300は通信部301により利用者装置100から情報m、署名σ'の要素a'1,a'5、コミットメントCに対する非対話ゼロ知識証明Rrf(C)、署名σ'に対する非対話ゼロ知識証明Prf(σ')を受信し、記憶部302に保存すると共にゼロ知識証明検証部310に与える(S330)。ゼロ知識証明検証部310は、Prf(C)について、式(10)が成立することをコミットメント鍵ckと公開パラメータvを使って検証する(S340)。また、Prf(σ')について署名σ'の要素a'1,a'5を使って、
e(g1, a'5)=e(a'1,g2) (14)
が成立するか検証し、成立すれば署名装置200が署名生成に使用した乱数rと、利用者装置から受信したa'1=a1 η,a'5=a5 ηに含まれる乱数r(式(1)と(5)を参照)が一致していることを確認できる。
The
e (g 1 , a ′ 5 ) = e (a ′ 1 , g 2 ) (14)
Is satisfied, and if it is satisfied, the random number r used for signature generation by the
Prf(σ')について更に各式(11),(12),(13)が成立することを、公開パラメータvを使って検証し、検証に成功すれば、Prf(C)、Prf(σ')、mの組を正当なブラインド署名として受け入れる(S350)。 It is verified by using the public parameter v that Pr. (Σ ′) further satisfies the equations (11), (12), and (13). If the verification is successful, Prf (C), Prf (σ ′) ), M is accepted as a valid blind signature (S350).
実施例1では利用者装置100がコミットメント鍵ck=(v, g, h1, h2)を生成して登録装置400に登録する場合を示したが、前述のように、登録装置400がコミットメント鍵ckを生成し、要求に応じて利用者装置100及び検証装置300に与えるようにしてもよい。
In the first embodiment, the case where the
実施例2は、実施例1における署名σの要素数を1つ減らして4つとし、署名σの検証式の数も1つ減らして3つとすることにより、処理情報量を減らし、従って処理時間を短縮可能にしたものである。実施例2による署名検証システムの基本構成と全体の処理手順は図1及び図2に示すものと同じであり、図及び説明を省略する。異なる点は利用者装置100、署名生成装置200、及び検証装置300のそれぞれの内部構成である。以下にこれらについて説明する。
In the second embodiment, the number of elements of the signature σ in the first embodiment is reduced by one to four, and the number of verification expressions for the signature σ is also reduced by one to three, thereby reducing the amount of processing information and accordingly processing time. Can be shortened. The basic configuration and overall processing procedure of the signature verification system according to the second embodiment are the same as those shown in FIGS. The differences are the internal configurations of the
実施例2においても、実施例1と同様に前提としてqを大きな素数とし、G1,G2,GTを位数qの群とし、eを効率的に計算可能なバイリニアペアリングe:G1×G2→GTとし、v=(q, G1, G2, GT, e)を公開パラメータとする。 Also in Example 2, the large prime number q assuming the same manner as in Example 1, G 1, G 2, G T was a group of order q, efficiently computable bilinear pairing e e: G 1 × G 2 → G T and v = (q, G 1 , G 2 , G T , e) are public parameters.
[利用者装置]
図9は、実施例2による利用者装置100の構成例を示し、図10は、利用者装置100の処理手順S100の一例を示す。利用者装置100は、通信部101と、記憶部102と、制御部103と、コミットメント鍵生成部110と、乱数生成部120と、コミットメント生成部130と、開封情報生成部140と、署名検証部151と、署名変形部161と、ゼロ知識証明生成部171とを含んでいる。図9の利用者装置は、図3の利用者装置における署名検証部150と署名変形部160とゼロ知識証明生成部170が署名検証部151と署名変形部161とゼロ知識証明生成部171に変更されているだけである。また、図10の処理手順は図4の処理手順におけるステップS170, S180,S190がステップS171, S181,S191に変更されているだけである。
[User device]
FIG. 9 illustrates a configuration example of the
本実施例2の利用者装置100は、登録装置400から公開パラメータvを受信し、記憶部102に記憶する(S110)。コミットメント鍵生成部110は、記憶部102から公開パラメータv=(q,G1,G2,GT,e)が入力され、G1から生成元g及びh1を、G2から生成元h2を無作為に選択し、これら生成元を用いてコミットメント鍵ck=(v,g,h1,h2)を生成し,登録装置400に登録する。また、生成元h1をコミットメント生成部130へ出力し、生成元h2を開封情報算出部140へ出力する(S120)。
The
乱数生成部120は、Zqに属する乱数t及びηを生成し、記憶部102に保存すると共に乱数tを開封情報算出部140及びコミットメント生成部130へ出力する(S130)。開封情報算出部140は、G2の生成元h2及び乱数tが入力され、開封情報H=h2 tを算出する(S140)。これにより開封情報Hが離散対数問題が困難な元となる。開放情報算出部140は、開封情報H=h2 tをゼロ知識証明生成部171に出力する。 コミットメント生成部130は、乱数生成部120から乱数tを、コミットメント鍵生成部120からG1の生成元g、h1を、さらに情報mを入力され、コミットメントC=gmh1 tを生成し、署名要求メッセージM=Cとして署名生成装置200に送信する(S150)。また、コミットメントCを署名検証部150とゼロ知識証明生成部171に与える。
The random
署名検証部151と署名変形部161とゼロ知識証明生成部171の説明は次の署名生成装置200の説明の後に行う。
The
[署名生成装置]
図11は、実施例2の署名生成装置200の構成例を示し、図12はその署名生成処理手順S200の一例を示す。署名生成装置200は、通信部201と、記憶部202と、制御部203と、生成元選択部210と、乱数生成部220と、公開鍵生成部230と、電子署名生成部241を有する。図11の署名生成装置は図5の署名生成装置における電子署名生成部240が電子署名生成部241に変更されているだけであり、また図12の処理手順は図6の処理手順におけるステップS260がステップS261に変更されているだけである。
[Signature generator]
FIG. 11 shows a configuration example of the
実施例2の署名生成装置200は、登録装置400から公開パラメータvを受信し、記憶部202に保存する(S210)。生成元選択部210は、与えられた公開パラメータv中の群G1及びG2からそれぞれ生成元g1及びg2を無作為に選択し、公開パラメータvを入力され、生成元g1及びg2を公開鍵生成部230及び電子署名生成部240へ出力する(S220)。乱数生成部220は、Zqに属する乱数r、x及びyを生成し、乱数x、yを公開鍵生成部230へ、乱数r、x、yを電子署名生成部240へ出力し(S230)。乱数生成部220は更に乱数x、yを秘密鍵sk=(x, y)として記憶部202に秘密に保存する(S240)。なお、秘密鍵skには、対応する公開鍵pkを含め、sk=(pk, x, y)としてもよい。他の実施例においても同様である。公開鍵pkについての詳細は後述する。
The
公開鍵生成部230は、x、y、g1及びg2が入力され、X'=g2 x、Y'=g2 yを計算し、公開鍵pk=(v, g1, g2, X', Y')を生成し、通信部201を介して、登録装置400へ送られ、登録される(S250)。ただし、ここでも前述と同様にXDH仮定を前提とする。
The public
電子署名生成部240は、g1、g2、r、x、y及び利用者装置100から受信したコミットメントCである署名要求メッセージM∈G1が入力され、署名要求メッセージMに対し、実施例1とは異なり、以下の4つの式
a1=g1 r (15)
a3=g1 rxMrxy (16)
a4=Mry (17)
a5=g2 ry (18)
を計算し、これら4つの値の組を署名要求メッセージMに対する電子署名σ=(a1, a3, a4, a5)∈G1 4×G2とし、利用者装置100に送信する(S261)。
The electronic
a 3 = g 1 rx M rxy (16)
a 4 = M ry (17)
a 5 = g 2 ry (18)
And sets of these four values as electronic signature σ = (a 1 , a 3 , a 4 , a 5 ) ∈G 1 4 × G 2 for the signature request message M and transmits it to the user apparatus 100 ( S261).
以下、図9の利用者装置100の説明に戻る。
署名検証部151は署名生成装置200の公開鍵pk=(v, g1, g2, X', Y')を登録装置400から取得し(S160)、署名生成装置200から受信した署名σ=(a1, a3, a4, a5)と署名要求メッセージM(即ちコミットメントC)の組に対する検証を、次の3つのペアリング等式が成立するか検査することにより行う(S171)。
Hereinafter, the description returns to the
The
e(a1,Y')=e(g1,a5) (19)
e(M,a5)=e(a4,g2) (20)
e(a3,g2)=e(a1a4,X') (21)
e (a 1 , Y ′) = e (g 1 , a 5 ) (19)
e (M, a 5 ) = e (a 4 , g 2 ) (20)
e (a 3 , g 2 ) = e (a 1 a 4 , X ′) (21)
<検証の妥当性>
式(19)は式(15), (18)及びY'=g2 yを用いて、以下のように表すことができる。
<Validity of verification>
Expression (19) can be expressed as follows using Expressions (15), (18) and Y ′ = g 2 y .
e(gr 1,g2 y)=e(g1,g2 ry) (19)'
これが成立することにより、バイリニアペアリングの性質から、両辺中の利用者装置100に知らされていない乱数r及びyが同一であることを確認することができる。同様に、式(20)は式(18)及び(17)を用いて、以下のように表すことができる。
e (g r 1, g 2 y) = e (
When this is established, it is possible to confirm that the random numbers r and y not known to the
e(M,g2 ry)=e(Mry,g2) (20)'
式(19)'でr,yの同一性が確認されたので、式(18)'が成立することにより、送信したM=Cと署名の対象となったMが同一であることを確認することができる。式(21)は、式(15)、(18)、(17)、X'=g2 xを用いて、以下のように表すことができる。
e (M, g 2 ry ) = e (M ry , g 2 ) (20) ′
Since the identity of r and y is confirmed in Expression (19) ′, when Expression (18) ′ is satisfied, it is confirmed that the transmitted M = C and the signature target M are the same. be able to. Expression (21) can be expressed as follows using Expressions (15), (18), (17), and X ′ = g 2 x .
e(g1 rxMrxy,g2)=e(g1 rMry,g2 x) (21)’
式(19)', (20)'で乱数r、y及びメッセージMが正しいことが確認できたので、式(21)'が成り立つ場合には、乱数xが正しいことが確認できる。これらの処理により、電子署名σを作成できるのは、秘密鍵sk=(x, y)を知っている署名者のみであることが確認できる。
e (g 1 rx M rxy, g 2) = e (g 1 r M ry, g 2 x) (21) '
Since it is confirmed that the random numbers r, y and the message M are correct in the equations (19) ′ and (20) ′, if the equation (21) ′ holds, it can be confirmed that the random number x is correct. Through these processes, it can be confirmed that only the signer who knows the secret key sk = (x, y) can create the electronic signature σ.
署名検証部151で署名σの検証に成功すると、署名変形部161波乱趨勢西部120で生成された乱数ηを使って署名σを署名σ'=(a'1, a'3, a'4, a'5)、ただしa'i=ai η、i=1, 3, 4, 5、に変形する。ゼロ知識証明生成部171は開封情報Hを使って情報mに関するコミットメントCに対する非対話ゼロ知識証明Prf(C)を以下のように生成する。
When the
Prf(C):NIZK{(C,H): e(C/gm, h2)e(h1 -1, H)=1} (22)
式(22)は、利用者装置100が検証装置300に対し(C,H)を隠したまま利用者装置100が(C,H)を確かに所有していることを、等式e(C/gm, h2)e(h1 -1, H)=1が成立することにより証明する非対話ゼロ知識証明を表す。
Prf (C): NIZK {(C, H): e (C / g m , h 2 ) e (h 1 −1 , H) = 1} (22)
Equation (22) shows that the
ゼロ知識証明生成部171は更に、変形された署名σ'中の要素a'3,a'4について同様に、以下の2つの非対話ゼロ知識証明を生成する。
The zero knowledge
Prf(σ'):NIZK{(C, a'4): e(C, a'5)e(a'4, g2 -1)=1} (23)
NIZK{(a'3, a'4): e(a'3, g2)e(a'1a'4, X'-1)=1} (24)
式(23), (24)は利用者装置100が検証装置に対しそれぞれ(C, a'4)、(a'3, a'4)を隠したまま利用者装置100がこれらを確かに所有していることを、それぞれの等式が成立することにより証明する非対話ゼロ知識証明を表し、これら2つのゼロ知識証明をまとめてPrf(σ')と表すことにする。非対話ゼロ知識証明Prf(C)とPrf(σ')は情報m及び要素a'1,a'5と共に検証装置300に送信される(S191)。
Prf (σ '): NIZK {(C, a' 4 ): e (C, a ' 5 ) e (a' 4 , g 2 -1 ) = 1} (23)
NIZK {(a ' 3 , a' 4 ): e (a ' 3 , g 2 ) e (a' 1 a ' 4 , X' -1 ) = 1} (24)
Equations (23) and (24) indicate that the
[検証装置]
図13は実施例2の検証装置300の構成を示し、図14はその検証処理手順S300を示す。検証装置300は、通信部301と、記憶部302と、制御部303と、ゼロ知識証明検証部311とから構成されている。図13の検証装置は、図7におけるゼロ知識証明検証部310がゼロ知識証明検証部311に変更されているだけである。また、図14の処理手順は、図8におけるステップS350がステップS351に変更されているだけである。
[Verification equipment]
FIG. 13 shows the configuration of the
検証装置300は、登録装置400から公開パラメータv=(q, G1, G2, GT, e)を取得して記憶部302に保存し(S310)、更に登録装置400からコミットメント鍵ck=(v, g, h1, h2)を取得し、記憶部302に保存する(S320)。さらに、検証装置300は利用者装置100から情報m、署名σ'の要素a'1,a'5、コミットメントCに対する非対話ゼロ知識証明Rrf(C)、署名σ'に対する非対話ゼロ知識証明Prf(σ')を受信し、記憶部302に保存すると共にゼロ知識証明検証部311に与える(S330)。ゼロ知識証明検証部311は、Prf(C)について、式(22)が成立することをコミットメント鍵ckと公開パラメータvを使って検証する(S340)。また、Prf(σ')について署名σ'の要素a'1,a'5を使って、
e(a'1、Y')=e(g1,a'5) (25)
が成立するか検証し、成立すれば署名装置200が署名生成に使用した乱数rと、利用者装置から受信したa'1=a1 η,a'5=a5 ηに含まれる乱数r(式(15)と(18)を参照)が一致していることを確認できる。
The
e (a '1, Y' ) = e (
Is satisfied, and if it is satisfied, the random number r used for signature generation by the
Prf(σ')について更に各式(23),(24)が成立することを、公開パラメータvを使って検証し、検証に成功すれば、Prf(C)、Prf(σ')、mの組を正当なブラインド署名として受け入れる(S351)。 It is verified using the public parameter v that Pr. (Σ ′) further satisfies the equations (23) and (24). If the verification is successful, Prf (C), Prf (σ ′), m The pair is accepted as a valid blind signature (S351).
実施例2においても利用者装置100がコミットメント鍵ck=(G1, G2, GT, g, h1, h2)を生成して登録装置400に登録する場合を示したが、前述のように、登録装置400がコミットメント鍵ckを生成し、要求に応じて利用者装置100及び検証装置300に与えるようにしてもよい。
Also in the second embodiment, the case where the
実施例3は、実施例1における署名σの要素数を2つ減らして3つとし、署名σの検証式の数も2つ減らして2つとすることにより、実施例2より処理情報量を更に減らし、従って処理時間を短縮可能にしたものである。実施例3による署名検証システムの基本構成と全体の処理手順は図1及び図2に示すものと同じであり、図及び説明を省略する。異なる点は利用者装置100、署名生成装置200、及び検証装置300のそれぞれの内部構成である。以下にこれらについて説明する。
In the third embodiment, the number of elements of the signature σ in the first embodiment is reduced by two to three, and the number of signature σ verification expressions is also reduced by two to two, thereby further increasing the amount of processing information compared to the second embodiment. This makes it possible to reduce the processing time. The basic configuration and overall processing procedure of the signature verification system according to the third embodiment are the same as those shown in FIGS. The differences are the internal configurations of the
実施例3においても、実施例1と同様に前提としてqを大きな素数とし、G1,G2,GTを位数qの群とし、eを効率的に計算可能なバイリニアペアリングe:G1×G2→GTとし、v=(q, G1, G2, GT, e)を公開パラメータとする。 Also in Example 3, the large prime number q assuming the same manner as in Example 1, G 1, G 2, G T was a group of order q, efficiently computable bilinear pairing e e: G 1 × G 2 → G T and v = (q, G 1 , G 2 , G T , e) are public parameters.
[利用者装置]
図15は、実施例2による利用者装置100の構成例を示し、図16は、利用者装置100の処理手順S100の一例を示す。利用者装置100は、通信部101と、記憶部102と、制御部103と、コミットメント鍵生成部110と、乱数生成部120と、コミットメント生成部130と、開封情報生成部140と、署名検証部152と、署名変形部162と、ゼロ知識証明生成部172とを含んでいる。図15の利用者装置は、図3の利用者装置における署名検証部150と署名変形部160とゼロ知識証明生成部170が署名検証部152と署名変形部162とゼロ知識証明生成部172に変更されているだけである。また、図16の処理手順は、図4の処理手順におけるステップS170, S180,S190がステップS172, S182,S192に変更されているだけである。
[User device]
FIG. 15 illustrates a configuration example of the
本実施例3の利用者装置100は、登録装置400から公開パラメータvを受信し、記憶部102に記憶する(S110)。コミットメント鍵生成部110は、記憶部102から公開パラメータv=(q, G1, G2, GT, e)が入力され、G1から生成元g及びh1を、G2から生成元h2を無作為に選択し、これら生成元を用いてコミットメント鍵ck=(v, g, h1, h2)を生成し,登録装置400に登録する。また、生成元h1をコミットメント生成部130へ出力し、生成元h2を開封情報算出部140へ出力する(S120)。
The
乱数生成部120は、Zqに属する乱数t及びηを生成し、記憶部102に保存すると共に乱数tを開封情報算出部140及びコミットメント生成部130へ出力する(S130)。開封情報算出部140は、G2の生成元h2及び乱数tが入力され、開封情報H=h2 tを算出する(S140)。これにより開封情報Hが離散対数問題が困難な元となる。開放情報算出部140は、開封情報H=h2 tをゼロ知識証明生成部172に出力する。
The random
コミットメント生成部130は、乱数生成部120から乱数tを、コミットメント鍵生成部120からG1の生成元g、h1を、さらに情報mを入力され、コミットメントC=gmh1 tを生成し、署名要求メッセージM=Cとして署名生成装置200に送信する(S150)。また、コミットメントCを署名検証部150とゼロ知識証明生成部172に与える。
The
署名検証部152と署名変形部162とゼロ知識証明生成部172の説明は次の署名生成装置200の説明の後に行う。
The
[署名生成装置]
図17は、実施例2の署名生成装置200の構成例を示し、図18はその署名生成処理手順S200の一例を示す。署名生成装置200は、通信部201と、記憶部202と、制御部203と、生成元選択部210と、乱数生成部220と、公開鍵生成部232と、電子署名生成部242を有する。図17の署名生成装置は、図5の署名生成装置における公開鍵生成部230と電子署名生成部240が公開鍵生成部232と電子署名生成部242に変更されているだけであり、また図18の処理手順は図6の処理手順におけるステップS250, S260がステップS252, S262に変更されているだけである。
[Signature generator]
FIG. 17 shows a configuration example of the
実施例3の署名生成装置200は、登録装置400から公開パラメータvを受信し、記憶部202に保存する(S210)。生成元選択部210は、与えられた公開パラメータv中の群G1及びG2からそれぞれ生成元g1及びg2を無作為に選択し、公開パラメータvを入力され、生成元g1及びg2を公開鍵生成部230及び電子署名生成部240へ出力する(S220)。乱数生成部220は、Zqに属する乱数r、x及びyを生成し、乱数x、yを公開鍵生成部230へ、乱数r、x、yを電子署名生成部240へ出力し(S230)。乱数生成部220は更に乱数x、yを秘密鍵sk=(x, y)として記憶部202に秘密に保存する(S240)。なお、秘密鍵skには、対応する公開鍵pkを含め、sk=(pk, x, y)としてもよい。他の実施例においても同様である。公開鍵pkについての詳細は後述する。
The
公開鍵生成部232は、x、y、g1及びg2が入力され、X'=g2 x、Y'=g2 yを計算し、更にY=g1 yを計算し、公開鍵pk=(v, g1, g2, X', Y', Y)を生成し、通信部201を介して、登録装置400へ送られ、登録する(S252)。ただし、ここではSXDH(asymmetric XDH)仮定を前提とし、その仮定の下ではY'=g2 yとY=g1 yとが公開されていたとしても互いに独立であり、互いの情報を一切漏らさない。なお、SXDH仮定は前述のXDH仮定をペアリングの双方のグループに対して仮定しているものである。
The public
電子署名生成部242は、g1、g2、r、x、y及び利用者装置100から受信したコミットメントCである署名要求メッセージM∈G1が入力され、署名要求メッセージMに対し、実施例1とは異なり、以下の3つの式
a1=MryYr (26)
a3=YrxMrxy (27)
a5=g2 ry (28)
を計算し、これら3つの値の組を署名要求メッセージMに対する電子署名σ=(a1,a3,a5)∈G1 2×G2とし、利用者装置100に送信する(S262)。
The electronic
a 3 = Y rx M rxy (27)
a 5 = g 2 ry (28)
And the set of these three values is set to the electronic signature σ = (a 1 , a 3 , a 5 ) εG 1 2 × G 2 for the signature request message M and transmitted to the user apparatus 100 (S262).
以下、図15の利用者装置100の説明に戻る。
署名検証部152は署名生成装置200の公開鍵pk=(v, g1, g2, X', Y', Y)を登録装置400から取得し(S160)、署名生成装置200から受信した署名σ=(a1,a3,a5)と署名要求メッセージM(即ちコミットメントC)の組に対する検証を、次の2つのペアリング等式が成立するか検査することにより行う(S172)。
Hereinafter, the description returns to the
The
e(a1,g2)=e(Mg1,a5) (29)
e(a3,g2)=e(a1,X') (30)
e (a 1 , g 2 ) = e (Mg 1 , a 5 ) (29)
e (a 3 , g 2 ) = e (a 1 , X ′) (30)
<検証の妥当性>
式(29)は式(26), (28)及びY=g1 yを用いて、以下のように表すことができる。
<Validity of verification>
Equation (29) can be expressed as follows using equations (26), (28) and Y = g 1 y .
e((Mg1)ry,g2)=e(Mg1,g2 ry) (29)'
これが成立することにより、バイリニアペアリングの性質から、両辺中の利用者装置100に知らされていない乱数r及びyが同一であることを確認することができる。式(30)は、式(27)、(26)及びX'=g2 x、Y=g1 yを用いて、以下のように表すことができる。
e ((Mg 1 ) ry , g 2 ) = e (Mg 1 , g 2 ry ) (29) ′
When this is established, it is possible to confirm that the random numbers r and y not known to the
e((YrMry)x,g2)=e(YrMry,g2 x) (30)’
式(29)で乱数r、yが正しいことが確認できたので、式(30)が成り立つ場合には、メッセージMと乱数xが正しいことが確認できる。これらの処理により、電子署名σを作成できるのは、秘密鍵sk=(x,y)を知っている署名者のみであることが確認できる。
e ((Y r M ry) x, g 2) = e (Y r M ry, g 2 x) (30) '
Since it can be confirmed that the random numbers r and y are correct in the equation (29), it can be confirmed that the message M and the random number x are correct when the equation (30) is satisfied. With these processes, it can be confirmed that only the signer who knows the secret key sk = (x, y) can create the electronic signature σ.
署名検証部152で署名σの検証に成功すると、署名変形部162は乱数生成部120で生成された乱数ηを使って署名σを署名σ'=(a'1, a'3, a'5)、ただしa'i=ai η、i=1, 3, 5、に変形する(S182)。ゼロ知識証明生成部172は開封情報Hを使って情報mに関するコミットメントCに対する非対話ゼロ知識証明Prf(C)を以下のように生成する。
When the
Prf(C):NIZK{(C,H): e(C/gm, h2)e(h1 -1, H)=1} (31)
式(31)は、利用者装置100が検証装置300に対し(C,H)を隠したまま利用者装置100が(C,H)を確かに所有していることを、等式e(C/gm, h2)e(h1 -1, H)=1が成立することにより証明する非対話ゼロ知識証明を表す。
Prf (C): NIZK {(C, H): e (C / g m , h 2 ) e (h 1 −1 , H) = 1} (31)
Equation (31) shows that the
更に、変形された署名σ'中の要素a'1,a'3について同様に、以下の2つの非対話ゼロ知識証明を生成する。 Further, similarly for the elements a ′ 1 and a ′ 3 in the modified signature σ ′, the following two non-interactive zero knowledge proofs are generated.
Prf(σ'):NIZK{(C, a'1): e(C, a'5 -1)e(a'1, g2)=1} (32)
NIZK{(a'1, a'3): e(a'3, g2)e(a'1, X'-1)=1} (33)
式(32), (33)は利用者装置100が検証装置に対しそれぞれ(C, a'1)、(a'1, a'3)を隠したまま利用者装置100がこれらを確かに所有していることを、それぞれの等式が成立することにより証明する非対話ゼロ知識証明を表し、これら2つのゼロ知識証明をまとめてPrf(σ')と表すことにする。非対話ゼロ知識証明Prf(C)とPrf(σ')は情報m及び要素a'5と共に検証装置300に送信される(S192)。
Prf (σ ′): NIZK {(C, a ′ 1 ): e (C, a ′ 5 −1 ) e (a ′ 1 , g 2 ) = 1} (32)
NIZK {(a ' 1 , a' 3 ): e (a ' 3 , g 2 ) e (a' 1 , X ' -1 ) = 1} (33)
Equations (32) and (33) indicate that the
[検証装置]
図19は実施例2の検証装置300の構成を示し、図20はその検証処理手順S300の一例を示す。検証装置300は、通信部301と、記憶部302と、制御部303と、ゼロ知識証明検証部312とから構成されている。図19の検証装置は、図7におけるゼロ知識証明検証部310がゼロ知識証明検証部312に変更されているだけである。また、図20の処理手順は、図8におけるステップS350がステップS352に変更されているだけである。
[Verification equipment]
FIG. 19 shows the configuration of the
検証装置300は、登録装置400から公開パラメータv=(q, G1, G2, GT, e)を取得して記憶部302に保存し(S310)、更に登録装置400からコミットメント鍵ck=(v, g, h1, h2)を取得し、記憶部302に保存する(S320)。さらに、検証装置300は利用者装置100から情報m、署名σ'の要素a'5、コミットメントCに対する非対話ゼロ知識証明Rrf(C)、署名σ'に対する非対話ゼロ知識証明Prf(σ')を受信し、記憶部302に保存すると共にゼロ知識証明検証部312に与える(S330)。ゼロ知識証明検証部312は、Prf(C)について、式(31)が成立することをコミットメント鍵ckと公開パラメータvを使って検証する(S340)。
The
Prf(σ')について更に各式(32),(33)が成立することを、公開パラメータvを使って検証し、検証に成功すれば、Prf(C)、Prf(σ')、mの組を正当なブラインド署名として受け入れる(S350)。 It is verified by using the public parameter v that Pr. (Σ ′) further satisfies the equations (32) and (33). If the verification is successful, Prf (C), Prf (σ ′), m The pair is accepted as a valid blind signature (S350).
実施例3においても利用者装置100がコミットメント鍵ck=(G1, G2, GT, g, h1, h2)を生成して登録装置400に登録する場合を示したが、前述のように、登録装置400がコミットメント鍵ckを生成し、要求に応じて利用者装置100及び検証装置300に与えるようにしてもよい。
Also in the third embodiment, the case where the
<ハードウェア構成>
図21は、図1に示したこの発明による署名検証システムにおける利用者装置100のハードウェア構成を例示したブロック図である。署名生成装置200、検証装置300及び登録装置400も同様の構成とすることができる。
<Hardware configuration>
FIG. 21 is a block diagram illustrating a hardware configuration of the
図21に例示するように、この例の利用者装置100は、CPU(Central Processing Unit)11、入力部12、出力部13、補助記憶装置14、ROM(Read Only Memory)15、RAM(Random Access Memory)16及びバス17を有している。
As illustrated in FIG. 21, the
この例のCPU11は、制御部11a、演算部11b及びレジスタ11cを有し、レジスタ11cに読み込まれた各種プログラムに従って様々な演算処理を実行する。また、入力部12は、データが入力される入力インターフェース、キーボード、マウス等であり、出力部13は、データが出力される出力インターフェース等である。補助記憶装置14は、例えば、ハードディスク、MO(Magneto-Optical disc)、半導体メモリ等であり、署名生成装置200、検証装置300及び登録装置400としてコンピュータを機能させるためのプログラムが格納されるプログラム領域14a及び各種データが格納されるデータ領域14bを有している。また、RAM16は、SRAM (Static Random Access Memory)、DRAM(Dynamic Random Access Memory)等であり、上記のプログラムが格納されるプログラム領域16a及び各種データが格納されるデータ領域16bを有している。また、バス17は、CPU11、入力部12、出力部13、補助記憶装置14、ROM15及びRAM16を通信可能に接続する。
The
なお、このようなハードウェアの具体例としては、例えば、パーソナルコンピュータの他、サーバ装置やワークステーション等を例示できる。 In addition, as a specific example of such hardware, a server apparatus, a workstation, etc. other than a personal computer can be illustrated, for example.
上述のように、プログラム領域14a,16aには、図4の処理手順で示される図3の利用者装置100のコミットメント鍵生成部110、乱数生成部120、コミットメント生成部130、開封情報算出部140、署名検証部150、署名変形部160、ゼロ知識証明生成部170等の処理を実行するためのプログラムが格納される。利用者装置100の処理手順(図4)を実行するプログラムは、単一のプログラム列として記載されていてもよく、また、少なくとも一部のプログラムが別個のモジュールとしてライブラリに格納されていてもよい。また、各プログラムが単体でそれぞれの機能を実現してもよいし、各プログラムがさらに他のライブラリを読み出して各機能を実現するものでもよい。
As described above, in the
CPU11(図21)は、読み込まれたOS(Operating System)プログラムに従い、補助記憶装置14のプログラム領域14aに格納されている上述のプログラムをRAM16のプログラム領域16aに書き込む。同様にCPU11は、補助記憶装置14のデータ領域14bに格納されている各種データを、RAM16のデータ領域16bに書き込む。そして、このプログラムやデータが書き込まれたRAM16上のアドレスがCPU11のレジスタ11cに格納される。CPU11の制御部11aは、レジスタ11cに格納されたこれらのアドレスを順次読み出し、読み出したアドレスが示すRAM16上の領域からプログラムやデータを読み出し、そのプログラムが示す演算を演算部11bに順次実行させ、その演算結果をレジスタ11cに格納していく。
The CPU 11 (FIG. 21) writes the above-mentioned program stored in the
署名生成装置200、検証装置300、登録装置400もそれぞれ同様に構成できる。前述の図3、5、7は、このようにCPU11に上述のプログラムが読み込まれて実行されることにより構成される利用者装置100、署名生成装置200、検証装置300の機能構成を例示したブロック図である。
The
例えば図5の署名生成装置200の場合、記憶部202は、補助記憶装置14、RAM16、レジスタ11c、その他のバッファメモリやキャッシュメモリ等の何れか、あるいはこれらを併用した記憶領域に相当する。また、通信部201と、記憶部202と、制御部203と、生成元選択部210と、乱数生成部220と、公開鍵生成部230と、電子署名生成部240は、CPU11に署名生成プログラムを実行させることにより構成されるものである。利用者装置100、検証装置300についても同様である。
For example, in the case of the
図21を参照性説明したこの発明をコンピュータで実施する構成は、実施例2及び3にも適用できる。 The configuration in which the present invention described with reference to FIG. 21 is implemented by a computer can be applied to the second and third embodiments.
Claims (21)
上記利用者装置は、上記G1の元g、h1とG2の元h2とを含むコミットメント鍵ckを使って情報mに対するコミットメントCを演算し、署名要求メッセージMとして上記署名生成装置に送信するコミットメント生成部と、
署名生成装置から受信した署名σの要素に対し、ペアリング等式が成立するか検証する署名検証部と、
検証に成功した場合は、上記コミットメントCに対する非対話ゼロ知識証明と上記署名σに対する非対話ゼロ知識証明をそれぞれ生成し、上記情報mと共にブラインド署名として上記検証装置に与えるゼロ知識証明生成部と、を含み、
上記署名生成装置は、上記群G1,G2の生成元g1、g2とZqに属する乱数x、y、rを使って上記利用者装置から受信した署名要求メッセージMとの演算により群G1,G2,GTのいずれかの元となる複数の要素の組をMに対する署名σとして生成し、上記利用者装置にブラインド署名として送信する電子署名生成部と、を含み、
上記検証装置は、上記公開パラメータと上記コミットメント鍵を使って上記利用者装置から受信したコミットメントに対する非対話ゼロ知識証明と署名に対する非対話ゼロ知識証明とを検証し、検証に成功した場合は上記ブラインド署名を受け入れるゼロ知識証明検証部を含むことを特徴とする署名検証システム。 A group G 1 , G 2 , G T of order q including a prime number q and bilinear pairing e: G 1 × G 2 → G T , including a user device, a signature generation device, and a verification device; Is a signature verification system that
The user apparatus calculates a commitment C for the information m using a commitment key ck including the element g of G 1 , h 1 and the element h 2 of G 2 , and sends a signature request message M to the signature generation apparatus. A commitment generator to send;
A signature verification unit that verifies whether a pairing equation holds for the element of the signature σ received from the signature generation device;
A zero-knowledge proof generator for generating a non-dialogue zero-knowledge proof for the commitment C and a non-dialogue-zero-knowledge proof for the signature σ when the verification is successful, and giving the information m as a blind signature to the verification device; Including
The signature generation apparatus, the group G 1, a generator g 1 of G 2, g 2 and Z q random number belonging to the x, y, by using the r by calculation of the signature request message M received from the user device An electronic signature generation unit that generates a set of a plurality of elements as a source of any of the groups G 1 , G 2 , and G T as a signature σ for M and transmits it as a blind signature to the user device,
The verification device verifies the non-dialog zero knowledge proof for the commitment received from the user device and the non-dialog zero knowledge proof for the signature using the public parameter and the commitment key, and if the verification is successful, the blind A signature verification system including a zero knowledge proof verification unit that accepts a signature.
上記利用者装置は、Zqに属する乱数tとηを生成する第1乱数生成部と、上記元h2と上記乱数tから開封情報H'=h2 tを計算する開封情報算出部と、署名変形部とを含み、上記コミットメント生成部は上記コミットメント鍵に含まれる上記元g、h1と上記乱数tとを使って上記情報mに対しコミットメントC=gmh1 tを演算し、上記署名検証部は上記署名としてσ=(a1,a2,a3,a4,a5)を上記署名生成装置から受信し、上記コミットメントC=Mと、上記署名生成装置が生成した公開鍵に含まれるg1,g2,X',Y'を使って次の4つのペアリング等式
e(g1,a5)=e(a1,g2)
e(M,a5)=e(a2,g2)
e(a2,Y')=e(a4,g2)
e(a3,g2)=e(a1a4,X')
が成立するか検証し、成立した場合は、上記署名変形部は上記署名σの各要素ai, i=1,…,5、を上記乱数ηでそれぞれ処理して変形された署名σ'=(a'1, a'2, a'3, a'4, a'5)を生成して上記ゼロ知識証明生成部に与え、上記ゼロ知識証明生成部は、上記開封情報H'を使って上記コミットメントCに対し非対話ゼロ知識証明Prf(C):
NIZK{(C,H'): e(C/gm, h2)e(h1 -1, H')=1}
と、上記変形された署名σ'に対する非対話ゼロ知識証明Prf(σ'):
NIZK{(C, a'2): e(C, a'5)e(a'2, g2 -1)=1}
NIZK{(a'2, a'4): e(a'2, Y')e(a'4, g2 -1)=1}
NIZK{(a'3, a'4): e(a'3, g2)e(a'1a'4, X'-1)=1}
とを生成して上記乱数ηで処理された要素a'1,a'5と共にm、Prf(C)、Prf(σ')を上記ブラインド署名として出力し、
上記署名生成装置は、上記乱数r、x、yを生成する第2乱数生成部と、上記群G1、G2から生成元g1、g2を選択する生成元選択部と、X'=g1 x,Y'=g2 yを計算し、g1、g2、X',Y'を含む公開鍵pkを公開する公開鍵生成部とを含み、上記電子署名生成部は、
a1=g1 r
a2=Mr
a3=g1 rxMrxy
a4=Mry
a5=g2 r
を演算し、上記a1,a2,a3,a4,a5の組を上記署名σとして出力し、
上記検証装置は、上記コミットメント鍵ckと上記乱数ηで処理された要素a'1,a'5を使って上記コミットメントCに対する非対話ゼロ知識証明Prf(C)と上記変形された署名σ'に対する非対話ゼロ知識証明Prf(σ')とを検証することを特徴とする署名検証システム。 The signature verification system according to claim 1,
The user device includes a first random number generation unit that generates random numbers t and η belonging to Z q , an unsealing information calculation unit that calculates unsealing information H ′ = h 2 t from the element h 2 and the random number t, A signature transformation unit, and the commitment generation unit calculates a commitment C = g m h 1 t for the information m using the elements g and h 1 and the random number t included in the commitment key, and The signature verification unit receives σ = (a 1 , a 2 , a 3 , a 4 , a 5 ) as the signature from the signature generation device, the commitment C = M, and the public key generated by the signature generation device The following four pairing equations using g 1 , g 2 , X ′, and Y ′
e (g 1 , a 5 ) = e (a 1 , g 2 )
e (M, a 5 ) = e (a 2 , g 2 )
e (a 2 , Y ′) = e (a 4 , g 2 )
e (a 3 , g 2 ) = e (a 1 a 4 , X ′)
The signature deforming unit processes each element a i , i = 1,..., 5 of the signature σ with the random number η and deforms the signature σ ′ = (a ′ 1 , a ′ 2 , a ′ 3 , a ′ 4 , a ′ 5 ) are generated and given to the zero knowledge proof generator, and the zero knowledge proof generator uses the unsealing information H ′. Non-dialogue zero knowledge proof Prf (C) for commitment C above:
NIZK {(C, H ′): e (C / g m , h 2 ) e (h 1 −1 , H ′) = 1}
And non-interactive zero knowledge proof Prf (σ ′) for the modified signature σ ′:
NIZK {(C, a ' 2 ): e (C, a' 5 ) e (a ' 2 , g 2 -1 ) = 1}
NIZK {(a ' 2 , a' 4 ): e (a ' 2 , Y') e (a ' 4 , g 2 -1 ) = 1}
NIZK {(a ' 3 , a' 4 ): e (a ' 3 , g 2 ) e (a' 1 a ' 4 , X' -1 ) = 1}
M, Prf the (C), Prf (σ ' ) is output as the blind signature preparative generated with the random number η treated element a' 1, a '5 with a
The signature generation apparatus includes a second random number generation unit that generates the random numbers r, x, and y, a generation source selection unit that selects the generation sources g 1 and g 2 from the groups G 1 and G 2 , and X ′ = a public key generation unit that calculates g 1 x , Y ′ = g 2 y and publishes a public key pk including g 1 , g 2 , X ′, and Y ′, and the electronic signature generation unit includes:
a 1 = g 1 r
a 2 = M r
a 3 = g 1 rx M rxy
a 4 = M ry
a 5 = g 2 r
And outputs a set of the above a 1 , a 2 , a 3 , a 4 , a 5 as the signature σ,
The verification apparatus uses the elements a ′ 1 and a ′ 5 processed with the commitment key ck and the random number η to perform the non-interactive zero knowledge proof Prf (C) for the commitment C and the modified signature σ ′. A signature verification system characterized by verifying non-interactive zero knowledge proof Prf (σ ').
上記利用者装置は、Zqに属する乱数tとηを生成する第1乱数生成部と、上記元h2と上記乱数tから開封情報H'=h2 tを計算する開封情報算出部と、署名変形部とを含み、上記コミットメント生成部は上記コミットメント鍵に含まれる上記元g、h1と上記乱数tとを使って上記情報mに対しコミットメントC=gmh1 tを演算し、上記署名検証部は上記署名としてσ=(a1,a3,a4,a5)を上記署名生成装置から受信し、上記コミットメントC=Mと、上記署名生成装置が生成した公開鍵に含まれるg1,g2,X',Y'を使って次の3つのペアリング等式
e(a1,Y')=e(g1,a5)
e(M,a5)=e(a4,g2)
e(a3,g2)=e(a1a4,X')
が成立するか検証し、成立した場合は、上記署名変形部は上記署名σの各要素ai, i=1, 3, 4, 5、を上記乱数ηでそれぞれ処理して変形された署名σ'=(a'1, a'3, a'4, a'5)を生成して上記ゼロ知識証明生成部に与え、上記ゼロ知識証明生成部は、上記開封情報H'を使って上記コミットメントCに対し非対話ゼロ知識証明Prf(C):
NIZK{(C,H'): e(C/gm, h2)e(h1 -1, H')=1}
と、上記変形された署名σ'に対する非対話ゼロ知識証明Prf(σ'):
NIZK{(C, a'4): e(C, a'5)e(a'4, g2 -1)=1}
NIZK{(a'3, a'4): e(a'3, g2)e(a'1a'4, X'-1)=1}
とを生成して上記乱数ηで処理された要素a'1,a'5と共にm、Prf(C)、Prf(σ')を上記ブラインド署名として出力し、
上記署名生成装置は、上記乱数r、x、yを生成する第2乱数生成部と、上記群G1、G2から生成元g1、g2を選択する生成元選択部と、X'=g1 x,Y'=g2 yを計算し、g1、g2、X',Y'を含む公開鍵pkを公開する公開鍵生成部とを含み、上記電子署名生成部は、
a1=g1 r
a3=g1 rxMrxy
a4=Mry
a5=g2 ry
を演算し、上記a1,a3,a4,a5の組を上記署名σとして出力し、
上記検証装置は、上記コミットメント鍵ckと上記乱数ηで処理された要素a'1,a'5を使って上記コミットメントCに対する非対話ゼロ知識証明Prf(C)と上記変形された署名σ'に対する非対話ゼロ知識証明Prf(σ')とを検証することを特徴とする署名検証システム。 The signature verification system according to claim 1,
The user device includes a first random number generation unit that generates random numbers t and η belonging to Z q , an unsealing information calculation unit that calculates unsealing information H ′ = h 2 t from the element h 2 and the random number t, A signature transformation unit, and the commitment generation unit calculates a commitment C = g m h 1 t for the information m using the elements g and h 1 and the random number t included in the commitment key, and The signature verification unit receives σ = (a 1 , a 3 , a 4 , a 5 ) as the signature from the signature generation device, and is included in the commitment C = M and the public key generated by the signature generation device. Using g 1 , g 2 , X ′, Y ′, the following three pairing equations
e (a 1 , Y ′) = e (g 1 , a 5 )
e (M, a 5 ) = e (a 4 , g 2 )
e (a 3 , g 2 ) = e (a 1 a 4 , X ′)
The signature transformation unit processes each element a i , i = 1, 3, 4, 5 of the signature σ with the random number η and transforms the signature σ. '= (A' 1 , a ' 3 , a' 4 , a ' 5 ) is generated and given to the zero knowledge proof generator, and the zero knowledge proof generator uses the unsealing information H' to make the commitment Non-dialogue zero knowledge proof Prf (C) for C:
NIZK {(C, H ′): e (C / g m , h 2 ) e (h 1 −1 , H ′) = 1}
And non-interactive zero knowledge proof Prf (σ ′) for the modified signature σ ′:
NIZK {(C, a ' 4 ): e (C, a' 5 ) e (a ' 4 , g 2 -1 ) = 1}
NIZK {(a ' 3 , a' 4 ): e (a ' 3 , g 2 ) e (a' 1 a ' 4 , X' -1 ) = 1}
M, Prf the (C), Prf (σ ' ) is output as the blind signature preparative generated with the random number η treated element a' 1, a '5 with a
The signature generation apparatus includes a second random number generation unit that generates the random numbers r, x, and y, a generation source selection unit that selects the generation sources g 1 and g 2 from the groups G 1 and G 2 , and X ′ = a public key generation unit that calculates g 1 x , Y ′ = g 2 y and publishes a public key pk including g 1 , g 2 , X ′, and Y ′, and the electronic signature generation unit includes:
a 1 = g 1 r
a 3 = g 1 rx M rxy
a 4 = M ry
a 5 = g 2 ry
And outputs the set of a 1 , a 3 , a 4 , a 5 as the signature σ,
The verification apparatus uses the elements a ′ 1 and a ′ 5 processed with the commitment key ck and the random number η to perform the non-interactive zero knowledge proof Prf (C) for the commitment C and the modified signature σ ′. A signature verification system characterized by verifying non-interactive zero knowledge proof Prf (σ ').
上記利用者装置は、Zqに属する乱数tとηを生成する第1乱数生成部と、上記元h2と上記乱数tから開封情報H'=h2 tを計算する開封情報算出部と、署名変形部とを含み、上記コミットメント生成部は上記コミットメント鍵に含まれる上記元g、h1と上記乱数tとを使って上記情報mに対しコミットメントC=gmh1 tを演算し、上記署名検証部は上記署名としてσ=(a1,a3,a5)を上記署名生成装置から受信し、上記コミットメントC=Mと、上記署名生成装置が生成した公開鍵に含まれるg1,g2,X',Y',Yを使って次の2つのペアリング等式
e(a1,g2)=e(Mg1,a5)
e(a3,g2)=e(a1,X')
が成立するか検証し、成立した場合は、上記署名変形部は上記署名σの各要素ai, i=1, 3, 5、を上記乱数ηでそれぞれ処理して変形された署名σ'=(a'1, a'3, a'5)を生成して上記ゼロ知識証明生成部に与え、上記ゼロ知識証明生成部は、上記開封情報H'を使って上記コミットメントCに対し非対話ゼロ知識証明Prf(C):
NIZK{(C,H'): e(C/gm, h2)e(h1 -1, H')=1}
と、上記変形された署名σ'に対する非対話ゼロ知識証明Prf(σ'):
NIZK{(C, a'1): e(C, a'5 -1)e(a'1, g2)=1}
NIZK{(a'1, a'3): e(a'3, g2)e(a'1, X'-1)=1}
とを生成して上記乱数ηで処理された要素a'5と共にm、Prf(C)、Prf(σ')を上記ブラインド署名として出力し、
上記署名生成装置は、上記乱数r、x、yを生成する第2乱数生成部と、上記群G1、G2から生成元g1、g2を選択する生成元選択部と、X'=g1 x,Y'=g2 y,Y=g1 yを計算し、g1、g2、X',Y',Yを含む公開鍵pkを公開する公開鍵生成部とを含み、上記電子署名生成部は、
a1=MryYr
a3=YrxMrxy
a5=g2 ry
を演算し、上記a1,a3,a5の組を上記署名σとして出力し、
上記検証装置は、上記コミットメント鍵ckと上記乱数ηで処理された要素a'5を使って上記コミットメントCに対する非対話ゼロ知識証明Prf(C)と上記変形された署名σ'に対する非対話ゼロ知識証明Prf(σ')とを検証することを特徴とする署名検証システム。 The signature verification system according to claim 1,
The user device includes a first random number generation unit that generates random numbers t and η belonging to Z q , an unsealing information calculation unit that calculates unsealing information H ′ = h 2 t from the element h 2 and the random number t, A signature transformation unit, and the commitment generation unit calculates a commitment C = g m h 1 t for the information m using the elements g and h 1 and the random number t included in the commitment key, and The signature verification unit receives σ = (a 1 , a 3 , a 5 ) as the signature from the signature generation device, and receives the commitment C = M and g 1 , included in the public key generated by the signature generation device. Using g 2 , X ′, Y ′, Y, the following two pairing equations
e (a 1 , g 2 ) = e (Mg 1 , a 5 )
e (a 3 , g 2 ) = e (a 1 , X ′)
The signature transformation unit processes each element a i , i = 1, 3, 5 of the signature σ with the random number η and transforms the signature σ ′ = (a ′ 1 , a ′ 3 , a ′ 5 ) are generated and given to the zero knowledge proof generation unit, and the zero knowledge proof generation unit uses the unsealing information H ′ to perform non-interaction zero with respect to the commitment C. Knowledge Proof Prf (C):
NIZK {(C, H ′): e (C / g m , h 2 ) e (h 1 −1 , H ′) = 1}
And non-interactive zero knowledge proof Prf (σ ′) for the modified signature σ ′:
NIZK {(C, a ' 1 ): e (C, a' 5 -1 ) e (a ' 1 , g 2 ) = 1}
NIZK {(a ' 1 , a' 3 ): e (a ' 3 , g 2 ) e (a' 1 , X ' -1 ) = 1}
'M with 5, Prf (C), Prf (σ' element a that has been processed by the random number η a) is output as the blind signature generating bets,
The signature generation apparatus includes a second random number generation unit that generates the random numbers r, x, and y, a generation source selection unit that selects the generation sources g 1 and g 2 from the groups G 1 and G 2 , and X ′ = a public key generator that calculates g 1 x , Y ′ = g 2 y , Y = g 1 y , and publishes a public key pk including g 1 , g 2 , X ′, Y ′, Y, and The electronic signature generator
a 1 = M ry Y r
a 3 = Y rx M rxy
a 5 = g 2 ry
And outputs the set of a 1 , a 3 , a 5 as the signature σ,
The verification device uses the element a ′ 5 processed with the commitment key ck and the random number η , and the non-interactive zero knowledge proof Prf (C) for the commitment C and the non-interactive zero knowledge for the modified signature σ ′. A signature verification system characterized by verifying a proof Prf (σ ').
上記利用者装置が、上記G1の元g、h1とG2の元h2とを含むコミットメント鍵ckを使って情報mに対するコミットメントCを演算し、署名要求メッセージMとして上記署名生成装置に送信するコミットメント生成段階と、
上記署名生成装置が、上記群G1,G2の生成元g1、g2とZqに属する乱数x、y、rを使って上記利用者装置から受信した署名要求メッセージMとの演算により群G1,G2,GTのいずれかの元となる複数の要素の組をMに対する署名σとして生成し、上記利用者装置に送信する電子署名生成段階と、
上記利用者装置が上記署名生成装置から受信した署名σの要素に対し、ペアリング等式が成立するか検証する署名検証段階と、
検証に成功した場合は、上記利用者装置が上記コミットメントCに対する非対話ゼロ知識証明と上記署名σに対する非対話ゼロ知識証明をそれぞれ生成し、上記情報mと共にブラインド署名として上記検証装置に与えるゼロ知識証明生成段階と、
上記検証装置が、上記公開パラメータと上記コミットメント鍵を使って、上記利用者装置から受信したコミットメントに対する非対話ゼロ知識証明と署名に対する非対話ゼロ知識証明とを検証し、検証に成功したら上記ブラインド署名を受け入れるゼロ知識証明検証段階を含むことを特徴とする署名検証方法。 A user apparatus used in a signature verification system in which a prime number q and a group G 1 , G 2 , G T of order q in which bilinear pairing e: G 1 × G 2 → G T exists are disclosed , A signature verification method by a signature generation device and a verification device,
The user apparatus calculates a commitment C for the information m using a commitment key ck including the element g of G 1 , the element h 1 of G 1, and the element h 2 of G 2 , and sends it to the signature generation apparatus as a signature request message M A commitment generation stage to send,
The signature generation device performs an operation on the signature request message M received from the user device using the generation sources g 1 and g 2 of the groups G 1 and G 2 and the random numbers x, y, and r belonging to Z q. An electronic signature generation stage for generating a set of a plurality of elements as one of the groups G 1 , G 2 , and G T as a signature σ for M and transmitting it to the user device;
A signature verification stage for verifying whether a pairing equation holds for the element of the signature σ received by the user device from the signature generation device;
If the verification is successful, the user device generates a non-dialogue zero knowledge proof for the commitment C and a non-dialogue zero knowledge proof for the signature σ, respectively, and gives the zero knowledge as a blind signature together with the information m to the verification device A proof generation phase;
The verification device verifies the non-interaction zero knowledge proof for the commitment received from the user device and the non-interaction zero knowledge proof for the signature using the public parameter and the commitment key, and if the verification is successful, the blind signature A signature verification method comprising a zero knowledge proof verification step for accepting.
上記利用者装置が、Zqに属する乱数tとηを生成する第1乱数生成段階と、上記元h2と上記乱数tから開封情報H'=h2 tを計算する開封情報算出段階と、署名を変形する段階とを含み、上記コミットメント生成段階は上記コミットメント鍵に含まれる上記元g、h1と上記乱数tとを使って上記情報mに対しコミットメントC=gmh1 tを演算し、上記署名検証段階は上記署名としてσ=(a1,a2,a3,a4,a5)を上記署名生成装置から受信し、上記コミットメントC=Mと、上記署名生成装置が生成した公開鍵に含まれるg1,g2,X',Y'を使って次の4つのペアリング等式
e(g1,a5)=e(a1,g2)
e(M,a5)=e(a2,g2)
e(a2,Y')=e(a4,g2)
e(a3,g2)=e(a1a4,X')
が成立するか検証し、成立した場合は、上記署名を変形する段階は上記署名σの各要素ai, i=1,…,5、を上記乱数ηでそれぞれ処理して変形された署名σ'=(a'1, a'2, a'3, a'4, a'5)を生成して上記ゼロ知識証明生成段階に与え、上記ゼロ知識証明生成段階は、上記開封情報H'を使って上記コミットメントCに対し非対話ゼロ知識証明Prf(C):
NIZK{(C,H'): e(C/gm, h2)e(h1 -1, H')=1}
と、上記変形された署名σ'に対する非対話ゼロ知識証明Prf(σ'):
NIZK{(C, a'2): e(C, a'5)e(a'2, g2 -1)=1}
NIZK{(a'2, a'4): e(a'2, Y')e(a'4, g2 -1)=1}
NIZK{(a'3, a'4): e(a'3, g2)e(a'1a'4, X'-1)=1}
とを生成して上記乱数ηで処理された要素a'1,a'5と共にm、Prf(C)、Prf(σ')を上記ブラインド署名として出力し、
上記署名生成装置が、上記乱数r、x、yを生成する第2乱数生成段階と、上記群G1、G2から生成元g1、g2を選択する生成元選択段階と、X'=g1 x,Y'=g2 yを計算し、g1、g2、X',Y'を含む公開鍵pkを公開する公開鍵生成段階とを含み、上記電子署名生成段階は、
a1=g1 r
a2=Mr
a3=g1 rxMrxy
a4=Mry
a5=g2 r
を演算し、上記a1,a2,a3,a4,a5の組を上記署名σとして出力し、
上記検証装置による上記ゼロ知識証明検証段階は、上記コミットメント鍵ckと上記乱数ηで処理された要素a'1,a'5を使って上記コミットメントCに対する非対話ゼロ知識証明Prf(C)と上記変形された署名σ'に対する非対話ゼロ知識証明Prf(σ')とを検証することを特徴とする署名検証方法。 The signature verification method according to claim 7,
A first random number generation step in which the user device generates random numbers t and η belonging to Z q , an unsealing information calculation step in which unsealing information H ′ = h 2 t is calculated from the element h 2 and the random number t; And the commitment generation step calculates a commitment C = g m h 1 t for the information m using the elements g and h 1 and the random number t included in the commitment key. In the signature verification step, σ = (a 1 , a 2 , a 3 , a 4 , a 5 ) is received as the signature from the signature generation device, and the commitment C = M is generated by the signature generation device. The following four pairing equations using g 1 , g 2 , X ′, and Y ′ included in the public key
e (g 1 , a 5 ) = e (a 1 , g 2 )
e (M, a 5 ) = e (a 2 , g 2 )
e (a 2 , Y ′) = e (a 4 , g 2 )
e (a 3 , g 2 ) = e (a 1 a 4 , X ′)
And if so, the step of transforming the signature is to transform each of the elements a i , i = 1,..., 5 of the signature σ with the random number η and transform the signature σ. '= (A' 1 , a ' 2 , a' 3 , a ' 4 , a' 5 ) is generated and given to the zero knowledge proof generation stage. The zero knowledge proof generation stage includes the unsealing information H ' Use non-dialogue zero knowledge proof Prf (C) for commitment C above:
NIZK {(C, H ′): e (C / g m , h 2 ) e (h 1 −1 , H ′) = 1}
And non-interactive zero knowledge proof Prf (σ ′) for the modified signature σ ′:
NIZK {(C, a ' 2 ): e (C, a' 5 ) e (a ' 2 , g 2 -1 ) = 1}
NIZK {(a ' 2 , a' 4 ): e (a ' 2 , Y') e (a ' 4 , g 2 -1 ) = 1}
NIZK {(a ' 3 , a' 4 ): e (a ' 3 , g 2 ) e (a' 1 a ' 4 , X' -1 ) = 1}
M, Prf the (C), Prf (σ ' ) is output as the blind signature preparative generated with the random number η treated element a' 1, a '5 with a
The signature generation device generates a second random number generation step for generating the random numbers r, x, and y; a generation source selection step for selecting the generation sources g 1 and g 2 from the groups G 1 and G 2 ; and X ′ = g 1 x, Y '= g a 2 y calculated, g 1, g 2, X ' and a public key generation step of publishing the public key pk comprising Y ', the electronic signature generation step,
a 1 = g 1 r
a 2 = M r
a 3 = g 1 rx M rxy
a 4 = M ry
a 5 = g 2 r
And outputs a set of the above a 1 , a 2 , a 3 , a 4 , a 5 as the signature σ,
The zero-knowledge proof verification stage by the verification device includes the non-interactive zero-knowledge proof Prf (C) for the commitment C using the elements a ′ 1 and a ′ 5 processed by the commitment key ck and the random number η A signature verification method characterized by verifying a non-interactive zero knowledge proof Prf (σ ') for a modified signature σ'.
上記利用者装置が、Zqに属する乱数tと乱数ηを生成する第1乱数生成段階と、上記元h2と上記乱数tから開封情報H'=h2 tを計算する開封情報算出段階と、署名変形段階とを含み、上記コミットメント生成段階は上記コミットメント鍵に含まれる上記元g、h1と上記乱数tとを使って上記情報mに対しコミットメントC=gmh1 tを演算し、上記署名検証段階は上記署名としてσ=(a1,a3,a4,a5)を上記署名生成装置から受信し、上記コミットメントC=Mと、上記署名生成装置が生成した公開鍵に含まれるg1,g2,X',Y'を使って次の3つのペアリング等式
e(a1,Y')=e(g1,a5)
e(M,a5)=e(a4,g2)
e(a3,g2)=e(a1a4,X')
が成立するか検証し、成立した場合は、上記署名変形段階は上記署名σの各要素ai, i=1, 3, 4, 5、を上記乱数ηでそれぞれ処理して変形された署名σ'=(a'1, a'3, a'4, a'5)を生成して上記ゼロ知識証明生成段階に与え、上記ゼロ知識証明生成段階は、上記開封情報H'を使って上記コミットメントCに対し非対話ゼロ知識証明Prf(C):
NIZK{(C,H'): e(C/gm, h2)e(h1 -1, H')=1}
と、上記変形された署名σ'に対する非対話ゼロ知識証明Prf(σ'):
NIZK{(C, a'4): e(C, a'5)e(a'4, g2 -1)=1}
NIZK{(a'3, a'4): e(a'3, g2)e(a'1a'4, X'-1)=1}
とを生成して上記乱数ηで処理された要素a'1,a'5と共にm、Prf(C)、Prf(σ')を上記ブラインド署名として出力し、
上記署名生成装置が、上記乱数r、x、yを生成する第2乱数生成段階と、上記群G1、G2から生成元g1、g2を選択する生成元選択段階と、X'=g1 x,Y'=g2 yを計算し、g1、g2、X',Y'を含む公開鍵pkを公開する公開鍵生成段階とを含み、上記電子署名生成段階は、
a1=g1 r
a3=g1 rxMrxy
a4=Mry
a5=g2 ry
を演算し、上記a1,a3,a4,a5の組を上記署名σとして出力し、
上記検証装置による上記ゼロ知識証明検証段階は、上記コミットメント鍵ckと上記乱数ηで処理された要素a'1,a'5を使って上記コミットメントCに対する非対話ゼロ知識証明Prf(C)と上記上記変形された署名σ'に対する非対話ゼロ知識証明Prf(σ')とを検証することを特徴とする署名検証方法。 The signature verification method according to claim 7,
A first random number generation stage in which the user device generates a random number t and a random number η belonging to Z q; an unsealing information calculation stage in which the unsealing information H ′ = h 2 t is calculated from the element h 2 and the random number t; A signature transformation stage, and the commitment generation stage calculates a commitment C = g m h 1 t for the information m using the elements g and h 1 and the random number t included in the commitment key, The signature verification stage receives σ = (a 1 , a 3 , a 4 , a 5 ) as the signature from the signature generation device, and includes the commitment C = M and the public key generated by the signature generation device. The following three pairing equations using g 1 , g 2 , X ′, and Y ′
e (a 1 , Y ′) = e (g 1 , a 5 )
e (M, a 5 ) = e (a 4 , g 2 )
e (a 3 , g 2 ) = e (a 1 a 4 , X ′)
The signature transformation stage processes each element a i , i = 1, 3, 4, 5 of the signature σ with the random number η and transforms the signature σ. '= (A' 1 , a ' 3 , a' 4 , a ' 5 ) is generated and given to the zero knowledge proof generation stage. The zero knowledge proof generation stage uses the unsealing information H' to make the commitment Non-dialogue zero knowledge proof Prf (C) for C:
NIZK {(C, H ′): e (C / g m , h 2 ) e (h 1 −1 , H ′) = 1}
And non-interactive zero knowledge proof Prf (σ ′) for the modified signature σ ′:
NIZK {(C, a ' 4 ): e (C, a' 5 ) e (a ' 4 , g 2 -1 ) = 1}
NIZK {(a ' 3 , a' 4 ): e (a ' 3 , g 2 ) e (a' 1 a ' 4 , X' -1 ) = 1}
And m, Prf (C), Prf (σ ′) together with the elements a ′ 1 and a ′ 5 processed by the random number η are output as the blind signature,
The signature generation device generates a second random number generation step for generating the random numbers r, x, and y; a generation source selection step for selecting the generation sources g 1 and g 2 from the groups G 1 and G 2 ; and X ′ = g 1 x, Y '= g a 2 y calculated, g 1, g 2, X ' and a public key generation step of publishing the public key pk comprising Y ', the electronic signature generation step,
a 1 = g 1 r
a 3 = g 1 rx M rxy
a 4 = M ry
a 5 = g 2 ry
And outputs the set of a 1 , a 3 , a 4 , a 5 as the signature σ,
The zero-knowledge proof verification stage by the verification device includes the non-interactive zero-knowledge proof Prf (C) for the commitment C using the elements a ′ 1 and a ′ 5 processed by the commitment key ck and the random number η A signature verification method characterized by verifying the non-interaction zero knowledge proof Prf (σ ') for the modified signature σ'.
上記利用者装置が、Zqに属する乱数tとηを生成する第1乱数生成段階と、上記元h2と上記乱数tから開封情報H'=h2 tを計算する開封情報算出段階と、署名変形段階とを含み、上記コミットメント生成段階は上記コミットメント鍵に含まれる上記元g、h1と上記乱数tとを使って上記情報mに対しコミットメントC=gmh1 tを演算し、上記署名検証段階は上記署名としてσ=(a1,a3,a5)を上記署名生成装置から受信し、上記コミットメントC=Mと、上記署名生成装置が生成した公開鍵に含まれるg1,g2,X',Y',Yを使って次の2つのペアリング等式
e(a1,g2)=e(Mg1,a5)
e(a3,g2)=e(a1,X')
が成立するか検証し、成立した場合は、上記署名変形段階は上記署名σの各要素ai, i=1, 3, 5、を上記乱数ηでそれぞれ処理して変形された署名σ'=(a'1, a'3, a'5)を生成して上記ゼロ知識証明生成段階に与え、上記ゼロ知識証明生成段階は、上記開封情報H'を使って上記コミットメントCに対し非対話ゼロ知識証明Prf(C):
NIZK{(C,H'): e(C/gm, h2)e(h1 -1, H')=1}
と、上記変形された署名σ'に対する非対話ゼロ知識証明Prf(σ'):
NIZK{(C, a'1): e(C, a'5 -1)e(a'1, g2)=1}
NIZK{(a'1, a'3): e(a'3, g2)e(a'1, X'-1)=1}
とを生成して上記乱数ηで処理された要素a'5と共にm、Prf(C)、Prf(σ')を上記ブラインド署名として出力し、
上記署名生成装置が、上記乱数r、x、yを生成する第2乱数生成段階と、上記群G1、G2から生成元g1、g2を選択する生成元選択段階と、X'=g1 x,Y'=g2 y,Y=g1 yを計算し、g1、g2、X',Y',Yを含む公開鍵pkを公開する公開鍵生成段階とを含み、上記電子署名生成段階は、
a1=MryYr
a3=YrxMrxy
a5=g2 ry
を演算し、上記a1,a3,a5の組を上記署名σとして出力し、
上記検証装置による上記ゼロ知識証明検証段階は、上記コミットメント鍵ckと上記乱数ηで処理された要素a'5を使って上記コミットメントCに対する非対話ゼロ知識証明Prf(C)と上記変形された署名σ'に対する非対話ゼロ知識証明Prf(σ')とを検証することを特徴とする署名検証方法。 The signature verification method according to claim 7,
A first random number generation step in which the user device generates random numbers t and η belonging to Z q , an unsealing information calculation step in which unsealing information H ′ = h 2 t is calculated from the element h 2 and the random number t; A signature transformation step, wherein the commitment generation step calculates a commitment C = g m h 1 t for the information m using the elements g and h 1 and the random number t included in the commitment key, and In the signature verification stage, σ = (a 1 , a 3 , a 5 ) is received as the signature from the signature generation device, the commitment C = M, and g 1 , included in the public key generated by the signature generation device. Using g 2 , X ′, Y ′, Y, the following two pairing equations
e (a 1 , g 2 ) = e (Mg 1 , a 5 )
e (a 3 , g 2 ) = e (a 1 , X ′)
Is satisfied, and if it is satisfied, the signature transformation stage processes each element a i , i = 1, 3, 5 of the signature σ with the random number η and transforms the signature σ ′ = (a ′ 1 , a ′ 3 , a ′ 5 ) are generated and given to the zero knowledge proof generation stage. The zero knowledge proof generation stage uses the unsealing information H ′ to perform non-interaction zero for the commitment C. Knowledge Proof Prf (C):
NIZK {(C, H ′): e (C / g m , h 2 ) e (h 1 −1 , H ′) = 1}
And non-interactive zero knowledge proof Prf (σ ′) for the modified signature σ ′:
NIZK {(C, a ' 1 ): e (C, a' 5 -1 ) e (a ' 1 , g 2 ) = 1}
NIZK {(a ' 1 , a' 3 ): e (a ' 3 , g 2 ) e (a' 1 , X ' -1 ) = 1}
And m, Prf (C), and Prf (σ ′) together with the element a ′ 5 processed with the random number η are output as the blind signature,
The signature generation device generates a second random number generation step for generating the random numbers r, x, and y; a generation source selection step for selecting the generation sources g 1 and g 2 from the groups G 1 and G 2 ; and X ′ = a public key generation stage that calculates g 1 x , Y ′ = g 2 y , Y = g 1 y and publishes a public key pk including g 1 , g 2 , X ′, Y ′, Y, and The electronic signature generation stage
a 1 = M ry Y r
a 3 = Y rx M rxy
a 5 = g 2 ry
And outputs the set of a 1 , a 3 , a 5 as the signature σ,
The zero-knowledge proof verification step by the verification device includes a non-interactive zero-knowledge proof Prf (C) for the commitment C and the modified signature using the element a ′ 5 processed with the commitment key ck and the random number η. A signature verification method characterized by verifying a non-interactive zero knowledge proof Prf (σ ') for σ'.
上記利用者装置が、上記G1の元g、h1とG2の元h2とを含むコミットメント鍵ckを使って情報mに対するコミットメントCを演算し、署名要求メッセージMとして上記署名生成装置に送信するコミットメント生成段階と、
上記署名生成装置が、上記群G1,G2の生成元g1、g2とZqに属する乱数x、y、rを使って上記利用者装置から受信した署名要求メッセージMとの演算により群G1,G2,GTのいずれかの元となる複数の要素の組をMに対する署名σとして生成し、上記利用者装置に送信する電子署名生成段階と、
上記利用者装置が上記署名生成装置から受信した署名σの要素に対し、ペアリング等式が成立するか検証する署名検証段階と、
検証に成功した場合は、上記利用者装置が上記コミットメントCに対する非対話ゼロ知識証明と上記署名σに対する非対話ゼロ知識証明をそれぞれ生成し、上記情報mと共にブラインド署名として出力するゼロ知識証明生成段階と、を含むことを特徴とするブラインド署名生成方法。 A user apparatus used in a signature verification system in which a prime number q and a group G 1 , G 2 , G T of order q in which bilinear pairing e: G 1 × G 2 → G T exists are disclosed , A blind signature generation method with a signature generation device,
The user apparatus calculates a commitment C for the information m using a commitment key ck including the element g of G 1 , the element h 1 of G 1, and the element h 2 of G 2 , and sends it to the signature generation apparatus as a signature request message M A commitment generation stage to send,
The signature generation device performs an operation on the signature request message M received from the user device using the generation sources g 1 and g 2 of the groups G 1 and G 2 and the random numbers x, y, and r belonging to Z q. An electronic signature generation stage for generating a set of a plurality of elements as one of the groups G 1 , G 2 , and G T as a signature σ for M and transmitting it to the user device;
A signature verification stage for verifying whether a pairing equation holds for the element of the signature σ received by the user device from the signature generation device;
If the verification is successful, the user device generates a non-dialogue zero knowledge proof for the commitment C and a non-dialogue zero knowledge proof for the signature σ, and outputs them as a blind signature together with the information m. And a blind signature generation method.
上記利用者装置が、Zqに属する乱数tとηを生成する第1乱数生成段階と、上記元h2と上記乱数tから開封情報H'=h2 tを計算する開封情報算出段階と、署名を変形する段階とを含み、上記コミットメント生成段階は上記コミットメント鍵に含まれる上記元g、h1と上記乱数tとを使って上記情報mに対しコミットメントC=gmh1 tを演算し、上記署名検証段階は上記署名としてσ=(a1,a2,a3,a4,a5)を上記署名生成装置から受信し、上記コミットメントC=Mと、上記署名生成装置が生成した公開鍵に含まれるg1,g2,X',Y'を使って次の4つのペアリング等式
e(g1,a5)=e(a1,g2)
e(M,a5)=e(a2,g2)
e(a2,Y')=e(a4,g2)
e(a3,g2)=e(a1a4,X')
が成立するか検証し、成立した場合は、上記署名を変形する段階は上記署名σの各要素ai, i=1,…,5、を上記乱数ηでそれぞれ処理して変形された署名σ'=(a'1, a'2, a'3, a'4, a'5)を生成して上記ゼロ知識証明生成段階に与え、上記ゼロ知識証明生成段階は、上記開封情報H'を使って上記コミットメントCに対し非対話ゼロ知識証明Prf(C):
NIZK{(C,H'): e(C/gm, h2)e(h1 -1, H')=1}
と、上記変形された署名σ'に対する非対話ゼロ知識証明Prf(σ'):
NIZK{(C, a'2): e(C, a'5)e(a'2, g2 -1)=1}
NIZK{(a'2, a'4): e(a'2, Y')e(a'4, g2 -1)=1}
NIZK{(a'3, a'4): e(a'3, g2)e(a'1a'4, X'-1)=1}
とを生成して上記乱数ηで処理された要素a'1,a'5と共にm、Prf(C)、Prf(σ')を上記ブラインド署名として出力し、
上記署名生成装置が、上記乱数r、x、yを生成する第2乱数生成段階と、上記群G1、G2から生成元g1、g2を選択する生成元選択段階と、X'=g1 x,Y'=g2 yを計算し、g1、g2、X',Y'を含む公開鍵pkを公開する公開鍵生成段階とを含み、上記電子署名生成段階は、
a1=g1 r
a2=Mr
a3=g1 rxMrxy
a4=Mry
a5=g2 r
を演算し、上記a1,a2,a3,a4,a5の組を上記署名σとして出力することを特徴とするブラインド署名生成方法。 The blind signature generation method according to claim 13, wherein
A first random number generation step in which the user device generates random numbers t and η belonging to Z q , an unsealing information calculation step in which unsealing information H ′ = h 2 t is calculated from the element h 2 and the random number t; And the commitment generation step calculates a commitment C = g m h 1 t for the information m using the elements g and h 1 and the random number t included in the commitment key. In the signature verification step, σ = (a 1 , a 2 , a 3 , a 4 , a 5 ) is received as the signature from the signature generation device, and the commitment C = M is generated by the signature generation device. The following four pairing equations using g 1 , g 2 , X ′, and Y ′ included in the public key
e (g 1 , a 5 ) = e (a 1 , g 2 )
e (M, a 5 ) = e (a 2 , g 2 )
e (a 2 , Y ′) = e (a 4 , g 2 )
e (a 3 , g 2 ) = e (a 1 a 4 , X ′)
And if so, the step of transforming the signature is to transform each of the elements a i , i = 1,..., 5 of the signature σ with the random number η and transform the signature σ. '= (A' 1 , a ' 2 , a' 3 , a ' 4 , a' 5 ) is generated and given to the zero knowledge proof generation stage. The zero knowledge proof generation stage includes the unsealing information H ' Use non-dialogue zero knowledge proof Prf (C) for commitment C above:
NIZK {(C, H ′): e (C / g m , h 2 ) e (h 1 −1 , H ′) = 1}
And non-interactive zero knowledge proof Prf (σ ′) for the modified signature σ ′:
NIZK {(C, a ' 2 ): e (C, a' 5 ) e (a ' 2 , g 2 -1 ) = 1}
NIZK {(a ' 2 , a' 4 ): e (a ' 2 , Y') e (a ' 4 , g 2 -1 ) = 1}
NIZK {(a ' 3 , a' 4 ): e (a ' 3 , g 2 ) e (a' 1 a ' 4 , X' -1 ) = 1}
And m, Prf (C), Prf (σ ′) together with the elements a ′ 1 and a ′ 5 processed by the random number η are output as the blind signature,
The signature generation device generates a second random number generation step for generating the random numbers r, x, and y; a generation source selection step for selecting the generation sources g 1 and g 2 from the groups G 1 and G 2 ; and X ′ = g 1 x, Y '= g a 2 y calculated, g 1, g 2, X ' and a public key generation step of publishing the public key pk comprising Y ', the electronic signature generation step,
a 1 = g 1 r
a 2 = M r
a 3 = g 1 rx M rxy
a 4 = M ry
a 5 = g 2 r
And a set of the above a 1 , a 2 , a 3 , a 4 , a 5 is output as the signature σ.
上記利用者装置が、Zqに属する乱数tと乱数ηを生成する第1乱数生成段階と、上記元h2と上記乱数tから開封情報H'=h2 tを計算する開封情報算出段階と、署名変形段階とを含み、上記コミットメント生成段階は上記コミットメント鍵に含まれる上記元g、h1と上記乱数tとを使って上記情報mに対しコミットメントC=gmh1 tを演算し、上記署名検証段階は上記署名としてσ=(a1,a3,a4,a5)を上記署名生成装置から受信し、上記コミットメントC=Mと、上記署名生成装置が生成した公開鍵に含まれるg1,g2,X',Y'を使って次の3つのペアリング等式
e(a1,Y')=e(g1,a5)
e(M,a5)=e(a4,g2)
e(a3,g2)=e(a1a4,X')
が成立するか検証し、成立した場合は、上記署名変形段階は上記署名σの各要素ai, i=1, 3, 4, 5、を上記乱数ηでそれぞれ処理して変形された署名σ'=(a'1, a'3, a'4, a'5)を生成して上記ゼロ知識証明生成段階に与え、上記ゼロ知識証明生成段階は、上記開封情報H'を使って上記コミットメントCに対し非対話ゼロ知識証明Prf(C):
NIZK{(C,H'): e(C/gm, h2)e(h1 -1, H')=1}
と、上記変形された署名σ'に対する非対話ゼロ知識証明Prf(σ'):
NIZK{(C, a'4): e(C, a'5)e(a'4, g2 -1)=1}
NIZK{(a'3, a'4): e(a'3, g2)e(a'1a'4, X'-1)=1}
とを生成して上記乱数ηで処理された要素a'1,a'5と共にm、Prf(C)、Prf(σ')を上記ブラインド署名として出力し、
上記署名生成装置が、上記乱数r、x、yを生成する第2乱数生成段階と、上記群G1、G2から生成元g1、g2を選択する生成元選択段階と、X'=g1 x,Y'=g2 yを計算し、g1、g2、X',Y'を含む公開鍵pkを公開する公開鍵生成段階とを含み、上記電子署名生成段階は、
a1=g1 r
a3=g1 rxMrxy
a4=Mry
a5=g2 ry
を演算し、上記a1,a3,a4,a5の組を上記署名σとして出力することを特徴とするブラインド署名生成方法。 The blind signature generation method according to claim 13, wherein
A first random number generation stage in which the user device generates a random number t and a random number η belonging to Z q; an unsealing information calculation stage in which the unsealing information H ′ = h 2 t is calculated from the element h 2 and the random number t; A signature transformation stage, and the commitment generation stage calculates a commitment C = g m h 1 t for the information m using the elements g and h 1 and the random number t included in the commitment key, The signature verification stage receives σ = (a 1 , a 3 , a 4 , a 5 ) as the signature from the signature generation device, and includes the commitment C = M and the public key generated by the signature generation device. The following three pairing equations using g 1 , g 2 , X ′, and Y ′
e (a 1 , Y ′) = e (g 1 , a 5 )
e (M, a 5 ) = e (a 4 , g 2 )
e (a 3 , g 2 ) = e (a 1 a 4 , X ′)
The signature transformation stage processes each element a i , i = 1, 3, 4, 5 of the signature σ with the random number η and transforms the signature σ. '= (A' 1 , a ' 3 , a' 4 , a ' 5 ) is generated and given to the zero knowledge proof generation stage. The zero knowledge proof generation stage uses the unsealing information H' to make the commitment Non-dialogue zero knowledge proof Prf (C) for C:
NIZK {(C, H ′): e (C / g m , h 2 ) e (h 1 −1 , H ′) = 1}
And non-interactive zero knowledge proof Prf (σ ′) for the modified signature σ ′:
NIZK {(C, a ' 4 ): e (C, a' 5 ) e (a ' 4 , g 2 -1 ) = 1}
NIZK {(a ' 3 , a' 4 ): e (a ' 3 , g 2 ) e (a' 1 a ' 4 , X' -1 ) = 1}
And m, Prf (C), Prf (σ ′) together with the elements a ′ 1 and a ′ 5 processed by the random number η are output as the blind signature,
The signature generation device generates a second random number generation step for generating the random numbers r, x, and y; a generation source selection step for selecting the generation sources g 1 and g 2 from the groups G 1 and G 2 ; and X ′ = g 1 x, Y '= g a 2 y calculated, g 1, g 2, X ' and a public key generation step of publishing the public key pk comprising Y ', the electronic signature generation step,
a 1 = g 1 r
a 3 = g 1 rx M rxy
a 4 = M ry
a 5 = g 2 ry
And a set of a 1 , a 3 , a 4 , and a 5 is output as the signature σ.
上記利用者装置が、Zqに属する乱数tとηを生成する第1乱数生成段階と、上記元h2と上記乱数tから開封情報H'=h2 tを計算する開封情報算出段階と、署名変形段階とを含み、上記コミットメント生成段階は上記コミットメント鍵に含まれる上記元g、h1と上記乱数tとを使って上記情報mに対しコミットメントC=gmh1 tを演算し、上記署名検証段階は上記署名としてσ=(a1,a3,a5)を上記署名生成装置から受信し、上記コミットメントC=Mと、上記署名生成装置が生成した公開鍵に含まれるg1,g2,X',Y',Yを使って次の2つのペアリング等式
e(a1,g2)=e(Mg1,a5)
e(a3,g2)=e(a1,X')
が成立するか検証し、成立した場合は、上記署名変形段階は上記署名σの各要素ai, i=1, 3, 5、を上記乱数ηでそれぞれ処理して変形された署名σ'=(a'1, a'3, a'5)を生成して上記ゼロ知識証明生成部に与え、上記ゼロ知識証明生成段階は、上記開封情報H'を使って上記コミットメントCに対し非対話ゼロ知識証明Prf(C):
NIZK{(C,H'): e(C/gm, h2)e(h1 -1, H')=1}
と、上記変形された署名σ'に対する非対話ゼロ知識証明Prf(σ'):
NIZK{(C, a'1): e(C, a'5 -1)e(a'1, g2)=1}
NIZK{(a'1, a'3): e(a'3, g2)e(a'1, X'-1)=1}
とを生成して上記乱数ηで処理された要素a'5と共にm、Prf(C)、Prf(σ')を上記ブラインド署名として出力し、
上記署名生成装置が、上記乱数r、x、yを生成する第2乱数生成段階と、上記群G1、G2から生成元g1、g2を選択する生成元選択段階と、X'=g1 x,Y'=g2 y,Y=g1 yを計算し、g1、g2、X',Y',Yを含む公開鍵pkを公開する公開鍵生成段階とを含み、上記電子署名生成段階は、
a1=MryYr
a3=YrxMrxy
a5=g2 ry
を演算し、上記a1,a3,a5の組を上記署名σとして出力することを特徴とするブラインド署名生成方法。 The blind signature generation method according to claim 13, wherein
A first random number generation step in which the user device generates random numbers t and η belonging to Z q , an unsealing information calculation step in which unsealing information H ′ = h 2 t is calculated from the element h 2 and the random number t; A signature transformation step, wherein the commitment generation step calculates a commitment C = g m h 1 t for the information m using the elements g and h 1 and the random number t included in the commitment key, and In the signature verification stage, σ = (a 1 , a 3 , a 5 ) is received as the signature from the signature generation device, the commitment C = M, and g 1 , included in the public key generated by the signature generation device. Using g 2 , X ′, Y ′, Y, the following two pairing equations
e (a 1 , g 2 ) = e (Mg 1 , a 5 )
e (a 3 , g 2 ) = e (a 1 , X ′)
Is satisfied, and if it is satisfied, the signature transformation stage processes each element a i , i = 1, 3, 5 of the signature σ with the random number η and transforms the signature σ ′ = (a ′ 1 , a ′ 3 , a ′ 5 ) are generated and given to the zero knowledge proof generation unit, and the zero knowledge proof generation step uses the unsealing information H ′ to perform non-interaction zero for the commitment C Knowledge Proof Prf (C):
NIZK {(C, H ′): e (C / g m , h 2 ) e (h 1 −1 , H ′) = 1}
And non-interactive zero knowledge proof Prf (σ ′) for the modified signature σ ′:
NIZK {(C, a ' 1 ): e (C, a' 5 -1 ) e (a ' 1 , g 2 ) = 1}
NIZK {(a ' 1 , a' 3 ): e (a ' 3 , g 2 ) e (a' 1 , X ' -1 ) = 1}
And m, Prf (C), and Prf (σ ′) together with the element a ′ 5 processed with the random number η are output as the blind signature,
The signature generation device generates a second random number generation step for generating the random numbers r, x, and y; a generation source selection step for selecting the generation sources g 1 and g 2 from the groups G 1 and G 2 ; and X ′ = a public key generation stage that calculates g 1 x , Y ′ = g 2 y , Y = g 1 y and publishes a public key pk including g 1 , g 2 , X ′, Y ′, Y, and The electronic signature generation stage
a 1 = M ry Y r
a 3 = Y rx M rxy
a 5 = g 2 ry
And a set of the above a 1 , a 3 , and a 5 is output as the signature σ.
上記G1の元g、h1とG2の元h2とを含むコミットメント鍵ckを使って情報mに対するコミットメントCを演算し、署名要求メッセージMとして署名生成装置に送信するコミットメント生成部と、
上記署名生成装置から受信した署名σの要素に対し、ペアリング等式が成立するか検証する署名検証部と、
検証に成功した場合は、上記コミットメントCに対する非対話ゼロ知識証明と上記署名σに対する非対話ゼロ知識証明をそれぞれ生成し、上記情報mと共にブラインド署名として出力するゼロ知識証明生成部と、を含むことを特徴とする利用者装置。 Use for a signature verification system in which a prime number q, a pairing e, and a group G 1 , G 2 , G T of the order q in which the pairing e: G 1 × G 2 → G T exists are disclosed Device,
A commitment generation unit that calculates a commitment C for the information m using a commitment key ck including the element g of G 1 , h 1 and the element h 2 of G 2 , and sends the commitment request message M to the signature generation apparatus;
A signature verification unit that verifies whether a pairing equation is established for the element of the signature σ received from the signature generation device;
A zero-knowledge proof generating unit that generates a non-dialogue zero-knowledge proof for the commitment C and a non-dialogue zero-knowledge proof for the signature σ when the verification is successful, and outputs it as a blind signature together with the information m A user device characterized by.
上記コミットメント生成部は上記コミットメント鍵に含まれる上記元g、h1と上記乱数tとを使って上記情報mに対しコミットメントC=gmh1 tを演算し、上記署名検証部は上記署名として上記署名生成装置が
a1=g1 r
a2=Mr
a3=g1 rxMrxy
a4=Mry
a5=g2 r
を演算して生成した生成した署名σ=(a1,a2,a3,a4,a5)を上記署名生成装置から受信し、上記コミットメントC=Mと、上記署名生成装置が生成した公開鍵に含まれるg1,g2,X',Y'を使って次の4つのペアリング等式
e(g1,a5)=e(a1,g2)
e(M,a5)=e(a2,g2)
e(a2,Y')=e(a4,g2)
e(a3,g2)=e(a1a4,X')
が成立するか検証し、成立した場合は、上記署名変形部は上記署名σの各要素ai, i=1,…,5、を上記乱数ηでそれぞれ処理して変形された署名σ'=(a'1, a'2, a'3, a'4, a'5)を生成して上記ゼロ知識証明生成部に与え、上記ゼロ知識証明生成部は、上記開封情報H'を使って上記コミットメントCに対し非対話ゼロ知識証明Prf(C):
NIZK{(C,H'): e(C/gm, h2)e(h1 -1, H')=1}
と、上記変形された署名σ'に対する非対話ゼロ知識証明Prf(σ'):
NIZK{(C, a'2): e(C, a'5)e(a'2, g2 -1)=1}
NIZK{(a'2, a'4): e(a'2, Y')e(a'4, g2 -1)=1}
NIZK{(a'3, a'4): e(a'3, g2)e(a'1a'4, X'-1)=1}
とを生成して上記乱数ηで処理された要素a'1,a'5と共にm、Prf(C)、Prf(σ')を上記ブラインド署名として出力することを特徴とする利用者装置。
The user device according to claim 17 further calculates a first random number generator for generating random numbers t and η belonging to Z q , and the opening information H ′ = h 2 t from the element h 2 and the random number t. Including an opening information calculation unit and a signature change unit,
The commitment generation unit calculates a commitment C = g m h 1 t for the information m using the elements g and h 1 included in the commitment key and the random number t, and the signature verification unit sets the signature as the signature. The signature generation device is a 1 = g 1 r
a 2 = M r
a 3 = g 1 rx M rxy
a 4 = M ry
a 5 = g 2 r
The generated signature σ = (a 1 , a 2 , a 3 , a 4 , a 5 ) generated by computing is received from the signature generation device, and the commitment C = M and the signature generation device generate The following four pairing equations using g 1 , g 2 , X ′, and Y ′ included in the public key
e (g 1 , a 5 ) = e (a 1 , g 2 )
e (M, a 5 ) = e (a 2 , g 2 )
e (a 2 , Y ′) = e (a 4 , g 2 )
e (a 3 , g 2 ) = e (a 1 a 4 , X ′)
The signature deforming unit processes each element a i , i = 1,..., 5 of the signature σ with the random number η and deforms the signature σ ′ = (a ′ 1 , a ′ 2 , a ′ 3 , a ′ 4 , a ′ 5 ) are generated and given to the zero knowledge proof generator, and the zero knowledge proof generator uses the unsealing information H ′. Non-dialogue zero knowledge proof Prf (C) for commitment C above:
NIZK {(C, H ′): e (C / g m , h 2 ) e (h 1 −1 , H ′) = 1}
And non-interactive zero knowledge proof Prf (σ ′) for the modified signature σ ′:
NIZK {(C, a ' 2 ): e (C, a' 5 ) e (a ' 2 , g 2 -1 ) = 1}
NIZK {(a ' 2 , a' 4 ): e (a ' 2 , Y') e (a ' 4 , g 2 -1 ) = 1}
NIZK {(a ' 3 , a' 4 ): e (a ' 3 , g 2 ) e (a' 1 a ' 4 , X' -1 ) = 1}
And m, Prf (C), and Prf (σ ′) are output as the blind signature together with the elements a ′ 1 and a ′ 5 processed by the random number η.
上記コミットメント生成部は上記コミットメント鍵に含まれる上記元g、h1と上記乱数tとを使って上記情報mに対しコミットメントC=gmh1 tを演算し、上記署名検証部は上記署名として上記署名生成装置が
a1=g1 r
a3=g1 rxMrxy
a4=Mry
a5=g2 ry
を演算して生成した上記署名σ=(a1,a3,a4,a5)を上記署名生成装置から受信し、上記コミットメントC=Mと、上記署名生成装置が生成した公開鍵に含まれるg1,g2,X',Y'を使って次の3つのペアリング等式
e(a1,Y')=e(g1,a5)
e(M,a5)=e(a4,g2)
e(a3,g2)=e(a1a4,X')
が成立するか検証し、成立した場合は、上記署名変形部は上記署名σの各要素ai, i=1,…,5、を上記乱数ηでそれぞれ処理して変形された署名σ'=(a'1, a'2, a'3, a'4, a'5)を生成して上記ゼロ知識証明生成部に与え、上記ゼロ知識証明生成部は、上記開封情報H'を使って上記コミットメントCに対し非対話ゼロ知識証明Prf(C):
NIZK{(C,H'): e(C/gm, h2)e(h1 -1, H')=1}
と、上記変形された署名σ'に対する非対話ゼロ知識証明Prf(σ'):
NIZK{(C, a'4): e(C, a'5)e(a'4, g2 -1)=1}
NIZK{(a'3, a'4): e(a'3, g2)e(a'1a'4, X'-1)=1}
とを生成して上記乱数ηで処理された要素a'1,a'5と共にm、Prf(C)、Prf(σ')を上記ブラインド署名として出力することを特徴とする利用者装置。 The user device according to claim 17 further calculates a first random number generator for generating random numbers t and η belonging to Z q , and the opening information H ′ = h 2 t from the element h 2 and the random number t. Including an opening information calculation unit and a signature transformation unit,
The commitment generation unit calculates a commitment C = g m h 1 t for the information m using the elements g and h 1 included in the commitment key and the random number t, and the signature verification unit sets the signature as the signature. The signature generation device is a 1 = g 1 r
a 3 = g 1 rx M rxy
a 4 = M ry
a 5 = g 2 ry
The signature σ = (a 1 , a 3 , a 4 , a 5 ) generated by computing is received from the signature generation device and included in the commitment C = M and the public key generated by the signature generation device The following three pairing equations using g 1 , g 2 , X ′, and Y ′
e (a 1 , Y ′) = e (g 1 , a 5 )
e (M, a 5 ) = e (a 4 , g 2 )
e (a 3 , g 2 ) = e (a 1 a 4 , X ′)
The signature deforming unit processes each element a i , i = 1,..., 5 of the signature σ with the random number η and deforms the signature σ ′ = (a ′ 1 , a ′ 2 , a ′ 3 , a ′ 4 , a ′ 5 ) are generated and given to the zero knowledge proof generator, and the zero knowledge proof generator uses the unsealing information H ′. Non-dialogue zero knowledge proof Prf (C) for commitment C above:
NIZK {(C, H ′): e (C / g m , h 2 ) e (h 1 −1 , H ′) = 1}
And non-interactive zero knowledge proof Prf (σ ′) for the modified signature σ ′:
NIZK {(C, a ' 4 ): e (C, a' 5 ) e (a ' 4 , g 2 -1 ) = 1}
NIZK {(a ' 3 , a' 4 ): e (a ' 3 , g 2 ) e (a' 1 a ' 4 , X' -1 ) = 1}
And m, Prf (C), and Prf (σ ′) are output as the blind signature together with the elements a ′ 1 and a ′ 5 processed by the random number η.
上記コミットメント生成部は上記コミットメント鍵に含まれる上記元g、h1と上記乱数tとを使って上記情報mに対しコミットメントC=gmh1 tを演算し、上記署名検証部は上記署名として上記署名生成装置が
a1=MryYr
a3=YrxMrxy
a5=g2 ry
を演算して生成した署名σ=(a1,a3,a5)を上記署名生成装置から受信し、上記コミットメントC=Mと、上記署名生成装置が生成した公開鍵に含まれるg1,g2,X',Y',Yを使って次の2つのペアリング等式
e(a1,g2)=e(Mg1,a5)
e(a3,g2)=e(a1,X')
が成立するか検証し、成立した場合は、上記署名変形部は上記署名σの各要素ai, i=1, 3, 5、を上記乱数ηでそれぞれ処理して変形された署名σ'=(a'1, a'3, a'5)を生成して上記ゼロ知識証明生成部に与え、上記ゼロ知識証明生成部は、上記開封情報H'を使って上記コミットメントCに対し非対話ゼロ知識証明Prf(C):
NIZK{(C,H'): e(C/gm, h2)e(h1 -1, H')=1}
と、上記変形された署名σ'に対する非対話ゼロ知識証明Prf(σ'):
NIZK{(C, a'1): e(C, a'5 -1)e(a'1, g2)=1}
NIZK{(a'1, a'3): e(a'3, g2)e(a'1, X'-1)=1}
とを生成して上記乱数ηで処理された要素a'5と共にm、Prf(C)、Prf(σ')を上記ブラインド署名として出力することを特徴とする利用者装置。 The user device according to claim 17 further calculates a first random number generator for generating random numbers t and η belonging to Z q , and the opening information H ′ = h 2 t from the element h 2 and the random number t. Including an opening information calculation unit and a signature transformation unit,
The commitment generation unit calculates a commitment C = g m h 1 t for the information m using the elements g and h 1 included in the commitment key and the random number t, and the signature verification unit sets the signature as the signature. The signature generation device is a 1 = M ry Y r
a 3 = Y rx M rxy
a 5 = g 2 ry
The signature σ = (a 1 , a 3 , a 5 ) generated by computing is received from the signature generation device, and the commitment C = M and g 1 included in the public key generated by the signature generation device are received. Using g 2 , X ′, Y ′, Y, the following two pairing equations
e (a 1 , g 2 ) = e (Mg 1 , a 5 )
e (a 3 , g 2 ) = e (a 1 , X ′)
The signature transformation unit processes each element a i , i = 1, 3, 5 of the signature σ with the random number η and transforms the signature σ ′ = (a ′ 1 , a ′ 3 , a ′ 5 ) are generated and given to the zero knowledge proof generation unit, and the zero knowledge proof generation unit uses the unsealing information H ′ to perform non-interaction zero with respect to the commitment C. Knowledge Proof Prf (C):
NIZK {(C, H ′): e (C / g m , h 2 ) e (h 1 −1 , H ′) = 1}
And non-interactive zero knowledge proof Prf (σ ′) for the modified signature σ ′:
NIZK {(C, a ' 1 ): e (C, a' 5 -1 ) e (a ' 1 , g 2 ) = 1}
NIZK {(a ' 1 , a' 3 ): e (a ' 3 , g 2 ) e (a' 1 , X ' -1 ) = 1}
And m, Prf (C), and Prf (σ ′) together with the element a ′ 5 processed by the random number η are output as the blind signature.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009043453A JP5330858B2 (en) | 2009-02-26 | 2009-02-26 | Signature verification system, signature verification method, blind signature generation method, user device, and blind signature generation program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009043453A JP5330858B2 (en) | 2009-02-26 | 2009-02-26 | Signature verification system, signature verification method, blind signature generation method, user device, and blind signature generation program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010200065A JP2010200065A (en) | 2010-09-09 |
JP5330858B2 true JP5330858B2 (en) | 2013-10-30 |
Family
ID=42824304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009043453A Expired - Fee Related JP5330858B2 (en) | 2009-02-26 | 2009-02-26 | Signature verification system, signature verification method, blind signature generation method, user device, and blind signature generation program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5330858B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2819211C (en) | 2011-04-29 | 2020-12-08 | International Business Machines Corporation | Data encryption |
JP5651631B2 (en) * | 2012-03-23 | 2015-01-14 | 日本電信電話株式会社 | Key exchange system, key exchange method, request device, response device, and program |
JP6096893B2 (en) * | 2013-05-28 | 2017-03-15 | 株式会社日立製作所 | Biometric signature system, registration terminal and signature generation terminal |
US9703963B2 (en) * | 2014-05-09 | 2017-07-11 | Fujitsu Limited | Trusted and privacy-preserving mechanism for electricity usage data disclosure using verifiable noise |
CN115277197B (en) * | 2022-07-27 | 2024-01-16 | 深圳前海微众银行股份有限公司 | Model ownership verification method, electronic device, medium and program product |
-
2009
- 2009-02-26 JP JP2009043453A patent/JP5330858B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010200065A (en) | 2010-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI725124B (en) | Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys | |
JP5293745B2 (en) | Data reference system, database presentation distributed system, and data reference method | |
Chen et al. | Light-weight and privacy-preserving authentication protocol for mobile payments in the context of IoT | |
TWI813616B (en) | Computer implemented method and system for obtaining digitally signed data | |
US7634085B1 (en) | Identity-based-encryption system with partial attribute matching | |
WO2013031533A1 (en) | Information processing device, information processing method, and program | |
WO2013031414A1 (en) | Signature verification device, signature verification method, program, and recording medium | |
TWI807125B (en) | Computer implemented system and method for distributing shares of digitally signed data | |
Al-Riyami | Cryptographic schemes based on elliptic curve pairings | |
CN114467280A (en) | Generating digital signatures using cold purses | |
KR20210139344A (en) | Methods and devices for performing data-driven activities | |
JP2004208263A (en) | Apparatus and method of blind signature based on individual identification information employing bilinear pairing | |
JP5330858B2 (en) | Signature verification system, signature verification method, blind signature generation method, user device, and blind signature generation program | |
TW202318833A (en) | Threshold signature scheme | |
WO2013129084A1 (en) | Information processing device, information processing method, and program | |
WO2013129119A1 (en) | Information processing device, information processing method, and program | |
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 | |
WO2020260151A1 (en) | Zero-knowledge contingent payments protocol for granting access to encrypted assets | |
JP2002344445A (en) | Shuffle-decoding system with certification and method therefor, and shuffle decoding verification method | |
WO2013031420A1 (en) | Information processing device, signature generation device, signature verification device, information processing method, signature generation method, and signature verification method | |
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 | |
Chen et al. | Blockchain as a CA: A provably secure signcryption scheme leveraging blockchains | |
Prajapat et al. | A practical convertible quantum signature scheme with public verifiability into universal quantum designated verifier signature using self-certified public keys | |
CN117917041A (en) | Generating a shared encryption key | |
WO2023055371A1 (en) | Replicated secret share generation for distributed symmetric cryptography |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110228 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20110715 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130528 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130628 |
|
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: 20130716 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130726 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |