JP2008178005A - Data verification system, its method, identifier creator, data verifier, program thereof and record medium - Google Patents

Data verification system, its method, identifier creator, data verifier, program thereof and record medium Download PDF

Info

Publication number
JP2008178005A
JP2008178005A JP2007011486A JP2007011486A JP2008178005A JP 2008178005 A JP2008178005 A JP 2008178005A JP 2007011486 A JP2007011486 A JP 2007011486A JP 2007011486 A JP2007011486 A JP 2007011486A JP 2008178005 A JP2008178005 A JP 2008178005A
Authority
JP
Japan
Prior art keywords
data
information
unit
identifier
outputs
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
JP2007011486A
Other languages
Japanese (ja)
Other versions
JP4901499B2 (en
Inventor
Takeshi Yamamoto
剛 山本
Satoru Oda
哲 小田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2007011486A priority Critical patent/JP4901499B2/en
Publication of JP2008178005A publication Critical patent/JP2008178005A/en
Application granted granted Critical
Publication of JP4901499B2 publication Critical patent/JP4901499B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To form an algorithm adding a tendency in calculation, thereby reducing an overall calculation amount by a verification method using a conventional hash function and the like to accelerate speed in verification. <P>SOLUTION: Original data X of the verification are set to d-pieces of division information X<SB>i</SB>, and d-pieces of identifier Y<SB>i</SB>corresponding to X<SB>i</SB>are created by a formula 1 (each g and N denotes a natural number of 2 or more). Data X' which are a verification target are set to d-pieces of division information X<SB>i</SB>' in an identical method to X<SB>i</SB>, and Y' is calculated by a formula 2 (e<SB>i</SB>denote is an integer). By a formula 3, x is calculated. C=g<SP>x</SP>mod N is calculated, and if C=Y'mod N, it is determined that a matching property is contained. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、データの整合性を検証する技術に関し、詳しくは、時間的又は物理的に離隔した2つのデータが同一であるかどうかを検証するデータ検証システム、その方法、識別子生成装置、データ検証装置、それらのプログラム及びそのプログラムを記憶する記録媒体に関する。   The present invention relates to a technique for verifying data consistency, and more specifically, a data verification system, a method, an identifier generation apparatus, and data verification for verifying whether two pieces of data separated temporally or physically are the same. The present invention relates to apparatuses, their programs, and recording media for storing the programs.

物理媒体に記憶されている情報は、時間を経ることにより様々なトラブルによって変化することがある。この変化を検出する手法としてはビット誤りを検出するparityやバースト誤りを検出するCRCなどが有名である。これらの方式は計算が簡便であり、ディスクの異常を検知する方法として応用されRAIDなどのハードディスクやフレキシブルディスクで用いられている。   Information stored in a physical medium may change due to various troubles over time. Well-known techniques for detecting this change include parity for detecting bit errors and CRC for detecting burst errors. These methods are simple to calculate and are applied as a method for detecting an abnormality of a disk and are used in a hard disk such as RAID or a flexible disk.

また、物理媒体同士が通信を行って転送される経路中になんらかのトラブルで情報が変化することもある。このため、巨大なデータXをダウンロードする場合は、データXと同時にMD5やSHA−1のハッシュ値などによる短いビット長からなる識別子Yをダウンロードし、整合性が疑われるデータX´(ダウンロードを経たデータX)について識別子を計算して、データXの識別子Yと比較することで正しくダウンロードできたかどうかを確認することがある。   In addition, information may change due to some trouble in a path in which physical media communicate with each other and are transferred. For this reason, when downloading huge data X, an identifier Y consisting of a short bit length, such as a hash value of MD5 or SHA-1, is downloaded at the same time as the data X, and data X ′ whose integrity is suspected (passed through downloading) An identifier may be calculated for the data X) and compared with the identifier Y of the data X to confirm whether or not the download was successful.

もちろん、先の誤り検出符号を用いても同様の変化の検出が可能であるが、特にインターネットなどの不特定多数が利用するネットワークを介した通信の場合、通信内容が悪意のあるエンティティに書き換えられることも考慮し、人為的な操作に対しても暗号学的に安全なハッシュ関数などを用いることが多い。
Bruce Schneier 著、山形浩生 訳、“暗号技術大全”、p475〜509、ソフトバンクパブリッシング、2003年
Of course, the same change can be detected using the previous error detection code, but in the case of communication via a network used by an unspecified majority such as the Internet, the communication content is rewritten to a malicious entity. In view of this, cryptographically secure hash functions are often used even for artificial operations.
Bruce Schneier, translated by Hiroo Yamagata, “Encyclopedia of Cryptographic Technology”, p475-509, Softbank Publishing, 2003

ハッシュ関数などによる安全性を考慮した識別子は、識別子が計算される周辺の状況に比べ計算量が相対的に多く、識別子の計算に時間がかかる点である。このことは、特に検証対象のデータXが巨大な場合に顕著である。近年ではハッシュ関数計算処理も高速化が図られてはいるが、ADSLや光ファイバを利用した通信回線の普及に伴って回線速度が飛躍的に上昇している。そのため、データXがこのような高速ネットワークにより伝送される場合、通信の完全性をハッシュ関数などを用いてリアルタイムに検証することが困難になっている。   An identifier that considers security by a hash function or the like has a relatively large amount of calculation compared to the surrounding situation in which the identifier is calculated, and it takes time to calculate the identifier. This is particularly noticeable when the data X to be verified is huge. In recent years, the speed of hash function calculation processing has been increased, but the line speed has dramatically increased with the spread of communication lines using ADSL and optical fibers. Therefore, when the data X is transmitted through such a high-speed network, it is difficult to verify communication integrity in real time using a hash function or the like.

本発明のデータ検証システムは、第1データ記憶部、第1データ分割部、識別子計算部、識別子記憶部、第2データ記憶部、第2データ分割部、Y´計算部、x計算部、C計算部及び整合性判定部を具備する。
第1データ記憶部は、所定の情報Xを記憶する。
第1データ分割部は、上記情報Xが入力され、これを予め定められた手順に従いd個(dは2以上の自然数)に分割して分割情報Xi(2≦i≦d)を生成し出力する。
識別子計算部は、上記分割情報Xiが入力され、識別子Y
The data verification system of the present invention includes a first data storage unit, a first data division unit, an identifier calculation unit, an identifier storage unit, a second data storage unit, a second data division unit, a Y ′ calculation unit, an x calculation unit, C A calculation unit and a consistency determination unit are provided.
The first data storage unit stores predetermined information X.
The first data division unit receives the information X and divides it into d pieces (d is a natural number of 2 or more) according to a predetermined procedure to generate division information X i (2 ≦ i ≦ d). Output.
The identifier calculation unit receives the division information X i and determines the identifier Y i

Figure 2008178005
(N、gは共に2以上の自然数)により計算し出力する。
識別子記憶部は、上記計算した識別子Yを記憶する。
Figure 2008178005
(N and g are both natural numbers of 2 or more).
The identifier storage unit stores the calculated identifier Y i .

第2データ記憶部は、上記情報Xとの比較対象とする情報X´を記憶する。
第2データ分割部は、上記情報X´が入力され、これを上記予め定められた手順に従いd個に分割して分割情報Xi´を生成し出力する。
Y´計算部は、上記識別子Yが入力され、Y´を

Figure 2008178005
(eは整数)により計算し出力する。
x計算部は、上記分割情報X´が入力され、xを The second data storage unit stores information X ′ to be compared with the information X.
The second data dividing unit receives the information X ′, divides it into d pieces according to the predetermined procedure, and generates and outputs divided information X i ′.
The Y ′ calculation unit receives the identifier Y i and determines Y ′
Figure 2008178005
(E i is an integer) is calculated and output.
The x calculation unit receives the division information X i ′ and calculates x

Figure 2008178005
により計算し、出力する。
C計算部は、上記xが入力され、Cを
C=gmod N (4)
により計算し出力する。
整合性判定部は、上記Y´と上記Cとが入力され、C=Y´mod Nであれば整合性有り、そうでなければ整合性無しとの判定結果を出力する。
Figure 2008178005
Calculate and output by
The C calculator receives the above x and converts C into C = g x mod N (4)
Calculate and output by
The consistency determination unit inputs the Y ′ and the C, and outputs a determination result that there is consistency if C = Y′mod N, and that there is no consistency otherwise.

本発明のデータ検証システムは、識別子の生成と整合性の検証に異なるアルゴリズムを用いることにより、計算回数が少ない識別子生成時の計算の1回の計算量より、計算回数の多い整合性検証時の計算の1回の計算量を小さくしている。このように計算上の傾向を加味したアルゴリズムにすることで、従来のハッシュ関数などを用いる検証方法より全体の計算量を小さくすることができ、よって検証を高速化できる。   The data verification system of the present invention uses different algorithms for identifier generation and consistency verification, so that the number of calculations is less than the one calculation amount for generating identifiers, and the number of calculations is greater during consistency verification. The amount of calculation per calculation is reduced. By using an algorithm that takes into account the tendency of calculation in this way, the total amount of calculation can be reduced as compared with a conventional verification method using a hash function or the like, and thus verification can be speeded up.

〔第1実施形態〕
図1、図2は第1実施形態のデータ検証システムを構成する識別子生成装置10とデータ検証装置20の機能構成例である。また、図3は第1実施形態の処理フローである。
識別子生成装置10は、第1データ記憶部11、第1データ分割部12、識別子計算部13、送信部18及び制御部19から構成される。
第1データ記憶部11は、検証の元となるデータXが記憶される(S1)。
第1データ分割部12は、第1データ記憶部11に記憶されたデータXが入力されると、これをd個(dは2以上の自然数)に分割して、d個の分割情報X(2≦i≦d)を出力する(S2)。
dの値については適宜決定してよく、例えばdを定数として定めてもよいし、個々のXが全て同じ長さとなるようにXの長さに応じて定めてもよい。
データXをd個に分割する方法についても適宜決定してよく、例えばデータX全体を単純にd個に分割してもよいし、先頭から1ワードごとにXに割り振ってもよい。
[First Embodiment]
1 and 2 are functional configuration examples of the identifier generation device 10 and the data verification device 20 that constitute the data verification system of the first embodiment. FIG. 3 is a processing flow of the first embodiment.
The identifier generation device 10 includes a first data storage unit 11, a first data division unit 12, an identifier calculation unit 13, a transmission unit 18, and a control unit 19.
The first data storage unit 11 stores data X to be verified (S1).
When the data X stored in the first data storage unit 11 is input, the first data dividing unit 12 divides the data X into d pieces (d is a natural number of 2 or more), and d pieces of division information X i. (2 ≦ i ≦ d) is output (S2).
The value of d may be determined as appropriate. For example, d may be determined as a constant, or may be determined according to the length of X so that each X i has the same length.
A method of dividing the data X into d pieces may be determined as appropriate. For example, the entire data X may be simply divided into d pieces, or may be assigned to X i for each word from the top.

識別子計算部13は、第1データ分割部12で分割されたd個のXが入力されると、Xに対応するd個の識別子Yを式(1)により計算して出力する(S3)。なお、Nとgは共に2以上の自然数である。
上記計算の際にはXを適当な方法で0以上の自然数に対応させる。例えば、ビット列Xを長大な2進数であると解釈して対応させる。
送信部18は、上記データXを上記d個の識別子Yと共にネットワークを介してデータ検証装置20に送信する(S4)。なお、ネットワークは装置間に距離的離隔を生じさせるものであればWANでもLANでも構わない。
Identifier calculation unit 13, the d-number of X i divided by the first data division unit 12 is input, the d-number identifier Y i corresponding to X i and outputs the calculated by the equation (1) ( S3). N and g are both natural numbers of 2 or more.
In the above calculation, X i is made to correspond to a natural number of 0 or more by an appropriate method. For example, the bit string X i is interpreted as a long binary number and is made to correspond.
The transmission unit 18 transmits the data X together with the d identifiers Y i to the data verification device 20 via the network (S4). The network may be a WAN or a LAN as long as it causes a distance between devices.

制御部19は、識別子生成装置10の上記各処理を制御する。
データ検証装置20は、識別子記憶部21、第2データ記憶部22、Y´計算部23、第2データ分割部24、x計算部25、C計算部26、整合性判定部27、受信部28及び制御部29から構成される。
受信部28は、ネットワークを介して送信されたデータX´と上記d個の識別子Yとを受信する(S5)。ここで、データX´は識別子Yに基づき元データXとの整合性判定を行う対象となるデータである。なお、識別子Yは必ずデータXから生成されているものとし、また伝送路において変化・改ざん等されることなく受信されているものとする。
The control unit 19 controls each process of the identifier generation device 10.
The data verification device 20 includes an identifier storage unit 21, a second data storage unit 22, a Y ′ calculation unit 23, a second data division unit 24, an x calculation unit 25, a C calculation unit 26, a consistency determination unit 27, and a reception unit 28. And a control unit 29.
The receiving unit 28 receives the data X ′ and the d identifiers Y i transmitted via the network (S5). Here, the data X ′ is data for which consistency determination with the original data X is performed based on the identifier Y i . It is assumed that the identifier Y i is always generated from the data X and is received without being changed or altered on the transmission path.

識別子記憶部21は、受信部28で受信したd個の識別子Yを記憶する(S6)。
第2データ記憶部22は、受信部28で受信したデータX´を記憶する(S6)。
Y´計算部23は、識別子記憶部21に記憶されたd個の識別子Yが入力されると、Y´を式(2)によって計算して出力する(S7)。なお、eは整数である。
第2データ分割部24は、第2データ記憶部22に記憶されたデータX´が入力されると、これをd個(dは2以上の自然数)に分割して、d個の分割情報X´(2≦i≦d)を出力する(S8)。dの値の決定方法及びデータX´をd個に分割する方法については、第1データ分割部12と共通の予め定められた手順による。
x計算部25は、第2データ分割部24で分割されたd個のX´が入力されると、式(3)によりxを計算して出力する(S9)。
The identifier storage unit 21 stores the d identifiers Y i received by the receiving unit 28 (S6).
The second data storage unit 22 stores the data X ′ received by the receiving unit 28 (S6).
When the d identifiers Y i stored in the identifier storage unit 21 are input, the Y ′ calculator 23 calculates Y ′ according to the equation (2) and outputs it (S7). Note that e i is an integer.
When the data X ′ stored in the second data storage unit 22 is input, the second data dividing unit 24 divides this into d pieces (d is a natural number of 2 or more), and d pieces of division information X i ′ (2 ≦ i ≦ d) is output (S8). The method of determining the value of d and the method of dividing the data X ′ into d pieces are based on a predetermined procedure common to the first data dividing unit 12.
When the x pieces of X i ′ divided by the second data dividing unit 24 are input, the x calculating unit 25 calculates x according to the equation (3) and outputs it (S9).

C計算部26は、x計算部25で計算されたxが入力されると、式(4)によりCを計算して出力する(S10)。
整合性判定部27は、データXから生成された識別子Yに基づき計算された上記Y´と、データX´に基づき計算された上記Cとが入力されると、この両者を比較し、C=Y´mod NであればデータXとデータX´とは整合性有りとの判定結果を出力し、そうでなければ整合性無しとの判定結果を出力する(S11)。
制御部29は、データ検証装置20の上記各処理を制御する。
以上のように、本発明はハッシュ関数による整合性検証のように識別子生成部と検証部とで同じ演算を行うものと異なり、識別子生成部10は式(1)の演算を行い、データ検証部20は式(2)〜(4)の演算を行うというようにそれぞれ異なったアルゴリズムで演算を行う。
When the x calculated by the x calculating unit 25 is input, the C calculating unit 26 calculates and outputs C according to the equation (4) (S10).
When the consistency determination unit 27 receives the Y ′ calculated based on the identifier Y i generated from the data X and the C calculated based on the data X ′, the consistency determination unit 27 compares the two, If Y = mod N, the determination result that the data X and the data X ′ are consistent is output, and if not, the determination result that there is no consistency is output (S11).
The control unit 29 controls each process of the data verification device 20.
As described above, in the present invention, unlike the case where the identifier generation unit and the verification unit perform the same calculation as in the consistency verification by the hash function, the identifier generation unit 10 performs the calculation of Expression (1), and the data verification unit The operation 20 is performed by different algorithms such as the operations of equations (2) to (4).

一般的に情報の「書き込まれる回数」と「読み込まれる回数」を比較した場合、「読み込まれる回数」の方が多いと考えられる。そのため、情報の完全性を検証する場合も、完全性の基準となる情報から識別子を生成する回数(=「書き込まれる回数」)に比べて、その基準と差異が無いかどうかを調べる検証の回数(=「読み込まれる回数」)の方が必然的に多くなる。特に大容量ファイルの代表格である映像コンテンツなどは一度作成した情報を、多くの人が何度も読み込むという状況が想定される。
そこで、演算コストが「識別子の生成」>「識別子によるデータ整合性検証」となることが望ましい状況が存在することに注目し、本発明では識別子の生成と識別子によるデータ整合性検証に異なるアルゴリズムを採用した。
Generally, when comparing the “number of times of writing” and the “number of times of reading” of information, it is considered that the “number of times of reading” is larger. Therefore, when verifying the integrity of information, the number of verifications for checking whether or not there is a difference from the criterion compared to the number of times that an identifier is generated from information serving as a criterion for integrity (= “number of times of writing”) (= “Number of times of reading”) inevitably increases. In particular, video content, which is a representative of large-capacity files, is assumed to be a situation where many people read information once created many times.
Therefore, it is noted that there are situations where it is desirable that the calculation cost is “generation of identifier”> “data integrity verification by identifier”. In the present invention, different algorithms are used for generation of identifier and data integrity verification by identifier. Adopted.

具体的には、式(1)の識別子の計算量は基本的にXの大きさに比例することから、特に、Xが大きい場合においては識別子の生成にもある程度の時間を要する。しかし検証時については、式(2)の計算はXのダウンロードと並行して行うことが可能であり、式(3)の計算は単に積和をとるだけであるため負荷が小さく、式(4)の計算は1回で終わるというように、検証時の演算コストは相対的に軽量化している。
このようなアルゴリズム構成は、映像コンテンツのように、データの整合性検証にはリアルタイム性を求めるが、識別子の生成は多少遅くても問題無い場合に特に有効である。
Specifically, the amount of calculation of the identifier in equation (1) is basically proportional to the size of X, and therefore, when X is large, it takes a certain amount of time to generate the identifier. However, at the time of verification, the calculation of Equation (2) can be performed in parallel with the download of X, and the calculation of Equation (3) is merely a sum of products, so the load is small. The calculation cost at the time of verification is relatively light so that the calculation of) is completed once.
Such an algorithm configuration is particularly effective when there is no problem even if the generation of identifiers is somewhat late, although real-time properties are required for verification of data consistency as in video content.

〔第2実施形態〕
第1実施形態は、物理媒体同士が通信を行って情報が転送される経路中に何らかのトラブルで情報が変化するような場合の構成、つまり物理的に離隔したデータXとデータX´との整合性を検証する構成である。これに対し、第2実施形態は、同一の物理媒体に記憶されている情報が時間を経ることにより何らかのトラブルで情報が変化するような場合の構成、つまり時間的に離隔したデータXとデータX´との整合性を検証する構成である。従って、第2実施形態においては、第1実施形態と異なり識別子生成装置とデータ検証装置とは一体的に構成される。
[Second Embodiment]
The first embodiment is a configuration in the case where information changes due to some trouble in a path through which information is transferred through communication between physical media, that is, matching between physically separated data X and data X ′. It is the structure which verifies property. On the other hand, the second embodiment has a configuration in which information stored in the same physical medium changes due to some trouble as time passes, that is, data X and data X separated in time. This is a configuration for verifying consistency with ′. Therefore, in the second embodiment, unlike the first embodiment, the identifier generation device and the data verification device are integrally configured.

図4は第2実施形態のデータ検証システムを構成する一体型装置30の機能構成例である。
一体型装置30は、データ記憶部31、データ分割部32、識別子計算部13、識別子記憶部21、Y´計算部23、x計算部25、C計算部26、整合性判定部27及び制御部39から構成される。
識別子計算部13、識別子記憶部21、Y´計算部23、x計算部25、C計算部26、整合性判定部27は第1実施形態の図1、図2の同名の部位と同じものである。従って、図4の中で図1、図2と対応する部分については同一参照番号を付け、説明は省略する。その他の図面についても同様とする。
FIG. 4 is a functional configuration example of the integrated apparatus 30 constituting the data verification system of the second embodiment.
The integrated apparatus 30 includes a data storage unit 31, a data division unit 32, an identifier calculation unit 13, an identifier storage unit 21, a Y ′ calculation unit 23, an x calculation unit 25, a C calculation unit 26, a consistency determination unit 27, and a control unit. 39.
The identifier calculation unit 13, the identifier storage unit 21, the Y ′ calculation unit 23, the x calculation unit 25, the C calculation unit 26, and the consistency determination unit 27 are the same as the parts having the same names in FIGS. 1 and 2 of the first embodiment. is there. Therefore, in FIG. 4, the parts corresponding to those in FIGS. 1 and 2 are denoted by the same reference numerals, and the description thereof is omitted. The same applies to other drawings.

データ記憶部31は第1実施形態の第1データ記憶部11と第2データ記憶部22の機能を合わせ持つものであり、またデータ分割部32は第1実施形態の第1データ分割部12と第2データ分割部24の機能を合わせ持つものである。
制御部39は、一体型装置30で行われる各処理を制御する。
第2実施形態の処理フローを図5に示す。
まず、検証に用いる識別子を生成する。
The data storage unit 31 has the functions of the first data storage unit 11 and the second data storage unit 22 of the first embodiment, and the data dividing unit 32 is the same as the first data dividing unit 12 of the first embodiment. This also has the function of the second data dividing unit 24.
The control unit 39 controls each process performed in the integrated device 30.
A processing flow of the second embodiment is shown in FIG.
First, an identifier used for verification is generated.

検証の元となるデータXがデータ記憶部31に記憶される(S1)。データ分割部32はデータ記憶部31に記憶されたデータXをd分割してd個の分割情報Xを作成し出力する。dの値の決定方法及びデータX´をd個に分割する方法については、第1データ分割部12と同様の考え方による(S2)。識別子計算部13にデータ分割部32で分割されたd個のXが入力され、Xに対応するd個の識別子Yを式(1)により計算して出力し(S3)、識別子記憶部21に記憶する(S4)。
そして、必要時などに次の検証処理を行う。
Data X that is a source of verification is stored in the data storage unit 31 (S1). The data dividing unit 32 divides the data X stored in the data storage unit 31 into d pieces to generate and output d pieces of division information X i . The method of determining the value of d and the method of dividing the data X ′ into d pieces are based on the same idea as the first data dividing unit 12 (S2). The d pieces of X i divided by the data division unit 32 are input to the identifier calculation unit 13, and d identifiers Y i corresponding to X i are calculated and output according to the equation (1) (S 3) Store in the unit 21 (S4).
Then, the next verification process is performed when necessary.

Y´計算部23は識別子記憶部21に記憶されたd個の識別子Yを用いてY´を式(2)により計算する(S5)。データ分割部32は、データ記憶部31に記憶されているデータX´(識別子生成時のデータXの、時間経過後のデータ)をS2で適用した方法と同じ方法でd分割してd個の分割情報X´を作成して出力する(S6)。x計算部25は、第2データ分割部24で分割されたd個のX´がx計算部25に入力されると式(3)によりxを計算して出力する(S7)。C計算部26は、x計算部25で計算されたxが入力されると、式(4)によりCを計算して出力する(S8)。整合性判定部27は、データXから生成された識別子Yに基づき計算された上記Y´と、データX´に基づき計算された上記Cとが入力されるとこの両者を比較し、C=Y´mod NであればデータXとデータX´とは整合性有りとの判定結果を出力し、そうでなければ整合性無しとの判定結果を出力する(S9)。
以上の構成により、同一の物理媒体に記憶されている情報が時間を経ることにより何らかのトラブルで情報が変化しても、第1実施形態同様、速やかにデータの整合性の検証を行うことができる。
The Y ′ calculation unit 23 calculates Y ′ by the equation (2) using the d identifiers Y i stored in the identifier storage unit 21 (S5). The data dividing unit 32 divides d data X ′ (data after the elapse of time of the data X at the time of identifier generation) stored in the data storage unit 31 into d pieces by the same method as applied in S2. The division information X i ′ is created and output (S6). When the x pieces of X i ′ divided by the second data dividing unit 24 are input to the x calculating unit 25, the x calculating unit 25 calculates and outputs x according to the expression (3) (S7). When the x calculated by the x calculating unit 25 is input, the C calculating unit 26 calculates and outputs C according to the equation (4) (S8). When the Y ′ calculated based on the identifier Y i generated from the data X and the C calculated based on the data X ′ are input, the consistency determination unit 27 compares the two, and C = If Y′mod N, the determination result that the data X and the data X ′ are consistent is output, and if not, the determination result that there is no consistency is output (S9).
With the above configuration, even if the information stored in the same physical medium changes over time due to some trouble, data consistency can be quickly verified as in the first embodiment. .

〔第3実施形態〕
第3実施形態は、第2実施形態の一体型構成において外部記憶装置を使用する構成、詳しくは、識別子の生成後にデータXを一旦ネットワークを介した外部記憶装置に移動・保存し、この外部記憶装置に保存したデータX´を再度一体型装置にダウンロードする場合のデータXとデータX´との整合性を検証する構成である。
[Third Embodiment]
In the third embodiment, the external storage device is used in the integrated configuration of the second embodiment. Specifically, after the identifier is generated, the data X is temporarily moved / saved to the external storage device via the network. This is a configuration for verifying the consistency between the data X ′ and the data X ′ when the data X ′ stored in the device is downloaded to the integrated device again.

図6は第3実施形態のデータ検証システムを構成する一体型装置40と外部記憶装置200の機能構成例である。
一体型装置40は、第1データ記憶部41、データ分割部32、識別子計算部13、識別子記憶部21、Y´計算部23、x計算部25、C計算部26、整合性判定部27、送受信部48及び制御部49から構成される。
データ分割部32、識別子計算部13、識別子記憶部21、Y´計算部23、x計算部25、C計算部26、整合性判定部27は第2実施形態と同様である。
また、第1データ記憶部41は、第2実施形態のデータ記憶部31に送受信部48とのインタフェース機能を付加したものである。
送受信部48は、一体型装置40と外部記憶装置200との間の通信機能を有する。
制御部49は、一体型装置40で行われる各処理を制御する。
外部記憶装置200は、第2データ記憶部222と送受信部48とから構成される。
第2データ記憶部222は、送受信部48で受信したデータX´を記憶する。
第3実施形態の処理フローを図7に示す。
まず、一体型装置40で検証に用いる識別子を生成する。
FIG. 6 is a functional configuration example of the integrated device 40 and the external storage device 200 constituting the data verification system of the third embodiment.
The integrated apparatus 40 includes a first data storage unit 41, a data division unit 32, an identifier calculation unit 13, an identifier storage unit 21, a Y ′ calculation unit 23, an x calculation unit 25, a C calculation unit 26, a consistency determination unit 27, A transmission / reception unit 48 and a control unit 49 are included.
The data division unit 32, the identifier calculation unit 13, the identifier storage unit 21, the Y ′ calculation unit 23, the x calculation unit 25, the C calculation unit 26, and the consistency determination unit 27 are the same as those in the second embodiment.
The first data storage unit 41 is obtained by adding an interface function with the transmission / reception unit 48 to the data storage unit 31 of the second embodiment.
The transmission / reception unit 48 has a communication function between the integrated device 40 and the external storage device 200.
The control unit 49 controls each process performed in the integrated apparatus 40.
The external storage device 200 includes a second data storage unit 222 and a transmission / reception unit 48.
The second data storage unit 222 stores the data X ′ received by the transmission / reception unit 48.
A processing flow of the third embodiment is shown in FIG.
First, an identifier used for verification in the integrated device 40 is generated.

検証の元となるデータXが第1データ記憶部41に記憶される(S1)。データ分割部32は第1データ記憶部41に記憶されたデータXをd分割してd個の分割情報Xを作成し出力する。dの値の決定方法及びデータX´をd個に分割する方法については、第1データ分割部12と同様の考え方による(S2)。識別子計算部13は、データ分割部32で分割されたd個のXが入力されると、Xに対応するd個の識別子Yを式(1)により計算して出力し(S3)、識別子記憶部21はこれを記憶する(S4)。 Data X that is a source of verification is stored in the first data storage unit 41 (S1). The data dividing unit 32 divides the data X stored in the first data storage unit 41 into d pieces to generate and output d pieces of division information X i . The method of determining the value of d and the method of dividing the data X ′ into d pieces are based on the same idea as the first data dividing unit 12 (S2). Identifier calculation unit 13, the d-number of X i divided by the data dividing unit 32 is input, the d-number identifier Y i corresponding to X i and output calculated by Equation (1) (S3) The identifier storage unit 21 stores this (S4).

次に、データXを外部記憶装置200に移動・保存する。
送受信部48は第1データ記憶部41に記憶されたデータXを外部記憶装置200に送信し、送信後、制御部49は第1データ記憶部41のデータXを消除する(S5)。外部記憶装置200の送受信部48は、ネットワークを介して送信されたデータX´を受信し、データX´を第2データ記憶部222に記憶する(S6)。
そして、データX´を一体型装置40にダウンロードし整合性を検証する。
Next, the data X is moved / saved in the external storage device 200.
The transmission / reception unit 48 transmits the data X stored in the first data storage unit 41 to the external storage device 200. After the transmission, the control unit 49 deletes the data X in the first data storage unit 41 (S5). The transmission / reception unit 48 of the external storage device 200 receives the data X ′ transmitted via the network, and stores the data X ′ in the second data storage unit 222 (S6).
Then, the data X ′ is downloaded to the integrated device 40 and the consistency is verified.

第2データ記憶部222に記憶されたデータX´は外部記憶装置200の送受信部48からネットワークを介して一体型装置40に送信される(S7)。ネットワークを介して送信されたデータX´を一体型装置40の送受信部48で受信し、第1データ記憶部41に記憶する(S8)。Y´計算部23は、識別子記憶部21に記憶されたd個の識別子Yを用いてY´を式(2)により計算する(S9)。データ分割部32は、第1データ記憶部41に記憶されているデータX´をS2で適用した方法と同じ方法でd分割してd個の分割情報X´を作成して出力する(S10)。x計算部25は、第2データ分割部24で分割されたd個のX´がx計算部25に入力されると、式(3)によりxを計算して出力する(S11)。C計算部26は、x計算部25で計算されたxが入力されると、式(4)によりCを計算して出力する(S12)。整合性判定部27は、データXから生成された識別子Yに基づき計算された上記Y´と、データX´に基づき計算された上記Cとが入力されると、この両者を比較して、C=Y´mod NであればデータXとデータX´とは整合性有りとの判定結果を出力し、そうでなければ整合性無しとの判定結果を出力する(S13)。 The data X ′ stored in the second data storage unit 222 is transmitted from the transmission / reception unit 48 of the external storage device 200 to the integrated device 40 via the network (S7). The data X ′ transmitted via the network is received by the transmission / reception unit 48 of the integrated apparatus 40 and stored in the first data storage unit 41 (S8). The Y ′ calculation unit 23 calculates Y ′ by the equation (2) using the d identifiers Y i stored in the identifier storage unit 21 (S9). The data dividing unit 32 divides the data X ′ stored in the first data storage unit 41 into d by the same method as that applied in S2, and generates and outputs d pieces of division information X i ′ (S10). ). When the x pieces of X i ′ divided by the second data dividing unit 24 are input to the x calculating unit 25, the x calculating unit 25 calculates x according to the expression (3) and outputs it (S11). When the x calculated by the x calculating unit 25 is input, the C calculating unit 26 calculates and outputs C according to the equation (4) (S12). When the consistency determination unit 27 receives the Y ′ calculated based on the identifier Y i generated from the data X and the C calculated based on the data X ′, the consistency determination unit 27 compares the two, If C = Y′mod N, the determination result that the data X and the data X ′ are consistent is output, and if not, the determination result that there is no consistency is output (S13).

以上の構成により、外部記憶装置を使用する場合においても、速やかにデータXとデータX´との整合性の検証を行うことができる。   With the above configuration, even when an external storage device is used, the consistency between the data X and the data X ′ can be quickly verified.

〔第4実施形態〕
第4実施形態は、識別子などの計算に用いる上記Nの値を素因数分解困難な正の合成数とし、悪意者による攻撃に対する安全性を向上するものである。
式(1)などの計算に用いるNは2以上の自然数としているが、Nが素数の場合や容易に素因数分解できる数の場合、Yの位数を知ることができ、その結果、データXに基づき生成されたYについて式(1)を成立させる複数のXiを計算できることになるため、悪意者による攻撃に対する安全性に不安が残る。
そこで、第4実施形態はNを素因数分解が困難な正の合成数とし、衝突困難性を素因数分解の困難性に帰着させることで安全性を高めることができるものである。
[Fourth Embodiment]
In the fourth embodiment, the value of N used for calculating an identifier or the like is a positive composite number that is difficult to be prime factorized, and the security against attacks by the Service-to-Self is improved.
N used in the calculation of equation (1) is a natural number of 2 or more. However, when N is a prime number or a number that can be easily factored, the order of Y i can be known, and as a result, the data X As a result, a plurality of X i for satisfying the expression (1) can be calculated for Y i generated based on the above, and thus there remains anxiety about safety against attacks by Service-to-Self.
Therefore, in the fourth embodiment, the safety can be improved by making N a positive composite number that is difficult to prime factorization and reducing the collision difficulty to the difficulty of prime factorization.

〔第5実施形態〕
第5実施形態は、識別子生成者がN=p・q(p、qは共に素数)のp、qを知っていることを前提として、識別子の計算の高速化を図る構成である。
図8は第5実施形態のデータ検証システムを構成する識別子生成装置50の機能構成例である。なお、ネットワークを介して対向するデータ検証装置の構成は第1実施形態と同様なものでよい。図9は第5実施形態の処理フローである。
識別子生成装置50は、第1データ記憶部11、第1データ分割部12、ξ計算部51、識別子計算部53、送信部18及び制御部59から構成される。
[Fifth Embodiment]
The fifth embodiment is configured to speed up the calculation of identifiers on the assumption that the identifier generator knows p and q of N = p · q (both p and q are prime numbers).
FIG. 8 is a functional configuration example of the identifier generation device 50 constituting the data verification system of the fifth embodiment. Note that the configuration of the data verification apparatus that is opposed via the network may be the same as that of the first embodiment. FIG. 9 is a processing flow of the fifth embodiment.
The identifier generation device 50 includes a first data storage unit 11, a first data division unit 12, an ξ calculation unit 51, an identifier calculation unit 53, a transmission unit 18, and a control unit 59.

第1データ記憶部11、第1データ分割部12及び送信部18は、第1実施形態と同様である。つまり、第5実施形態は第1実施形態の識別子計算部13をξ計算部51と識別子計算部53に置き換えた構成である。
なお、第2実施形態、第3実施形態の構成においても、識別子計算部13をξ計算部51と識別子計算部53に置き換えることで、同様に高速化の効果を得ることができる。
ξ計算部51は、第1データ分割部12で分割されたd個のXが入力され、Xに対応するd個のξを次式により計算して出力する。なお、pとqは共に素数である。
ξ=Xmod (p−1)・(q−1) (5)
識別子計算部53は、ξ計算部51で計算されたd個のξが入力され、ξに対応するd個の識別子Yを次式により計算して出力する。なお、N=p・qである。
The first data storage unit 11, the first data division unit 12, and the transmission unit 18 are the same as those in the first embodiment. That is, the fifth embodiment has a configuration in which the identifier calculation unit 13 of the first embodiment is replaced with a ξ calculation unit 51 and an identifier calculation unit 53.
In the configurations of the second embodiment and the third embodiment, the effect of speeding up can be obtained similarly by replacing the identifier calculation unit 13 with the ξ calculation unit 51 and the identifier calculation unit 53.
xi] calculating section 51, d pieces of X i divided by the first data division unit 12 is input, d items xi] i corresponding to X i and outputs the calculated by the following equation. Note that p and q are both prime numbers.
ξ i = X i mod (p−1) · (q−1) (5)
Identifier calculation unit 53, xi] i of d pieces calculated by the xi] calculation unit 51 is inputted, the d-number identifier Y i corresponding to xi] i and outputs the calculated by the following equation. Note that N = p · q.

Figure 2008178005
制御部59は、識別子生成装置50で行われる各処理を制御する。
式(1)による識別子の計算は、元となるデータXをd個に分割して行っているものの、特にデータXが大きな値の場合には全体の処理速度への影響が大きい。
式(1)のような剰余計算の解(式(1)においてはY)はNを法とする場合、べき乗数Xに関し、Yの位数の周期(p、qが素数でN=p・qの場合、(p−1)・(q−1))で繰り返し同じ値をとる。このような特性から、式(1)のようにXで直接べき乗するのではなく、先に式(5)のようにXに対し位数により剰余計算を行い、Xを位数の範囲内に縮小化した計算結果ξをXの代わりに利用して式(6)の剰余計算を行っても同じ解が得られる。
Figure 2008178005
The control unit 59 controls each process performed by the identifier generation device 50.
Although the calculation of the identifier by the equation (1) is performed by dividing the original data X into d pieces, the influence on the overall processing speed is great particularly when the data X is a large value.
If (in the formula (1) Y i) solutions of remainder calculation of Equation (1) is modulo N, it relates exponent X i, order of the period (p of Y i, q is a prime number N When = p · q, (p-1) · (q-1)) repeatedly takes the same value. From such characteristics, rather than power directly X i as in Equation (1), the remainder calculated by the position number to X i as previously Equation (5), the X i order of the The same solution can be obtained even if the remainder calculation of Equation (6) is performed using the calculation result ξ i reduced within the range instead of X i .

第5実施形態は、このような計算方法を採ることで単にデータXをd個に分割した値をそのままべき乗するよりも、その値が更に位数の範囲内に縮小化されており、計算量を小さくできることから、識別子の計算の高速化を図ることができるものである。
なお、第5実施形態ではN=p・qの場合を取り上げたが、Nが素数の場合においても式(5)を、ξ=Xmod (N−1)に変えることで同様に高速化の効果を得ることができる。
In the fifth embodiment, by adopting such a calculation method, the value is further reduced within the order range rather than the value obtained by simply dividing the data X into d powers as it is. Therefore, it is possible to speed up the calculation of the identifier.
In the fifth embodiment, the case of N = p · q is taken up. However, even when N is a prime number, the equation (5) is changed to ξ i = X i mod (N−1) in the same way, so that high speed is achieved. The effect of making can be obtained.

〔第6実施形態〕
第6実施形態は、第5実施形態の場合において第4実施形態と同様に、識別子などの計算に用いる上記Nの値を素因数分解困難な正の合成数とするものである。
この形態をとることにより、第4実施形態で得られるより高い安全性と、第5実施形態で得られるより高い処理速度とを共に享受することができる。
[Sixth Embodiment]
In the case of the fifth embodiment, in the case of the fifth embodiment, the value of N used for calculation of identifiers and the like is a positive composite number that is difficult to factorize, as in the fourth embodiment.
By taking this form, it is possible to enjoy both higher security obtained in the fourth embodiment and higher processing speed obtained in the fifth embodiment.

〔第7実施形態〕
第7実施形態は、識別子などの計算に用いる上記gの値をNと互いに素な2以上の自然数とし、第4実施形態と同様、悪意者による攻撃に対する安全性を向上するものである。
もし、式(1)などの計算に用いるgがNと互いに素でない数の場合、gとNとの公約数を見出されればNを素因数分解できてしまうため、悪意者による攻撃への発端になる危険がある。
このような理由から、第7実施形態はgをNと互いに素な数とすることで、攻撃の危険を回避し、より安全性の向上を図ることができるものである。
[Seventh Embodiment]
In the seventh embodiment, the value of g used for calculation of an identifier or the like is a natural number of 2 or more that is relatively prime to N, and as in the fourth embodiment, security against attacks by Service-to-Self is improved.
If g used in the calculation of equation (1) is a number that is not mutually prime with N, N can be factored if the common divisor of g and N is found. There is a danger.
For this reason, in the seventh embodiment, by making g a relatively prime number with N, the risk of attack can be avoided and the safety can be further improved.

〔第8実施形態〕
第8実施形態は、上記Y´の計算及び上記xの計算において用いるeの値をランダムな値にすることで、悪意者の攻撃に対する安全性を高める構成である。
図10は第8実施形態のデータ検証システムを構成するデータ検証装置80の機能構成例である。なお、ネットワークを介して対向する識別子生成装置の構成は第1実施形態と同様なものでよい。図11は第8実施形態の処理フローである。
データ検証装置80は、識別子記憶部21、第2データ記憶部22、e生成部81、Y´計算部83、第2データ分割部24、x計算部85、C計算部26、整合性判定部27、受信部28及び制御部89から構成される。
[Eighth Embodiment]
In the eighth embodiment, the value of e i used in the calculation of Y ′ and the calculation of x is set to a random value, thereby improving the security against the Service-to-Self attack.
FIG. 10 is a functional configuration example of the data verification apparatus 80 configuring the data verification system of the eighth embodiment. Note that the configuration of the identifier generation device that is opposed via the network may be the same as that of the first embodiment. FIG. 11 is a processing flow of the eighth embodiment.
Data verification unit 80, the identifier storage unit 21, the second data storage unit 22, e i generation unit 81, Y'calculation unit 83, second data divider 24, x calculator 85, C calculator 26, the consistency determination Unit 27, receiving unit 28, and control unit 89.

つまり、第8実施形態は第1実施形態のY´計算部23をY´計算部83に、x計算部25をx計算部85に置き換えると共に、e生成部81を加えた構成である。
なお、第2実施形態、第3実施形態の構成においても、Y´計算部23をY´計算部83に、x計算部25をx計算部85に置き換えると共に、e生成部81を加えることで、同様に安全性の向上を図ることができる。
生成部81は、整数をランダムに発生し出力する。
In other words, the eighth embodiment is the Y'calculating unit 83 the Y'calculating unit 23 of the first embodiment, is replaced with an x calculator 25 in x calculator 85, a configuration obtained by adding the e i generator 81.
Note that the second embodiment, in the configuration of the third embodiment, the Y'calculation unit 23 in the Y'calculation unit 83, is replaced with an x calculator 25 in x calculator 85, the addition of e i generator 81 Thus, safety can be improved in the same manner.
e i generation unit 81 generates the integer randomly output.

Y´計算部83は、識別子記憶部21に記憶されたd個の識別子Yとe生成部81から出力されたeとが入力され、Y´を式(2)によって計算して出力する。
x計算部85は、第2データ分割部24で分割されたd個のX´とe生成部81から出力されたeとが入力され、式(3)によりxを計算して出力する。
式(2)と式(3)において、eをそれぞれべき乗、乗算しているのは以下の理由による。
式(2)と式(3)にeが無い場合を考えると、式(2)を変形するとY´=gmod Nとなり、式(4)を変形するとC=gX´mod Nとなる。そして、両式はgとNが共通しており、べき乗剰余演算の性質からC=Y´mod Nが成立するのはデータXとデータX´とが整合している(べき乗部分の値が同じ)場合に限らず、従って、悪意者がC=Y´mod Nは成立するがX=X´は成立しないX´を使って攻撃をしかけてくるという危険性は否めない。また、X及びX´をd個のX及びX´分割して計算を行う場合においても、Y´とCとの整合性判定において影響するのはあくまで総和であるX及びX´であるため、たとえd個のX´のうちいくつかの順序が入れ替わっていてもそれを検知することはできない。
Y'calculation unit 83, and e i output from d-number identifier Y i and e i generator 81 stored in the identifier storage unit 21 is input, and calculates and outputs Y'by Equation (2) To do.
x calculation unit 85, and e i output from d pieces of X i 'and e i generator 81 that is divided by the second data division unit 24 is input calculates the x output by Equation (3) To do.
In the equations (2) and (3), e i is multiplied and raised for the following reasons, respectively.
Considering the case where ei does not exist in the equations (2) and (3), Y ′ = g X mod N is obtained when the equation (2) is modified, and C = g X ′ mod N is obtained when the equation (4) is modified. Become. In both formulas, g and N are common, and C = Y′mod N is established from the property of the power-residue calculation that the data X and the data X ′ are consistent (the value of the power part is the same). ) Therefore, there is an undeniable danger that the Service-to-Self attacks using X ′ in which C = Y′mod N is satisfied but X = X ′ is not satisfied. In addition, even when calculation is performed by dividing X and X ′ by d X i and X i ′, it is X and X ′ that are sums that affect the consistency determination between Y ′ and C. Therefore, even if some of the d X i ′ are switched, it cannot be detected.

一方、式(2)と式(3)にeがある場合、式(2)と式(4)を変形すると、それぞれ次式のようになる。

Figure 2008178005
この場合においてもC=Y´mod Nが成立するのは、必ずしも両式のべき乗部分の値が等しい場合に限らない。しかし、べき乗部分が単なる分割データX、X´の総和ではなく分割データX、X´ごとにeが積算されているため、たとえべき乗部分の値がわかってもeがわからない限り、C=Y´mod Nを成立させるデータX´を見つけ出すのは難しい。また、d個のX´のうち順序が入れ替わっているものがあるような場合でも検出しやすい。
そこで、本発明においては全実施形態でY´及びxの計算式にeをべき乗又は乗算することにより攻撃に対する安全性の向上を図っている(第1〜第7実施形態においては、eは整数)。 On the other hand, when there is e i and equation (2) into equation (3), by modifying the equation (2) Equation (4), respectively expressed as follows.
Figure 2008178005
Even in this case, C = Y′mod N is not always satisfied when the values of the powers of both equations are equal. However, mere divided data X i is a power section, for 'dividing data X i rather than the sum of, X i' X i is e i for each is accumulated, do not know the e i even if found value of power section As long as it is difficult to find the data X ′ that establishes C = Y′mod N. In addition, it is easy to detect even in the case where there is a change in the order among the d pieces of X i ′.
Therefore, in the present invention, in all of the embodiments, the safety against attack is improved by exponentiating or multiplying the calculation formulas of Y ′ and x by e i (in the first to seventh embodiments, e i is improved ). Is an integer).

そして、第8実施形態は、このeをランダムな値とすることによって、悪意者がeを知ることを困難にすることで、より安全性を高めることができるものである。
なお、更なる安全性向上のためには、検証の都度eを再計算することが望ましい。
In the eighth embodiment, by making this e i a random value, it becomes difficult for the Service-to-Self to know e i , thereby improving safety.
In order to further improve safety, it is desirable to recalculate e i each time verification is performed.

〔第9実施形態〕
第9実施形態は、第8実施形態におけるランダムなeを、べき乗剰余計算により生成するものである。
第9実施形態のデータ検証システムの機能構成は、e生成部81の内部構成を除き、第8実施形態のデータ検証装置80と同様である。図12aは第9実施形態のe生成部81の内部構成例である。e生成部81は、乱数生成部81aとべき乗剰余計算部81bとを備える。
乱数生成部81aは、1以上のランダムな自然数eを生成し出力する。ランダムなeとしては例えば疑似乱数を用いることができる。疑似乱数の生成方法としては、SHA−1等の一方向性ハッシュ関数を用いて構成される計算量理論に基づく疑似乱数生成アルゴリズム等を用いることができる。
[Ninth Embodiment]
In the ninth embodiment, random e i in the eighth embodiment is generated by a power-residue calculation.
Functional configuration of the data verification system of the ninth embodiment, except for the internal configuration of the e i generator 81 is similar to the data verification device 80 of the eighth embodiment. FIG. 12A is an internal configuration example of the ei generation unit 81 of the ninth embodiment. e i generation unit 81 includes a random number generation portion 81a and the modular exponentiation calculation unit 81b.
The random number generator 81a generates and outputs one or more random natural numbers e. As the random e, for example, a pseudo random number can be used. As a pseudo random number generation method, a pseudo random number generation algorithm based on a computational complexity theory configured using a one-way hash function such as SHA-1 can be used.

べき乗剰余計算部81bは、乱数生成部81aから出力された上記ランダムな自然数eが入力され、次式によりeを計算し出力する。なお、sは2以上の自然数である。
=ei-1 mod s (9)
このようにべき乗剰余計算によりランダムなeを生成することができる。 また、eを疑似乱数により生成させたい場合、予め疑似乱数によって発生させた上記eを式(9)に適用することで、e算出時に疑似乱数生成アルゴリズムを動作させずにd個の疑似乱数eを発生させることができる。そのため、すべてのeを疑似乱数生成アルゴリズムを用いて算出するよりも演算量を少なくできる。
式(9)において、sが大きな数であるほど悪意の攻撃者がeを見つけ出すことが困難になる。例えば、80ビット程度のセキュリティを確保したい場合、sも80ビット程度以上の数とすることが望ましい。
Modular exponentiation calculation unit 81b is the random natural number outputted from the random number generating unit 81a e are inputted to the e i is calculated by the following equation output. Note that s is a natural number of 2 or more.
e i = e i-1 mod s (9)
This way modular exponentiation calculation can generate random e i. In addition, when e i is generated by a pseudo-random number, the above-mentioned e generated by a pseudo-random number is applied to the equation (9), so that d pseudo-random numbers can be generated without operating the pseudo-random number generation algorithm when calculating e i. it is possible to generate a random number e i. Therefore, it is possible to reduce the amount of calculation compared to calculating all e i using a pseudo-random number generation algorithm.
In equation (9), the larger s is, the more difficult it is for a malicious attacker to find e i . For example, when it is desired to secure security of about 80 bits, it is desirable to set s to a number of about 80 bits or more.

〔第10実施形態〕
第10実施形態は、第8実施形態におけるランダムなeを、逆像演算が困難な関数を用いて生成するものである。
第10実施形態のデータ検証システムの機能構成は、e生成部81の内部構成を除き、第8実施形態のデータ検証装置80と同様である。図12bは第10実施形態のe生成部81の内部構成例である。e生成部81は、乱数生成部81aとH関数計算部81cとを備える。
[Tenth embodiment]
Embodiment 10, a random e i in the eighth embodiment, in which the inverse image computation is generated using a hard function.
Functional configuration of the data verification system of the tenth embodiment, except for the internal configuration of the e i generator 81 is similar to the data verification device 80 of the eighth embodiment. FIG. 12B is an internal configuration example of the ei generation unit 81 of the tenth embodiment. e i generation unit 81, and a random number generation unit 81a and the H function calculating unit 81c.

H関数計算部81cは、乱数生成部81aから出力された上記ランダムな自然数eが入力され、次式によりeを計算し出力する。なお、Hは逆像演算が困難な関数である。逆像演算が困難な関数としては、例えば一方向性ハッシュ関数等があげられる。また、(e,i)はeとiとのビット連結を意味する。
=H(e,i) (10)
このような関数計算により、ランダムなeを生成することができる。また、eを疑似乱数により生成させたい場合、予め疑似乱数によって発生させた上記eを式(10)に適用することで、e算出時に疑似乱数生成アルゴリズムを動作させずにd個の疑似乱数eを発生させることができる。そのため、すべてのeを疑似乱数生成アルゴリズムを用いて算出するよりも演算量を少なくできる。
この実施形態においては、eから逆像演算でeを求めることが困難であるため、たとえ一部のeが漏洩した場合でも、攻撃者はeを見出すことができず、従って、残りのeを見出すことはできない。よって、悪意者の攻撃への安全性を向上できる。
The H function calculation unit 81c receives the random natural number e output from the random number generation unit 81a, and calculates and outputs e i according to the following equation. H is a function that is difficult to perform inverse image calculation. Examples of functions that are difficult to perform inverse image calculation include a one-way hash function. (E, i) means bit connection between e and i.
e i = H (e, i) (10)
Random e i can be generated by such a function calculation. If e i is to be generated by a pseudo-random number, the above-mentioned e generated by a pseudo-random number is applied to Equation (10), so that d pseudo-random numbers can be generated without operating the pseudo-random number generation algorithm when calculating e i. it is possible to generate a random number e i. Therefore, it is possible to reduce the amount of calculation compared to calculating all e i using a pseudo-random number generation algorithm.
In this embodiment, since it is difficult to find e from e i by inverse image operation, even if some e i leaks, the attacker cannot find e, so the rest it is not possible to find a e i. Therefore, it is possible to improve the safety against Service-to-Self attacks.

〔第11実施形態〕
第11実施形態は、第8実施形態におけるランダムなeを、異なる入力値に対するそれぞれの出力値が衝突困難な関数を用いて生成するものである。
第11実施形態のデータ検証システムの機能構成は、e生成部81の内部構成を除き、第8実施形態のデータ検証装置80と同様である。図12bは第10実施形態のe生成部81の内部構成例である。e生成部81は、乱数生成部81aとS関数計算部81dとを備える。
S関数計算部81dは、乱数生成部81aから出力された上記ランダムな自然数eが入力され、次式によりeを計算し出力する。なお、Sは異なる入力値に対する出力値が衝突困難な関数、例えば2つの入力値が与えられた場合に出力値はそれぞれ異なるという性質を持つ関数である。衝突困難な関数としては、例えばハッシュ関数等があげられる。また、(e,i)はeとiとのビット連結を意味する。
[Eleventh embodiment]
Eleventh embodiment, a random e i in the eighth embodiment, in which each of the output values for different input values generated using a hard function collisions.
Function configuration of the data verification system of the eleventh embodiment, except for the internal configuration of the e i generator 81 is similar to the data verification device 80 of the eighth embodiment. FIG. 12B is an internal configuration example of the ei generation unit 81 of the tenth embodiment. e i generation unit 81, and a random number generation unit 81a and the S function calculating unit 81d.
S function calculating unit 81d is the random natural number outputted from the random number generating unit 81a e are inputted to the e i is calculated by the following equation output. Note that S is a function in which output values for different input values are difficult to collide, for example, a function having a property that output values are different when two input values are given. Examples of functions that are difficult to collide include a hash function. (E, i) means bit connection between e and i.

=S(e,i) (11)
このような関数計算により、ランダムなeを生成することができる。また、eを疑似乱数により生成させたい場合、予め疑似乱数によって発生させた上記eを式(11)に適用することで、e算出時に疑似乱数生成アルゴリズムを動作させずにd個の疑似乱数eを発生させることができる。そのため、すべてのeを疑似乱数生成アルゴリズムを用いて算出するよりも演算量を少なくできる。
上記式(7)及び式(8)において、例えばもしd個のeのうち複数のeが同じ値であれば、その同じ値の部分に対応するXとX´との間で並びが入れ替わっていてもそれを検知することができない。そこで、衝突困難な関数でeを生成してeをそれぞれ異なる値とすることでXとX´との間で並びが入れ替わっているような場合もそれを検知でき、判定精度を向上することができる。
e i = S (e, i) (11)
Random e i can be generated by such a function calculation. If e i is to be generated by a pseudo-random number, the above-mentioned e generated by a pseudo-random number is applied to Equation (11), so that d pseudo-random numbers can be generated without operating the pseudo-random number generation algorithm when calculating e i. it is possible to generate a random number e i. Therefore, it is possible to reduce the amount of calculation compared to calculating all e i using a pseudo-random number generation algorithm.
In the above formula (7) and (8), for example, if when the same value is more e i of d pieces of e i, between X i and X i 'corresponding to the portion of the same value Even if the order is changed, it cannot be detected. Therefore, by generating e i with a function that is difficult to collide and making e i different from each other, it is possible to detect the case where the order is switched between X i and X i ′, and the determination accuracy is improved. Can be improved.

〔第12実施形態〕
第12実施形態は、eを整数でかつ定数とする構成であり、第1〜第7実施形態のそれぞれにおいて適用できる。
を定数とすることで、ランダムにする場合より安全性は低下するが、装置を簡略化したい場合や処理をより軽くしたい場合に有効である。
本発明におけるデータ検証システム、その方法、識別子生成装置、データ検証装置は、上記の実施形態に限定されるものではなく、本発明を逸脱しない範囲で適宜変更が可能である。また、上記に説明した処理は記載の順に従った時系列において実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
[Twelfth embodiment]
Twelfth embodiment is configured to integer and constant e i, can be applied in each of the first to seventh embodiment.
By the e i a constant, but is less secure than the randomly lowered, it is effective when it is desired to lighter or when processing to be simplified apparatus.
The data verification system, the method, the identifier generation device, and the data verification device according to the present invention are not limited to the above-described embodiments, and can be appropriately changed without departing from the present invention. In addition, the processes described above are not only executed in time series according to the order of description, but may be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes.

また、上記データ検証システム、識別子生成装置、データ検証装置における処理機能をコンピュータによって実現する場合、データ検証システム、識別子生成装置、データ検証装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより上記データ検証システム、識別子生成装置、データ検証装置における処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magnet-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
When the processing functions in the data verification system, the identifier generation device, and the data verification device are realized by a computer, the processing contents of the functions that the data verification system, the identifier generation device, and the data verification device should have are described by a program. By executing this program on a computer, the processing functions of the data verification system, the identifier generation device, and the data verification device are realized on the computer.
The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used. Specifically, for example, as a magnetic recording device, a hard disk device, a flexible disk, a magnetic tape or the like, and as an optical disk, a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only Memory). ), CD-R (Recordable) / RW (ReWritable), etc., magneto-optical recording medium, MO (Magnet-Optical disc), etc., semiconductor memory, EEP-ROM (Electronically Erasable and Programmable-Read Only Memory), etc. Can be used.

また、このプログラムの流通は、例えば、このプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等をすることによって行う。更に、このプログラムをサーバコンピュータの記録装置に格納しておき、ネットワークを介してサーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦自己の記録装置に格納する。そして、処理の実行時、このコンピュータは自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、更に、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータからこのコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって上記の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Further, the program may be distributed by storing the program in a recording device of the server computer and transferring the program from the server computer to another computer via a network.
A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its recording device. When executing the process, this computer reads the program stored in its own recording medium and executes the process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Further, the program may not be transferred from the server computer to the computer, and the above processing may be executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. Good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).

また、この形態ではコンピュータ上で所定のプログラムを実行させることにより、データ検証システム、識別子生成装置、データ検証装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。   In this embodiment, a data verification system, an identifier generation device, and a data verification device are configured by executing a predetermined program on a computer. However, at least a part of these processing contents is realized by hardware. It is good to do.

<発明の効果の実験による確認>
本発明について、識別子生成とデータ完全性検証に関し、実験的に効果の確認を行った。以下、実験方法及び結果について説明する。
本発明の内容は、大きく分けて1.識別子生成と2.識別子によるデータ完全性検証の2種類に分けられる。本稿ではそれぞれに最適な実装を試みる。なお、測定環境は図13、測定パラメータのサイズは図14のとおりである。
<Confirmation of effect of invention by experiment>
The present invention was experimentally verified for identifier generation and data integrity verification. Hereinafter, experimental methods and results will be described.
The contents of the present invention can be broadly divided into 1. 1. identifier generation; There are two types of data integrity verification using identifiers. In this paper, we try to implement the best implementation for each. Note that the measurement environment is as shown in FIG. 13 and the sizes of the measurement parameters are as shown in FIG.

1.識別子生成
識別子の計算の高速化を図った第5実施形態の効果の確認を行った。
識別子の計算にp、qを使わない場合との比較結果を図15に示す。
p、qを使用することにより約400倍の高速化が可能になる。これならば、ほぼリアルタイムに近い速度で識別子の生成を行うことが可能である。また、本発明では情報Xをdブロックに分割していることにより、それぞれの識別子Y,・・・,Yを全く独立に計算できるためこの部分は並列処理が可能である。
1. Generation of identifiers The effect of the fifth embodiment for speeding up the calculation of identifiers was confirmed.
FIG. 15 shows the result of comparison with the case where p and q are not used for calculating the identifier.
By using p and q, the speed can be increased by about 400 times. In this case, it is possible to generate the identifier at a speed close to real time. In the present invention, since the information X is divided into d blocks, the respective identifiers Y 1 ,..., Y d can be calculated completely independently, so that this part can be processed in parallel.

2.データ完全性検証
第1実施形態の検証方法によるデータ完全性検証時間の高速化効果の確認を行った。
標準的なハッシュ関数を用いて行った場合との比較結果を図16に示す。比較は、データXのサイズを1Gbitから10Gbitまで1Gbitごとに変化させて行った。
XのサイズをαGbitと置くと、本発明による検証方式では、処理時間は、1.23+0.159α(秒)という結果が得られた。ファイルサイズが大きくなれば最初の定数部分は無視できるので、巨大なファイルにおいては6.29Gbpsで処理できていることになる。これは、SHA-1の約4.5倍、SHA-256の約11.3倍の処理速度である。
2. Data integrity verification The effect of speeding up the data integrity verification time by the verification method of the first embodiment was confirmed.
FIG. 16 shows a comparison result with the case where the standard hash function is used. The comparison was performed by changing the size of the data X from 1 Gbit to 10 Gbit every 1 Gbit.
Assuming that the size of X is αGbit, the verification method according to the present invention has a processing time of 1.23 + 0.159α (seconds). If the file size increases, the first constant part can be ignored, so a huge file can be processed at 6.29 Gbps. This is about 4.5 times faster than SHA-1 and about 11.3 times faster than SHA-256.

また、ファイルサイズが小さい時において、SHA-1の場合、2.24Gbit(286Mbyte)のときにほぼ同一の処理時間がかかり、SHA-256の場合、0.74Gbit(95Mbyte)のときのほぼ同一の処理時間がかかる。このときの処理時間はそれぞれ約1.6秒、約1.3秒である。本発明による検証方式は、検証する情報量が大容量になればなるほど、効果を発揮する。
一般的な映像コンテンツDVD1枚分の容量で比較した結果を図17に示す。本発明の検証方式はSHA-1よりも4倍以上の速度で検証できていることがわかる。
Also, when the file size is small, SHA-1 takes almost the same processing time for 2.24 Gbit (286 Mbytes), and SHA-256 takes about the same processing time for 0.74 Gbit (95 Mbytes). It takes. The processing times at this time are about 1.6 seconds and 1.3 seconds, respectively. The verification method according to the present invention is more effective as the amount of information to be verified becomes larger.
FIG. 17 shows the result of comparison with the capacity of one general video content DVD. It can be seen that the verification method of the present invention can be verified at a speed four times faster than SHA-1.

更に、本発明の検証方式においては、式(2)の計算と式(3)(4)の計算は完全に並列に計算することが可能である。そこで、これらの部分を並列処理により行った場合についても検証実験を行った。
DVD、HD−DVD、Blu−rayの3種類のディスク容量分の乱数に対し、データの完全性を検証するために要した時間を図18に示す。
AMD64x2 2GHzにおいて、約12Gbps(1.5Gbyte/s)のスループットが出ている。これは6bit/cycle以上であり、SHA等のハッシュアルゴリズムを圧倒する性能を示している。
Furthermore, in the verification method of the present invention, the calculation of equation (2) and the calculation of equations (3) and (4) can be calculated completely in parallel. Therefore, a verification experiment was also performed when these parts were performed by parallel processing.
FIG. 18 shows the time required to verify the integrity of data for random numbers corresponding to three types of disk capacities of DVD, HD-DVD, and Blu-ray.
In AMD64 × 2 2 GHz, a throughput of about 12 Gbps (1.5 Gbyte / s) is obtained. This is 6 bits / cycle or more, and shows the performance overwhelming hash algorithms such as SHA.

これらのことより、例えば巨大なデータの署名を検証する際に、ハッシュに要する時間が支配的になっており、0.1%程度のデータ増量を許容できるならば、識別子に対してハッシュ関数を計算し、署名を付けることで高速な署名検証が可能となるなど、様々な応用が期待できる。   For these reasons, for example, when verifying a signature of huge data, the time required for hashing is dominant, and if a data increase of about 0.1% can be tolerated, a hash function is calculated for the identifier. Various applications can be expected such as high-speed signature verification by adding a signature.

本発明では識別子の生成と整合性の検証に異なるアルゴリズムを用いていることから、映像コンテンツのようにデータ整合性検証にはリアルタイム性が求められるが、タグの生成は多少遅くても問題無い状況において特に有効である。   Since different algorithms are used for identifier generation and consistency verification in the present invention, real-time characteristics are required for data consistency verification as in video content, but there is no problem even if tag generation is somewhat slow. Is particularly effective.

本発明による識別子生成装置10の構成図。The block diagram of the identifier production | generation apparatus 10 by this invention. 本発明によるデータ検証装置20の構成図。The block diagram of the data verification apparatus 20 by this invention. 本発明による第1実施形態の処理手順。The processing procedure of 1st Embodiment by this invention. 本発明による一体型装置30の構成図。The block diagram of the integrated apparatus 30 by this invention. 本発明による第2実施形態の処理手順。The processing procedure of 2nd Embodiment by this invention. 本発明による一体型装置40及び外部記憶装置200の構成図。1 is a configuration diagram of an integrated device 40 and an external storage device 200 according to the present invention. FIG. 本発明による第3実施形態の処理手順。The processing procedure of 3rd Embodiment by this invention. 本発明による識別子生成装置50の構成図。The block diagram of the identifier production | generation apparatus 50 by this invention. 本発明による第5実施形態の処理手順。The processing procedure of 5th Embodiment by this invention. 本発明によるデータ検証装置80の構成図。The block diagram of the data verification apparatus 80 by this invention. 本発明による第8実施形態の処理手順。The processing procedure of 8th Embodiment by this invention. 本発明によるe生成部81の内部構成図。The internal block diagram of the ei production | generation part 81 by this invention. 本発明による効果の実験確認の際の測定環境一覧。The measurement environment list in the case of the experiment confirmation of the effect by this invention. 実験確認の際の測定パラメータサイズ一覧。List of measurement parameter sizes when confirming the experiment. 識別子計算時のp,qの利用の有無による識別子作成時間の比較。Comparison of identifier creation time according to whether or not p and q are used when calculating identifiers. 標準的なハッシュ関数と提案方式との検証時間の容量別比較。Comparison of verification time by capacity between standard hash function and proposed method. DVD一枚分の容量を検証した場合の検証時間の比較。Comparison of verification time when verifying the capacity of one DVD. 並列処理実装時の主なディスク規格ごとの検証時間の比較。Comparison of verification time for each major disk standard when implementing parallel processing.

Claims (21)

2つのデータの整合性を検証するデータ検証システムであって、
所定の情報Xを記憶する第1データ記憶部と、
上記情報Xが入力され、これを予め定められた手順に従いd個(dは2以上の自然数)に分割して分割情報Xi(2≦i≦d)を生成し出力する第1データ分割部と、
上記分割情報Xiが入力され、識別子Y
Figure 2008178005
(N、gは共に2以上の自然数)により計算し出力する識別子計算部と、
上記計算した識別子Yを記憶する識別子記憶部と、
上記情報Xとの比較対象とする情報X´を記憶する第2データ記憶部と、
上記情報X´が入力され、これを上記予め定められた手順に従いd個に分割して分割情報Xi´を生成し出力する第2データ分割部と、
上記識別子Yが入力され、Y´を
Figure 2008178005
(eは整数)により計算し出力するY´計算部と、
上記分割情報X´が入力され、xを
Figure 2008178005
により計算し、出力するx計算部と、
上記xが入力され、CをC=gmod Nにより計算し出力するC計算部と、
上記Y´と上記Cとが入力され、C=Y´mod Nであれば整合性有り、そうでなければ整合性無しとの判定結果を出力する整合性判定部と、
を具備することを特徴とするデータ検証システム。
A data verification system for verifying the consistency of two data,
A first data storage unit for storing predetermined information X;
A first data division unit that receives the information X, divides it into d pieces (d is a natural number of 2 or more) according to a predetermined procedure, and generates and outputs division information X i (2 ≦ i ≦ d) When,
The division information X i is input, and the identifier Y i is
Figure 2008178005
(N and g are both natural numbers greater than or equal to 2)
An identifier storage unit for storing the calculated identifier Y i ;
A second data storage unit that stores information X ′ to be compared with the information X;
A second data dividing unit that receives the information X ′, divides the information X ′ into d pieces according to the predetermined procedure, and generates and outputs divided information X i ′;
The identifier Y i is input and Y ′ is
Figure 2008178005
A Y ′ calculation unit that calculates and outputs (e i is an integer);
The division information X i ′ is input and x is
Figure 2008178005
X calculation unit for calculating and outputting by
A C calculation unit that receives x and calculates and outputs C according to C = g x mod N;
The consistency determination unit that outputs the determination result that the Y ′ and the C are input, and if C = Y′mod N, the consistency is present;
A data verification system comprising:
請求項1に記載のデータ検証システムにおいて、上記Nは素因数分解困難な正の合成数であることを特徴とするデータ検証システム。   2. The data verification system according to claim 1, wherein the N is a positive composite number that is difficult to be prime factorized. 2つのデータの整合性を検証するデータ検証システムであって、
N=p・q(pとqは共に素数)であり、
所定の情報Xを記憶する第1データ記憶部と、
上記情報Xが入力され、これを予め定められた手順に従いd個(dは2以上の自然数)に分割して分割情報Xi(2≦i≦d)を生成し出力する第1データ分割部と、
上記分割情報Xiが入力され、ξをξ=Xmod (p−1)・(q−1)により計算し出力するξ計算部と、
上記ξが入力され、識別子YをY=gξimod N(gは2以上の自然数)により計算し出力する識別子計算部と、
上記計算した識別子Yを記憶する識別子記憶部と、
上記情報Xとの比較対象とする情報X´を記憶する第2データ記憶部と、
上記情報X´が入力され、これを上記予め定められた手順に従いd個に分割して分割情報Xi´を生成し出力する第2データ分割部と、
上記識別子Yが入力され、Y´を
Figure 2008178005
(eは整数)により計算し出力するY´計算部と、
上記分割情報X´が入力され、xを
Figure 2008178005
により計算し、出力するx計算部と、
上記xが入力され、CをC=gmod Nにより計算し出力するC計算部と、
上記Y´と上記Cとが入力され、C=Y´mod Nであれば整合性有り、そうでなければ整合性無しとの判定結果を出力する整合性判定部と、
を具備することを特徴とするデータ検証システム。
A data verification system for verifying the consistency of two data,
N = p · q (p and q are both prime numbers),
A first data storage unit for storing predetermined information X;
A first data division unit that receives the information X, divides it into d pieces (d is a natural number of 2 or more) according to a predetermined procedure, and generates and outputs division information X i (2 ≦ i ≦ d) When,
A ξ calculator that receives the division information X i and calculates and outputs ξ i by ξ i = X i mod (p−1) · (q−1);
The xi] i is inputted, the identifier Y i to Y i = g ξi mod N ( g is a natural number of 2 or more) and the identifier calculation unit that calculates and outputs a result,
An identifier storage unit for storing the calculated identifier Y i ;
A second data storage unit that stores information X ′ to be compared with the information X;
A second data dividing unit that receives the information X ′, divides the information X ′ into d pieces according to the predetermined procedure, and generates and outputs divided information X i ′;
The identifier Y i is input and Y ′ is
Figure 2008178005
A Y ′ calculation unit that calculates and outputs (e i is an integer);
The division information X i ′ is input and x is
Figure 2008178005
X calculation unit for calculating and outputting by
A C calculation unit that receives x and calculates and outputs C according to C = g x mod N;
The consistency determination unit that outputs the determination result that the Y ′ and the C are input, and if C = Y′mod N, the consistency is present;
A data verification system comprising:
請求項3に記載のデータ検証システムにおいて、上記Nはpとqとに素因数分解することが困難な値であることを特徴とするデータ検証システム。   4. The data verification system according to claim 3, wherein said N is a value that is difficult to factorize into p and q. 請求項1〜4のいずれかに記載のデータ検証システムにおいて、上記gはNと互いに素な2以上の自然数であることを特徴とするデータ検証システム。   5. The data verification system according to claim 1, wherein g is a natural number of 2 or more that is relatively prime to N. 6. 請求項1〜5のいずれかに記載のデータ検証システムにおいて、上記eをランダムに生成し出力するe生成部を具備することを特徴とするデータ検証システム。 The data verification system according to claim 1, the data verification system, characterized by comprising e i generation unit for generating and outputting at random the e i. 請求項6に記載のデータ検証システムにおいて、上記e生成部は、
1以上のランダムな自然数eを生成し出力する乱数生成部と、
上記eが入力され、上記eをe=ei−1 mod s(sは2以上の自然数)により計算して出力する剰余べき乗計算部と、
を備えることを特徴とするデータ検証システム。
The data verification system according to claim 6, wherein the e i generation unit includes:
A random number generator that generates and outputs a random natural number e of 1 or more;
A modular exponentiation unit that receives the e and calculates the e i by e i = e i-1 mod s (s is a natural number of 2 or more);
A data verification system comprising:
請求項6に記載のデータ検証システムにおいて、上記e生成部は、
1以上のランダムな自然数eを生成し出力する乱数生成部と、
上記eが入力され、上記e
=H(e,i)
((e,i)はeとiとのビット連結、Hは逆像計算が困難な関数)により計算して出力するH関数計算部と、
を備えることを特徴とするデータ検証システム。
The data verification system according to claim 6, wherein the e i generation unit includes:
A random number generator that generates and outputs a random natural number e of 1 or more;
The e is input, and the e i is changed to e i = H (e, i)
(E, i) is a bit concatenation of e and i, H is a function that is difficult to calculate an inverse image,
A data verification system comprising:
請求項6に記載のデータ検証システムにおいて、上記e生成部は、
1以上のランダムな自然数eを生成し出力する乱数生成部と、
上記eが入力され、上記e
=S(e,i)
((e,i)はeとiとのビット連結、Sは衝突困難な関数)により計算して出力するS関数計算部と、
を備えることを特徴とするデータ検証システム。
The data verification system according to claim 6, wherein the e i generation unit includes:
A random number generator that generates and outputs a random natural number e of 1 or more;
The above e is input, and the above e i is changed to e i = S (e, i)
An S function calculation unit that calculates and outputs ((e, i) is a bit concatenation of e and i, S is a function that is difficult to collide),
A data verification system comprising:
請求項1〜5のいずれかに記載のデータ検証システムにおいて、上記eは定数であることを特徴とするデータ検証システム。 6. The data verification system according to claim 1, wherein the e i is a constant. 所定の情報Xを記憶するデータ記憶部と、
上記情報Xが入力され、これを予め定められた手順に従いd個(dは2以上の自然数)に分割して分割情報Xi(2≦i≦d)を生成し出力するデータ分割部と、
上記分割情報Xiが入力され、識別子Y
Figure 2008178005
(N、gは共に2以上の自然数)により計算し出力する識別子計算部と、
を具備する識別子生成装置。
A data storage unit for storing predetermined information X;
A data dividing unit that receives the information X and generates and outputs divided information X i (2 ≦ i ≦ d) by dividing it into d pieces (d is a natural number of 2 or more) according to a predetermined procedure;
The division information X i is input, and the identifier Y i is
Figure 2008178005
(N and g are both natural numbers greater than or equal to 2)
An identifier generation device comprising:
N=p・q(pとqは共に素数)であり、
所定の情報Xを記憶するデータ記憶部と、
上記情報Xが入力され、これを予め定められた手順に従いd個(dは2以上の自然数)に分割して分割情報Xi(2≦i≦d)を生成し出力するデータ分割部と、
上記分割情報Xiが入力され、ξをξ=Xmod (p−1)・(q−1)により計算し出力するξ計算部と、
上記ξが入力され、識別子YをY=gξi mod N(gは2以上の自然数)により計算し出力する識別子計算部と、
を具備する識別子生成装置。
N = p · q (p and q are both prime numbers),
A data storage unit for storing predetermined information X;
A data dividing unit that receives the information X and generates and outputs divided information X i (2 ≦ i ≦ d) by dividing it into d pieces (d is a natural number of 2 or more) according to a predetermined procedure;
A ξ calculator that receives the division information X i and calculates and outputs ξ i by ξ i = X i mod (p−1) · (q−1);
The xi] i is inputted, the identifier Y i to Y i = g ξi mod N ( g is a natural number of 2 or more) and the identifier calculation unit that calculates and outputs a result,
An identifier generation device comprising:
請求項11、12のいずれかの識別子生成装置から出力された上記識別子Yを記憶する識別子記憶部と、
上記識別子Yの生成元情報である情報Xの比較対象とする情報X´を記憶するデータ記憶部と、
上記情報X´が入力され、これを予め定められた手順に従いd個(dは2以上の自然数)に分割して分割情報Xi´(2≦i≦d)を生成し出力するデータ分割部と、
上記識別子Yが入力され、Y´を
Figure 2008178005
(eは整数、Nは2以上の自然数)により計算し出力するY´計算部と、
上記分割情報X´が入力され、xを
Figure 2008178005
により計算し、出力するx計算部と、
上記xが入力され、CをC=gmod N(gは2以上の自然数)により計算し出力するC計算部と、
上記Y´と上記Cとが入力され、C=Y´mod Nであれば整合性有り、そうでなければ整合性無しとの判定結果を出力する整合性判定部と、
を具備するデータ検証装置。
An identifier storage unit that stores the identifier Y i output from the identifier generation device according to claim 11,
A data storage unit that stores information X ′ to be compared with information X that is the source information of the identifier Y i ;
A data dividing unit that receives the information X ′ and divides it into d pieces (d is a natural number of 2 or more) according to a predetermined procedure to generate and output divided information X i ′ (2 ≦ i ≦ d) When,
The identifier Y i is input and Y ′ is
Figure 2008178005
A Y ′ calculation unit that calculates and outputs (e i is an integer, N is a natural number of 2 or more);
The division information X i ′ is input and x is
Figure 2008178005
X calculation unit for calculating and outputting by
A C calculation unit that receives x and calculates and outputs C by C = g x mod N (g is a natural number of 2 or more);
The consistency determination unit that outputs the determination result that the Y ′ and the C are input, and if C = Y′mod N, the consistency is present;
A data verification apparatus comprising:
2つのデータの整合性を検証するデータ検証方法であって、
第1データ分割部が、所定の情報Xを予め定められた手順に従いd個(dは2以上の自然数)に分割して分割情報Xi(2≦i≦d)を生成するステップと、
識別子計算部が、上記分割情報Xiから識別子Y
Figure 2008178005
(N、gは共に2以上の自然数)により計算するステップと、
第2データ分割部が、上記情報Xとの比較対象とする情報X´を上記予め定められた手順に従いd個に分割して分割情報Xi´を生成するステップと、
Y´計算部が、上記識別子YからY´を
Figure 2008178005
(eは整数)により計算するステップと、
x計算部が、上記分割情報X´からxを
Figure 2008178005
により計算するステップと、
C計算部が、上記xからCを、C=gmod Nにより計算するステップと、
整合性判定部が、上記Y´と上記Cとを比較し、C=Y´mod Nであれば整合性有り、そうでなければ整合性無しとの判定結果を出力するステップと、
を具備することを特徴とするデータ検証方法。
A data verification method for verifying the consistency of two data,
A first data dividing unit that divides predetermined information X into d pieces (d is a natural number of 2 or more) according to a predetermined procedure to generate divided information X i (2 ≦ i ≦ d);
The identifier calculation unit obtains the identifier Y i from the division information X i.
Figure 2008178005
(N and g are both natural numbers of 2 or more)
A step in which the second data dividing unit divides the information X ′ to be compared with the information X into d pieces according to the predetermined procedure to generate divided information X i ′;
Y ′ calculation unit obtains Y ′ from the identifiers Y i
Figure 2008178005
Calculating (e i is an integer);
The x calculation unit calculates x from the division information X i ′.
Figure 2008178005
The step of calculating by
A step in which a C calculation unit calculates C from x by C = g x mod N;
A step in which a consistency determination unit compares the above Y ′ with the above C and outputs a determination result that there is consistency if C = Y′mod N, and that there is no consistency otherwise;
A data verification method comprising:
2つのデータの整合性を検証するデータ検証方法であって、
N=p・q(pとqは共に素数)であり、
第1データ分割部が、所定の情報Xを予め定められた手順に従いd個(dは2以上の自然数)に分割して分割情報Xi(2≦i≦d)を生成するステップと、
ξ計算部が、上記分割情報Xiからξを、ξ=Xmod (p−1)・(q−1)により計算するステップと、
識別子計算部が、上記ξから識別子Yを、Y=gξi mod N(gは2以上の自然数)により計算するステップと、
第2データ分割部が、上記情報Xとの比較対象とする情報X´を上記予め定められた手順に従いd個に分割して分割情報Xi´を生成するステップと、
Y´計算部が、上記識別子YからY´を
Figure 2008178005
(eは整数)により計算するステップと、
x計算部が、上記分割情報X´からxを
Figure 2008178005
により計算するステップと、
C計算部が、上記xからCを、C=gmod Nにより計算するステップと、
整合性判定部が、上記Y´と上記Cとを比較し、C=Y´mod Nであれば整合性有り、そうでなければ整合性無しとの判定結果を出力するステップと、
を具備することを特徴とするデータ検証方法。
A data verification method for verifying the consistency of two data,
N = p · q (p and q are both prime numbers),
A first data dividing unit that divides predetermined information X into d pieces (d is a natural number of 2 or more) according to a predetermined procedure to generate divided information X i (2 ≦ i ≦ d);
a step xi] calculation unit for calculating, the xi] i from the division information X i, by ξ i = X i mod (p -1) · (q-1),
A step identifier calculation unit, an identifier Y i from the xi] i, which is calculated by Y i = g ξi mod N ( g is a natural number of 2 or more),
A step in which the second data dividing unit divides the information X ′ to be compared with the information X into d pieces according to the predetermined procedure to generate divided information X i ′;
Y ′ calculation unit obtains Y ′ from the identifiers Y i
Figure 2008178005
Calculating (e i is an integer);
The x calculation unit calculates x from the division information X i ′.
Figure 2008178005
The step of calculating by
A step in which a C calculation unit calculates C from x by C = g x mod N;
A step in which a consistency determination unit compares the above Y ′ with the above C and outputs a determination result that there is consistency if C = Y′mod N, and that there is no consistency otherwise;
A data verification method comprising:
請求項1〜10のいずれかに記載したシステムとしてコンピュータを機能させるためのプログラム。   The program for functioning a computer as a system in any one of Claims 1-10. 請求項11、12のいずれかに記載した装置としてコンピュータを機能させるためのプログラム。   A program for causing a computer to function as the apparatus according to claim 11. 請求項13に記載した装置としてコンピュータを機能させるためのプログラム。   A program for causing a computer to function as the apparatus according to claim 13. 請求項16に記載したプログラムを記録したコンピュータが読み取り可能な記録媒体。   A computer-readable recording medium on which the program according to claim 16 is recorded. 請求項17に記載したプログラムを記録したコンピュータが読み取り可能な記録媒体。   A computer-readable recording medium on which the program according to claim 17 is recorded. 請求項18に記載したプログラムを記録したコンピュータが読み取り可能な記録媒体。   A computer-readable recording medium on which the program according to claim 18 is recorded.
JP2007011486A 2007-01-22 2007-01-22 Data verification system, method thereof, identifier generation device, data verification device, program and recording medium Expired - Fee Related JP4901499B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007011486A JP4901499B2 (en) 2007-01-22 2007-01-22 Data verification system, method thereof, identifier generation device, data verification device, program and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007011486A JP4901499B2 (en) 2007-01-22 2007-01-22 Data verification system, method thereof, identifier generation device, data verification device, program and recording medium

Publications (2)

Publication Number Publication Date
JP2008178005A true JP2008178005A (en) 2008-07-31
JP4901499B2 JP4901499B2 (en) 2012-03-21

Family

ID=39704663

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007011486A Expired - Fee Related JP4901499B2 (en) 2007-01-22 2007-01-22 Data verification system, method thereof, identifier generation device, data verification device, program and recording medium

Country Status (1)

Country Link
JP (1) JP4901499B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012073960A (en) * 2010-09-29 2012-04-12 Nec Personal Computers Ltd Verification system and method
CN112805769A (en) * 2018-10-04 2021-05-14 日本电信电话株式会社 Secret sigmoid function calculation system, secret logistic regression calculation system, secret sigmoid function calculation device, secret logistic regression calculation device, secret sigmoid function calculation method, secret logistic regression calculation method, and program
CN115473717A (en) * 2022-09-05 2022-12-13 杭州思拓瑞吉科技有限公司 Energy storage system time sequence data verification method based on co-prime power remainder

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000162967A (en) * 1998-11-30 2000-06-16 Mitsubishi Electric Corp Digital signature vertification system
JP2005051734A (en) * 2003-07-15 2005-02-24 Hitachi Ltd Electronic document authenticity assurance method and electronic document disclosure system
JP2005167942A (en) * 2003-12-05 2005-06-23 Denso Corp Communication system and packet structure
WO2007007836A1 (en) * 2005-07-13 2007-01-18 Nippon Telegraph And Telephone Corporation Authentication system, authentication method, attesting device, verification device, their programs, and recording medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000162967A (en) * 1998-11-30 2000-06-16 Mitsubishi Electric Corp Digital signature vertification system
JP2005051734A (en) * 2003-07-15 2005-02-24 Hitachi Ltd Electronic document authenticity assurance method and electronic document disclosure system
JP2005167942A (en) * 2003-12-05 2005-06-23 Denso Corp Communication system and packet structure
WO2007007836A1 (en) * 2005-07-13 2007-01-18 Nippon Telegraph And Telephone Corporation Authentication system, authentication method, attesting device, verification device, their programs, and recording medium

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012073960A (en) * 2010-09-29 2012-04-12 Nec Personal Computers Ltd Verification system and method
CN112805769A (en) * 2018-10-04 2021-05-14 日本电信电话株式会社 Secret sigmoid function calculation system, secret logistic regression calculation system, secret sigmoid function calculation device, secret logistic regression calculation device, secret sigmoid function calculation method, secret logistic regression calculation method, and program
CN112805769B (en) * 2018-10-04 2023-11-07 日本电信电话株式会社 Secret S-type function calculation system, secret S-type function calculation device, secret S-type function calculation method, and recording medium
CN115473717A (en) * 2022-09-05 2022-12-13 杭州思拓瑞吉科技有限公司 Energy storage system time sequence data verification method based on co-prime power remainder
CN115473717B (en) * 2022-09-05 2023-09-01 杭州思拓瑞吉科技有限公司 Energy storage system time sequence data verification method based on prime power remainder

Also Published As

Publication number Publication date
JP4901499B2 (en) 2012-03-21

Similar Documents

Publication Publication Date Title
US8806212B2 (en) Method and apparatus for generating and verifying electronic signature of software data, and computer readable recording medium thereof
JP4555859B2 (en) Authentication system, authentication method, certification device, verification device, program and recording medium thereof
Fried et al. A kilobit hidden SNFS discrete logarithm computation
CA2903376C (en) Configuration and verification by trusted provider
US20090132830A1 (en) Secure processing device, secure processing method, encrypted confidential information embedding method, program, storage medium, and integrated circuit
JP5957095B2 (en) Tamper detection device, tamper detection method, and program
CN109525403B (en) Anti-leakage public cloud auditing method supporting full-dynamic parallel operation of user
JP2009003854A (en) Information security device and information security system
JP6992036B2 (en) How to handle tampered transactions based on Ethereum, devices and storage media
KR20110014630A (en) Exponent obfuscation
US9075798B2 (en) Verifying authenticity of input using a hashing algorithm
JP4901499B2 (en) Data verification system, method thereof, identifier generation device, data verification device, program and recording medium
Tu et al. Privacy‐Preserving Outsourced Auditing Scheme for Dynamic Data Storage in Cloud
Bellare et al. Defending against key exfiltration: efficiency improvements for big-key cryptography via large-alphabet subkey prediction
JP2018106700A (en) Cloud access method monitorable in real time
JP4810612B2 (en) Fast RSA signature verification
JP4856599B2 (en) Pairing arithmetic device, program
US20140105386A1 (en) Computing genus-2 curves using general isogenies
KR102595938B1 (en) Polynomial inverse generating apparatus and method for an encryption system that encrypts and decrypts data using polynomials
CN116260572B (en) Data hash processing method, data verification method and electronic equipment
JP4802228B2 (en) Key generation apparatus and program
JP3935902B2 (en) Generator polynomial generator and program recording medium thereof
JP2011035809A (en) Information processing apparatus, code generation method, code validation method, and program
JP3935903B2 (en) Generator polynomial generator and program recording medium thereof
JP4621075B2 (en) Verifier-designated signature generation apparatus, verifier-designated signature system, program, and recording medium thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090105

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111026

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4901499

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150113

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees