JP2006203660A - Device method and program for forming digital signature information - Google Patents

Device method and program for forming digital signature information Download PDF

Info

Publication number
JP2006203660A
JP2006203660A JP2005014213A JP2005014213A JP2006203660A JP 2006203660 A JP2006203660 A JP 2006203660A JP 2005014213 A JP2005014213 A JP 2005014213A JP 2005014213 A JP2005014213 A JP 2005014213A JP 2006203660 A JP2006203660 A JP 2006203660A
Authority
JP
Japan
Prior art keywords
information
signature
signer
digital signature
user
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.)
Granted
Application number
JP2005014213A
Other languages
Japanese (ja)
Other versions
JP4679163B2 (en
Inventor
Yuichi Komano
雄一 駒野
Atsushi Shinpo
淳 新保
Shinichi Kawamura
信一 川村
Kazuo Ota
和夫 太田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
University of Electro Communications NUC
Original Assignee
Toshiba Corp
University of Electro Communications NUC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, University of Electro Communications NUC filed Critical Toshiba Corp
Priority to JP2005014213A priority Critical patent/JP4679163B2/en
Publication of JP2006203660A publication Critical patent/JP2006203660A/en
Application granted granted Critical
Publication of JP4679163B2 publication Critical patent/JP4679163B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a digital signature forming device which creates digital signature information in which a manager is unnecessary, it has signer's anonymity, denial by a user other than the signer is possible, and verification can be carried out offline. <P>SOLUTION: A signature forming terminal uses a document of a signature target and a signer's secret key, forms a 1st component which makes the denial of a user other than the signer possible, forms a 2nd component which guarantees that 1st information is created using the secret key using all or a part of public keys of users other than the signer and the private key, and outputs digital signature information including the 1st component and the 2nd component. A signature verification terminal can carry out verification offline, and the specification or the denial of the signer is carried out between the signature forming terminal and the signature verification terminal online. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、デジタル署名情報を生成するためのデジタル署名情報生成装置、デジタル署名情報生成方法及びプログラムに関する。   The present invention relates to a digital signature information generation apparatus, a digital signature information generation method, and a program for generating digital signature information.

情報化社会の発展に伴い、データをデジタル化しネットワークを通じてやり取りするコミュニケーション形態が増加している。デジタルデータ(以下、データとはデジタルデータを指すものとする)は、第三者による作成や複製や改ざん等が容易であるため、データの真正性が重要になる場合には、データに信頼性を持たせるためにデジタル署名(電子署名)の技術が利用される。   With the development of the information society, the form of communication in which data is digitized and exchanged over a network is increasing. Digital data (hereinafter, “data” refers to digital data) can be easily created, copied, or altered by a third party, so if the authenticity of the data is important, the data is reliable. Digital signature (electronic signature) technology is used to provide a digital signature.

基本的なデジタル署名では、例えば、署名者側においては、署名対象のデータにハッシュ関数を適用してハッシュ値を求め、このハッシュ値を署名者の秘密鍵で変換してデジタル署名情報を生成し、このデジタル署名情報を署名対象データに付加して、デジタル署名付データとする。一方、検証者側においては、例えば、検証対象のデジタル署名付データのデータ部分にハッシュ関数を適用して得た第1のデータと、検証対象のデータに付加されているデジタル署名情報を署名者とされている者の公開鍵で逆変換して得た第2のデータとを比較することによって、検証を行う。   In basic digital signatures, for example, the signer side obtains a hash value by applying a hash function to the data to be signed, and converts the hash value with the signer's private key to generate digital signature information. The digital signature information is added to the signature target data to obtain data with a digital signature. On the other hand, on the verifier side, for example, the first data obtained by applying the hash function to the data portion of the digital signature data to be verified and the digital signature information added to the data to be verified are signed. It verifies by comparing with the 2nd data obtained by carrying out reverse conversion with the public key of the person said to be.

デジタル署名情報の偽造や秘密鍵の解読は困難であることから、デジタル署名情報を用いた検証により、署名者とされるユーザがデータに電子証明を行ったという事実(確かに当該データ及び当該署名者の秘密鍵を用いて当該デジタル署名が生成されたという事実)が保証できる。   Since it is difficult to forge digital signature information and decrypt the private key, the fact that the user who is the signer has digitally certified the data through verification using the digital signature information (definitely the data and the signature (The fact that the digital signature was generated using the private key of the person).

なお、本明細書において、グループ管理者、署名者、検証者、認証局等について説明する動作は、基本的には、それらに係る装置の動作を意味するものである。   In this specification, the operations for explaining the group manager, the signer, the verifier, the certificate authority, etc. basically mean the operations of the devices related to them.

ところで、ネットワーク上のサービスの多様化により、デジタル署名にも様々な機能が求められている。例えば、電子決済や電子投票等において署名者個人のプライバシー保護を実現するために、匿名性を有するデジタル署名が開発されている。匿名性を有するデジタル署名においては、これを利用するユーザは、複数のユーザが加入するグループに所属する。そして、署名者となるユーザは、そのグループに対応する公開鍵で正当性の検証が可能なデジタル署名あるいはそのグループに属する全てのユーザの公開鍵で正当性の検証が可能なデジタル署名を、当該ユーザ自身の秘密鍵を用いて生成する。匿名性を保証するデジタル署名は、検証者がそのグループに属する者のうちのいずれかが当該デジタル署名を生成した事実を検証することはできるが、当該デジタル署名を実際に生成した署名者を特定することはできない。   By the way, with the diversification of services on the network, various functions are required for digital signatures. For example, a digital signature having anonymity has been developed in order to realize privacy protection of an individual signer in electronic payment, electronic voting, and the like. In a digital signature having anonymity, a user who uses the signature belongs to a group to which a plurality of users join. Then, the user who becomes the signer applies a digital signature that can be verified with the public key corresponding to the group or a digital signature that can be verified with the public key of all users belonging to the group. Generated using the user's own private key. A digital signature that guarantees anonymity can verify the fact that one of the members of the group generated the digital signature, but identifies the signer who actually generated the digital signature I can't do it.

従来の匿名性を保証する署名方法は、大きく二つに分類される。一つはグループ署名(例えば非特許文献1参照)であり、もう一つはリング署名(例えば特許文献1参照)である。以下、従来のグループ署名とリング署名について簡単に説明する。   Conventional signature methods that guarantee anonymity are roughly classified into two types. One is a group signature (see, for example, Non-Patent Document 1), and the other is a ring signature (see, for example, Patent Document 1). The conventional group signature and ring signature will be briefly described below.

グループ署名では、署名者は、グループ管理者と交信を行って署名鍵を生成する。グループ管理者は、グループに対応する公開鍵を生成して認証局に登録する。このとき、グループに対応する公開鍵が予め定められていて各署名者の署名鍵を生成する方法と、各署名者からグループへの参加及び署名鍵の生成を受けるたびに公開鍵を更新して認証局に再登録を行う方法とがある。署名は、証明者の署名鍵を用いて行われ、検証は、グループに対応する公開鍵を用いて行われる。   In the group signature, the signer communicates with the group manager to generate a signature key. The group manager generates a public key corresponding to the group and registers it with the certificate authority. At this time, the public key corresponding to the group is determined in advance and the signing key of each signer is generated, and the public key is updated each time the signer receives participation in the group and generation of the signing key. There is a method of re-registering with the certificate authority. The signature is performed using a certifier's signature key, and the verification is performed using a public key corresponding to the group.

従来のグループ署名では、グループ管理者が署名者を特定することが可能であるため、署名者が意図しないところで署名者の特定が行われて匿名性の破棄すなわちプライバシーに係る情報の暴露がなされる可能性があった。また、署名者は署名鍵を生成するためにグループ管理者と交信を行わなければならず鍵生成の効率が悪いことに加えて、グループ管理者に秘密情報が集中するためグループ管理者の管理を厳密に行わなければならないという問題点があった。   In the conventional group signature, the signer can be identified by the group manager, so the signer is identified without the intention of the signer, and the anonymity is discarded, that is, the information related to privacy is disclosed. There was a possibility. In addition, the signer must communicate with the group administrator to generate the signing key. In addition to the inefficiency of key generation, the secret information is concentrated on the group administrator. There was a problem that it had to be done strictly.

また、グループ管理者を必要としないグループ署名方式も提案されているが、検証のために検証者と署名者との間のオンラインによる多数回の交信が行われる必要があるため、検証処理の効率が悪いことに加えて、匿名性を保証するために匿名通信技術を用いる必要があった。 In addition, a group signature method that does not require a group administrator has been proposed. However, because verification requires a large number of online communications between the verifier and the signer, the efficiency of the verification process In addition to being bad, it was necessary to use anonymous communication technology to guarantee anonymity.

すなわち、従来のグループ署名においては、管理者を不要とし、署名者の匿名性を有し、署名者以外のユーザによる否認(自身が真の署名者ではないことの主張)が可能であり、検証をオフラインで実施できるものはなかった。   In other words, the conventional group signature does not require an administrator, has anonymity of the signer, can be denied by a user other than the signer (assuming that he is not a true signer), and verified. Could not be implemented offline.

一方、リング署名では、署名は、動的に選択され認証局から入手された複数の他のユーザの公開鍵及び署名者の署名鍵を用いて行われ(以下、公開鍵が選択された他のユーザを、真の署名者に対してダミー署名者と呼ぶ)、検証は、署名者及びダミー署名者の公開鍵を用いて行われる。   On the other hand, in the ring signature, the signature is performed by using a plurality of other users 'public keys and signers' signature keys which are dynamically selected and obtained from the certificate authority (hereinafter, the other keys for which the public key is selected). The user is referred to as a dummy signer with respect to the true signer), and verification is performed using the public key of the signer and dummy signer.

従来のリング署名においても、管理者を不要とし、署名者の匿名性を有し、署名者以外のユーザによる否認が可能であり、検証をオフラインで実施できるものはなかった。
特開2004−229137公報 「須賀,市村,“否認機能を持つリング署名”,暗号と情報セキュリティシンポジウム2003」
Even in the conventional ring signature, there is no one that does not require an administrator, has anonymity of the signer, can be denied by a user other than the signer, and can be verified offline.
JP 2004-229137 A “Suga, Ichimura,“ Ring Signature with Denial Function ”, Symposium on Cryptography and Information Security 2003

従来のデジタル署名においては、管理者を不要とし、署名者の匿名性を有し、署名者以外のユーザによる否認が可能であり、検証をオフラインで実施できるものはなかった。   Conventional digital signatures do not require an administrator, have anonymity of the signer, can be denied by a user other than the signer, and have not been verified offline.

本発明は、上記事情を考慮してなされたもので、管理者を不要とし、署名者の匿名性を有し、署名者以外のユーザによる否認が可能であり、検証をオフラインで実施できるデジタル署名情報を生成するデジタル署名情報生成装置、デジタル署名情報生成方法及びプログラムを提供することを目的とする。   The present invention has been made in consideration of the above circumstances, and requires a digital signature that does not require an administrator, has anonymity of the signer, can be denied by a user other than the signer, and can be verified offline. An object of the present invention is to provide a digital signature information generation apparatus, a digital signature information generation method, and a program for generating information.

本発明は、署名対象のデータを入力する入力手段と、前記データに対する署名者となる第1のユーザの秘密鍵を記憶する記憶手段と、前記第1のユーザ以外の第2のユーザの公開鍵の全部又は一部を取得する取得手段と、前記データ及び前記秘密鍵を用いて、個々の前記第2のユーザが前記データに対する署名者であることを否認することを可能にする第1の情報を生成する第1の生成手段と、前記公開鍵の全部又は一部及び前記秘密鍵を用いて、前記第1の情報が前記秘密鍵を用いて生成されたことを保証するための第2の情報を生成する第2の生成手段と、前記第1の情報及び前記第2の情報を含むデジタル署名情報を出力する出力手段とを備えたことを特徴とする。   The present invention provides an input means for inputting data to be signed, a storage means for storing a secret key of a first user who is a signer of the data, and a public key of a second user other than the first user First information that allows the individual second user to be denied the signer of the data using the acquisition means for acquiring all or part of the data and the data and the secret key A first generation means for generating the second information for ensuring that the first information is generated using the secret key by using all or a part of the public key and the secret key. A second generation means for generating information, and an output means for outputting digital signature information including the first information and the second information are provided.

署名対象のデータにデジタル署名情報が付加されて、署名付きデータとして、受け渡しされる。署名付きデータは、デジタル署名情報生成装置と署名検証装置との間で、通信媒体を介して付け渡しされてもよいし、記録媒体を介して付け渡しされてもよい。   Digital signature information is added to the data to be signed, and the data is passed as signed data. The signed data may be passed between the digital signature information generation device and the signature verification device via a communication medium or may be passed via a recording medium.

署名検証装置は、署名対象のデータ、該データに付加されたデジタル署名情報並びに署名者及びダミー署名者の公開鍵により、(オフラインで)検証を行うことができる。また、特定の署名者が署名を生成したか否かについての特定が必要な場合には、署名検証装置からデジタル署名情報生成装置に問い合わせて(オンラインの対話により)当該装置に係るユーザが当該デジタル署名情報を生成したこと又は当該デジタル署名情報を生成していないことを検証する。   The signature verification apparatus can perform verification (offline) using the data to be signed, the digital signature information added to the data, and the public keys of the signer and the dummy signer. When it is necessary to specify whether or not a specific signer has generated a signature, the digital signature information generation device is inquired from the signature verification device (by online dialogue), and the user of the device It is verified that the signature information has been generated or that the digital signature information has not been generated.

なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する手順を実行させるための(あるいはコンピュータを当該発明に相当する手段として機能させるための、あるいはコンピュータに当該発明に相当する機能を実現させるための)プログラムとしても成立し、該プログラムを記録したコンピュータ読み取り可能な記録媒体としても成立する。
The present invention relating to the apparatus is also established as an invention relating to a method, and the present invention relating to a method is also established as an invention relating to an apparatus.
Further, the present invention relating to an apparatus or a method has a function for causing a computer to execute a procedure corresponding to the invention (or for causing a computer to function as a means corresponding to the invention, or for a computer to have a function corresponding to the invention. It can also be realized as a program (for realizing the program), and can also be realized as a computer-readable recording medium on which the program is recorded.

本発明によれば、管理者を不要とし、署名者の匿名性を有し、署名者以外のユーザによる否認が可能であり、検証をオフラインで実施できるデジタル署名情報を生成するデジタル署名情報生成装置、デジタル署名情報生成方法及びプログラムを提供することができる。   According to the present invention, a digital signature information generating apparatus that generates digital signature information that does not require an administrator, has anonymity of a signer, can be denied by a user other than the signer, and can be verified offline. A digital signature information generation method and program can be provided.

以下、図面を参照しながら本発明の実施形態について説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

ここで、本実施形態に係るデジタル署名について説明するのに先立って、非特許文献1に開示されたデジタル署名について言及する。   Here, prior to describing the digital signature according to the present embodiment, the digital signature disclosed in Non-Patent Document 1 will be referred to.

非特許文献1では、署名者の人数をL人とし、各署名者P(i∈{0,…,L−1})は公開情報(pi,q,g,y,H)を公開しているものとする。ただし、pとqは、qがp−1を割り切るような十分大きな素数とする。gは位数がqとなるZ/pZ={0,1,…,p−1}内の乗法群Gの生成元とする。yは署名者が秘密裏に保持する秘密情報x∈Z/qZ={0,1,…,q−1}に対してy=gxi mod pより計算される値である。Hは任意のビット長の値をGの元に写すハッシュ関数とする。また、Hを任意のビット長の値をl1ビットの値に写すような、全ての署名者が共通で用いるハッシュ関数とする。 In Non-Patent Document 1, the number of signers is L, and each signer P i (i∈ {0,..., L−1}) is public information ( pi , q i , g i , y i , H i ) is open to the public. However, p i and q i are sufficiently large prime numbers such that q i divides p i −1. g i is a generator of the multiplicative group G in Z / p i Z = {0, 1,..., p i −1} where the order is q i . y i is a value calculated from y i = g xi mod p i for secret information x i εZ / q i Z = {0, 1,..., q i −1} secretly held by the signer. It is. H i is a hash function that copies an arbitrary bit length value to G. Also, let H be a hash function used in common by all signers, such as copying an arbitrary bit length value to an l 1 bit value.

非特許文献1において、署名者Pは、他の署名者の公開鍵を利用して2種類の署名を生成する。1つ目は、文書Mと署名者以外のユーザが自分は署名を生成していないということを主張するための成分Repに対する署名であり、2つ目は文書MとRepのハッシュ値H(Rep)に対する署名である。 In Non-Patent Document 1, the signer Pk generates two types of signatures using the public keys of other signers. The first is a signature for a component Rep for asserting that a user other than the document M and the signer does not generate a signature. The second is a hash value H (Rep of the documents M and Rep. ).

1つ目の署名成分の計算は以下の通りである。   The calculation of the first signature component is as follows.

署名者Pkは、a’∈Z/qkZをランダムに選択し、T’k=gk a’ mod pk及びc’k+1=Hk(M,Rep,T’k)を計算する。 The signer P k randomly selects a′∈Z / q k Z, and T ′ k = g k a ′ mod p k and c ′ k + 1 = H k (M, Rep, T ′ k ). calculate.

次に、署名者Pkは、j=k+1,…,L−1,0(=L),…,k−1について、s’j∈Z/qjZをランダムに選択し、Pjの公開情報(pj,qj,gj,yj,Hj)を用いて、T’j=gj s’jj c’j mod pj及びc’j+1=Hj(M,Rep,T’j)を計算する。 Next, the signer P k is, j = k + 1, ... , L-1,0 (= L), ..., for k-1, s' and j ∈Z / q j Z is selected randomly, the P j Using public information (p j , q j , g j , y j , H j ), T ′ j = g j s′j y j c′j mod p j and c ′ j + 1 = H j (M , Rep, T ′ j ).

最後に、署名者Pkは、s’k=a’−xkc’k mod qkを計算し、R=(H(Rep),c’,s’,…,c’L-1,s’L-1)を1つ目の署名成分とする。 Finally, the signer P k calculates s ′ k = a′−x k c ′ k mod q k and R 1 = (H (Rep), c ′ 0 , s ′ 0 ,..., C ′ L −1 , s ′ L−1 ) is the first signature component.

2つ目の署名成分の計算は以下の通りである。   The calculation of the second signature component is as follows.

署名者Pkは、a’’=H(R)を計算してa=a’+a’’ mod qkとおいて、Tk=gk mod pk及びck+1=Hk(M,H(Rep),Tk)を計算する。 The signer P k calculates a ″ = H (R 1 ) and sets a = a ′ + a ″ mod q k, and T k = g k a mod p k and c k + 1 = H k ( M, H (Rep), T k ) are calculated.

次に、署名者Pkは、j=k+1,…,L−1,0(=L),…,k−1について、sj∈Z/qjZをランダムに選択し、Pjの公開情報(pj,qj,gj,yj,Hj)を用いて、Tj=gj sjj cj mod pj及びcj+1=Hj(M,H(Rep),Tj)を計算する。 Then, the signer P k is, j = k + 1, ... , L-1,0 (= L), ..., for the k-1, to select at random s j ∈Z / q j Z, the public of P j Using information (p j , q j , g j , y j , H j ), T j = g j sj y j cj mod p j and c j + 1 = H j (M, H (Rep), T j ) is calculated.

最後に、署名者Pkは、sk=a−xkk mod qkを計算し、R=(c,s,…,cL-1,sL-1)を2つ目の署名成分とする。 Finally, the signer P k calculates s k = a−x k c k mod q k and R 2 = (c 0 , s 0 ,..., C L−1 , s L−1 ) The signature component of the eye.

このとき、非特許文献1に開示されている通り、2つ目の署名成分の計算におけるa=a’+H(R) mod qkが正しく生成されているかを保証する手段はなく、署名者が偽りなくaを生成している場合にのみ、署名者以外のユーザが「自分は署名を生成していない」ことを主張できる。 At this time, as disclosed in Non-Patent Document 1, there is no means for guaranteeing that a = a ′ + H (R 1 ) mod q k is correctly generated in the calculation of the second signature component. A user other than the signer can insist that "I have not generated a signature" only when the user has generated a.

次に、非特許文献1において、署名者が偽りなく署名を生成した場合には、署名から署名者の特定が可能となることを説明する。   Next, in Non-Patent Document 1, it will be described that when a signer generates a signature without a false sign, the signer can be identified from the signature.

署名者Piの公開情報(pi,qi,gi,yi,Hi)、文書M、Rep、署名R=(H(Rep),c’,s’,…,c’L-1,s’L-1)、署名R=(c,s,…,cL-1,sL-1)が公開されているとする。このとき、署名者Pkの署名生成手段から、gk skk ck=ga-xkckk ck=gk a mod pkとgk s’kk c’k=ga’-xkc’kk c’k=gk a’ modpkが成り立つ。ここで、署名者を特定しようと試みるもの(非特許文献1に開示される方法の匿名性を破ろうとするもの)は、a’’=H(R)を計算し、gi sii ci≡gi s’ii c’ii a’’ (mod pi)となるiを全数探索により決定する。i=kについてはa=a’+a’’ mod qであるため、上述した合同式が成り立つ。一方、i≠kについてはci及びc’iがハッシュ関数の出力であるため、上述の合同式を満たす可能性は低い。このため、上述した合同式により決定されるiに対してPiが署名者であると特定することが可能となる。 Public information of the signer P i ( pi , q i , g i , y i , H i ), document M, Rep, signature R 1 = (H (Rep), c ′ 0 , s ′ 0 ,..., C ' L-1 , s' L-1 ) and signature R 2 = (c 0 , s 0 ,..., C L-1 , s L-1 ) are publicly available. At this time, from the signature generation means of the signer P k , g k sk y k ck = ga-xkck y k ck = g k a mod p k and g k s′ky k c′k = ga′− xkc′k y k c′k = g k a ′ modp k holds. Here, the one trying to identify the signer (one trying to break the anonymity of the method disclosed in Non-Patent Document 1 ) calculates a ″ = H (R 1 ), and g i si y i the ci ≡g i s'i y i c'i g i a '' (mod p i) and becomes i is determined by exhaustive search. Since i = k is a = a ′ + a ″ mod q k , the above congruence formula holds. On the other hand, for i ≠ k, since c i and c ′ i are outputs of the hash function, the possibility of satisfying the above congruence is low. For this reason, it is possible to specify that Pi is a signer with respect to i determined by the above congruence formula.

このように非特許文献1に開示された技術では、「署名者以外のユーザが自分は署名を生成していないということを証明できる成分(2種類の署名)」が偽りなく生成されたかどうかを確認する手段がないため、偽ったデジタル署名情報を生成することで、検証には成功するが、署名者自身も署名成の事実を否認できるような署名を生成することができるという問題があるとともに、検証者によりデジタル署名から署名者を容易に特定することができるという問題がある。   As described above, in the technology disclosed in Non-Patent Document 1, whether or not “a component other than a signer can prove that he / she has not generated a signature (two types of signatures)” is truly generated. Since there is no means for confirmation, verification is successful by generating fake digital signature information, but there is a problem that the signer himself can generate a signature that can deny the fact of signature creation. There is a problem that the verifier can easily identify the signer from the digital signature.

一方、本実施形態によれば、署名者は、「署名者以外の他のユーザが自分はデジタル署名情報を生成していない(自分は署名者ではない)ということを証明できる」第1の成分を、他のユーザの公開鍵を用いずに生成する。さらに、署名者は、「署名者が第1の成分を正しく生成していることを保証する」第2の成分を計算するため、署名者が偽って検査式に合格するデジタル署名情報を生成することは不可能である。よって、上述したような問題は起こらない。   On the other hand, according to the present embodiment, the signer can “provide that a user other than the signer has not generated the digital signature information (the user is not the signer)” first component Is generated without using another user's public key. In addition, the signer generates digital signature information that the signer falsely passes and passes the verification formula to calculate the second component that “guarantees that the signer is correctly generating the first component”. It is impossible. Therefore, the above problem does not occur.

以下、本実施形態のデジタル署名について詳しく説明する。   Hereinafter, the digital signature of this embodiment will be described in detail.

なお、以下の説明では、デジタル署名の対象を文書と呼んでいるが、文書はどのようなデータであっても構わない。   In the following description, the object of the digital signature is called a document, but the document may be any data.

本実施形態に係るデジタル署名情報(以下、単に署名とも呼ぶ)を生成するデジタル署名情報生成装置により、管理者を仮定しない否認可能なオフライン検証型の匿名性を有するデジタル署名が実現される。また、デジタル署名した署名者の特定又は署名者以外の他のユーザのデジタル署名についての否認は、検証者が署名者又は署名者以外の他のユーザと通信をすることによって可能になる。   The digital signature information generating apparatus for generating digital signature information (hereinafter also simply referred to as a signature) according to the present embodiment realizes a digital signature having an undeniable offline verification type anonymity without assuming an administrator. Also, the signer who has signed the digital signature or the denial of the digital signature of a user other than the signer can be denied by the verifier communicating with the signer or another user other than the signer.

まず、本実施形態に係る署名生成処理で生成される署名者の特定又は否認を可能とする成分について説明する。   First, components that enable identification or denial of a signer generated by the signature generation processing according to the present embodiment will be described.

署名者の特定又は否認を可能とする成分及びその特定又は否認の方法は、ゼロ知識否認不可署名(例えば、「D. Chaum, “Zero-Knowledge Undeniable Signature,” in Proceedings of EUROCRYPT ’90」など)を利用することができる。   The components that enable the identification or denial of the signer and the method of identification or denial are zero-knowledge non-repudiation signatures (eg “D. Chaum,“ Zero-Knowledge Undeniable Signature, ”in Proceedings of EUROCRYPT '90”, etc.) Can be used.

本実施形態では、安全性の保証を可能とするため、岡本らにより改良された否認不可署名(「T. Okamoto and D. Pointcheval, “,” in Proceedings of CT-RSA 2001」(以下、文献Aと呼ぶ))を利用した場合を例にとって説明する。   In this embodiment, the non-repudiation signature improved by Okamoto et al. (“T. Okamoto and D. Pointcheval,“, ”in Proceedings of CT-RSA 2001”) (hereinafter referred to as Document A A case where the above is used) will be described as an example.

ここで、文献Aにより開示された方法について説明する。   Here, the method disclosed in Document A will be described.

なお、文献Aは、匿名性がなく、検証にオンラインを必要とするものであるが、本実施形態は、匿名性を有し、検証をオフラインで実施できるものである。   Note that Document A has no anonymity and requires online for verification, but this embodiment has anonymity and can be verified offline.

システムの管理者あるいは署名者となる各ユーザは、p,q,g,A,Fを公開する。ここで、pはlビットの素数、qはp−1を割り切るl1ビットの素数、gは位数qの乗法群Aの生成元であり、Gは任意のビット長の数からAへの耐衝突一方向性ハッシュ関数、Fは任意の長さの数からl2ビットの数への耐衝突一方向性ハッシュ関数とする。ここで、耐衝突性とはG(a)=G(b)を満たすa,bを見つけることが困難であることを表し、一方向性とはcが与えられたときにG(a)=cを満たすaを見つけることが困難であることを表す。 Each user who becomes an administrator or signer of the system publishes p, q, g, A, and F. Here, p is a 1-bit prime, q is an l 1- bit prime that divides p−1, g is a generator of the multiplicative group A of order q, and G is an arbitrary bit length from A to A A collision-resistant one-way hash function, F is a collision-resistant one-way hash function from an arbitrary length number to a number of l 2 bits. Here, collision resistance means that it is difficult to find a and b satisfying G (a) = G (b), and unidirectionality means that G (a) = when c is given. This means that it is difficult to find a that satisfies c.

まず、否認不可署名の鍵の生成から否認不可署名の生成までについて説明する。   First, a process from generation of a non-repudiation signature key to generation of a non-repudiation signature will be described.

図7に、否認不可署名の鍵の生成手順(署名者の加入及び署名生成)を示す。また、図8に、否認不可署名の生成手順を示す。   FIG. 7 shows a procedure for generating a non-repudiation signature key (signer signing and signature generation). FIG. 8 shows a procedure for generating a non-repudiation signature.

署名者となるユーザは、s∈Z/qZ={0,1,…,q−1}をランダムに選択して秘密鍵とし(ステップS101K)、k=gs mod pを計算して(ステップS102K)、公開鍵として公開し、あるいは認証局に登録する(ステップS103K)。 The signer user selects s∈Z / qZ = {0, 1,..., Q−1} at random and sets it as a secret key (step S101K), and calculates k = g s mod p (step S102K), it is made public as a public key or registered with a certificate authority (step S103K).

署名者は、デジタル署名対象の文書Mを受け付けた後(ステップS101S)、w=G(M)を計算し(ステップS102S)、S=w mod pを計算して(ステップS103S)、(M,S)を署名付き文書として公開する(ステップS104S)。 After accepting the digital signature target document M (step S101S), the signer calculates w = G (M) (step S102S), calculates S = w s mod p (step S103S), and (M , S) is published as a signed document (step S104S).

一方、検証者は、(M,S)が正しい署名付き文書であること又は正しくないこと(署名者がMに正しく署名をしたこと又はMに正しく署名をしていないこと)を、署名者と交信を行い以下に説明する確認プロトコル(Confirmation Protocol)あるいは否認プロトコル(Disavowal Protocol)を実行することで検証する。各プロトコルでは、検証者は署名者とK回の繰り返し処理を行い、全ての処理に合格するときに確認または否認を受理する。   On the other hand, the verifier indicates that (M, S) is a correctly signed document or is not correct (the signer has correctly signed M or has not signed M correctly) and the signer. Communication is performed and verification is performed by executing a confirmation protocol (Confirmation Protocol) or a denial protocol (Disavowal Protocol) described below. In each protocol, the verifier performs K processing with the signer repeatedly, and accepts confirmation or denial when all processing passes.

図9に、検証装置(署名検証装置)における否認不可署名の検証手順を示す。また、図10に、署名装置(デジタル署名情報生成装置)における否認不可署名の検証手順を示す。   FIG. 9 shows a verification procedure for a non-repudiation signature in the verification apparatus (signature verification apparatus). FIG. 10 shows a verification procedure for a non-repudiation signature in the signature device (digital signature information generation device).

検証者は、署名付き文書(M,S)を、特定のユーザ(例えば、署名者であることを確認しようとする対象のユーザ、または、署名者でないことを確認しようとする対象のユーザ)に問い合わせて(ステップS101Vv)、待機する(ステップS102Vv)。   The verifier sends the signed document (M, S) to a specific user (for example, a user who is to be verified as a signer or a user who is to be verified as not being a signer). Inquire (step S101Vv) and wait (step S102Vv).

この特定のユーザは、問い合わせを受け付けた後(ステップS101Vs)、w=G(M)を計算して(ステップS102Vs)、S=ws mod pが成り立つかどうかを検査して(ステップS103Vs)、検査式が成り立つ場合には、(M,S)が正しい署名付き文書であるとして検証者に確認プロトコルを実行することを伝え(ステップS104Vs)、成り立たない場合には、(M,S)が正しくない署名付き文書であるとして検証者に否認プロトコルを実行することを伝えて(ステップS105Vs)、待機する(ステップS106Vs)。 After receiving this inquiry (step S101Vs), this specific user calculates w = G (M) (step S102Vs), checks whether S = w s mod p holds (step S103Vs), If the check expression holds, the verifier is informed that (M, S) is a correctly signed document (step S104Vs), and if not, (M, S) is correct. The verifier is informed that the non-signed document is to be executed (step S105Vs) and waits (step S106Vs).

(確認プロトコル)
図11に、検証装置(署名検証装置)における否認不可署名の確認手順を示す。また、図12に、署名装置(デジタル署名情報生成装置)における否認不可署名の確認手順を示す。
(Confirmation protocol)
FIG. 11 shows a confirmation procedure of a non-repudiation signature in the verification device (signature verification device). FIG. 12 shows a procedure for confirming a non-repudiation signature in the signature device (digital signature information generation device).

検証者は、上記の特定のユーザから確認プロトコルを実行する連絡を受け付けた場合(ステップS101Cv)、カウンタとしてcnt=0と設定し(ステップS102Cv)、w=G(M)を計算する(ステップS103Cv)。   When the verifier receives a communication for executing the confirmation protocol from the specific user (step S101Cv), the verifier sets cnt = 0 as the counter (step S102Cv) and calculates w = G (M) (step S103Cv). ).

次に、検証者は、a,b∈Z/qZをランダムに選択して(ステップS104Cv)、c=wab mod pを計算して(ステップS105Cv)、上記の特定のユーザに送信して(ステップS106Cv)、待機する(ステップS107Cv)。 Then, the verifier sends a, a b∈Z / qZ randomly select (step S104Cv), by calculating c = w a g b mod p ( step S105Cv), to a particular user of the (Step S106Cv) and wait (step S107Cv).

上記の特定のユーザは、検証者からcを受け付けた後(ステップS101Cs)、r∈Z/qZをランダムに選択して(ステップS102Cs)、t=cgr mod p及びu=ts mod pを計算して(ステップS103Cs)、検証者に送信し(ステップS104Cs)、待機する(ステップS105Cs)。 After receiving c from the verifier (step S101Cs), the specific user described above randomly selects rεZ / qZ (step S102Cs), and sets t = cg r mod p and u = t s mod p. Calculate (step S103Cs), transmit to the verifier (step S104Cs), and wait (step S105Cs).

検証者は、上記の特定のユーザからt,uを受け付けた後(ステップS108Cv)、a,bを上記の特定のユーザに送信して(ステップS109Cv)、待機する(ステップS110Cv)。   After receiving t and u from the specific user (step S108Cv), the verifier transmits a and b to the specific user (step S109Cv) and waits (step S110Cv).

上記の特定のユーザは、検証者からa,bを受け付けた後(ステップS106Cs)、c=wab mod pが成り立つかどうかを検査する(ステップS107Cs)。検査に合格の場合には、rを検証者に送信し(ステップS108Cs)、不合格の場合には、(例えば、検証者が不正な処理をした、あるいは、通信路上でエラーが発生したと判断して)処理を停止する(ステップS109Cs)。 The specific user (step S106Cs) after accepting a, b from the verifier, c = w a g b mod p is whether checks whether established (step S107Cs). If the inspection passes, r is sent to the verifier (step S108Cs), and if the inspection fails, (for example, it is determined that the verifier has performed an illegal process or an error has occurred on the communication path). Then, the process is stopped (step S109Cs).

検証者は、上記の特定のユーザからrを受け付けた後(ステップS111Cv)、t=cgr mod p及びu=Sab+r mod pが成り立つかどうか検査する(ステップS112Cv)。検査に不合格の場合には、(上記の特定のユーザが不正な処理をした、あるいは、通信路上でエラーが発生したと判断して)処理を停止する(ステップS117Cv)。 After receiving r from the specific user (step S111Cv), the verifier checks whether t = cg r mod p and u = S a k b + r mod p are satisfied (step S112Cv). If the inspection fails, the process is stopped (determined that the specific user has performed an illegal process or an error has occurred on the communication path) (step S117Cv).

検査に合格の場合には、cnt=cnt+1とし(ステップS113Cv)、cnt=Kかどうか検査する(ステップS114Cv)。検査に不合格の場合にはステップS104Cvに戻る(ステップS115Cv)。検査に合格の場合には、(M,S)を正しい署名付き文書として受理する(ステップS116Cv)。   When the inspection is passed, cnt = cnt + 1 is set (step S113Cv), and whether cnt = K is checked (step S114Cv). If the inspection fails, the process returns to step S104Cv (step S115Cv). If the inspection passes, (M, S) is accepted as a correctly signed document (step S116Cv).

(否認プロトコル)
図13に、検証装置(署名検証装置)における否認不可署名の否認手順を示す。図14に、署名装置(デジタル署名情報生成装置)における否認不可署名の否認手順を示す。
(Denial protocol)
FIG. 13 shows a procedure for rejecting a non-repudiation signature in the verification device (signature verification device). FIG. 14 shows a non-repudiation signature non-repudiation procedure in the signature device (digital signature information generation device).

他方、検証者は、上記の特定のユーザから否認プロトコルを実行する連絡を受け付けた場合(ステップS101Dv)、カウンタとしてcnt=0と設定し(ステップS102Dv)、w=G(M)を計算する(ステップS103Dv)。   On the other hand, when the verifier receives a notification to execute the denial protocol from the specific user (step S101Dv), the verifier sets cnt = 0 as the counter (step S102Dv) and calculates w = G (M) ( Step S103 Dv).

次に、検証者は、a∈{0,…,max}とb∈Z/qZをランダムに選択して(ステップS104Dv),c=wab mod pとc2=Sab mod pを計算して(ステップS105Dv)、上記の特定のユーザに送信して(ステップS106Dv)、待機する(ステップS107Dv)。ステップS103Dvのmaxは、後にaが全数探索により見つけられる程度の小さな数として設定される。 Then, the verifier, a∈ {0, ..., max } of the b∈Z / qZ randomly select (step S104Dv), c 1 = w a g b mod p and c 2 = S a k b Mod p is calculated (step S105Dv), transmitted to the specific user (step S106Dv), and waited (step S107Dv). The max in step S103Dv is set as a small number such that a can be found later by exhaustive search.

上記の特定のユーザは、検証者からc1,c2を受け付けた後(ステップS101Ds)、(c /c2)=(w/S)a mod pを満たすaを探索し(ステップS102Ds)、r∈Z/qZをランダムに選択して(ステップS103Ds)、t=F(r,a)を計算して(ステップS104Ds)、検証者に送信し(ステップS105Ds)、待機する(ステップS106Ds)。 After receiving c 1 and c 2 from the verifier (step S101Ds), the specific user searches for a satisfying (c 1 s / c 2 ) = (w / S) a mod p (step S102Ds). ), RεZ / qZ is selected at random (step S103Ds), t = F (r, a) is calculated (step S104Ds), transmitted to the verifier (step S105Ds), and waited (step S106Ds). ).

検証者は、上記の特定のユーザからtを受け付けた後(ステップS108Dv)、bを上記の特定のユーザに送信して(ステップS109Dv)、待機する(ステップS110Dv)。   After receiving t from the specific user (step S108Dv), the verifier transmits b to the specific user (step S109Dv) and waits (step S110Dv).

上記の特定のユーザは、検証者からbを受け付けた後(ステップS107Ds)、c1=wab mod pとc2=Sab mod pが成り立つかどうかを検査する(ステップS108Ds)。検査に合格の場合には、rを検証者に送信して(ステップS109Ds)、不合格の場合には、(検証者が不正な処理をした、あるいは、通信路上でエラーが発生したと判断して)処理を停止する(ステップS110Ds)。 The specific user, after receiving the b from the verifier (step S107Ds), c 1 = w a g b mod p and c 2 = S a k b mod p is whether checks whether established (step S108Ds) . If the inspection passes, r is sent to the verifier (step S109Ds). If the inspection fails, it is determined that the verifier has performed an illegal process or an error has occurred on the communication path. The process is stopped (step S110Ds).

検証者は、上記の特定のユーザからrを受け付けた後(ステップS111Dv)、t=F(r,a)が成り立つかどうか検査する(ステップS112Dv)。検査に不合格の場合には、(上記の特定のユーザが不正な処理をした、あるいは、通信路上でエラーが発生したと判断して)処理を停止する(ステップS117Dv)。   After accepting r from the specific user (step S111Dv), the verifier checks whether t = F (r, a) holds (step S112Dv). If the inspection fails, the processing is stopped (when it is determined that the specific user has performed an illegal process or an error has occurred on the communication path) (step S117Dv).

検査に合格の場合には、cnt=cnt+1とし(ステップS113Dv)、cnt=Kかどうか検査する(ステップS114Dv)。検査に不合格の場合にはステップS104Dvに戻る(ステップS115Dv)。検査に合格の場合には、上記の特定のユーザによる(M,S)の否認を受理する(ステップS116Dv)。   When the inspection is passed, cnt = cnt + 1 is set (step S113Dv), and whether cnt = K is checked (step S114Dv). If the inspection fails, the process returns to step S104Dv (step S115Dv). If the inspection is passed, the denial of (M, S) by the specific user is accepted (step S116Dv).

さて、以下では、上記したような否認不可署名を利用した、管理者を仮定しない否認可能なオフライン検証型の匿名性を有する署名方法の構成例を示す。   Now, a configuration example of a signature method having anonymity of non-repudible offline verification that does not assume an administrator using the non-repudiation signature as described above will be shown below.

(第1の構成例)
まず、第1の構成例について説明する。
(First configuration example)
First, a first configuration example will be described.

なお、署名対象の文書にデジタル署名情報を付加した署名付き文書自体は、デジタル署名情報生成装置と署名検証装置との間で、通信媒体を介して付け渡しされてもよいし、記録媒体を介して付け渡しされてもよい。   Note that the signed document itself in which the digital signature information is added to the signature target document may be passed between the digital signature information generation apparatus and the signature verification apparatus via a communication medium or via a recording medium. May be handed over.

(共通パラメータの準備)
以下、本構成例に係るデジタル署名情報生成装置、署名検証装置を構成するために用いる関数と、それら関数の入出力データの長さについて説明する。
(Preparation of common parameters)
Hereinafter, functions used to configure the digital signature information generation apparatus and signature verification apparatus according to this configuration example and the lengths of input / output data of these functions will be described.

安全な署名交換システムの構成例を記述するにあたり、安全性のパラメータl,l1,l2を以下のように選択する。lは離散対数問題が計算困難とされるビット長である1024とし、l1はそのときの位数1023、l2は総当りによる探索が困難とされるビット長である80などである。このとき、lビットの素数p及びp−1を割り切るlビットの素数q、位数qの乗法群Aとその生成元gが認証局により公開されているとする。また、任意のビット長の値をAの元に写像するハッシュ関数G、任意のビット長の値をZ/qZの元に写像するハッシュ関数H、任意のビット長の値をl2ビットの値に写像するハッシュ関数F、否認プロトコルで用いられるあまり大きくない値maxが公開されているとする。ハッシュ関数G,H,Fは、例えばSHAなどのハッシュ関数である(例えば、「M. Bellare and P. Rogaway, “Optimal Asymmetric Encryption−How to encrypt with RSA” Advances in Cryptology−EUROCRYPT’94 LNCS, Springer-Verlag, 1995」等にその具体例が挙げられている)。 In describing a configuration example of a secure signature exchange system, the security parameters l, l 1 and l 2 are selected as follows. l is a bit length 1024 at which the discrete logarithm problem is difficult to calculate, l 1 is an order 1023 at that time, l 2 is a bit length 80 at which it is difficult to perform a round-robin search, and the like. At this time, it is assumed that the multiplicative group A of l 1- bit primes q and order q, which divides the 1-bit primes p and p-1, and the generation source g thereof are disclosed by the certificate authority. Also, a hash function G that maps an arbitrary bit length value to A, a hash function H that maps an arbitrary bit length value to Z / qZ, and an arbitrary bit length value of l 2 bits Assume that a hash function F that maps to, and a not-so-large value max used in the denial protocol are disclosed. The hash functions G, H, and F are hash functions such as SHA (for example, “M. Bellare and P. Rogaway,“ Optimal Asymmetric Encryption—How to encrypt with RSA ”Advances in Cryptology—EUROCRYPT'94 LNCS, Springer -Verlag, 1995 ", etc.).

(デジタル署名情報生成装置)
図1に、本構成例に係るデジタル署名情報生成装置のブロック図の一例を示す。
(Digital signature information generator)
FIG. 1 shows an example of a block diagram of a digital signature information generation apparatus according to this configuration example.

演算器201は、多倍長の演算を実行する部分であり、具体的には、排他的論理和の計算、ビット連結・分割、ビットの比較などを行う。   The arithmetic unit 201 is a part that executes a multiple-length operation. Specifically, the arithmetic unit 201 performs exclusive OR calculation, bit concatenation / division, bit comparison, and the like.

乱数生成部202は、署名生成時に必要な乱数を発生させる部分である。   The random number generation unit 202 is a part that generates a random number necessary for generating a signature.

乱数メモリ203は、乱数生成部202により生成された乱数を保存する。   The random number memory 203 stores the random number generated by the random number generation unit 202.

秘密鍵メモリ204は、当該装置のユーザPの公開鍵暗号方式に関する秘密鍵を格納するメモリである。   The secret key memory 204 is a memory for storing a secret key related to the public key cryptosystem of the user P of the apparatus.

署名生成部205は、署名生成処理や確認及び否認プロトコルを行う際に、秘密鍵メモリ204に保存された秘密鍵を読み出す。   The signature generation unit 205 reads the secret key stored in the secret key memory 204 when performing the signature generation process or the confirmation / denial protocol.

入出力部206は、生成された当該装置のユーザPのデジタル署名情報を送信する。入出力部206は、自装置と外部との間で取り交わされるその他のデータの入出力も行う。   The input / output unit 206 transmits the generated digital signature information of the user P of the apparatus. The input / output unit 206 also performs input / output of other data exchanged between the own apparatus and the outside.

関数演算部207,208,209は、それぞれ、ランダム関数G,H,Fによる演算を行う。当該装置のユーザPのデジタル署名情報の生成や確認及び否認プロトコルにおいては、関数演算部207,208,209に保存されたランダム関数を利用する。ランダム関数は、事前に取り決められたものを保存しておいてもよいし、署名者ごとに定められた関数を入出力部206を介して入手・保存してもよい。   The function calculation units 207, 208, and 209 perform calculations using random functions G, H, and F, respectively. In the generation, confirmation, and denial protocol of the digital signature information of the user P of the apparatus, a random function stored in the function calculation units 207, 208, and 209 is used. The random function may be stored in advance, or a function determined for each signer may be obtained and stored via the input / output unit 206.

制御部211は、装置全体の制御を司る。   The control unit 211 controls the entire apparatus.

メモリ212は、各種データを記憶する。   The memory 212 stores various data.

なお、デジタル署名情報生成装置は、機能的には、鍵に関する処理を行う機能部分と、後述するデジタル署名情報の第1の成分を生成する機能部分と、デジタル署名情報の第2の成分を生成する機能部分とを有する。   The digital signature information generation device functionally generates a functional part that performs processing related to a key, a functional part that generates a first component of digital signature information described later, and a second component of digital signature information. And a functional part.

また、デジタル署名情報生成装置は、署名対象の文書にデジタル署名情報を付加した署名付き文書を、ネットワークを介して署名検証装置又は他の装置へ送信する機能や、(署名検証装置又は他の装置との間の受け渡しのために)記録媒体へ書き込む機能を含んでもよい。   Further, the digital signature information generation device has a function of transmitting a signed document obtained by adding digital signature information to a signature target document to the signature verification device or another device via a network, or (signature verification device or other device). A function of writing to a recording medium (for transfer to and from).

(公開鍵及び秘密鍵の準備)
署名者となる各ユーザは、それぞれ、図1に示されるデジタル署名情報生成装置を使用する。認証局により公開されたp,q,A,gに対して、各ユーザPj(j=1,…,L)は、sj∈Z/qZをランダムに選択して秘密鍵メモリ204に格納し、公開鍵kj=gsj mod pを計算して公開する。
(Preparation of public and private keys)
Each user who becomes a signer uses the digital signature information generating apparatus shown in FIG. For p, q, A, and g published by the certificate authority, each user P j (j = 1,..., L) randomly selects s j εZ / qZ and stores it in the secret key memory 204. Then, public key k j = g sj mod p is calculated and made public.

(署名生成手順)
以下、署名者Piによる署名生成の処理手順について説明する。
(Signature generation procedure)
The following describes the signer P i by the signature generation processing.

図2に、本構成例に係る署名生成処理手順の一例を示す。   FIG. 2 shows an example of a signature generation processing procedure according to this configuration example.

以下の例では説明を簡潔にするために、公開鍵を登録しているL人のうち、署名者となるユーザPiを除くL−1人のユーザをダミー署名者として選択する方法を例にとって説明する。この方法の他にも、例えば、署名者Piが署名生成時にL’≦L-1を満たす任意のL’人のダミー署名者を選択して、ユーザ(署名者たるユーザ、選択されたダミー署名者たるユーザ又は選択されなかったユーザ)を特定するための添え字(以下の例で示すiやj)を動的に決定する方法なども可能である(なお、L’を固定する方法も可能であり、L’をも動的に決定する方法も可能である)。 For simplicity of explanation in the following examples, among the L who has registered the public key, for example a method of selecting the L-1 users except user P i as a signer as a dummy signer explain. In addition to this method, for example, the signer P i selects any L ′ dummy signers that satisfy L ′ ≦ L−1 at the time of signature generation, and the user (the user who is the signer, the selected dummy) A method of dynamically determining a subscript (i or j shown in the following example) for specifying a user who is a signer or a user who has not been selected is also possible (a method of fixing L ′ is also possible) It is possible, and a method of dynamically determining L ′ is also possible).

ここで、ステップS301〜S303により計算されるデジタル署名情報の第1の成分Sを利用することで、下記に示す確認及び否認プロトコルにより、署名者Piは、第1の成分Sを生成した事実を否認することができず、署名者以外のユーザPjは、第1の成分Sを生成していないという事実を証明することができる。 Here, by using the first component S of the digital signature information calculated in steps S301 to S303, the signer P i has generated the first component S according to the confirmation and denial protocol shown below. The user P j other than the signer can prove the fact that the first component S has not been generated.

一方、ステップS304〜S311で計算されるデジタル署名情報の第2の成分(y,b,c,d,…,cL,dL)は、第1の成分SがユーザP,…,PLの公開鍵k,…,kLのいずれかの成分と同一の指数(秘密鍵si)をもつことを証明する非対話零知識証明となっている。 On the other hand, the second component (y, b, c 1 , d 1 ,..., C L , d L ) of the digital signature information calculated in steps S304 to S311 is the first component S is the user P 1 ,. , P L public key k 1 ,..., K L is a non-interactive zero knowledge proof that proves that it has the same exponent (secret key s i ) as any component.

署名者Piは、署名対象の文書Mを受け付けた後(ステップS301)、w=G(M)を計算して(ステップS302)、確認又は否認を行うための第1の成分S=wsi mod pを計算する(ステップS303)。 The signer P i receives the signature target document M (step S301), calculates w = G (M) (step S302), and confirms or denies the first component S = w si. mod p is calculated (step S303).

次に、署名者Piは、第2の成分を計算する。 Next, the signer P i calculates the second component.

すなわち、b’∈Z/qZをランダムに選択し(ステップS304)、y=wb’ mod pを計算する(ステップS305)。 That is, b′∈Z / qZ is selected at random (step S304), and y = w b ′ mod p is calculated (step S305).

j=1,…,i−1,i+1,…,Lについて、cj,dj∈Z/qZをランダムに選択して、aj=gcjj dj mod p, bj=wcjdj mod pを計算する(ステップS306)。 For j = 1,..., i−1, i + 1,..., L, c j and d j εZ / qZ are selected at random, and a j = g cj k j dj mod p, b j = w cj S dj mod p is calculated (step S306).

e’∈Z/qZをランダムに選択し(ステップS307)、ai=ge’ mod p, bi=we’ mod pを計算する(ステップS308)。 e′εZ / qZ is selected at random (step S307), and a i = ge e ′ mod p and b i = we mod p are calculated (step S308).

,b,…,aL,bLの計算が完了した後、d=H(M,w,S,y,k,…,kL,a,b,…,aL,bL)を計算し(ステップS309)、di=d−(d+…+di-1+di+1+…+dL) mod q及びci=e’−dii mod qを計算する(ステップS310)。 After the calculation of a 1 , b 1 ,..., a L , b L is completed, d = H (M, w, S, y, k 1 ,..., k L , a 1 , b 1 ,. , B L ) (step S309), d i = d− (d 1 +... + D i−1 + d i + 1 +... + D L ) mod q and c i = e′−d i s i mod q Is calculated (step S310).

そして、b=b’+dsi mod qを計算する(ステップS311)。 Then, b = b ′ + ds i mod q is calculated (step S311).

最後に、署名者Piは、(M,S,y,b,c,d,…,cL,dL,k,…,kL)を署名付き文書として公開する(ステップS312)。 Finally, the signer P i publishes (M, S, y, b, c 1 , d 1 ,..., C L , d L , k 1 ,..., K L ) as a signed document (step S312). ).

なお、(M,S,y,b,c,d,…,cL,dL,k,…,kL)において、Mが署名対象の文書、Sが第1の成分、(y,b,c,d,…,cL,dL)が第2の成分である。 In (M, S, y, b, c 1 , d 1 ,..., C L , d L , k 1 ,..., K L ), M is a signature target document, S is a first component, ( y, b, c 1 , d 1 ,..., c L , d L ) are the second components.

また、k,…,kLはそれぞれユーザP,…,PLの公開鍵である。なお、デジタル署名情報にユーザP,…,PLの公開鍵を含ませる代わりに、それらを特定可能とする情報を含ませるようにしてもよい。 In addition, k 1, ..., k L each user P 1, ..., it is a public key of P L. The user P 1 to the digital signature information, ..., instead of including a public key of P L, may be include information that allows identify them.

(署名検証装置)
図3に、本実施形態に係る署名検証装置のブロック図の一例を示す。
(Signature verification device)
FIG. 3 shows an example of a block diagram of the signature verification apparatus according to the present embodiment.

演算器401は、多倍長の演算を実行する部分であり、具体的には、排他的論理和の計算、ビット連結・分割、ビットの比較などを行う。   The arithmetic unit 401 is a part that executes a multiple-length operation. Specifically, the arithmetic unit 401 performs exclusive OR calculation, bit concatenation / division, bit comparison, and the like.

入出力部406は、デジタル署名情報生成装置により生成された署名付き文書(M,S,y,b,c,d,…,cL,dL,k,…,kL)を受け付ける。入出力部406は、自装置と外部との間で取り交わされるその他のデータの入出力も行う。 The input / output unit 406 receives a signed document (M, S, y, b, c 1 , d 1 ,..., C L , d L , k 1 ,..., K L ) generated by the digital signature information generating apparatus. Accept. The input / output unit 406 also inputs / outputs other data exchanged between the own apparatus and the outside.

判定部413は、入出力部406から受け付けられたデジタル署名情報について、(M,S,y,b,c,d,…,cL,dL,k1,…,kL)から構成されるか否かを検査する。 The determination unit 413 determines the digital signature information received from the input / output unit 406 from (M, S, y, b, c 1 , d 1 ,..., C L , d L , k 1 ,..., K L ). Check whether it is configured.

署名検証部407は、ユーザP,…,PLの公開鍵k1,…,kLを利用してデジタル署名情報を検証する。 The signature verification unit 407, the user P 1, ..., public key k 1 of the P L, ..., using the k L to verify the digital signature information.

関数演算部407,408,409は、それぞれ、ランダム関数G,H,Fによる演算を行う。署名検証や確認又は否認プロトコルにおいては、関数演算部408,409,410に保存されたランダム関数を利用する。ランダム関数は、事前に取り決められたものを保存しておいてもよいし、署名者ごとに定められた関数を入出力部406を介して入手・保存してもよい。   The function calculation units 407, 408, and 409 perform calculations using random functions G, H, and F, respectively. In the signature verification, confirmation, or denial protocol, a random function stored in the function calculation units 408, 409, and 410 is used. The random function may be stored in advance, or a function determined for each signer may be obtained and stored via the input / output unit 406.

制御部411は、装置全体の制御を司る。   The control unit 411 controls the entire apparatus.

メモリ412は、各種データを記憶する。   The memory 412 stores various data.

なお、署名検証装置は、機能的には、鍵に関する処理を行う機能部分と、オフラインでのデータの真正性の検証に関する処理を行う機能部分と、オンラインで署名者の特定又は否認に関する処理を行う機能部分とを有する。   Functionally, the signature verification apparatus functionally performs a function related to processing related to a key, a function related to processing related to off-line data authenticity verification, and processing related to identification or denial of a signer online. And a functional part.

また、署名検証装置は、署名対象の文書にデジタル署名情報を付加した署名付き文書を、ネットワークを介してデジタル署名情報生成装置又は他の装置から受信する機能や、署名付き文書を記録した記録媒体から読み込む機能を含んでもよい。   In addition, the signature verification apparatus has a function of receiving a signed document obtained by adding digital signature information to a signature target document from a digital signature information generating apparatus or another apparatus via a network, and a recording medium on which the signed document is recorded. The function to read from may be included.

(署名検証手順)
以下、本構成例に係るデジタル署名情報生成装置により生成されたデジタル署名情報を検証する方法について説明する。
(Signature verification procedure)
Hereinafter, a method for verifying the digital signature information generated by the digital signature information generation apparatus according to this configuration example will be described.

図4に、本構成例に係る署名検証処理手順の一例を示す。   FIG. 4 shows an example of a signature verification processing procedure according to this configuration example.

検証者は、署名付き文書(M,S,y,b,c,d,…,cL,dL,k,…,kL)を受け付けた後(ステップS501)、w=G(M)を計算する(ステップS502)。 After the verifier receives the signed document (M, S, y, b, c 1 , d 1 ,..., C L , d L , k 1 ,..., K L ) (step S501), w = G (M) is calculated (step S502).

次に、検証者は、j=1,…,Lについて、aj=gcjj dj mod p及びbj=wcjdj mod pを計算し(ステップS503)、d=H(M,w,S,y,k1,…,kL,a1,b1,…,aL,bL)を計算する(ステップS504)。 Next, the verifier calculates a j = g cj k j dj mod p and b j = w cj S dj mod p for j = 1,..., L (step S503), and d = H (M, w, S, y, k 1 , ..., k L, a 1, b 1, ..., a L, b L) to calculate the (step S504).

最後に、検証者は、ySd=wb mod pかつd=d1+…+dL mod qが成り立つかどうか検査して(ステップS505)、検査に合格なら署名を受理し(ステップS506)、不合格なら署名を棄却する(ステップS507)。 Finally, the verifier checks whether yS d = w b mod p and d = d 1 +... + D L mod q holds (step S505), and if the check passes, accepts the signature (step S506). If it fails, the signature is rejected (step S507).

(確認及び否認プロトコル)
本構成例における確認及び否認プロトコルは、(M,S)を用いて上述した文献Aの確認及び否認プロトコルと同じ処理により実行することができる。
(Confirmation and denial protocol)
The confirmation and denial protocol in this configuration example can be executed by the same processing as the confirmation and denial protocol of Document A described above using (M, S).

以上説明した第1の構成例では、有限体の乗法群上の離散対数問題を利用した例を示したが、楕円曲線の点のなす加法群に対しても同様のプロトコルが実現可能である。より具体的には、例えば、標数pの体上で定義された楕円曲線Eの上の点Pと、点Pで生成される位数qの加法群Aを用いればよい。また、本構成例のgの代わりにPを利用し、乗法群における冪乗剰余演算を楕円曲線上のスカラー倍算に、乗法群における剰余乗算を楕円曲線上の加算にそれぞれ置き換えればよい。   In the first configuration example described above, the example using the discrete logarithm problem on the multiplicative group of the finite field is shown, but the same protocol can be realized for the additive group formed by the points of the elliptic curve. More specifically, for example, a point P on the elliptic curve E defined on the field of the characteristic p and an additive group A of the order q generated at the point P may be used. Further, P may be used instead of g in this configuration example, and the power-residue calculation in the multiplicative group may be replaced with scalar multiplication on the elliptic curve, and the modular multiplication in the multiplicative group may be replaced with addition on the elliptic curve.

なお、公開鍵は必要に応じて取得できればよく、認証局を用いない構成も可能である。   The public key only needs to be acquired as necessary, and a configuration without using a certificate authority is also possible.

本構成例によれば、署名検証時には、署名者と通信を行う必要がなく、署名者の特定あるいは署名者以外のユーザの否認には、対象となるユーザとの通信を必要とするデジタル署名を実現することができる。   According to this configuration example, at the time of signature verification, it is not necessary to communicate with the signer. For the identification of the signer or the denial of the user other than the signer, a digital signature that requires communication with the target user is used. Can be realized.

また、本構成例によれば、グループ管理者が不要であり、各署名者が自ら公開鍵と秘密鍵を生成することができるため鍵生成の効率が良く、全署名者の秘密情報が集中することもないため管理が容易となる。さらに、自らが署名者ではない署名で疑いがかけられた場合には、署名生成処理で生成された署名者の特定又は否認が可能となる第1の成分により署名を生成していないという事実を証明できる。また、署名者の特定には署名者を除く全てのダミー署名者が否認を行わない限り署名者との交信が必要であり、署名者が意図しないところでの匿名性の破棄、すなわちプライバシーに係る情報の暴露はより起こりづらい。また、検証処理において検証者と署名者本人との交信が不要となるため、検証処理の効率が良く、匿名通信技術なども不要となる。   In addition, according to this configuration example, a group manager is unnecessary, and each signer can generate a public key and a secret key by itself, so that the key generation efficiency is high and the secret information of all the signers is concentrated. This makes it easy to manage. In addition, if a suspicion is made with a signature that is not a signer, the fact that the signature has not been generated by the first component that can identify or deny the signer generated by the signature generation process. I can prove it. In addition, to identify the signer, all dummy signers except the signer need to communicate with the signer unless denial, and anonymity is discarded where the signer does not intend, that is, information related to privacy Exposure is less likely to occur. Further, since communication between the verifier and the signer is not required in the verification process, the efficiency of the verification process is high, and an anonymous communication technique is not required.

(第2の構成例)
次に、第2の構成例について説明する。
(Second configuration example)
Next, a second configuration example will be described.

本構成例は、より高いレベルの安全性を保証するために、第1の構成例で用いた否認不可署名(文献Aの否認不可署名)の署名生成過程において、署名者が乱数Rを生成してwをG(M,R)により計算し、M,R,Sを署名付き文書として公開するようにしたものである。   In this configuration example, in order to guarantee a higher level of security, the signer generates a random number R in the signature generation process of the non-repudiation signature (non-repudiation signature of document A) used in the first configuration example. W is calculated by G (M, R), and M, R, and S are disclosed as signed documents.

以下では、第1の構成例と相違する点を中心に説明する。   Below, it demonstrates focusing on the point which is different from the 1st example of composition.

(共通パラメータの準備)
本構成例に係るデジタル署名情報生成装置、署名検証装置を構成するために用いる関数と、それら関数の入出力データの長さについては、第1の構成例と同じである。
(Preparation of common parameters)
The functions used to configure the digital signature information generation apparatus and signature verification apparatus according to this configuration example and the length of input / output data of these functions are the same as those in the first configuration example.

(デジタル署名情報生成装置)
本構成例におけるデジタル署名情報生成装置は、第1の構成例(図1)と同じで構わない。ただし、関数演算部207,208のランダム関数G,Hは、乱数Rをもパラメータとして持つものである。
(Digital signature information generator)
The digital signature information generation apparatus in this configuration example may be the same as that in the first configuration example (FIG. 1). However, the random functions G and H of the function calculation units 207 and 208 have the random number R as a parameter.

(公開鍵及び秘密鍵の準備)
本構成例における公開鍵及び秘密鍵の生成方法は、第1の構成例と同じである。
(Preparation of public and private keys)
The public key and secret key generation method in this configuration example is the same as in the first configuration example.

(署名生成手順)
本構成例における署名生成手順は、第1の構成例(図2)とほぼ同じであるため、これと相違する点について説明する。
(Signature generation procedure)
Since the signature generation procedure in this configuration example is substantially the same as that in the first configuration example (FIG. 2), differences from this will be described.

署名者となるユーザPiは、署名対象の文書Mを受け付けた後(ステップS301)、乱数Rを生成して、w=G(M,R)を計算して(ステップS302)、ステップS308までは第1の構成例における署名生成手順と同じ処理を行う。 User P i as the signer, after receiving the document M to be signed (step S301), generates a random number R, and calculates a w = G (M, R) (step S302), to step S308 Performs the same processing as the signature generation procedure in the first configuration example.

1,b1,…,aL,bLの計算が完了した後、署名者Piは、d=H(M,R,w,S,y,k1,…,kL,a1,b1,…,aL,bL)を計算し(ステップS309)、ステップS311まで第1の構成例における署名生成手順と同じ処理を行い、(M,R,S,y,b,c1,d1,…,cL,dL,k1,…,kL)を署名付き文書として公開する(ステップS312)。 After the calculation of a 1 , b 1 ,..., a L , b L is completed, the signer P i has d = H (M, R, w, S, y, k 1 ,..., k L , a 1. , B 1 ,..., A L , b L ) (step S309), the same processing as the signature generation procedure in the first configuration example up to step S311 is performed, and (M, R, S, y, b, c) are performed. 1, d 1, ..., c L, d L, k 1, ..., k L) to publish a signed document (step S312).

(署名検証装置)
本構成例における署名検証装置は、第1の構成例(図3)と同じである。ただし、関数演算部407,408のランダム関数G,Hは、乱数Rをもパラメータとして持つものである。
(Signature verification device)
The signature verification apparatus in this configuration example is the same as that in the first configuration example (FIG. 3). However, the random functions G and H of the function calculation units 407 and 408 have the random number R as a parameter.

(署名検証手順)
本構成例における署名生成手順は、第1の構成例(図4)とほぼ同じであるため、これと相違する点について説明する。
(Signature verification procedure)
Since the signature generation procedure in this configuration example is substantially the same as that in the first configuration example (FIG. 4), differences from this will be described.

検証者は、署名付き文書(M,R,S,y,b,c1,d1,…,cL,dL,k1,…,kL)を受け付けた後(ステップS501)、w=G(M,R)を計算する(ステップS502)。その後、検証者は第1の構成例と同様にして、j=1,…,Lについてaj=gcjj dj mod p, bj=wcjdj mod pを計算し(ステップS503)、d=H(M,R,w,S,y,k1,…,kL,a1,b1,…,aL,bL)を計算する(ステップS504)。 After the verifier receives the signed document (M, R, S, y, b, c 1 , d 1 ,..., C L , d L , k 1 ,..., K L ) (step S501), w = G (M, R) is calculated (step S502). Thereafter, the verifier calculates a j = g cj k j dj mod p, b j = w cj S dj mod p for j = 1,..., L in the same manner as in the first configuration example (step S503). , D = H (M, R, w, S, y, k 1 ,..., K L , a 1 , b 1 ,..., A L , b L ) are calculated (step S504).

最後に、検証者は、ステップS405を行い、検査結果に応じて、署名を受理し、あるいは署名を棄却する(ステップS506,S507)。   Finally, the verifier performs step S405 and accepts the signature or rejects the signature according to the inspection result (steps S506 and S507).

(確認及び否認プロトコル)
本構成例における確認及び否認プロトコルは、第1の構成例で用いた確認及び否認プロトコル(文献Aの確認及び否認プロトコル)とほぼ同じであるが、相違する点は、wをG(M)ではなくw=G(M,R)により計算する点(ステップS102S,ステップS102Vs,ステップS102Cv,ステップS102Dv)と、署名付き文書を(M,S)ではなく(M,R,S)とする点(ステップS104S,ステップS101Vv,ステップS104Vs,ステップS105Vs,ステップS116Cv,ステップS117Cv,ステップS116Dv,ステップS117Dv)である。
(Confirmation and denial protocol)
The confirmation and denial protocol in this configuration example is almost the same as the confirmation and denial protocol used in the first configuration example (the confirmation and denial protocol in document A), but the difference is that w is G (M). Without calculating w = G (M, R) (step S102S, step S102Vs, step S102Cv, step S102Dv), and a signed document (M, R, S) instead of (M, S) ( Step S104S, Step S101Vv, Step S104Vs, Step S105Vs, Step S116Cv, Step S117Cv, Step S116Dv, Step S117Dv).

なお、公開鍵は必要に応じて取得できればよく、認証局を用いない構成も可能である。   The public key only needs to be acquired as necessary, and a configuration without using a certificate authority is also possible.

本構成例によれば、第1の構成例の効果に加えて、乱数をも用いることにより、より高いレベルの安全性を保証することができる。   According to this configuration example, in addition to the effects of the first configuration example, a higher level of safety can be ensured by using a random number.

(第3の構成例)
第3の構成例では、第1の構成例又は第2の構成例を用いたシステムについて説明する。
(Third configuration example)
In the third configuration example, a system using the first configuration example or the second configuration example will be described.

なお、以下では、具体例としては、第1の構成例を用いた場合を例示している。   In the following, a case where the first configuration example is used is illustrated as a specific example.

図5に、本構成例に係るデジタル署名システムの一例を示す。   FIG. 5 shows an example of a digital signature system according to this configuration example.

本デジタル署名システムには、認証局601、署名生成端末(第1又は第2の構成例に係るデジタル署名情報生成装置)6021〜602、署名検証端末603が含まれる。これらは、ネットワーク600を介して通信可能である。 The digital signature system includes a certificate authority 601, a signature generation terminal (digital signature information generation apparatus according to the first or second configuration example) 602 1 to 602 L , and a signature verification terminal 603. These can communicate via the network 600.

署名生成端末には、第1又は第2の構成例に係るデジタル署名情報生成装置を用いる。署名検証端末には、第1又は第2の構成例に係る署名検証装置(署名生成端末に対応するもの)を用いる。   As the signature generation terminal, the digital signature information generation apparatus according to the first or second configuration example is used. As the signature verification terminal, the signature verification apparatus (corresponding to the signature generation terminal) according to the first or second configuration example is used.

なお、認証局は複数存在してもよい。また、署名検証端末は複数存在してもよい。また、署名生成端末の機能と署名検証装置の機能とを兼ね備えた端末が存在してもよい。   There may be a plurality of certificate authorities. There may be a plurality of signature verification terminals. Further, there may be a terminal that has both the function of the signature generation terminal and the function of the signature verification apparatus.

各認証局及び端末は、それぞれ、固有の識別情報IDを有するものとする。   Each certificate authority and terminal each have a unique identification information ID.

(共通パラメータの準備)
まず、認証局601は、第1又は第2の構成例の「共通パラメータの設定」に従い、lビットの素数p、p−1を割り切るlビットの素数q、位数qの乗法群Aとその生成元g、任意のビット長の値をAの元に写像するハッシュ関数G、任意のビット長の値をZ/qZの元に写像するハッシュ関数H、及び、任意のビット長の値をl2ビットの値に写像するF、否認プロトコルで用いられるあまり大きくない値maxを公開する。
(Preparation of common parameters)
First, in accordance with the “common parameter setting” in the first or second configuration example, the certificate authority 601 includes a multiplicative group A of l 1- bit primes q and orders q that divide the l-bit primes p and p−1. A generator g, a hash function G that maps an arbitrary bit length value to A, a hash function H that maps an arbitrary bit length value to Z / qZ, and an arbitrary bit length value l F that maps to a 2- bit value and the lesser value max used in the denial protocol are disclosed.

(公開鍵及び秘密鍵の準備と登録)
次に、署名生成端末i(iは1からLまでのいずれかをあらわす)は、共通パラメータをネットワーク600を通じて入手して自端末内部に保存し、第1又は第2の構成例の「公開鍵及び秘密鍵の準備」に基づいて、自端末内で秘密鍵siと公開鍵kiを生成して、秘密鍵siを秘密裏に保持し、公開鍵kiをネットワーク600を通じて自らの識別情報IDiとともに認証局601に送信する。
(Preparation and registration of public and private keys)
Next, the signature generation terminal i (i represents any one of 1 to L) obtains the common parameter through the network 600 and stores it in its own terminal, and the “public key” of the first or second configuration example And private key preparation ", the private key s i and the public key k i are generated in the terminal, the private key s i is kept secret, and the public key k i is identified through the network 600. The information ID i is transmitted to the certificate authority 601.

認証局601は、署名生成端末iから識別情報IDi及び公開鍵kiを受け取り、必要に応じて署名生成端末iが過去に不正な処理を行った端末であるかなどの調査を行った後、識別情報IDi及び公開鍵kiを、例えば図6に示すような表として、保存する。 The certificate authority 601 receives the identification information ID i and the public key k i from the signature generation terminal i, and after checking whether the signature generation terminal i has been illegally processed in the past as necessary. The identification information ID i and the public key k i are stored as a table as shown in FIG.

(署名生成手順)
署名生成端末iにユーザから署名対象の文書Mが入力される。
(Signature generation procedure)
A document M to be signed is input from the user to the signature generation terminal i.

このとき、署名生成端末iは、必要に応じて認証局601に問い合わせを行って、ネットワーク600経由で他の署名生成端末の公開鍵kj(jは1からLのうちi以外のインデックスのいずれかをあらわす)を複数入手する。他の署名生成端末の公開鍵が署名生成端末iに保存されている場合には、上記の問い合わせを行う必要はない。 At this time, the signature generation terminal i makes an inquiry to the certificate authority 601 as necessary, and the public key k j of the other signature generation terminal via the network 600 (j is an index other than i from 1 to L). Acquire a number of When the public keys of other signature generation terminals are stored in the signature generation terminal i, it is not necessary to make the above inquiry.

その後、署名対象の文書M、他の署名生成端末の公開鍵、署名生成端末iが内部に保存する秘密鍵si及び共通パラメータ、署名生成端末iが内部で生成する乱数成分を用いて第1又は第2の構成例の「署名生成手段」に基づいて署名生成を行い、(M,S,y,b,c1,d1,…,cL,dL,k1,…,kL)を、署名付き文書として、ネットワーク600上に公開する。 Thereafter, the first using the document M to be signed, the public key of another signature generation terminal, the private key s i stored in the signature generation terminal i and the common parameter, and the random number component generated internally by the signature generation terminal i. Alternatively, signature generation is performed based on the “signature generation means” in the second configuration example, and (M, S, y, b, c 1 , d 1 ,..., C L , d L , k 1 ,. ) On the network 600 as a signed document.

なお、署名付き文書に含まれる公開鍵k1,…,kLの代わりに、対応する署名生成端末の識別情報ID1,…,IDLを添付することも可能である。あるいは、公開鍵と識別情報の両方を付加してもよい。 Incidentally, the public key k 1 included in the signed document, ..., instead of k L, identification information ID 1 of the corresponding signature generation terminal, ..., it is also possible to attach the ID L. Alternatively, both a public key and identification information may be added.

(署名検証手順)
署名検証端末603は、ネットワーク600を通して署名付き文書(M,S,y,b,c1,d1,…,cL,dL,k1,…,kL)を入手する。
(Signature verification procedure)
The signature verification terminal 603 obtains a signed document (M, S, y, b, c 1 , d 1 ,..., C L , d L , k 1 ,..., K L ) through the network 600.

署名検証端末603は、認証極601に問い合わせを行い、公開鍵k1,…,kLに対応する署名生成端末の識別情報ID1,…,IDLを入手する。あるいは、署名付き文書に公開鍵k1,…,kLの代わりに、識別情報ID1,…,IDLが付加されている場合には、認証極601に問い合わせを行い識別情報ID1,…,IDLに対応する署名生成端末の公開鍵k1,…,kLを入手する。 Signature verification terminals 603, queries the authentication poles 601, public key k 1, ..., identification information ID 1 of the signature generation terminal corresponding to k L, ..., to obtain the ID L. Alternatively, when identification information ID 1 ,..., ID L is added to the signed document instead of the public keys k 1 ,..., K L , an inquiry is made to the authentication pole 601 and the identification information ID 1 ,. , ID L corresponding to the public key k 1 ,..., K L of the signature generation terminal.

次に、署名検証端末603は、第1又は第2の構成例の「署名検証手段」に基づいて署名付き文書の正当性を検証する。検査に合格の場合には、署名付き文書が識別情報ID1,…,IDLに対応するL個の署名生成端末のうちのいずれかにより生成されたとして署名を受理する。検査に不合格の場合には、署名を棄却する。 Next, the signature verification terminal 603 verifies the validity of the signed document based on the “signature verification unit” of the first or second configuration example. When the inspection is passed, the signature is accepted on the assumption that the signed document has been generated by one of L signature generation terminals corresponding to the identification information ID 1 ,..., ID L. If the inspection fails, the signature will be rejected.

以上の署名検証処理は、署名生成端末との通信を必要とせず、また、署名検証処理に合格する場合においても、いずれの署名生成端末が署名を生成したかの特定は困難である。   The above signature verification process does not require communication with the signature generation terminal, and even when the signature verification process passes, it is difficult to specify which signature generation terminal has generated the signature.

(確認及び否認プロトコル)
署名検証端末603がある署名生成端末(署名生成端末i)が署名付き文書(M,S,y,b,c1,d1,…,cL,dL,k1,…,kL)を生成したか否かを確認する方法について説明する。
(Confirmation and denial protocol)
A signature generation terminal (signature generation terminal i) having a signature verification terminal 603 is a signed document (M, S, y, b, c 1 , d 1 ,..., C L , d L , k 1 ,..., K L ). A method for confirming whether or not has been generated will be described.

署名検証端末603は、署名生成端末iに向けて確認及び否認プロトコルの実行依頼と署名付き文書のうち(M,S)を送信する。   The signature verification terminal 603 transmits the confirmation and denial protocol execution request and (M, S) of the signed documents to the signature generation terminal i.

署名生成端末iは第1又は第2の構成例の「確認及び否認プロトコル」に基づいて、(M,S)が自らの秘密鍵に基づいて生成された署名である場合には、確認プロトコルを、そうでない場合には、否認プロトコルを、署名検証装置603との間で実行する。   Based on the “confirmation and denial protocol” in the first or second configuration example, the signature generation terminal i determines the confirmation protocol when (M, S) is a signature generated based on its own private key. Otherwise, a denial protocol is executed with the signature verification device 603.

なお、公開鍵は必要に応じて取得できればよく、認証極を用いない構成も可能である。   Note that the public key only needs to be acquired as necessary, and a configuration without using an authentication pole is also possible.

なお、以上の各機能は、ハードウェアとしても実現可能であるし、ソフトウェアとして記述し適当な機構をもったコンピュータに処理させても実現可能である。
また、本実施形態は、コンピュータに所定の手順を実行させるための、あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるためのプログラムとして実施することもできる。加えて該プログラムを記録したコンピュータ読取り可能な記録媒体として実施することもできる。
Each of the above functions can be realized as hardware, or can be realized by processing as a software and a computer having an appropriate mechanism.
The present embodiment can also be implemented as a program for causing a computer to execute a predetermined procedure, causing a computer to function as a predetermined means, or causing a computer to realize a predetermined function. In addition, the present invention can be implemented as a computer-readable recording medium on which the program is recorded.

なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。   Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.

本発明の一実施形態に係るデジタル署名情報生成装置の構成例を示す図The figure which shows the structural example of the digital signature information generation apparatus which concerns on one Embodiment of this invention. 同実施形態に係る署名生成処理手順の一例を示すフローチャートA flowchart showing an example of a signature generation processing procedure according to the embodiment 同実施形態に係る署名検証装置の構成例を示す図FIG. 3 is a diagram showing a configuration example of a signature verification apparatus according to the embodiment. 同実施形態に係る署名検証処理手順の一例を示すフローチャートA flowchart showing an example of a signature verification processing procedure according to the embodiment 同実施形態に係るデジタル署名システムの構成例を示す図FIG. 3 is a diagram illustrating a configuration example of a digital signature system according to the embodiment. 同実施形態に係る認証極により保存及び公開される識別情報及び公開鍵のリストの構成例を示す図A diagram showing a configuration example of a list of identification information and public keys stored and disclosed by the authentication pole according to the embodiment 否認不可署名の鍵の生成手順を示すフローチャートFlowchart showing the non-repudiation signature key generation procedure 否認不可署名の生成手順を示すフローチャートFlow chart showing the non-repudiation signature generation procedure 検証装置(署名検証装置)における否認不可署名の検証手順を示すフローチャートThe flowchart which shows the verification procedure of the non-repudiation signature in a verification apparatus (signature verification apparatus) 署名装置(デジタル署名情報生成装置)における否認不可署名の検証手順を示すフローチャートThe flowchart which shows the verification procedure of the non-repudiation signature in a signature apparatus (digital signature information generation apparatus) 検証装置(署名検証装置)における否認不可署名の確認手順を示すフローチャートThe flowchart which shows the confirmation procedure of the non-repudiation signature in a verification apparatus (signature verification apparatus) 署名装置(デジタル署名情報生成装置)における否認不可署名の確認手順を示すフローチャートThe flowchart which shows the confirmation procedure of the non-repudiation signature in a signature apparatus (digital signature information generation apparatus) 検証装置(署名検証装置)における否認不可署名の否認手順を示すフローチャートFlowchart showing a non-repudiation signature non-repudiation procedure in the verification device (signature verification device) 署名装置(デジタル署名情報生成装置)における否認不可署名の否認手順を示すフローチャートFlowchart showing a non-repudiation signature non-repudiation procedure in a signature device (digital signature information generation device)

符号の説明Explanation of symbols

201,401…演算器、202…乱数生成器、203…乱数メモリ、204…秘密鍵メモリ、205…署名生成部、206,406…入出力部、207〜209,407〜409…ランダム関数演算部、211,411…制御部、212,412…メモリ、600…ネットワーク、601…認証局、6021〜602…署名生成端末、603…署名検証端末 201, 401 ... arithmetic unit, 202 ... random number generator, 203 ... random number memory, 204 ... secret key memory, 205 ... signature generation unit, 206, 406 ... input / output unit, 207-209, 407-409 ... random function calculation unit , 211, 411 ... control unit, 212, 412 ... memory, 600 ... network, 601 ... certificate authority, 602 1 to 602 L ... signature generation terminal, 603 ... signature verification terminal

Claims (9)

署名対象のデータを入力する入力手段と、
前記データに対する署名者となる第1のユーザの秘密鍵を記憶する記憶手段と、
前記第1のユーザ以外の第2のユーザの公開鍵の全部又は一部を取得する取得手段と、
前記データ及び前記秘密鍵を用いて、個々の前記第2のユーザが前記データに対する署名者であることを否認することを可能にする第1の情報を生成する第1の生成手段と、
前記公開鍵の全部又は一部及び前記秘密鍵を用いて、前記第1の情報が前記秘密鍵を用いて生成されたことを保証するための第2の情報を生成する第2の生成手段と、
前記第1の情報及び前記第2の情報を含むデジタル署名情報を出力する出力手段とを備えたことを特徴とするデジタル署名情報生成装置。
An input means for inputting data to be signed;
Storage means for storing a secret key of a first user who is a signer of the data;
Obtaining means for obtaining all or part of public keys of second users other than the first user;
First generation means for generating first information using the data and the secret key to allow each of the second users to deny that the second user is a signer of the data;
Second generation means for generating second information for guaranteeing that the first information is generated using the secret key by using all or part of the public key and the secret key; ,
An apparatus for generating digital signature information, comprising: output means for outputting digital signature information including the first information and the second information.
前記出力手段は、前記デジタル署名情報に、前記第2の情報の生成に用いた公開鍵又はこれらを特定可能な情報を含む第3の情報をも含めて出力するものであることを特徴とする請求項1に記載のデジタル署名情報生成装置。   The output means outputs the digital signature information including a public key used for generating the second information or third information including information that can identify them. The digital signature information generation apparatus according to claim 1. 前記第1の生成手段及び前記第2の生成手段は、前記第1の情報及び前記第2の情報の生成に乱数をも用いるものであることを特徴とする請求項1または2に記載のデジタル署名情報生成装置。   3. The digital according to claim 1, wherein the first generation unit and the second generation unit also use random numbers for generation of the first information and the second information. Signature information generation device. 前記データは、前記第1の情報及び前記第2の情報を用いて検証されるものであることを特徴とする請求項1ないし3のいずれか1項に記載のデジタル署名情報生成装置。   4. The digital signature information generation apparatus according to claim 1, wherein the data is verified using the first information and the second information. 5. 前記第2の情報は、非対話零知識証明を用いて検証されるものであることを特徴とする請求項1ないし3のいずれか1項に記載のデジタル署名情報生成装置。   4. The digital signature information generation apparatus according to claim 1, wherein the second information is verified using a non-interactive zero knowledge proof. 5. 前記第2の生成手段は、前記第2の情報を生成するにあたって、前記公開鍵の全部を用いる方法、前記公開鍵のうちから予め定められた数を選択して用いる方法、又は使用すべき公開鍵の数を決定し、前記公開鍵のうちから当該決定された数を選択して用いる方法のいずれかを採るものであることを特徴とする請求項1ないし3のいずれか1項に記載のデジタル署名情報生成装置。   The second generation means generates the second information by using all of the public keys, a method of selecting and using a predetermined number from the public keys, or a public to be used. 4. The method according to claim 1, wherein the number of keys is determined, and any one of the methods of selecting and using the determined number of the public keys is used. 5. Digital signature information generation device. 前記デジタル署名情報を用いた検証を行う署名検証装置と通信するための手段を更に備えたことを特徴とする請求項1ないし6のいずれか1項に記載のデジタル署名情報生成装置。   7. The digital signature information generation apparatus according to claim 1, further comprising means for communicating with a signature verification apparatus that performs verification using the digital signature information. 署名対象のデータを入力するステップと、
前記データ及び前記データに対する署名者となる第1のユーザの秘密鍵を用いて、前記第1のユーザ以外の個々の第2のユーザが前記データに対する署名者であることを否認することを可能にする第1の情報を生成するステップと、
前記第1のユーザ以外の第2のユーザの公開鍵の全部又は一部及び前記秘密鍵を用いて、前記第1の情報が前記秘密鍵を用いて生成されたことを保証するための第2の情報を生成するステップと、
前記第1の情報及び前記第2の情報を含むデジタル署名情報を出力するステップとを有することを特徴とするデジタル署名情報生成方法。
Entering the data to be signed,
It is possible to deny that each second user other than the first user is a signer of the data by using the data and a private key of the first user who is a signer of the data. Generating first information to:
Second to ensure that the first information is generated using the secret key by using all or part of the public key of the second user other than the first user and the secret key. Generating information for
And outputting digital signature information including the first information and the second information.
デジタル署名情報生成装置としてコンピュータを機能させるためのプログラムにおいて、
前記プログラムは、
署名対象のデータを入力するステップと、
前記データ及び前記データに対する署名者となる第1のユーザの秘密鍵を用いて、前記第1のユーザ以外の個々の第2のユーザが前記データに対する署名者であることを否認することを可能にする第1の情報を生成するステップと、
前記第1のユーザ以外の第2のユーザの公開鍵の全部又は一部及び前記秘密鍵を用いて、前記第1の情報が前記秘密鍵を用いて生成されたことを保証するための第2の情報を生成するステップと、
前記第1の情報及び前記第2の情報を含むデジタル署名情報を出力するステップとをコンピュータに実行させるものであることを特徴とするプログラム。
In a program for causing a computer to function as a digital signature information generation device,
The program is
Entering the data to be signed,
It is possible to deny that each second user other than the first user is a signer of the data by using the data and a private key of the first user who is a signer of the data. Generating first information to:
Second to ensure that the first information is generated using the secret key by using all or part of the public key of the second user other than the first user and the secret key. Generating information for
A program for causing a computer to execute the step of outputting digital signature information including the first information and the second information.
JP2005014213A 2005-01-21 2005-01-21 Digital signature information generation apparatus, digital signature information generation method and program Active JP4679163B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005014213A JP4679163B2 (en) 2005-01-21 2005-01-21 Digital signature information generation apparatus, digital signature information generation method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005014213A JP4679163B2 (en) 2005-01-21 2005-01-21 Digital signature information generation apparatus, digital signature information generation method and program

Publications (2)

Publication Number Publication Date
JP2006203660A true JP2006203660A (en) 2006-08-03
JP4679163B2 JP4679163B2 (en) 2011-04-27

Family

ID=36961249

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005014213A Active JP4679163B2 (en) 2005-01-21 2005-01-21 Digital signature information generation apparatus, digital signature information generation method and program

Country Status (1)

Country Link
JP (1) JP4679163B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006203754A (en) * 2005-01-24 2006-08-03 Nippon Telegr & Teleph Corp <Ntt> Method of electronic signature with threshold, and apparatus and program using it
JP2011097424A (en) * 2009-10-30 2011-05-12 Ntt Data Corp Electronic signature system and electronic signature method
US8638928B2 (en) 2007-05-25 2014-01-28 Nec Corporation Key exchanging apparatus
CN117240477A (en) * 2023-11-13 2023-12-15 泉州信息工程学院 Digital signature method, system and storage medium based on RSA algorithm

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09298537A (en) * 1996-04-26 1997-11-18 Canon Inc Digital signature system and information communication system using it
JP2004229137A (en) * 2003-01-24 2004-08-12 Canon Inc Linked signature creating method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09298537A (en) * 1996-04-26 1997-11-18 Canon Inc Digital signature system and information communication system using it
JP2004229137A (en) * 2003-01-24 2004-08-12 Canon Inc Linked signature creating method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN7010003667, 須賀 他, "否認機能を持つリング署名方式", 2003年暗号と情報セキュリティシンポジウム, 200301, p.1−5, JP *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006203754A (en) * 2005-01-24 2006-08-03 Nippon Telegr & Teleph Corp <Ntt> Method of electronic signature with threshold, and apparatus and program using it
JP4738003B2 (en) * 2005-01-24 2011-08-03 日本電信電話株式会社 Signature system, signing method
US8638928B2 (en) 2007-05-25 2014-01-28 Nec Corporation Key exchanging apparatus
JP2011097424A (en) * 2009-10-30 2011-05-12 Ntt Data Corp Electronic signature system and electronic signature method
CN117240477A (en) * 2023-11-13 2023-12-15 泉州信息工程学院 Digital signature method, system and storage medium based on RSA algorithm
CN117240477B (en) * 2023-11-13 2024-02-23 泉州信息工程学院 Digital signature method, system and storage medium based on RSA algorithm

Also Published As

Publication number Publication date
JP4679163B2 (en) 2011-04-27

Similar Documents

Publication Publication Date Title
US9967239B2 (en) Method and apparatus for verifiable generation of public keys
JP5201136B2 (en) Anonymous authentication system and anonymous authentication method
US8856524B2 (en) Cryptographic methods, host system, trusted platform module, computer arrangement, computer program product and computer program
US7590850B2 (en) Digital signature method based on identification information of group members, and method of acquiring identification information of signed-group member, and digital signature system for performing digital signature based on identification information of group members
JP4692284B2 (en) Group signature system, method, apparatus, and program
JP4932168B2 (en) New fair blind signing process
US8041944B2 (en) Group signature system and information processing method
CN106789087B (en) Method and system for determining data digest of message and multi-party-based digital signature
Camenisch et al. An identity escrow scheme with appointed verifiers
JP2022532578A (en) Methods and equipment for public key management using blockchain
JP4679163B2 (en) Digital signature information generation apparatus, digital signature information generation method and program
WO2021213959A1 (en) (ec)dsa threshold signature with secret sharing
CN116346336B (en) Key distribution method based on multi-layer key generation center and related system
JP3513324B2 (en) Digital signature processing method
CN114090649A (en) Chameleon hash function-based message searching method, system, device and medium
JP4146252B2 (en) Anonymous communication method capable of identifying unauthorized persons, user device used in the method, and relay server device
JP3484069B2 (en) Secret information authentication method, joint polynomial authentication method, and recording medium recording the authentication program
JP5486454B2 (en) Digital signature / verification system, digital signature / verification method, signature apparatus, verification apparatus, and program thereof
JP3331329B2 (en) Public verification possible request restoration blind signature method, apparatus and program recording medium
Tom et al. Performance and Security of Group Signature in Wireless Networks
Lee Cryptanalysis of Zhu et al.’s Identity-Based Encryption with Equality Test without Random Oracles
JP2000231330A (en) Blind signature method, system therefor, and device and program recording medium therefor
Wei et al. A New Type of Designated Confirmer Signatures for a Group of Individuals.
JP3285190B2 (en) Scope authentication method
JPH09298538A (en) Security authentication method and system therefor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101217

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110201

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350