JP2010171600A - Apparatus for generation and verification of signature data - Google Patents
Apparatus for generation and verification of signature data Download PDFInfo
- Publication number
- JP2010171600A JP2010171600A JP2009010993A JP2009010993A JP2010171600A JP 2010171600 A JP2010171600 A JP 2010171600A JP 2009010993 A JP2009010993 A JP 2009010993A JP 2009010993 A JP2009010993 A JP 2009010993A JP 2010171600 A JP2010171600 A JP 2010171600A
- Authority
- JP
- Japan
- Prior art keywords
- data
- signature
- verification
- hash
- generation
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
Description
暗号化処理によって電子署名用のデータを生成する署名データ生成技術、生成された電子署名用のデータを用いて検証を行う検証技術に関する。 The present invention relates to a signature data generation technique for generating data for electronic signature by encryption processing, and a verification technique for performing verification using the generated data for electronic signature.
任意の電子データの本人確認や偽造・改竄防止を目的として、対象となる電子データ(以下、「平文データ」という)に対し電子署名のデータ(以下、「署名データ」という)を生成し、電子署名データを用いて検証する電子署名技術が提案されている。従来、一つの平文データから一つの署名データが生成され、平文データと署名データとが1対1に対応づけて取り扱われていた。このため、署名の生成時間が平文のデータ数に比例してかかることになり、このような従来の電子署名技術では複数の平文データを検証するためには、平文データと同数の署名データを検証することが必要となり、平文データ数の増大に伴って検証に必要となるデータのサイズや検証時間が増大してしまうという問題が生じていた。 Generates electronic signature data (hereinafter referred to as “signature data”) for the target electronic data (hereinafter referred to as “plaintext data”) for the purpose of verifying the identity of any electronic data and preventing counterfeiting / falsification. An electronic signature technique for verifying using signature data has been proposed. Conventionally, one signature data is generated from one plaintext data, and the plaintext data and the signature data are handled in a one-to-one correspondence. For this reason, the signature generation time is proportional to the number of plaintext data. In order to verify multiple plaintext data with such conventional digital signature technology, the same number of signature data as the plaintext data is verified. As the number of plaintext data increases, the size of data required for verification and the verification time increase.
例えば、平文データのサイズが100byteであり、署名データのサイズが128byteである場合、平文データがn個になるとこれに応じて署名データの総量が128×n(byte)となり、n個の平文データの全てを検証するために必要となるデータサイズは(100+128)×n(byte)となっていた。また、電子署名の検証に要するデータを生成するのに要する時間は、署名生成時間×n+ハッシュデータ生成時間×nであり、ハッシュデータ生成時間が1ミリ秒程度であるとすると、署名生成時間は500ミリ秒程度となっていた。 For example, when the size of plaintext data is 100 bytes and the size of signature data is 128 bytes, when the number of plaintext data becomes n, the total amount of signature data becomes 128 × n (bytes) accordingly, and n plaintext data The data size necessary for verifying all of the above was (100 + 128) × n (bytes). Also, the time required to generate the data required for verification of the electronic signature is signature generation time × n + hash data generation time × n, and if the hash data generation time is about 1 millisecond, the signature generation time is It was about 500 milliseconds.
このような問題に対し、複数の平文データに対し一つの署名データを生成する技術が提案されている(特許文献1参照)。この技術によれば、複数の平文データを用いて一つの署名データが生成される。そのため、平文データ数が増大したとしても、必要となる署名データ数は一つのままで増大しない。例えば、上記のように平文データのサイズが100byteであり署名データのサイズが128byteである場合、平文データがn個になったとしても署名データの総量は128byteであり、n個の平文データの全てを検証するために必要となるデータサイズは100×n+128(byte)であった。 To solve such a problem, a technique for generating one signature data for a plurality of plaintext data has been proposed (see Patent Document 1). According to this technique, one signature data is generated using a plurality of plain text data. Therefore, even if the number of plaintext data increases, the required number of signature data remains one and does not increase. For example, as described above, when the size of plaintext data is 100 bytes and the size of signature data is 128 bytes, the total amount of signature data is 128 bytes even if there are n plaintext data, and all of the n pieces of plaintext data The data size required for verifying is 100 × n + 128 (bytes).
しかしながら、上記の従来技術では、署名データを用いて一の平文データを検証する場合に、この署名データの生成に際して使用された他の平文データを用いる必要がある。そのため、他の平文データを検証以外の目的では必要としない装置に対しても他の平文データを開示する必要があったため、他の平文データのセキュリティの低下を招いてしまうという問題があった。 However, in the above-described conventional technology, when one plaintext data is verified using the signature data, it is necessary to use other plaintext data used when generating the signature data. Therefore, it is necessary to disclose other plaintext data even to an apparatus that does not require other plaintext data for purposes other than verification, and this causes a problem of reducing the security of other plaintext data.
上記事情に鑑み、本発明は、複数の平文データについて電子署名を用いた署名生成時間や検証に要するデータの総量や検証時間を削減するとともに、一の平文データの検証の際に他の平文データを用いることを不要とすることが可能となる署名データ生成技術、署名データ記録媒体、この署名データ生成技術によって生成された署名データを用いて検証を行う検証技術、このような技術を用いたシステムを提供することを目的としている。 In view of the above circumstances, the present invention reduces the signature generation time using electronic signatures for a plurality of plaintext data, the total amount of data required for verification, and the verification time, and other plaintext data when verifying one plaintext data Signature data generation technology, signature data recording medium, verification technology for verification using signature data generated by this signature data generation technology, and system using such technology The purpose is to provide.
本発明の一態様は、署名データ生成装置であって、署名を生成するための署名生成鍵を記憶する署名生成鍵記憶部と、複数の平文データを入力する平文データ入力部と、前記複数の平文データそれぞれに対し、ハッシュ計算を行いハッシュデータを生成するハッシュデータ生成部と、前記複数の平文データそれぞれに対し、前記ハッシュデータ生成部で生成された当該平文データに対応する前記ハッシュデータ以外の全てのハッシュデータの排他的論理和を算出し当該平文データの補助データを生成する補助データ生成部と、前記ハッシュデータ生成部で生成した全てのハッシュデータの排他的論理和を算出することによって署名用ビット列を生成し、前記署名生成鍵記憶部に記憶されている署名生成鍵を用いて署名用ビット列を署名し、署名データを生成する署名データ生成部と、前記署名データと、前記複数の平文データと、前記平文データに対応づけられた補助データとを出力するデータ出力部と、を備える。 One aspect of the present invention is a signature data generation apparatus, which includes a signature generation key storage unit that stores a signature generation key for generating a signature, a plaintext data input unit that inputs a plurality of plaintext data, For each plaintext data, a hash data generation unit that performs hash calculation and generates hash data, and for each of the plurality of plaintext data, other than the hash data corresponding to the plaintext data generated by the hash data generation unit An auxiliary data generation unit that calculates exclusive OR of all hash data and generates auxiliary data of the plaintext data, and a signature by calculating exclusive OR of all hash data generated by the hash data generation unit A signature bit string is generated using a signature generation key stored in the signature generation key storage unit. Comprising a signature data generating unit for generating data, and the signature data, the plurality of plaintext data, and a data output unit for outputting the auxiliary data corresponding to the plaintext data.
本発明の一態様は、検証装置であって、上記の署名データ生成装置によって生成された前記署名データ及び前記補助データと、当該補助データに対応する前記平文データと、を入力するデータ入力部と、上記の署名データ生成装置によって記憶される前記署名生成鍵に対応する署名検証鍵を記憶する署名検証鍵記憶部と、前記データ入力部によって入力された前記平文データに対してハッシュ計算を行いハッシュデータを生成するハッシュデータ生成部と、前記データ入力部によって入力された前記補助データと、前記ハッシュデータ生成部によって生成された前記ハッシュデータとの排他的論理和を算出することによって、比較用ビット列を生成する比較用ビット列生成部と、前記データ入力部によって入力された前記署名データに対し、前記署名検証鍵記憶部に記憶される署名検証鍵を用いた復元処理を行い、検証用ビット列を生成する検証用ビット列生成部と、前記検証用ビット列と前記比較用ビット列とを比較し、前記平文データと前記署名データとの関連性を検証する検証部と、を備える。 One aspect of the present invention is a verification apparatus, and a data input unit that inputs the signature data and the auxiliary data generated by the signature data generation apparatus, and the plaintext data corresponding to the auxiliary data; A signature verification key storage unit that stores a signature verification key corresponding to the signature generation key stored by the signature data generation device, and a hash calculation by performing a hash calculation on the plaintext data input by the data input unit A comparison bit string by calculating an exclusive OR of the hash data generation unit for generating data, the auxiliary data input by the data input unit, and the hash data generated by the hash data generation unit A comparison bit string generation unit for generating the signature data input by the data input unit, Performing a restoration process using a signature verification key stored in the signature verification key storage unit, generating a verification bit string, comparing the verification bit string and the comparison bit string, and A verification unit that verifies relevance between the data and the signature data.
本発明の一態様は、署名データ記録媒体であって、上記の署名データ生成装置によって生成された前記署名データを記憶する署名データ記憶領域と、前記署名データ生成装置によって生成された複数の前記補助データそれぞれを、対応する前記平文データと対応づけて記憶する実データ記憶領域と、を有する。 One aspect of the present invention is a signature data recording medium, the signature data storage area storing the signature data generated by the signature data generation device, and the plurality of auxiliary data generated by the signature data generation device An actual data storage area for storing each data in association with the corresponding plaintext data.
本発明の一態様は、署名データを記憶する署名データ記録媒体と、前記署名データの検証を行う複数の検証装置とを含む署名検証システムにおいて、前記署名データ記録媒体は、上記の署名データ生成装置によって生成された前記署名データを、いずれの検証装置からも読み出し可能に記憶する署名データ記憶領域と、前記署名データ生成装置によって生成された複数の前記補助データそれぞれを、対応する前記平文データと対応づけて記憶し、各平文データを所定の検証装置からのみ読み出し可能にする実データ記憶領域と、を有し、前記検証装置は、前記署名データと、自装置が読み出し可能な前記平文データと、当該平文データに対応する前記補助データと、を前記署名データ記録媒体から入力するデータ入力部と、上記の署名データ生成装置によって記憶される前記署名生成鍵に対応する署名検証鍵を記憶する署名検証鍵記憶部と、前記データ入力部によって入力された前記平文データに対してハッシュ計算を行いハッシュデータを生成するハッシュデータ生成部と、前記データ入力部によって入力された前記補助データと、前記ハッシュデータ生成部によって生成された前記ハッシュデータとの排他的論理和を算出することによって、比較用ビット列を生成する比較用ビット列生成部と、前記データ入力部によって入力された前記署名データに対し、前記署名検証鍵記憶部に記憶される署名検証鍵を用いた復元処理を行い、検証用ビット列を生成する検証用ビット列生成部と、前記検証用ビット列と前記比較用ビット列とを比較し、前記平文データと前記署名データとの関連性を検証する検証部と、を備える。 One aspect of the present invention is a signature verification system including a signature data recording medium for storing signature data and a plurality of verification devices for verifying the signature data, wherein the signature data recording medium is the signature data generation device described above The signature data generated by the signature data storage area for storing the signature data so as to be readable from any verification device, and each of the auxiliary data generated by the signature data generation device corresponds to the corresponding plaintext data. And an actual data storage area that allows each plaintext data to be read only from a predetermined verification device, and the verification device includes the signature data and the plaintext data that can be read by the device itself, A data input unit for inputting the auxiliary data corresponding to the plaintext data from the signature data recording medium; and the signature data A signature verification key storage unit that stores a signature verification key corresponding to the signature generation key stored by the generation device, and a hash that generates hash data by performing a hash calculation on the plaintext data input by the data input unit For comparison, a bit string for comparison is generated by calculating an exclusive OR between the data generation unit, the auxiliary data input by the data input unit, and the hash data generated by the hash data generation unit Bit string generation unit and verification bit string generation for generating a verification bit string by performing restoration processing using the signature verification key stored in the signature verification key storage unit on the signature data input by the data input unit The verification bit string and the comparison bit string, and the plaintext data and the signature data And a verification unit for verifying the communication properties.
本発明の一態様は、署名データを記憶する署名データ記録媒体と、前記署名データの検証を行う複数の検証装置とを含む署名検証システムにおいて、前記署名データ記録媒体は、上記の署名データ生成装置によって生成された前記署名データを、いずれの検証装置からも読み出し可能に記憶する署名データ記憶領域を有し、前記検証装置は、予め前記署名データ生成装置から読み出した平文データと、当該平文データに対応した前記補助データと、を記憶する平文データ/補助データ記憶部と、前記署名データを前記署名データ記録媒体から入力し、前記平文データと、当該平文データに対応する前記補助データと、を前記平文データ/補助データ記憶部から入力するデータ入力部と、上記の署名データ生成装置によって記憶される前記署名生成鍵に対応する署名検証鍵を記憶する署名検証鍵記憶部と、前記データ入力部によって入力された前記平文データに対してハッシュ計算を行いハッシュデータを生成するハッシュデータ生成部と、前記データ入力部によって入力された前記補助データと、前記ハッシュデータ生成部によって生成された前記ハッシュデータとの排他的論理和を算出することによって、比較用ビット列を生成する比較用ビット列生成部と、前記データ入力部によって入力された前記署名データに対し、前記署名検証鍵記憶部に記憶される署名検証鍵を用いた復元処理を行い、検証用ビット列を生成する検証用ビット列生成部と、前記検証用ビット列と前記比較用ビット列とを比較し、前記平文データと前記署名データとの関連性を検証する検証部と、を備える。 One aspect of the present invention is a signature verification system including a signature data recording medium for storing signature data and a plurality of verification devices for verifying the signature data, wherein the signature data recording medium is the signature data generation device described above A signature data storage area for storing the signature data generated by the verification device so that the signature data can be read from any verification device, and the verification device stores the plaintext data previously read from the signature data generation device and the plaintext data. The plaintext data / auxiliary data storage unit for storing the corresponding auxiliary data, the signature data is input from the signature data recording medium, and the plaintext data and the auxiliary data corresponding to the plaintext data are A data input unit input from the plaintext data / auxiliary data storage unit and the signature stored by the signature data generation device A signature verification key storage unit that stores a signature verification key corresponding to the generated key; a hash data generation unit that generates hash data by performing a hash calculation on the plaintext data input by the data input unit; and the data input A comparison bit string generation unit that generates a comparison bit string by calculating an exclusive OR of the auxiliary data input by the unit and the hash data generated by the hash data generation unit, and the data input A verification bit string generation unit that performs a restoration process using a signature verification key stored in the signature verification key storage unit and generates a verification bit string, and the verification bit string; A verification unit that compares the bit string for comparison and verifies the relationship between the plaintext data and the signature data.
本発明は、コンピュータを、上述した署名データ生成装置又は検証装置として動作させるためのコンピュータプログラムとして特定されても良い。また、本発明は、上述した署名データ生成装置又は検証装置として機能するコンピュータが行う署名データ生成方法又は検証方法として特定されても良い。 The present invention may be specified as a computer program for causing a computer to operate as the signature data generation device or the verification device described above. The present invention may also be specified as a signature data generation method or verification method performed by a computer functioning as the signature data generation device or verification device described above.
本発明により、生成される署名データの数が一つとなるため複数の平文データについて電子署名を用いた署名生成時間や検証に要するデータの総量や検証時間を削減することが可能となるとともに、一の平文データの検証の際に他の平文データを用いることを不要とすることすることが可能となる。 According to the present invention, since the number of signature data to be generated is one, it is possible to reduce the signature generation time using the digital signature for a plurality of plaintext data, the total amount of data required for verification, and the verification time. It is possible to make it unnecessary to use other plaintext data when verifying the plaintext data.
[署名データ生成装置]
図1は、署名データ生成装置1の機能構成を表す概略ブロック図である。署名データ生成装置1は、平文データ入力部101、ハッシュデータ生成部102、補助データ生成部103、署名生成鍵記憶部104、署名データ生成部105、データ出力部106を備える。
[Signature data generator]
FIG. 1 is a schematic block diagram illustrating a functional configuration of the signature
平文データ入力部101は、電子署名の対象となるデータ(以下、「平文データ」という)を署名データ生成装置1に複数入力する。
The plaintext
ハッシュデータ生成部102は、平文データ毎にハッシュデータを生成する。具体的には、各平文データのハッシュデータは、例えばMD2(Message Digest Algorithm 2)、MD4、MD5、SHA(Secure Hash Algorithm)等のアルゴリズムを適用することによって生成できる。
The hash
補助データ生成部103は、ハッシュデータ生成部102によって算出されたハッシュデータに基づいて、各平文データに対応する補助データを生成する。具体的には、補助データ生成部103は、ある平文データの補助データを算出する場合、当該平文データを除く全ての平文データのハッシュデータの排他的論理和を算出し、算出された値を補助データとする。なお、全ての平文データとは、平文データ入力部101によって入力されたひとまとまりの平文データのことを表す。補助データの生成処理の詳細については後述する。
The auxiliary
署名生成鍵記憶部104は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成され、電子署名のデータ(以下、「署名データ」という)を生成する際に用いられる署名生成鍵のデータを記憶する。ここで、署名生成鍵は例えば公開鍵暗号方式の一方の鍵である秘密鍵である。
The signature generation
署名データ生成部105は、全ての平文データのハッシュデータと署名生成鍵記憶部104に記憶される署名生成鍵とに基づいて、全ての平文データに共通する署名データを生成する。具体的には、署名データ生成部105は、全ての平文データのハッシュデータの排他的論理和を算出し、算出結果に対し署名生成鍵を用いた署名生成処理を行うことによって署名データを生成する。署名生成処理は、例えばRSA(Rivest Shamir Adleman)、DSA(Digital Signature Algorithm)、ECDSA(Elliptic Curve Digital Signature Algorithm)等のアルゴリズムを適用することによって行うことができる。署名データの生成処理の詳細については後述する。
The signature
データ出力部106は、平文データと、署名データ生成部105によって生成された署名データと、補助データ生成部103によって生成された複数の補助データとを出力する。このとき、データ出力部106は、各平文データと各補助データとを対応づけて出力する。
The
図2は、署名データ生成装置1の動作例を表すフローチャートである。以下、図2を用いて署名データ生成装置1の動作例について説明する。まず、平文データ入力部101がn個の平文データM(i)を入力する(ステップS101)。なお、iは1〜nの整数であり、nは2以上の整数である。
FIG. 2 is a flowchart showing an operation example of the signature
次に、ハッシュデータ生成部102が、入力された各平文データM(i)のハッシュデータm(i)を生成する(ステップS102)。次に、補助データ生成部103が、補助データ生成処理を実行し、各平文データに対応する補助データを生成する(ステップS103)。
Next, the hash
図3は、補助データ生成処理の内容を表すフローチャートである。以下、図3を用いて補助データ生成部103が実行する補助データ生成処理について説明する。
FIG. 3 is a flowchart showing the contents of the auxiliary data generation process. Hereinafter, auxiliary data generation processing executed by the auxiliary
まず、補助データ生成部103は、変数jを生成し、“1”を代入することによって初期化する(ステップS201)。次に、補助データ生成部103は、変数kとビット列xを生成し初期化する(ステップS202)。具体的には、補助データ生成部103は、変数kに1を代入して初期化する。また、補助データ生成部103は、ハッシュデータ生成部102によって生成されるハッシュデータと同じ桁数のビット列xを生成し、全てのビットに“0”を代入して初期化する。
First, the auxiliary
次に、補助データ生成部103は、変数jと変数kとの値が一致するか否か判定する(ステップS203)。変数jと変数kとの値が一致しない場合(ステップS203−YES)、補助データ生成部103は、ビット列xとハッシュデータm(k)との排他的論理和を算出し、算出結果をビット列xに代入する(ステップS204)。
Next, the auxiliary
ステップS204の処理の後、又はステップS203において変数jと変数kとの値が一致する場合(ステップS203−NO)、補助データ生成部103は変数kの値をインクリメントする(ステップS205)。次に、補助データ生成部103は、変数kの値が、入力された平文データの数nよりも大きいか否か判定する(ステップS206)。変数kの値がn以下である場合(ステップS206−NO)、補助データ生成部103は、変数kの値がnよりも大きくなるまでステップS203〜ステップS206の処理を繰り返し実行する。
After the process of step S204, or when the values of variable j and variable k match in step S203 (step S203—NO), auxiliary
一方、ステップS206において変数kの値がnよりも大きい場合(ステップS206−YES)、補助データ生成部103は、この時点のビット列xの値を平文データM(j)に対応する補助データN(j)の値として決定し、補助データN(j)にビット列xを代入する(ステップS207)。次に、補助データ生成部103は、変数jの値をインクリメントする(ステップS208)。次に、補助データ生成部103は、変数jの値がnよりも大きいか否か判定する(ステップS209)。変数jの値がn以下である場合(ステップS209−NO)、補助データ生成部103は、変数jの値がnよりも大きくなるまでステップS202〜ステップS209の処理を繰り返し実行し、各平文データM(i)に対応する補助データN(i)を算出する。そして、ステップS209において変数jの値がnよりも大きい場合(ステップS209−YES)、補助データ生成部103は補助データ生成処理を終了する。
On the other hand, when the value of the variable k is larger than n in step S206 (step S206—YES), the auxiliary
図4は、補助データ生成処理の具体例を表す概略図である。図4(a)は、三つの平文データとハッシュデータとの関係を表す図である。補助データ生成処理が実行される際には、各平文データM(1)〜M(3)から、それぞれハッシュデータm(1)〜m(3)がハッシュデータ生成部102によって生成されている。図4(b)は、三つの平文データそれぞれに対応する補助データの具体例を表す図である。平文データM(1)に対応する補助データN(1)は、他の全ての平文データM(2)及びM(3)のハッシュデータm(2)とm(3)との排他的論理和として算出される。平文データM(2)に対応する補助データN(2)及び平文データM(3)に対応する補助データN(3)もそれぞれ同様に、ハッシュデータm(3)とハッシュデータm(1)との排他的論理和、ハッシュデータm(1)とハッシュデータm(2)との排他的論理和として算出される。
FIG. 4 is a schematic diagram illustrating a specific example of auxiliary data generation processing. FIG. 4A shows the relationship between the three plaintext data and the hash data. When the auxiliary data generation process is executed, hash data m (1) to m (3) are generated by the hash
図2に戻って署名データ生成装置1の処理の流れを説明する。ステップS103において補助データ生成部103が補助データ生成処理を終了すると、署名データ生成部105が署名データ生成処理を実行し、入力された複数の平文データに共通する一つの署名データを生成する(ステップS104)。
Returning to FIG. 2, the processing flow of the signature
図5は、署名データ生成処理の内容を表すフローチャートである。以下、図5を用いて署名データ生成部105が実行する署名データ生成処理について説明する。まず、署名データ生成部105は、変数jを生成し、“1”を代入することによって初期化する(ステップS301)。次に、署名データ生成部105は、ビット列yを生成し初期化する(ステップS302)。具体的には、署名データ生成部105は、ハッシュデータ生成部102によって生成されるハッシュデータと同じ桁数のビット列yを生成し、全てのビットに“0”を代入して初期化する。
FIG. 5 is a flowchart showing the contents of the signature data generation process. Hereinafter, the signature data generation process executed by the signature
次に、署名データ生成部105は、ビット列yとハッシュデータm(j)との排他的論理和を算出し、算出結果をビット列yに代入する(ステップS303)。次に、署名データ生成部105は、変数jの値をインクリメントする(ステップS304)。次に、署名データ生成部105は、変数jの値がnよりも大きいか否か判定する(ステップS305)。変数jの値がn以下である場合(ステップS305−NO)、署名データ生成部105は、変数jの値がnよりも大きくなるまでステップS302〜ステップS305の処理を繰り返し実行する。そして、ステップS305において変数jの値がnよりも大きい場合(ステップS305−YES)、即ちビット列yの値が全てのハッシュデータm(i)の排他的論理和となった場合、署名データ生成部105はこの時点のビット列yの値を署名用ビット列Aの値として決定し、署名用ビット列Aにビット列yを代入する(ステップS306)。このとき、必要に応じて署名生成鍵のビット列の長さにあわせるために特定用ビット列Bを連結するパディング処理を行い署名用ビット列Aとしても良い。
Next, the signature
そして、署名データ生成部105は、署名用ビット列Aに対し、署名生成鍵記憶部104に記憶される署名生成鍵を用いた署名生成処理を行うことによって、署名データを生成し(ステップS307)、署名データ生成処理を終了する。
The signature
図6は、署名データ生成処理の具体例を表す概略図である。図6(a)は、三つの平文データとハッシュデータとの関係を表す図である。署名データ生成処理が実行される際には、各平文データM(1)〜M(3)から、それぞれハッシュデータm(1)〜m(3)がハッシュデータ生成部102によって生成されている。図6(b)は、三つの平文データM(1)〜M(3)に対応する署名用ビット列Aの具体例を表す図である。この場合、署名用ビット列Aは、全ての平文データM(1)〜M(3)のハッシュデータm(1)〜m(3)の排他的論理和として算出される。図6(c)は、三つの平文データM(1)〜M(3)に共通する署名データの具体例を表す図である。この図では、パディング処理を行い特定ビット列Bを連結している。
FIG. 6 is a schematic diagram illustrating a specific example of the signature data generation process. FIG. 6A is a diagram illustrating the relationship between three plaintext data and hash data. When the signature data generation process is executed, hash data m (1) to m (3) are generated by the hash
図2に戻って署名データ生成装置1の処理の流れを説明する。ステップS104において署名データ生成部105が署名データ生成処理を終了すると、データ出力部106が平文データ、署名データ及び補助データを出力し(ステップS105)、図2に表されるフローチャート全体の処理が終了する。
Returning to FIG. 2, the processing flow of the signature
このように構成された署名データ生成装置1では、複数の平文データに対し、生成される署名データの数は一つである。また、平文データ毎に補助データが生成されるが、補助データのデータサイズは署名データのデータサイズよりも小さい。そのため、署名データ生成装置1によれば、電子署名の検証に要するデータの総量の、平文データ数の増加に伴う増加率を、従来のように平文データ毎に署名データが生成される場合に比べて小さくすることが可能となり、複数の平文データに対し1つの署名データを用いた検証を行えばよいので、複数の平文データそれぞれに応じて署名データの復元処理を複数回行う必要が無く、複数の平文データの検証に要する時間も短くなる。
In the signature
図7は、電子署名の検証に要するデータの総量の具体例を表す図である。図7の場合、平文データのデータ量は100byte、ハッシュデータのデータ量は20byte(SHA1アルゴリズムが適用された場合のデータ量に相当)、署名データのデータ量は128byte(RSAにおける標準的なデータ量に相当)である。図7において平文データの数が三つの場合、本発明による署名データ生成装置1による電子署名の検証に要するデータの総量は、平文データ(100byte)×3+補助データ(20byte)×3+署名データ(128byte)×1=488byteとなる。一方、従来技術による電子署名の検証に要するデータの総量は、平文データ(100byte)×3+署名データ(128byte)×3=684byteとなる。このように、署名データ生成装置1によれば、電子署名の検証に要するデータの総量は196byte削減され、全体のデータ量に占める削減率(データ量削減率)は28.65%となる。そして、図7から明らかなように、平文データ毎に生成される補助データのデータ量が署名データのデータ量よりも小さいため、データ量削減率は平文データの数の増加に伴って増加する。このように、署名データ生成装置1によれば、複数の平文データについて電子署名を用いた検証に要するデータの総量を削減することが可能となる。
FIG. 7 is a diagram illustrating a specific example of the total amount of data required for verification of an electronic signature. In the case of FIG. 7, the amount of plaintext data is 100 bytes, the amount of hash data is 20 bytes (corresponding to the amount of data when the SHA1 algorithm is applied), the amount of signature data is 128 bytes (standard data amount in RSA) Equivalent). In FIG. 7, when the number of plaintext data is three, the total amount of data required for verification of the electronic signature by the signature
また、署名データ生成装置1では、複数の平文データに共通して一つの署名データが生成されるが、一の平文データを検証する際に他の平文データを必要としない。そのため、一の平文データを検証する装置において、他の平文データを読み出せないように構成することが可能となり、他の平文データのセキュリティの低下を抑止することが可能となる。検証処理の詳細についての説明は、検証装置の説明とともに後述する。なお、一の平文データの電子署名の検証を行う際に、他の平文データから生成されたハッシュデータを用いるが、上述したようにハッシュデータから元の平文データを生成することはできないため、他の平文データのセキュリティが低下することが抑止される。
In the signature
また、署名データ生成装置1では、電子署名の検証に要するデータを生成するのに要する時間は、署名生成時間×1+ハッシュデータ生成時間×n+排他的論理和計算時間×n×nである。これに対し、従来のように平文データ毎に署名データを生成する場合には、電子署名の検証に要するデータを生成するのに要する時間は、署名生成時間×n+ハッシュデータ生成時間×nである。一般的に署名生成時間は排他的論理和計算時間の数万倍となる。例えば、排他的論理和計算時間は0.1ミリ秒程度、ハッシュデータ生成時間は1ミリ秒程度であるとすると、署名生成時間は500ミリ秒程度となる。そのため、署名データ生成装置1では、複数の平文データ毎に署名データの生成を行わず、共通した一つの署名データを生成するため、複数の平文データの電子署名の検証に要するデータの生成時間を従来に比べて大幅に削減することが可能となる。
In the signature
[検証装置]
図8は、署名データ生成装置1によって生成された署名データを用いて電子署名の検証を行う検証装置2の機能構成を表す概略ブロック図である。検証装置2は、データ入力部201、ハッシュデータ生成部202、比較用ビット列生成部203、署名検証鍵記憶部204、検証用ビット列生成部205、検証部206を備える。
[Verification equipment]
FIG. 8 is a schematic block diagram showing a functional configuration of the
データ入力部201は、検証の対象となる平文データ、この平文データに対応する補助データ及び署名データを検証装置2に入力する。
ハッシュデータ生成部202は、署名データ生成装置1のハッシュデータ生成部102と同じアルゴリズムを用いて、検証対象となる平文データのハッシュデータを生成する。
The
The hash
比較用ビット列生成部203は、比較用ビット列として、検証対象となる平文データに対応する補助データと、検証対象となる平文データのハッシュデータとの排他的論理和を算出する。
The comparison bit
署名検証鍵記憶部204は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成され、署名データ生成装置1の署名生成鍵記憶部104に記憶される署名生成鍵に対応する署名検証鍵を記憶する。
The signature verification
検証用ビット列生成部205は、検証の対象となる平文データに対応する署名データに対し、署名検証鍵記憶部204に記憶される署名検証鍵を用いて復元処理を行い、検証用ビット列を生成する。検証用ビット列生成部205の処理からも明らかなように、生成される検証用ビット列は、署名データ生成装置1によって生成される署名用ビット列と同じビット列である。
検証部206は、比較用ビット列生成部203によって生成された比較用ビット列と、検証用ビット列生成部205によって生成された検証用ビット列とを比較することによって、対象となる平文データの電子署名を検証し検証結果を出力する。
The verification bit
The
図9は、検証装置2の動作例を表すフローチャートである。以下、図9を用いて検証装置2の動作例について説明する。図9では、まず、データ入力部201が、検証の対象となる平文データM’(i)、この平文データに対応する補助データN(i)及び署名データを検証装置2に入力する(ステップS401)。
FIG. 9 is a flowchart illustrating an operation example of the
次に、ハッシュデータ生成部202が、検証の対象となる平文データM’(i)のハッシュデータm’(i)を生成する(ステップS402)。次に、比較用ビット列生成部203が、ハッシュデータm’(i)と、検証の対象となる平文データM’(i)に対応する補助データN(i)との排他的論理和を算出し、比較用ビット列A’を生成する(ステップS403)。
Next, the hash
次に、検証用ビット列生成部205が、検証の対象となる平文データM’(i)に対応する署名データに対し署名検証鍵によって復元処理を行い検証用ビット列Aを取得する(ステップS404)。このとき、署名生成時にパディング処理が行われている場合は、復元処理されたビット列から特定ビット列Bを解除し、検証用ビット列Aを取得する。
Next, the verification bit
次に、検証部206が、検証用ビット列Aと比較用ビット列A’とが一致するか否か判定する(ステップS405)。検証用ビット列Aと比較用ビット列A’とが一致する場合(ステップS405−YES)、検証部206は平文データM’及び署名データについての署名検証が成功したと判定する(ステップS406)。即ち、この場合、検証部206は平文データM’(i)が正当な署名データ生成装置1によって署名された平文データM(i)であり、その後改竄がされていないと判定する。一方、検証用ビット列Aと比較用ビット列A’とが一致しない場合(ステップS405−NO)、検証部206は平文データM’及び署名データについての署名検証が失敗したと判定する(ステップS407)。即ち、この場合、検証部206は平文データM’(i)が正当な署名データ生成装置1によって署名されていないか、又は署名後にデータの改竄がなされたと判定する。そして、検証部206が判定結果を出力する(ステップS408)。
Next, the
図10は、検証装置2の処理の概略を表す概略図である。図10(a)は、平文データとハッシュデータとの関係を表す図である。ハッシュデータ生成部202によって、平文データM’(1)からハッシュデータm’(1)が算出される。図10(b)は、比較用ビット列A’の概略を表す図である。平文データM’(1)に対応する補助データN(i)と、ハッシュデータm’(i)との排他的論理和が比較用ビット列A’となる。図10(c)は、署名データと検証用ビット列Aとの関係を表す図である。ここではパディング処理が行われた事例を示しており、署名データが復号化され特定ビット列Bの連結が解除されることによって、検証用ビット列Aが署名データから取り出される。
FIG. 10 is a schematic diagram illustrating an outline of the processing of the
図4、6、10から明らかなように、平文データM(i)とM’(i)とが一致しており、ハッシュデータの算出アルゴリズムが一致しており、署名生成鍵・署名検証鍵が対応していれば、検証用ビット列Aと比較用ビット列A’とは一致する。即ち、平文データが改竄されておらず、正当な署名データ生成装置1によって署名データ及び補助データが生成されていれば、検証用ビット列Aと比較用ビット列A’とは一致する。そのため、上記のような処理を行う検証装置2によれば、複数の平文データに共通する署名データを用いて、他の平文データを用いることなく、一の平文データの電子署名の検証を行うことが可能となる。
As apparent from FIGS. 4, 6, and 10, the plaintext data M (i) and M ′ (i) match, the hash data calculation algorithms match, and the signature generation key / signature verification key is If they correspond, the verification bit string A and the comparison bit string A ′ match. That is, if the plaintext data is not falsified and the signature data and auxiliary data are generated by the valid signature
[適用例]
図11は、署名データ生成装置1によって生成された署名データ及び補助データを用いた署名検証システム4の構成例を表すシステム構成図である。署名検証システム4は、上述した検証装置2を用いて構成される3台の検証装置A〜Cと、記録媒体3とを備える。例えば、検証装置Aは銀行に設置されたATM装置であり、検証装置Bはコンビニエンスストアに設置されたキオスク端末であり、検証装置Cは駅に設置された改札装置である。
[Application example]
FIG. 11 is a system configuration diagram illustrating a configuration example of the signature verification system 4 using the signature data and auxiliary data generated by the signature
図12は、記録媒体3に記憶された各データのアクセス制御の概要を表す図である。以下、記憶媒体3について説明する。記録媒体3は、ICカード等の携帯可能な記録媒体や、RFID(Radio Frequency IDentification)搭載の携帯電話機等を用いて構成され、署名データ記憶領域と実データ記憶領域とを備える。署名データ記憶領域は、署名データ生成装置1によって生成された署名データを記憶し、検証装置A〜Cのいずれもがアクセス可能(読出し可能)に構成される。実データ記憶領域は、複数の平文データM(A)〜M(C)と、各平文データに対応して署名データ生成装置1によって生成された補助データN(A)〜N(C)とを記憶する。実データ記憶領域には読み出し権限が設定されており、平文データM(A)及び補助データN(A)は検証装置Aのみが読み出し可能であり、平文データM(B)及び補助データN(B)は検証装置Bのみが読み出し可能であり、平文データM(C)及び補助データN(C)は検証装置Cのみが読み出し可能である。
例えば、平文データM(A)は、記録媒体3の所有者の銀行口座に関する銀行名、支店名、及び口座番号を表すデータであり、平文データ(B)は、記録媒体3の所有者の氏名及び住所を表すデータであり、平文データ(C)は、電子マネーの残高情報を表すデータである。
FIG. 12 is a diagram illustrating an outline of access control of each data stored in the
For example, the plaintext data M (A) is data representing the bank name, branch name, and account number related to the bank account of the owner of the
署名検証システム4では、各検証装置A〜Cのデータ入力部201は、記録媒体3から署名データ、補助データ、平文データを読み出して入力を行う。なお、データ入力部201は、記録媒体3に記憶されている複数の平文データのうち、自装置が読み出すことが許可されている平文データのみを読み出す。
In the signature verification system 4, the
このように構成された署名検証システム4では、複数の平文データとその電子署名の検証に要するデータの総量を従来に比べて削減できるため、これらのデータを記憶する記録媒体3の使用メモリ量を削減することが可能となる。また、署名検証システム4では、上述した署名データ生成装置1によって電子署名の検証に要するデータを生成するため、複数の平文データの電子署名の検証に要するデータの生成時間を従来に比べて大幅に削減することが可能となる。さらに、署名検証システム4では、複数の平文データに対し1つの署名データを用いた検証を行えばよいので、複数の平文データそれぞれに応じて署名データの復元処理を複数回行う必要が無く、複数の平文データの検証に要する時間も短くなる。
In the signature verification system 4 configured in this way, the total amount of data required for verification of a plurality of plaintext data and the electronic signature can be reduced as compared with the prior art. Therefore, the memory usage of the
また、一の平文データの署名検証において他の平文データが不要であるため、複数の平文データは、それぞれ読み出し可能に設定されている検証装置によってのみ読み出されるように記録媒体を構成することが可能となる。そのため、平文データのセキュリティの向上を図ることが可能となる。例えば、ATM装置(検証装置A)は、銀行名、支店名、及び口座番号を表すデータについて検証を行う場合に、氏名及び住所を表すデータ(M(B))や電子マネーの残高情報を表すデータ(M(C))を読み出すことなく検証を行うことができるため、M(B)及びM(C)を検証装置Aがアクセスできないように読み出し制限を設定することによって、各平文データのセキュリティを高めることが可能となる。 In addition, since other plaintext data is not required for signature verification of one plaintext data, it is possible to configure a recording medium so that a plurality of plaintext data can be read only by a verification device set to be readable. It becomes. For this reason, it is possible to improve the security of plaintext data. For example, when verifying data representing a bank name, a branch name, and an account number, an ATM device (verification device A) represents data (M (B)) representing name and address and balance information of electronic money. Since verification can be performed without reading data (M (C)), the security of each plaintext data is set by setting a read restriction so that the verification apparatus A cannot access M (B) and M (C). Can be increased.
図13は、署名データ生成装置1によって生成された署名データ及び補助データを用いた署名検証システム7の構成例を表すシステム構成図である。署名検証システム7は、上述した検証装置2を用いて構成される3台の検証装置A〜Cと、各検証装置に接続された平文データ/補助データ記憶部6と、記録媒体5とを備える。署名検証システム7においても、署名検証システム4と同様に、例えば検証装置Aは銀行に設置されたATM装置であり、検証装置Bはコンビニエンスストアに設置されたキオスク端末であり、検証装置Cは駅に設置された改札装置である。
FIG. 13 is a system configuration diagram illustrating a configuration example of the
記録媒体5は、ICカード等の携帯可能な記録媒体や、RFID搭載の携帯電話機等を用いて構成され、署名データ記憶領域を備える。署名データ記憶領域は、署名データ生成装置1によって生成された署名データを記憶し、検証装置A〜Cのいずれもがアクセス可能に構成される。
The
平文データ/補助データ記憶部6は、予め署名データ生成装置1から読み出した平文データM(A)〜M(C)とその補助データN(A)〜N(C)を記憶する。具体的には、検証装置Aに接続された平文データ/補助データ記憶部6は平文データM(A)及び補助データN(A)を記憶し、検証装置Bに接続された平文データ/補助データ記憶部6は平文データM(B)及び補助データN(B)を記憶し、検証装置Cに接続された平文データ/補助データ記憶部6は平文データM(C)及び補助データN(C)を記憶する。各検証装置A〜Cは、自身に接続された平文データ/補助データ記憶部6から平文データ及び補助データを読み出し、さらに記録媒体5から署名データを読み出すことによって、署名検証を行う。
The plaintext data / auxiliary
署名検証システム7では、各検証装置A〜Cのデータ入力部201は、記録媒体3から署名データを読み出して入力を行う。また、データ入力部201は、自装置に接続された平文データ/補助データ記憶部6から、補助データ及び平文データを読み出して入力を行う。
In the
このように構成された署名検証システム7では、複数の平文データに対応する署名データが一つで済むため、署名データを記憶する記録媒体の使用メモリ量を削減することが可能となる。
Since the
また、一の平文データの署名検証において他の平文データが不要であるため、複数の平文データそれぞれを検証装置に接続された平文データ/補助データ記憶部6に個別に記録することが可能となる。そのため、平文データのセキュリティの向上を図ることが可能となる。
In addition, since other plaintext data is not required for signature verification of one plaintext data, each of the plurality of plaintext data can be individually recorded in the plaintext data / auxiliary
上述した実施形態における署名データ生成装置又は検証装置の機能を、プログラム実行可能なICカードで実現するようにしても良い。その場合、この機能を実現するためのプログラムをICカードに記録して、このICカードに記録されたプログラムをICカードにおいて実行することによって実現しても良い。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
The function of the signature data generation device or the verification device in the above-described embodiment may be realized by an IC card that can execute a program. In that case, a program for realizing this function may be recorded on the IC card, and the program recorded on the IC card may be executed on the IC card.
The embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes designs and the like that do not depart from the gist of the present invention.
1…署名データ生成装置, 101…平文データ入力部, 102…ハッシュデータ生成部, 103…補助データ生成部, 104…署名生成鍵記憶部, 105…署名データ生成部(署名データ生成部), 106…データ出力部, 2…検証装置, 201…データ入力部, 202…ハッシュデータ生成部, 203…比較用ビット列生成部, 204…署名検証鍵記憶部, 205…検証用ビット列生成部, 206…検証部, 3,5…記録媒体(署名データ記録媒体), 4,7…検証システム(署名検証システム), 6…平文データ/補助データ記憶部
DESCRIPTION OF
Claims (9)
複数の平文データを入力する平文データ入力部と、
前記複数の平文データそれぞれに対し、ハッシュ計算を行いハッシュデータを生成するハッシュデータ生成部と、
前記複数の平文データそれぞれに対し、前記ハッシュデータ生成部で生成された当該平文データに対応する前記ハッシュデータ以外の全てのハッシュデータの排他的論理和を算出し当該平文データの補助データを生成する補助データ生成部と、
前記ハッシュデータ生成部で生成した全てのハッシュデータの排他的論理和を算出することによって署名用ビット列を生成し、前記署名生成鍵記憶部に記憶されている署名生成鍵を用いて署名用ビット列を署名し、署名データを生成する署名データ生成部と、
前記署名データと、前記複数の平文データと、前記平文データに対応づけられた補助データとを出力するデータ出力部と、
を備える署名データ生成装置。 A signature generation key storage unit for storing a signature generation key for generating a signature;
A plaintext data input unit for inputting a plurality of plaintext data;
A hash data generation unit that performs hash calculation and generates hash data for each of the plurality of plaintext data,
For each of the plurality of plaintext data, an exclusive OR of all the hash data other than the hash data corresponding to the plaintext data generated by the hash data generation unit is calculated, and auxiliary data of the plaintext data is generated. An auxiliary data generation unit;
A signature bit string is generated by calculating an exclusive OR of all hash data generated by the hash data generation unit, and the signature bit string is converted using the signature generation key stored in the signature generation key storage unit. A signature data generation unit for signing and generating signature data;
A data output unit that outputs the signature data, the plurality of plaintext data, and auxiliary data associated with the plaintext data;
A signature data generation apparatus comprising:
請求項1に記載の署名データ生成装置によって記憶される前記署名生成鍵に対応する署名検証鍵を記憶する署名検証鍵記憶部と、
前記データ入力部によって入力された前記平文データに対してハッシュ計算を行いハッシュデータを生成するハッシュデータ生成部と、
前記データ入力部によって入力された前記補助データと、前記ハッシュデータ生成部によって生成された前記ハッシュデータとの排他的論理和を算出することによって、比較用ビット列を生成する比較用ビット列生成部と、
前記データ入力部によって入力された前記署名データに対し、前記署名検証鍵記憶部に記憶される署名検証鍵を用いた復元処理を行い、検証用ビット列を生成する検証用ビット列生成部と、
前記検証用ビット列と前記比較用ビット列とを比較し、前記平文データと前記署名データとの関連性を検証する検証部と、
を備える検証装置。 A data input unit for inputting the signature data and the auxiliary data generated by the signature data generation device according to claim 1 and the plaintext data corresponding to the auxiliary data;
A signature verification key storage unit that stores a signature verification key corresponding to the signature generation key stored by the signature data generation device according to claim 1;
A hash data generation unit that generates hash data by performing a hash calculation on the plaintext data input by the data input unit;
A comparison bit string generation unit that generates a comparison bit string by calculating an exclusive OR of the auxiliary data input by the data input unit and the hash data generated by the hash data generation unit;
A verification bit string generation unit that performs a restoration process using a signature verification key stored in the signature verification key storage unit and generates a verification bit string for the signature data input by the data input unit;
A verification unit that compares the verification bit string with the comparison bit string and verifies the relevance between the plaintext data and the signature data;
A verification apparatus comprising:
前記署名データ生成装置によって生成された複数の前記補助データそれぞれを、対応する前記平文データと対応づけて記憶する実データ記憶領域と、
を有する署名データ記録媒体。 A signature data storage area for storing the signature data generated by the signature data generation device according to claim 1;
Each of the plurality of auxiliary data generated by the signature data generation device is stored in association with the corresponding plain text data,
A signature data recording medium.
前記署名データ記録媒体は、
請求項1に記載の署名データ生成装置によって生成された前記署名データを、いずれの検証装置からも読み出し可能に記憶する署名データ記憶領域と、
前記署名データ生成装置によって生成された複数の前記補助データそれぞれを、対応する前記平文データと対応づけて記憶し、各平文データを所定の検証装置からのみ読み出し可能にする実データ記憶領域と、
を有し、
前記検証装置は、
前記署名データと、自装置が読み出し可能な前記平文データと、当該平文データに対応する前記補助データと、を前記署名データ記録媒体から入力するデータ入力部と、
請求項1に記載の署名データ生成装置によって記憶される前記署名生成鍵に対応する署名検証鍵を記憶する署名検証鍵記憶部と、
前記データ入力部によって入力された前記平文データに対してハッシュ計算を行いハッシュデータを生成するハッシュデータ生成部と、
前記データ入力部によって入力された前記補助データと、前記ハッシュデータ生成部によって生成された前記ハッシュデータとの排他的論理和を算出することによって、比較用ビット列を生成する比較用ビット列生成部と、
前記データ入力部によって入力された前記署名データに対し、前記署名検証鍵記憶部に記憶される署名検証鍵を用いた復元処理を行い、検証用ビット列を生成する検証用ビット列生成部と、
前記検証用ビット列と前記比較用ビット列とを比較し、前記平文データと前記署名データとの関連性を検証する検証部と、
を備えることを特徴とする署名検証システム。 In a signature verification system including a signature data recording medium for storing signature data and a plurality of verification devices for verifying the signature data,
The signature data recording medium is
A signature data storage area for storing the signature data generated by the signature data generation device according to claim 1 so as to be readable from any verification device;
Each of the plurality of auxiliary data generated by the signature data generation device is stored in association with the corresponding plaintext data, and each plaintext data can be read only from a predetermined verification device;
Have
The verification device includes:
A data input unit for inputting the signature data, the plaintext data readable by the device itself, and the auxiliary data corresponding to the plaintext data from the signature data recording medium;
A signature verification key storage unit that stores a signature verification key corresponding to the signature generation key stored by the signature data generation device according to claim 1;
A hash data generation unit that generates hash data by performing a hash calculation on the plaintext data input by the data input unit;
A comparison bit string generation unit that generates a comparison bit string by calculating an exclusive OR of the auxiliary data input by the data input unit and the hash data generated by the hash data generation unit;
A verification bit string generation unit that performs a restoration process using a signature verification key stored in the signature verification key storage unit and generates a verification bit string for the signature data input by the data input unit;
A verification unit that compares the verification bit string with the comparison bit string and verifies the relevance between the plaintext data and the signature data;
A signature verification system comprising:
前記署名データ記録媒体は、
請求項1に記載の署名データ生成装置によって生成された前記署名データを、いずれの検証装置からも読み出し可能に記憶する署名データ記憶領域を有し、
前記検証装置は、
予め前記署名データ生成装置から読み出した平文データと、当該平文データに対応した前記補助データと、を記憶する平文データ/補助データ記憶部と、
前記署名データを前記署名データ記録媒体から入力し、前記平文データと、当該平文データに対応する前記補助データと、を前記平文データ/補助データ記憶部から入力するデータ入力部と、
請求項1に記載の署名データ生成装置によって記憶される前記署名生成鍵に対応する署名検証鍵を記憶する署名検証鍵記憶部と、
前記データ入力部によって入力された前記平文データに対してハッシュ計算を行いハッシュデータを生成するハッシュデータ生成部と、
前記データ入力部によって入力された前記補助データと、前記ハッシュデータ生成部によって生成された前記ハッシュデータとの排他的論理和を算出することによって、比較用ビット列を生成する比較用ビット列生成部と、
前記データ入力部によって入力された前記署名データに対し、前記署名検証鍵記憶部に記憶される署名検証鍵を用いた復元処理を行い、検証用ビット列を生成する検証用ビット列生成部と、
前記検証用ビット列と前記比較用ビット列とを比較し、前記平文データと前記署名データとの関連性を検証する検証部と、
を備えることを特徴とする署名検証システム。 In a signature verification system including a signature data recording medium for storing signature data and a plurality of verification devices for verifying the signature data,
The signature data recording medium is
A signature data storage area for storing the signature data generated by the signature data generation device according to claim 1 so as to be readable from any verification device;
The verification device includes:
Plaintext data / auxiliary data storage unit for storing plaintext data read from the signature data generation device in advance and the auxiliary data corresponding to the plaintext data;
A data input unit that inputs the signature data from the signature data recording medium, and inputs the plaintext data and the auxiliary data corresponding to the plaintext data from the plaintext data / auxiliary data storage unit;
A signature verification key storage unit that stores a signature verification key corresponding to the signature generation key stored by the signature data generation device according to claim 1;
A hash data generation unit that generates hash data by performing a hash calculation on the plaintext data input by the data input unit;
A comparison bit string generation unit that generates a comparison bit string by calculating an exclusive OR of the auxiliary data input by the data input unit and the hash data generated by the hash data generation unit;
A verification bit string generation unit that performs a restoration process using a signature verification key stored in the signature verification key storage unit and generates a verification bit string for the signature data input by the data input unit;
A verification unit that compares the verification bit string with the comparison bit string and verifies the relevance between the plaintext data and the signature data;
A signature verification system comprising:
前記署名データ生成装置が、前記複数の平文データそれぞれに対し、ハッシュ計算を行いハッシュデータを生成するハッシュデータ生成ステップと、
前記署名データ生成装置が、前記複数の平文データそれぞれに対し、前記ハッシュデータ生成ステップで生成された当該平文データに対応する前記ハッシュデータ以外の全てのハッシュデータの排他的論理和を算出し当該平文データの補助データを生成する補助データ生成ステップと、
前記署名データ生成装置が、前記ハッシュデータ生成ステップで生成した全てのハッシュデータの排他的論理和を算出することによって署名用ビット列を生成し、前記署名生成鍵記憶部に記憶されている署名生成鍵を用いて署名用ビット列を署名し、署名データを生成する署名データ生成ステップと、
前記署名データ生成装置が、前記署名データと、前記複数の平文データと、前記平文データに対応づけられた補助データとを出力するデータ出力ステップと、
を備える署名データ生成方法。 A signature data generation device including a signature generation key storage unit that stores a signature generation key for generating a signature, and a plaintext data input step for inputting a plurality of plaintext data;
A hash data generation step in which the signature data generation device performs hash calculation on each of the plurality of plaintext data to generate hash data;
The signature data generation device calculates, for each of the plurality of plaintext data, an exclusive OR of all hash data other than the hash data corresponding to the plaintext data generated in the hash data generation step. An auxiliary data generation step for generating auxiliary data of the data;
The signature data generation apparatus generates a signature bit string by calculating an exclusive OR of all hash data generated in the hash data generation step, and stores the signature generation key stored in the signature generation key storage unit A signature data generation step of signing a signature bit string using, and generating signature data;
A data output step in which the signature data generation device outputs the signature data, the plurality of plaintext data, and auxiliary data associated with the plaintext data;
A signature data generation method comprising:
前記検証装置が、入力された前記平文データに対してハッシュ計算を行いハッシュデータを生成するハッシュデータ生成ステップと、
前記検証装置が、入力された前記補助データと、前記ハッシュデータ生成ステップによって生成された前記ハッシュデータとの排他的論理和を算出することによって、比較用ビット列を生成する比較用ビット列生成ステップと、
前記検証装置が、入力された前記署名データに対し、前記署名検証鍵記憶部に記憶される署名検証鍵を用いた復元処理を行い、検証用ビット列を生成する検証用ビット列生成ステップと、
前記検証装置が、前記検証用ビット列と前記比較用ビット列とを比較し、前記平文データと前記署名データとの関連性を検証する検証ステップと、
を備える検証方法。 A verification apparatus comprising a signature verification key storage unit that stores a signature verification key corresponding to the signature generation key used in the signature data generation method according to claim 6 is generated by the signature data generation method according to claim 6. A data input step for inputting the signature data and the auxiliary data, and the plaintext data corresponding to the auxiliary data;
A hash data generation step in which the verification device performs hash calculation on the input plaintext data to generate hash data;
A comparison bit string generation step in which the verification device generates a comparison bit string by calculating an exclusive OR of the input auxiliary data and the hash data generated by the hash data generation step;
A verification bit string generation step in which the verification device performs a restoration process using the signature verification key stored in the signature verification key storage unit on the input signature data, and generates a verification bit string;
A verification step in which the verification device compares the verification bit string with the comparison bit string and verifies the relevance between the plaintext data and the signature data;
A verification method comprising:
複数の平文データを入力する平文データ入力ステップと、
前記複数の平文データそれぞれに対し、ハッシュ計算を行いハッシュデータを生成するハッシュデータ生成ステップと、
前記複数の平文データそれぞれに対し、前記ハッシュデータ生成ステップで生成された当該平文データに対応する前記ハッシュデータ以外の全てのハッシュデータの排他的論理和を算出し当該平文データの補助データを生成する補助データ生成ステップと、
前記ハッシュデータ生成ステップで生成した全てのハッシュデータの排他的論理和を算出することによって署名用ビット列を生成し、前記署名生成鍵記憶部に記憶されている署名生成鍵を用いて署名用ビット列を署名し、署名データを生成する署名データ生成ステップと、
前記署名データと、前記複数の平文データと、前記平文データに対応づけられた補助データとを出力するデータ出力ステップと、
を実行させるためのプログラム。 For a computer having a signature generation key storage unit for storing a signature generation key for generating a signature,
A plaintext data input step for inputting a plurality of plaintext data;
For each of the plurality of plaintext data, a hash data generation step of performing hash calculation and generating hash data;
For each of the plurality of plaintext data, an exclusive OR of all the hash data other than the hash data corresponding to the plaintext data generated in the hash data generation step is calculated, and auxiliary data of the plaintext data is generated. An auxiliary data generation step;
A signature bit string is generated by calculating an exclusive OR of all the hash data generated in the hash data generation step, and the signature bit string is converted using the signature generation key stored in the signature generation key storage unit. A signature data generation step for signing and generating signature data;
A data output step of outputting the signature data, the plurality of plaintext data, and auxiliary data associated with the plaintext data;
A program for running
請求項8に記載のプログラムの実行によって生成された前記署名データ及び前記補助データと、当該補助データに対応する前記平文データと、を入力するデータ入力ステップと、
入力された前記平文データに対してハッシュ計算を行いハッシュデータを生成するハッシュデータ生成ステップと、
入力された前記補助データと、前記ハッシュデータ生成ステップによって生成された前記ハッシュデータとの排他的論理和を算出することによって、比較用ビット列を生成する比較用ビット列生成ステップと、
入力された前記署名データに対し、前記署名検証鍵記憶部に記憶される署名検証鍵を用いた復元処理を行い、前記検証用ビット列を生成する検証用ビット列生成ステップと、
前記検証用ビット列と前記比較用ビット列とを比較し、前記平文データと前記署名データとの関連性を検証する検証ステップと、
を実行させるためのプログラム。 A computer including a signature verification key storage unit that stores a signature verification key corresponding to the signature generation key used in the program according to claim 8.
A data input step of inputting the signature data and the auxiliary data generated by executing the program according to claim 8, and the plaintext data corresponding to the auxiliary data;
A hash data generation step for generating hash data by performing a hash calculation on the input plaintext data;
A comparison bit string generation step for generating a comparison bit string by calculating an exclusive OR of the input auxiliary data and the hash data generated by the hash data generation step;
A verification bit string generation step of performing a restoration process using a signature verification key stored in the signature verification key storage unit on the input signature data, and generating the verification bit string;
A verification step of comparing the verification bit string with the comparison bit string and verifying the relevance between the plaintext data and the signature data;
A program for running
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009010993A JP4834742B2 (en) | 2009-01-21 | 2009-01-21 | Signature data generation device and verification device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009010993A JP4834742B2 (en) | 2009-01-21 | 2009-01-21 | Signature data generation device and verification device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010171600A true JP2010171600A (en) | 2010-08-05 |
JP4834742B2 JP4834742B2 (en) | 2011-12-14 |
Family
ID=42703312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009010993A Active JP4834742B2 (en) | 2009-01-21 | 2009-01-21 | Signature data generation device and verification device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4834742B2 (en) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1020781A (en) * | 1996-06-28 | 1998-01-23 | Nippon Telegr & Teleph Corp <Ntt> | Electronic signing method and certification method and device for the same |
JPH10326078A (en) * | 1996-11-27 | 1998-12-08 | Sun Microsyst Inc | Implementation of digital sign for data stream and data archives |
JP2001237827A (en) * | 2000-01-14 | 2001-08-31 | Hewlett Packard Co <Hp> | Structural digital certificate |
JP2002215029A (en) * | 2001-01-22 | 2002-07-31 | Seiko Epson Corp | Information authentication device and digital camera using the same |
JP2005051734A (en) * | 2003-07-15 | 2005-02-24 | Hitachi Ltd | Electronic document authenticity assurance method and electronic document disclosure system |
JP2006067094A (en) * | 2004-08-25 | 2006-03-09 | Nippon Telegr & Teleph Corp <Ntt> | Program for requesting bulk type time authentication, recording medium for requesting bulk type time authentication, and, verification apparatus, verification method, verification program, and verification recording medium |
JP2007028015A (en) * | 2005-07-13 | 2007-02-01 | Fuji Xerox Co Ltd | Program, system and method for time stamp verification, and time stamp generation request method |
WO2008084547A1 (en) * | 2007-01-12 | 2008-07-17 | Fujitsu Limited | Document verification program, recording medium, document verification method, and document verification apparatus |
-
2009
- 2009-01-21 JP JP2009010993A patent/JP4834742B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1020781A (en) * | 1996-06-28 | 1998-01-23 | Nippon Telegr & Teleph Corp <Ntt> | Electronic signing method and certification method and device for the same |
JPH10326078A (en) * | 1996-11-27 | 1998-12-08 | Sun Microsyst Inc | Implementation of digital sign for data stream and data archives |
JP2001237827A (en) * | 2000-01-14 | 2001-08-31 | Hewlett Packard Co <Hp> | Structural digital certificate |
JP2002215029A (en) * | 2001-01-22 | 2002-07-31 | Seiko Epson Corp | Information authentication device and digital camera using the same |
JP2005051734A (en) * | 2003-07-15 | 2005-02-24 | Hitachi Ltd | Electronic document authenticity assurance method and electronic document disclosure system |
JP2006067094A (en) * | 2004-08-25 | 2006-03-09 | Nippon Telegr & Teleph Corp <Ntt> | Program for requesting bulk type time authentication, recording medium for requesting bulk type time authentication, and, verification apparatus, verification method, verification program, and verification recording medium |
JP2007028015A (en) * | 2005-07-13 | 2007-02-01 | Fuji Xerox Co Ltd | Program, system and method for time stamp verification, and time stamp generation request method |
WO2008084547A1 (en) * | 2007-01-12 | 2008-07-17 | Fujitsu Limited | Document verification program, recording medium, document verification method, and document verification apparatus |
Also Published As
Publication number | Publication date |
---|---|
JP4834742B2 (en) | 2011-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4856080B2 (en) | Secure loading and storage of data to data processing equipment | |
JP4036838B2 (en) | Security device, information processing device, method executed by security device, method executed by information processing device, program executable for executing the method, and ticket system | |
JP6366595B2 (en) | Method and system for anti-glitch cryptographic discrete log-based signature | |
US11227037B2 (en) | Computer system, verification method of confidential information, and computer | |
JP2010527219A (en) | Method and system for electronically securing electronic device security using functions that cannot be physically copied | |
AU2017341251B2 (en) | Cipher message with authentication instruction | |
US7000110B1 (en) | One-way function generation method, one-way function value generation device, proving device, authentication method, and authentication device | |
KR101305627B1 (en) | Cryptographic apparatus and memory system | |
EP2503482A1 (en) | Electronic device with flash memory component | |
CN112907375B (en) | Data processing method, device, computer equipment and storage medium | |
CN111262704A (en) | SM9 digital signature generation method and device, computer equipment and storage medium | |
US20080104403A1 (en) | Methods and apparatus for data authentication with multiple keys | |
WO2019129772A1 (en) | Whitebox computation of keyed message authentication codes | |
JPWO2009075353A1 (en) | Distributed information generation apparatus, restoration apparatus, verification apparatus, and secret information distribution system | |
KR101253683B1 (en) | Digital Signing System and Method Using Chained Hash | |
EP1668560A2 (en) | Method and apparatus for authenticating data | |
US20170054561A1 (en) | Double authenitication system for electronically signed documents | |
EP3214567B1 (en) | Secure external update of memory content for a certain system on chip | |
Bos et al. | Post-quantum secure boot on vehicle network processors | |
KR20210018240A (en) | Method for generating encryption keys on-board using physical copy protection | |
JP4834742B2 (en) | Signature data generation device and verification device | |
US20190089543A1 (en) | FAULT ATTACKS COUNTER-MEASURES FOR EdDSA | |
US20060140399A1 (en) | Pre-calculation mechanism for signature decryption | |
CN112887097A (en) | Signature method based on SM2 elliptic curve, related device and storage medium | |
WO2011033642A1 (en) | Signature generation device and signature verification device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110810 |
|
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: 20110830 |
|
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: 20110926 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4834742 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140930 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |