JP2010171600A - Apparatus for generation and verification of signature data - Google Patents

Apparatus for generation and verification of signature data Download PDF

Info

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
Application number
JP2009010993A
Other languages
Japanese (ja)
Other versions
JP4834742B2 (en
Inventor
Naohisa Ichihara
尚久 市原
Takashi Takeuchi
隆 竹内
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.)
NTT Data Group Corp
Original Assignee
NTT Data Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Data Corp filed Critical NTT Data Corp
Priority to JP2009010993A priority Critical patent/JP4834742B2/en
Publication of JP2010171600A publication Critical patent/JP2010171600A/en
Application granted granted Critical
Publication of JP4834742B2 publication Critical patent/JP4834742B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To eliminate the need for using other plain text data when one plain text data is verified, while reducing the signature generation time using an electronic signature for a plurality of plain text data, or the total volume of data required for verification or the verification time. <P>SOLUTION: A plurality of plain text data are input, Hash computation is performed, respectively, for the plurality of plain text data to generate Hash data, the exclusive OR of all Hash data other than the Hash data corresponding to the plain data thus generated is computed, respectively, for the plurality of plain text data and the auxiliary data of the plain data are generated, a bit stream for signature is generated by computing the exclusive OR of all Hash data, the bit stream for signature is signed using a signature generation key to generate the signature data, and then the signature data, the plurality of plain text data, and the auxiliary data which are matched with the plain text data are output. <P>COPYRIGHT: (C)2010,JPO&INPIT

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

特開2006−060724号公報JP 2006-060724 A

しかしながら、上記の従来技術では、署名データを用いて一の平文データを検証する場合に、この署名データの生成に際して使用された他の平文データを用いる必要がある。そのため、他の平文データを検証以外の目的では必要としない装置に対しても他の平文データを開示する必要があったため、他の平文データのセキュリティの低下を招いてしまうという問題があった。   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.

署名データ生成装置の機能構成を表す概略ブロック図である。It is a schematic block diagram showing the function structure of a signature data generation apparatus. 署名データ生成装置の動作例を表すフローチャートである。It is a flowchart showing the operation example of a signature data generation apparatus. 補助データ生成処理の内容を表すフローチャートである。It is a flowchart showing the content of auxiliary data generation processing. 補助データ生成処理の具体例を表す概略図である。It is the schematic showing the specific example of an auxiliary data generation process. 署名データ生成処理の内容を表すフローチャートである。It is a flowchart showing the content of signature data generation processing. 署名データ生成処理の具体例を表す概略図である。It is the schematic showing the example of signature data generation processing. 電子署名の検証に要するデータの総量の具体例を表す図である。It is a figure showing the specific example of the total amount of data required for verification of an electronic signature. 検証装置の機能構成を表す概略ブロック図である。It is a schematic block diagram showing the function structure of a verification apparatus. 検証装置の動作例を表すフローチャートである。It is a flowchart showing the operation example of a verification apparatus. 検証装置の処理の概略を表す概略図である。It is the schematic showing the outline of the process of a verification apparatus. 署名検証システムの構成例を表すシステム構成図である。It is a system configuration figure showing an example of composition of a signature verification system. 記録媒体に記憶された各データのアクセス制御の概要を表す図である。It is a figure showing the outline | summary of access control of each data memorize | stored in the recording medium. 署名検証システムの他の構成例を表すシステム構成図である。It is a system block diagram showing the other structural example of a signature verification system.

[署名データ生成装置]
図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 data generation device 1. The signature data generation apparatus 1 includes a plaintext data input unit 101, a hash data generation unit 102, an auxiliary data generation unit 103, a signature generation key storage unit 104, a signature data generation unit 105, and a data output unit 106.

平文データ入力部101は、電子署名の対象となるデータ(以下、「平文データ」という)を署名データ生成装置1に複数入力する。   The plaintext data input unit 101 inputs a plurality of pieces of data (hereinafter referred to as “plaintext data”) to be subjected to an electronic signature to the signature data generation apparatus 1.

ハッシュデータ生成部102は、平文データ毎にハッシュデータを生成する。具体的には、各平文データのハッシュデータは、例えばMD2(Message Digest Algorithm 2)、MD4、MD5、SHA(Secure Hash Algorithm)等のアルゴリズムを適用することによって生成できる。   The hash data generation unit 102 generates hash data for each plaintext data. Specifically, hash data of each plaintext data can be generated by applying an algorithm such as MD2 (Message Digest Algorithm 2), MD4, MD5, or SHA (Secure Hash Algorithm).

補助データ生成部103は、ハッシュデータ生成部102によって算出されたハッシュデータに基づいて、各平文データに対応する補助データを生成する。具体的には、補助データ生成部103は、ある平文データの補助データを算出する場合、当該平文データを除く全ての平文データのハッシュデータの排他的論理和を算出し、算出された値を補助データとする。なお、全ての平文データとは、平文データ入力部101によって入力されたひとまとまりの平文データのことを表す。補助データの生成処理の詳細については後述する。   The auxiliary data generation unit 103 generates auxiliary data corresponding to each plaintext data based on the hash data calculated by the hash data generation unit 102. Specifically, when calculating auxiliary data of certain plaintext data, the auxiliary data generation unit 103 calculates an exclusive OR of hash data of all plaintext data except the plaintext data, and supports the calculated value. Data. Note that all plaintext data represents a set of plaintext data input by the plaintext data input unit 101. Details of the auxiliary data generation processing will be described later.

署名生成鍵記憶部104は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成され、電子署名のデータ(以下、「署名データ」という)を生成する際に用いられる署名生成鍵のデータを記憶する。ここで、署名生成鍵は例えば公開鍵暗号方式の一方の鍵である秘密鍵である。   The signature generation key storage unit 104 is configured using a storage device such as a magnetic hard disk device or a semiconductor storage device, and is used for generating signature data (hereinafter referred to as “signature data”). Remember. Here, the signature generation key is, for example, a secret key that is one key of the public key cryptosystem.

署名データ生成部105は、全ての平文データのハッシュデータと署名生成鍵記憶部104に記憶される署名生成鍵とに基づいて、全ての平文データに共通する署名データを生成する。具体的には、署名データ生成部105は、全ての平文データのハッシュデータの排他的論理和を算出し、算出結果に対し署名生成鍵を用いた署名生成処理を行うことによって署名データを生成する。署名生成処理は、例えばRSA(Rivest Shamir Adleman)、DSA(Digital Signature Algorithm)、ECDSA(Elliptic Curve Digital Signature Algorithm)等のアルゴリズムを適用することによって行うことができる。署名データの生成処理の詳細については後述する。   The signature data generation unit 105 generates signature data common to all plaintext data based on the hash data of all plaintext data and the signature generation key stored in the signature generation key storage unit 104. Specifically, the signature data generation unit 105 calculates exclusive OR of hash data of all plaintext data, and generates signature data by performing signature generation processing using a signature generation key on the calculation result. . The signature generation process can be performed by applying an algorithm such as RSA (Rivest Shamir Adleman), DSA (Digital Signature Algorithm), or ECDSA (Elliptic Curve Digital Signature Algorithm). Details of the signature data generation process will be described later.

データ出力部106は、平文データと、署名データ生成部105によって生成された署名データと、補助データ生成部103によって生成された複数の補助データとを出力する。このとき、データ出力部106は、各平文データと各補助データとを対応づけて出力する。   The data output unit 106 outputs plaintext data, signature data generated by the signature data generation unit 105, and a plurality of auxiliary data generated by the auxiliary data generation unit 103. At this time, the data output unit 106 outputs each plaintext data and each auxiliary data in association with each other.

図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 data generation apparatus 1. Hereinafter, an operation example of the signature data generation apparatus 1 will be described with reference to FIG. First, the plaintext data input unit 101 inputs n pieces of plaintext data M (i) (step S101). Note that i is an integer of 1 to n, and n is an integer of 2 or more.

次に、ハッシュデータ生成部102が、入力された各平文データM(i)のハッシュデータm(i)を生成する(ステップS102)。次に、補助データ生成部103が、補助データ生成処理を実行し、各平文データに対応する補助データを生成する(ステップS103)。   Next, the hash data generation unit 102 generates hash data m (i) of each input plaintext data M (i) (step S102). Next, the auxiliary data generation unit 103 executes auxiliary data generation processing to generate auxiliary data corresponding to each plaintext data (step S103).

図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 data generation unit 103 will be described with reference to FIG.

まず、補助データ生成部103は、変数jを生成し、“1”を代入することによって初期化する(ステップS201)。次に、補助データ生成部103は、変数kとビット列xを生成し初期化する(ステップS202)。具体的には、補助データ生成部103は、変数kに1を代入して初期化する。また、補助データ生成部103は、ハッシュデータ生成部102によって生成されるハッシュデータと同じ桁数のビット列xを生成し、全てのビットに“0”を代入して初期化する。   First, the auxiliary data generation unit 103 generates a variable j and initializes it by substituting “1” (step S201). Next, the auxiliary data generation unit 103 generates and initializes a variable k and a bit string x (step S202). Specifically, the auxiliary data generation unit 103 substitutes 1 for the variable k and initializes it. Further, the auxiliary data generation unit 103 generates a bit string x having the same number of digits as the hash data generated by the hash data generation unit 102, and initializes by substituting “0” for all bits.

次に、補助データ生成部103は、変数jと変数kとの値が一致するか否か判定する(ステップS203)。変数jと変数kとの値が一致しない場合(ステップS203−YES)、補助データ生成部103は、ビット列xとハッシュデータm(k)との排他的論理和を算出し、算出結果をビット列xに代入する(ステップS204)。   Next, the auxiliary data generation unit 103 determines whether or not the values of the variable j and the variable k match (step S203). When the values of the variable j and the variable k do not match (step S203—YES), the auxiliary data generation unit 103 calculates the exclusive OR of the bit string x and the hash data m (k), and the calculation result is the bit string x. (Step S204).

ステップ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 data generating unit 103 increments the value of variable k (step S205). Next, the auxiliary data generation unit 103 determines whether or not the value of the variable k is larger than the number n of input plaintext data (step S206). When the value of the variable k is n or less (step S206—NO), the auxiliary data generation unit 103 repeatedly executes the processes of step S203 to step S206 until the value of the variable k becomes larger than n.

一方、ステップ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 data generation unit 103 sets the value of the bit string x at this time to the auxiliary data N (corresponding to the plaintext data M (j) ( j), and the bit string x is substituted into the auxiliary data N (j) (step S207). Next, the auxiliary data generation unit 103 increments the value of the variable j (step S208). Next, the auxiliary data generation unit 103 determines whether or not the value of the variable j is larger than n (step S209). When the value of the variable j is n or less (step S209—NO), the auxiliary data generation unit 103 repeatedly executes the processing of step S202 to step S209 until the value of the variable j becomes larger than n, and each plaintext data Auxiliary data N (i) corresponding to M (i) is calculated. If the value of the variable j is larger than n in step S209 (step S209—YES), the auxiliary data generation unit 103 ends the auxiliary data generation process.

図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 data generation unit 102 from the plaintext data M (1) to M (3), respectively. FIG. 4B is a diagram illustrating a specific example of auxiliary data corresponding to each of the three plaintext data. The auxiliary data N (1) corresponding to the plaintext data M (1) is the exclusive OR of the hash data m (2) and m (3) of all the other plaintext data M (2) and M (3). Is calculated as Similarly, the auxiliary data N (2) corresponding to the plaintext data M (2) and the auxiliary data N (3) corresponding to the plaintext data M (3) are respectively the hash data m (3), the hash data m (1), and Is calculated as the exclusive OR of the hash data m (1) and the hash data m (2).

図2に戻って署名データ生成装置1の処理の流れを説明する。ステップS103において補助データ生成部103が補助データ生成処理を終了すると、署名データ生成部105が署名データ生成処理を実行し、入力された複数の平文データに共通する一つの署名データを生成する(ステップS104)。   Returning to FIG. 2, the processing flow of the signature data generation apparatus 1 will be described. When the auxiliary data generation unit 103 ends the auxiliary data generation process in step S103, the signature data generation unit 105 executes the signature data generation process to generate one signature data common to the plurality of input plaintext data (step S103). S104).

図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 data generation unit 105 will be described with reference to FIG. First, the signature data generation unit 105 generates a variable j and initializes it by substituting “1” (step S301). Next, the signature data generation unit 105 generates and initializes a bit string y (step S302). Specifically, the signature data generation unit 105 generates a bit string y having the same number of digits as the hash data generated by the hash data generation unit 102, and initializes by assigning “0” to all bits.

次に、署名データ生成部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 data generation unit 105 calculates an exclusive OR of the bit string y and the hash data m (j), and substitutes the calculation result for the bit string y (step S303). Next, the signature data generation unit 105 increments the value of the variable j (step S304). Next, the signature data generation unit 105 determines whether the value of the variable j is larger than n (step S305). When the value of the variable j is n or less (step S305—NO), the signature data generation unit 105 repeatedly executes the processes of steps S302 to S305 until the value of the variable j becomes larger than n. If the value of the variable j is larger than n in step S305 (step S305-YES), that is, if the value of the bit string y is exclusive OR of all the hash data m (i), the signature data generation unit 105 determines the value of the bit string y at this time as the value of the signature bit string A, and substitutes the bit string y into the signature bit string A (step S306). At this time, padding processing for concatenating the specifying bit string B may be performed to match the length of the bit string of the signature generation key as necessary to obtain the signature bit string A.

そして、署名データ生成部105は、署名用ビット列Aに対し、署名生成鍵記憶部104に記憶される署名生成鍵を用いた署名生成処理を行うことによって、署名データを生成し(ステップS307)、署名データ生成処理を終了する。   The signature data generation unit 105 generates signature data by performing a signature generation process using the signature generation key stored in the signature generation key storage unit 104 for the signature bit string A (step S307). The signature data generation process ends.

図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 data generation unit 102 from the plaintext data M (1) to M (3), respectively. FIG. 6B is a diagram illustrating a specific example of the signature bit string A corresponding to the three plaintext data M (1) to M (3). In this case, the signature bit string A is calculated as an exclusive OR of hash data m (1) to m (3) of all plaintext data M (1) to M (3). FIG. 6C is a diagram illustrating a specific example of signature data common to the three plaintext data M (1) to M (3). In this figure, padding processing is performed to connect specific bit strings B.

図2に戻って署名データ生成装置1の処理の流れを説明する。ステップS104において署名データ生成部105が署名データ生成処理を終了すると、データ出力部106が平文データ、署名データ及び補助データを出力し(ステップS105)、図2に表されるフローチャート全体の処理が終了する。   Returning to FIG. 2, the processing flow of the signature data generation apparatus 1 will be described. When the signature data generation unit 105 ends the signature data generation process in step S104, the data output unit 106 outputs plain text data, signature data, and auxiliary data (step S105), and the process of the entire flowchart shown in FIG. 2 ends. To do.

このように構成された署名データ生成装置1では、複数の平文データに対し、生成される署名データの数は一つである。また、平文データ毎に補助データが生成されるが、補助データのデータサイズは署名データのデータサイズよりも小さい。そのため、署名データ生成装置1によれば、電子署名の検証に要するデータの総量の、平文データ数の増加に伴う増加率を、従来のように平文データ毎に署名データが生成される場合に比べて小さくすることが可能となり、複数の平文データに対し1つの署名データを用いた検証を行えばよいので、複数の平文データそれぞれに応じて署名データの復元処理を複数回行う必要が無く、複数の平文データの検証に要する時間も短くなる。   In the signature data generation device 1 configured as described above, the number of signature data generated for a plurality of plaintext data is one. In addition, auxiliary data is generated for each plaintext data, but the data size of the auxiliary data is smaller than the data size of the signature data. Therefore, according to the signature data generation device 1, the rate of increase in the total amount of data required for verification of the electronic signature accompanying the increase in the number of plaintext data is compared with the case where signature data is generated for each plaintext data as in the past. Since it is only necessary to perform verification using a single signature data for a plurality of plaintext data, there is no need to perform signature data restoration processing a plurality of times according to each of the plurality of plaintext data. The time required to verify the plaintext data is also shortened.

図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 data generation apparatus 1 according to the present invention is plaintext data (100 bytes) × 3 + auxiliary data (20 bytes) × 3 + signature data (128 bytes). ) × 1 = 488 bytes. On the other hand, the total amount of data required for verification of the electronic signature according to the prior art is plaintext data (100 bytes) × 3 + signature data (128 bytes) × 3 = 684 bytes. Thus, according to the signature data generation device 1, the total amount of data required for verification of the electronic signature is reduced by 196 bytes, and the reduction rate (data amount reduction rate) in the total data amount is 28.65%. As apparent from FIG. 7, since the amount of auxiliary data generated for each plaintext data is smaller than the amount of signature data, the data amount reduction rate increases as the number of plaintext data increases. Thus, according to the signature data generation device 1, it is possible to reduce the total amount of data required for verification using a digital signature for a plurality of plaintext data.

また、署名データ生成装置1では、複数の平文データに共通して一つの署名データが生成されるが、一の平文データを検証する際に他の平文データを必要としない。そのため、一の平文データを検証する装置において、他の平文データを読み出せないように構成することが可能となり、他の平文データのセキュリティの低下を抑止することが可能となる。検証処理の詳細についての説明は、検証装置の説明とともに後述する。なお、一の平文データの電子署名の検証を行う際に、他の平文データから生成されたハッシュデータを用いるが、上述したようにハッシュデータから元の平文データを生成することはできないため、他の平文データのセキュリティが低下することが抑止される。   In the signature data generating apparatus 1, one signature data is generated in common for a plurality of plaintext data, but other plaintext data is not required when verifying one plaintext data. Therefore, it is possible to configure the apparatus for verifying one plaintext data so that other plaintext data cannot be read, and it is possible to suppress a decrease in security of the other plaintext data. The details of the verification process will be described later together with the description of the verification device. When verifying the electronic signature of one plaintext data, hash data generated from other plaintext data is used. However, as described above, the original plaintext data cannot be generated from the hash data. The decrease in the security of plaintext data is prevented.

また、署名データ生成装置1では、電子署名の検証に要するデータを生成するのに要する時間は、署名生成時間×1+ハッシュデータ生成時間×n+排他的論理和計算時間×n×nである。これに対し、従来のように平文データ毎に署名データを生成する場合には、電子署名の検証に要するデータを生成するのに要する時間は、署名生成時間×n+ハッシュデータ生成時間×nである。一般的に署名生成時間は排他的論理和計算時間の数万倍となる。例えば、排他的論理和計算時間は0.1ミリ秒程度、ハッシュデータ生成時間は1ミリ秒程度であるとすると、署名生成時間は500ミリ秒程度となる。そのため、署名データ生成装置1では、複数の平文データ毎に署名データの生成を行わず、共通した一つの署名データを生成するため、複数の平文データの電子署名の検証に要するデータの生成時間を従来に比べて大幅に削減することが可能となる。   In the signature data generation device 1, the time required to generate data required for verification of the electronic signature is signature generation time × 1 + hash data generation time × n + exclusive OR calculation time × n × n. On the other hand, when signature data is generated for each plaintext data as in the prior art, the time required to generate data required for verification of an electronic signature is signature generation time × n + hash data generation time × n. . In general, the signature generation time is tens of thousands times the exclusive OR calculation time. For example, if the exclusive OR calculation time is about 0.1 milliseconds and the hash data generation time is about 1 millisecond, the signature generation time is about 500 milliseconds. For this reason, the signature data generation apparatus 1 does not generate signature data for each of a plurality of plaintext data, but generates one common signature data. Therefore, the generation time of data required for verification of electronic signatures of a plurality of plaintext data is reduced. It becomes possible to reduce significantly compared with the past.

[検証装置]
図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 verification apparatus 2 that verifies the electronic signature using the signature data generated by the signature data generation apparatus 1. The verification device 2 includes a data input unit 201, a hash data generation unit 202, a comparison bit string generation unit 203, a signature verification key storage unit 204, a verification bit string generation unit 205, and a verification unit 206.

データ入力部201は、検証の対象となる平文データ、この平文データに対応する補助データ及び署名データを検証装置2に入力する。
ハッシュデータ生成部202は、署名データ生成装置1のハッシュデータ生成部102と同じアルゴリズムを用いて、検証対象となる平文データのハッシュデータを生成する。
The data input unit 201 inputs plaintext data to be verified, auxiliary data corresponding to the plaintext data, and signature data to the verification device 2.
The hash data generation unit 202 generates hash data of plain text data to be verified using the same algorithm as the hash data generation unit 102 of the signature data generation device 1.

比較用ビット列生成部203は、比較用ビット列として、検証対象となる平文データに対応する補助データと、検証対象となる平文データのハッシュデータとの排他的論理和を算出する。   The comparison bit string generation unit 203 calculates an exclusive OR of the auxiliary data corresponding to the plaintext data to be verified and the hash data of the plaintext data to be verified as the comparison bit string.

署名検証鍵記憶部204は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成され、署名データ生成装置1の署名生成鍵記憶部104に記憶される署名生成鍵に対応する署名検証鍵を記憶する。   The signature verification key storage unit 204 is configured using a storage device such as a magnetic hard disk device or a semiconductor storage device, and the signature verification key corresponding to the signature generation key stored in the signature generation key storage unit 104 of the signature data generation device 1 Remember.

検証用ビット列生成部205は、検証の対象となる平文データに対応する署名データに対し、署名検証鍵記憶部204に記憶される署名検証鍵を用いて復元処理を行い、検証用ビット列を生成する。検証用ビット列生成部205の処理からも明らかなように、生成される検証用ビット列は、署名データ生成装置1によって生成される署名用ビット列と同じビット列である。
検証部206は、比較用ビット列生成部203によって生成された比較用ビット列と、検証用ビット列生成部205によって生成された検証用ビット列とを比較することによって、対象となる平文データの電子署名を検証し検証結果を出力する。
The verification bit string generation unit 205 performs a restoration process on the signature data corresponding to the plain text data to be verified using the signature verification key stored in the signature verification key storage unit 204, and generates a verification bit string. . As is clear from the processing of the verification bit string generation unit 205, the generated verification bit string is the same bit string as the signature bit string generated by the signature data generation device 1.
The verification unit 206 verifies the digital signature of the target plaintext data by comparing the comparison bit string generated by the comparison bit string generation unit 203 with the verification bit string generated by the verification bit string generation unit 205. And output the verification result.

図9は、検証装置2の動作例を表すフローチャートである。以下、図9を用いて検証装置2の動作例について説明する。図9では、まず、データ入力部201が、検証の対象となる平文データM’(i)、この平文データに対応する補助データN(i)及び署名データを検証装置2に入力する(ステップS401)。   FIG. 9 is a flowchart illustrating an operation example of the verification apparatus 2. Hereinafter, an operation example of the verification apparatus 2 will be described with reference to FIG. In FIG. 9, first, the data input unit 201 inputs plaintext data M ′ (i) to be verified, auxiliary data N (i) corresponding to this plaintext data, and signature data to the verification device 2 (step S401). ).

次に、ハッシュデータ生成部202が、検証の対象となる平文データM’(i)のハッシュデータm’(i)を生成する(ステップS402)。次に、比較用ビット列生成部203が、ハッシュデータm’(i)と、検証の対象となる平文データM’(i)に対応する補助データN(i)との排他的論理和を算出し、比較用ビット列A’を生成する(ステップS403)。   Next, the hash data generation unit 202 generates hash data m ′ (i) of the plaintext data M ′ (i) to be verified (step S402). Next, the comparison bit string generation unit 203 calculates an exclusive OR of the hash data m ′ (i) and the auxiliary data N (i) corresponding to the plaintext data M ′ (i) to be verified. The comparison bit string A ′ is generated (step S403).

次に、検証用ビット列生成部205が、検証の対象となる平文データM’(i)に対応する署名データに対し署名検証鍵によって復元処理を行い検証用ビット列Aを取得する(ステップS404)。このとき、署名生成時にパディング処理が行われている場合は、復元処理されたビット列から特定ビット列Bを解除し、検証用ビット列Aを取得する。   Next, the verification bit string generation unit 205 obtains the verification bit string A by performing restoration processing on the signature data corresponding to the plaintext data M ′ (i) to be verified using the signature verification key (step S404). At this time, if the padding process is performed at the time of signature generation, the specific bit string B is canceled from the restored bit string, and the verification bit string A is acquired.

次に、検証部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 verification unit 206 determines whether or not the verification bit string A matches the comparison bit string A ′ (step S405). When the verification bit string A matches the comparison bit string A ′ (step S405—YES), the verification unit 206 determines that the signature verification for the plaintext data M ′ and the signature data is successful (step S406). In other words, in this case, the verification unit 206 determines that the plaintext data M ′ (i) is the plaintext data M (i) signed by the valid signature data generation apparatus 1 and has not been tampered thereafter. On the other hand, if the verification bit string A and the comparison bit string A ′ do not match (step S405—NO), the verification unit 206 determines that the signature verification for the plaintext data M ′ and signature data has failed (step S407). In other words, in this case, the verification unit 206 determines that the plaintext data M ′ (i) has not been signed by the valid signature data generation device 1 or that the data has been tampered with after the signature. Then, the verification unit 206 outputs a determination result (step S408).

図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 verification apparatus 2. FIG. 10A shows the relationship between plain text data and hash data. The hash data generation unit 202 calculates hash data m ′ (1) from the plaintext data M ′ (1). FIG. 10B is a diagram illustrating an outline of the comparison bit string A ′. The exclusive OR of the auxiliary data N (i) corresponding to the plaintext data M ′ (1) and the hash data m ′ (i) becomes the comparison bit string A ′. FIG. 10C shows the relationship between the signature data and the verification bit string A. Here, an example in which padding processing has been performed is shown, and the verification bit string A is extracted from the signature data by decoding the signature data and releasing the connection of the specific bit string B.

図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 data generation device 1, the verification bit string A and the comparison bit string A 'match. Therefore, according to the verification device 2 that performs the processing as described above, the signature data common to a plurality of plaintext data is used to verify the digital signature of one plaintext data without using other plaintext data. Is possible.

[適用例]
図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 data generation device 1. The signature verification system 4 includes three verification apparatuses A to C configured using the verification apparatus 2 described above, and a recording medium 3. For example, the verification device A is an ATM device installed in a bank, the verification device B is a kiosk terminal installed in a convenience store, and the verification device C is a ticket gate device installed in a station.

図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 recording medium 3. Hereinafter, the storage medium 3 will be described. The recording medium 3 is configured using a portable recording medium such as an IC card, a mobile phone equipped with RFID (Radio Frequency IDentification), and the like, and includes a signature data storage area and an actual data storage area. The signature data storage area stores signature data generated by the signature data generation device 1 and is configured to be accessible (readable) by any of the verification devices A to C. The actual data storage area includes a plurality of plaintext data M (A) to M (C) and auxiliary data N (A) to N (C) generated by the signature data generation device 1 corresponding to each plaintext data. Remember. The read authority is set in the actual data storage area, the plaintext data M (A) and the auxiliary data N (A) can be read only by the verification device A, and the plaintext data M (B) and the auxiliary data N (B ) Can be read only by the verification device B, and only the verification device C can read the plaintext data M (C) and the auxiliary data N (C).
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 recording medium 3, and the plaintext data (B) is the name of the owner of the recording medium 3. The plaintext data (C) is data representing balance information of electronic money.

署名検証システム4では、各検証装置A〜Cのデータ入力部201は、記録媒体3から署名データ、補助データ、平文データを読み出して入力を行う。なお、データ入力部201は、記録媒体3に記憶されている複数の平文データのうち、自装置が読み出すことが許可されている平文データのみを読み出す。   In the signature verification system 4, the data input unit 201 of each of the verification apparatuses A to C reads and inputs the signature data, auxiliary data, and plain text data from the recording medium 3. It should be noted that the data input unit 201 reads only plaintext data that is permitted to be read by the own device among the plurality of plaintext data stored in the recording medium 3.

このように構成された署名検証システム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 recording medium 3 for storing these data is reduced. It becomes possible to reduce. Further, in the signature verification system 4, since the signature data generation device 1 generates data required for verification of the electronic signature, the generation time of data required for verification of the digital signatures of a plurality of plaintext data is significantly longer than that in the past. It becomes possible to reduce. Furthermore, since the signature verification system 4 only needs to perform verification using a single signature data for a plurality of plaintext data, there is no need to perform a signature data restoration process a plurality of times according to each of the plurality of plaintext data. The time required to verify the plaintext data is also shortened.

また、一の平文データの署名検証において他の平文データが不要であるため、複数の平文データは、それぞれ読み出し可能に設定されている検証装置によってのみ読み出されるように記録媒体を構成することが可能となる。そのため、平文データのセキュリティの向上を図ることが可能となる。例えば、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 signature verification system 7 using the signature data and auxiliary data generated by the signature data generation device 1. The signature verification system 7 includes three verification devices A to C configured using the verification device 2 described above, a plaintext data / auxiliary data storage unit 6 connected to each verification device, and a recording medium 5. . In the signature verification system 7, as in the signature verification system 4, for example, the verification device A is an ATM device installed in a bank, the verification device B is a kiosk terminal installed in a convenience store, and the verification device C is a station It is a ticket gate device installed in

記録媒体5は、ICカード等の携帯可能な記録媒体や、RFID搭載の携帯電話機等を用いて構成され、署名データ記憶領域を備える。署名データ記憶領域は、署名データ生成装置1によって生成された署名データを記憶し、検証装置A〜Cのいずれもがアクセス可能に構成される。   The recording medium 5 is configured using a portable recording medium such as an IC card, a mobile phone equipped with an RFID, and the like, and includes a signature data storage area. The signature data storage area stores signature data generated by the signature data generation device 1 and is configured to be accessible to any of the verification devices A to C.

平文データ/補助データ記憶部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 data storage unit 6 stores plaintext data M (A) to M (C) and auxiliary data N (A) to N (C) read from the signature data generation device 1 in advance. Specifically, the plaintext data / auxiliary data storage unit 6 connected to the verification device A stores plaintext data M (A) and auxiliary data N (A), and plaintext data / auxiliary data connected to the verification device B. The storage unit 6 stores plaintext data M (B) and auxiliary data N (B), and the plaintext data / auxiliary data storage unit 6 connected to the verification device C has plaintext data M (C) and auxiliary data N (C). Remember. Each of the verification devices A to C performs signature verification by reading plaintext data and auxiliary data from the plaintext data / auxiliary data storage unit 6 connected to itself, and further reading signature data from the recording medium 5.

署名検証システム7では、各検証装置A〜Cのデータ入力部201は、記録媒体3から署名データを読み出して入力を行う。また、データ入力部201は、自装置に接続された平文データ/補助データ記憶部6から、補助データ及び平文データを読み出して入力を行う。   In the signature verification system 7, the data input unit 201 of each of the verification apparatuses A to C reads the signature data from the recording medium 3 and inputs it. The data input unit 201 reads out and inputs auxiliary data and plaintext data from the plaintext data / auxiliary data storage unit 6 connected to the device itself.

このように構成された署名検証システム7では、複数の平文データに対応する署名データが一つで済むため、署名データを記憶する記録媒体の使用メモリ量を削減することが可能となる。   Since the signature verification system 7 configured as described above requires only one signature data corresponding to a plurality of plaintext data, it is possible to reduce the amount of memory used for the recording medium storing the signature data.

また、一の平文データの署名検証において他の平文データが不要であるため、複数の平文データそれぞれを検証装置に接続された平文データ/補助データ記憶部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 data storage unit 6 connected to the verification device. . For this reason, it is possible to improve the security of plaintext data.

上述した実施形態における署名データ生成装置又は検証装置の機能を、プログラム実行可能な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 SYMBOLS 1 ... Signature data generation apparatus, 101 ... Plain text data input part, 102 ... Hash data generation part, 103 ... Auxiliary data generation part, 104 ... Signature generation key memory | storage part, 105 ... Signature data generation part (signature data generation part), 106 DESCRIPTION OF SYMBOLS ... Data output part, 2 ... Verification apparatus, 201 ... Data input part, 202 ... Hash data generation part, 203 ... Comparison bit string generation part, 204 ... Signature verification key storage part, 205 ... Verification bit string generation part, 206 ... Verification , 3, 5 ... recording medium (signature data recording medium), 4, 7 ... verification system (signature verification system), 6 ... plaintext data / auxiliary data storage unit

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に記載の署名データ生成装置によって生成された前記署名データ及び前記補助データと、当該補助データに対応する前記平文データと、を入力するデータ入力部と、
請求項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:
請求項1に記載の署名データ生成装置によって生成された前記署名データを記憶する署名データ記憶領域と、
前記署名データ生成装置によって生成された複数の前記補助データそれぞれを、対応する前記平文データと対応づけて記憶する実データ記憶領域と、
を有する署名データ記録媒体。
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:
請求項6に記載の署名データ生成方法において用いられる前記署名生成鍵に対応する署名検証鍵を記憶する署名検証鍵記憶部を備える検証装置が、請求項6に記載の署名データ生成方法によって生成された前記署名データ及び前記補助データと、当該補助データに対応する前記平文データと、を入力するデータ入力ステップと、
前記検証装置が、入力された前記平文データに対してハッシュ計算を行いハッシュデータを生成するハッシュデータ生成ステップと、
前記検証装置が、入力された前記補助データと、前記ハッシュデータ生成ステップによって生成された前記ハッシュデータとの排他的論理和を算出することによって、比較用ビット列を生成する比較用ビット列生成ステップと、
前記検証装置が、入力された前記署名データに対し、前記署名検証鍵記憶部に記憶される署名検証鍵を用いた復元処理を行い、検証用ビット列を生成する検証用ビット列生成ステップと、
前記検証装置が、前記検証用ビット列と前記比較用ビット列とを比較し、前記平文データと前記署名データとの関連性を検証する検証ステップと、
を備える検証方法。
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に記載のプログラムにおいて用いられる前記署名生成鍵に対応する署名検証鍵を記憶する署名検証鍵記憶部を備えるコンピュータに対し、
請求項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
JP2009010993A 2009-01-21 2009-01-21 Signature data generation device and verification device Active JP4834742B2 (en)

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)

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

Patent Citations (8)

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