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 PDFInfo
- 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
Links
Images
Abstract
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.
もちろん、先の誤り検出符号を用いても同様の変化の検出が可能であるが、特にインターネットなどの不特定多数が利用するネットワークを介した通信の場合、通信内容が悪意のあるエンティティに書き換えられることも考慮し、人為的な操作に対しても暗号学的に安全なハッシュ関数などを用いることが多い。
ハッシュ関数などによる安全性を考慮した識別子は、識別子が計算される周辺の状況に比べ計算量が相対的に多く、識別子の計算に時間がかかる点である。このことは、特に検証対象のデータ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が入力され、識別子Yiを
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
識別子記憶部は、上記計算した識別子Yiを記憶する。
The identifier storage unit stores the calculated identifier Y i .
第2データ記憶部は、上記情報Xとの比較対象とする情報X´を記憶する。
第2データ分割部は、上記情報X´が入力され、これを上記予め定められた手順に従いd個に分割して分割情報Xi´を生成し出力する。
Y´計算部は、上記識別子Yiが入力され、Y´を
x計算部は、上記分割情報Xi´が入力され、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 ′
The x calculation unit receives the division information X i ′ and calculates x
C計算部は、上記xが入力され、Cを
C=gx mod N (4)
により計算し出力する。
整合性判定部は、上記Y´と上記Cとが入力され、C=Y´mod Nであれば整合性有り、そうでなければ整合性無しとの判定結果を出力する。
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個の分割情報Xi(2≦i≦d)を出力する(S2)。
dの値については適宜決定してよく、例えばdを定数として定めてもよいし、個々のXiが全て同じ長さとなるようにXの長さに応じて定めてもよい。
データXをd個に分割する方法についても適宜決定してよく、例えばデータX全体を単純にd個に分割してもよいし、先頭から1ワードごとにXiに割り振ってもよい。
[First Embodiment]
1 and 2 are functional configuration examples of the
The
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
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個のXiが入力されると、Xiに対応するd個の識別子Yiを式(1)により計算して出力する(S3)。なお、Nとgは共に2以上の自然数である。
上記計算の際にはXiを適当な方法で0以上の自然数に対応させる。例えば、ビット列Xiを長大な2進数であると解釈して対応させる。
送信部18は、上記データXを上記d個の識別子Yiと共にネットワークを介してデータ検証装置20に送信する(S4)。なお、ネットワークは装置間に距離的離隔を生じさせるものであればWANでもLANでも構わない。
Identifier calculation unit 13, the d-number of X i divided by the first
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
制御部19は、識別子生成装置10の上記各処理を制御する。
データ検証装置20は、識別子記憶部21、第2データ記憶部22、Y´計算部23、第2データ分割部24、x計算部25、C計算部26、整合性判定部27、受信部28及び制御部29から構成される。
受信部28は、ネットワークを介して送信されたデータX´と上記d個の識別子Yiとを受信する(S5)。ここで、データX´は識別子Yiに基づき元データXとの整合性判定を行う対象となるデータである。なお、識別子Yiは必ずデータXから生成されているものとし、また伝送路において変化・改ざん等されることなく受信されているものとする。
The control unit 19 controls each process of the
The
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個の識別子Yiを記憶する(S6)。
第2データ記憶部22は、受信部28で受信したデータX´を記憶する(S6)。
Y´計算部23は、識別子記憶部21に記憶されたd個の識別子Yiが入力されると、Y´を式(2)によって計算して出力する(S7)。なお、eiは整数である。
第2データ分割部24は、第2データ記憶部22に記憶されたデータX´が入力されると、これをd個(dは2以上の自然数)に分割して、d個の分割情報Xi´(2≦i≦d)を出力する(S8)。dの値の決定方法及びデータX´をd個に分割する方法については、第1データ分割部12と共通の予め定められた手順による。
x計算部25は、第2データ分割部24で分割されたd個のXi´が入力されると、式(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
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から生成された識別子Yiに基づき計算された上記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
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
一般的に情報の「書き込まれる回数」と「読み込まれる回数」を比較した場合、「読み込まれる回数」の方が多いと考えられる。そのため、情報の完全性を検証する場合も、完全性の基準となる情報から識別子を生成する回数(=「書き込まれる回数」)に比べて、その基準と差異が無いかどうかを調べる検証の回数(=「読み込まれる回数」)の方が必然的に多くなる。特に大容量ファイルの代表格である映像コンテンツなどは一度作成した情報を、多くの人が何度も読み込むという状況が想定される。
そこで、演算コストが「識別子の生成」>「識別子によるデータ整合性検証」となることが望ましい状況が存在することに注目し、本発明では識別子の生成と識別子によるデータ整合性検証に異なるアルゴリズムを採用した。
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
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個の分割情報Xiを作成し出力する。dの値の決定方法及びデータX´をd個に分割する方法については、第1データ分割部12と同様の考え方による(S2)。識別子計算部13にデータ分割部32で分割されたd個のXiが入力され、Xiに対応するd個の識別子Yiを式(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個の識別子Yiを用いてY´を式(2)により計算する(S5)。データ分割部32は、データ記憶部31に記憶されているデータX´(識別子生成時のデータXの、時間経過後のデータ)をS2で適用した方法と同じ方法でd分割してd個の分割情報Xi´を作成して出力する(S6)。x計算部25は、第2データ分割部24で分割されたd個のXi´がx計算部25に入力されると式(3)によりxを計算して出力する(S7)。C計算部26は、x計算部25で計算されたxが入力されると、式(4)によりCを計算して出力する(S8)。整合性判定部27は、データXから生成された識別子Yiに基づき計算された上記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
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
The control unit 49 controls each process performed in the integrated apparatus 40.
The
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個の分割情報Xiを作成し出力する。dの値の決定方法及びデータX´をd個に分割する方法については、第1データ分割部12と同様の考え方による(S2)。識別子計算部13は、データ分割部32で分割されたd個のXiが入力されると、Xiに対応するd個の識別子Yiを式(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
The transmission / reception unit 48 transmits the data X stored in the first data storage unit 41 to the
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個の識別子Yiを用いてY´を式(2)により計算する(S9)。データ分割部32は、第1データ記憶部41に記憶されているデータX´をS2で適用した方法と同じ方法でd分割してd個の分割情報Xi´を作成して出力する(S10)。x計算部25は、第2データ分割部24で分割されたd個のXi´がx計算部25に入力されると、式(3)によりxを計算して出力する(S11)。C計算部26は、x計算部25で計算されたxが入力されると、式(4)によりCを計算して出力する(S12)。整合性判定部27は、データXから生成された識別子Yiに基づき計算された上記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
以上の構成により、外部記憶装置を使用する場合においても、速やかにデータ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が素数の場合や容易に素因数分解できる数の場合、Yiの位数を知ることができ、その結果、データXに基づき生成されたYiについて式(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
The
第1データ記憶部11、第1データ分割部12及び送信部18は、第1実施形態と同様である。つまり、第5実施形態は第1実施形態の識別子計算部13をξ計算部51と識別子計算部53に置き換えた構成である。
なお、第2実施形態、第3実施形態の構成においても、識別子計算部13をξ計算部51と識別子計算部53に置き換えることで、同様に高速化の効果を得ることができる。
ξ計算部51は、第1データ分割部12で分割されたd個のXiが入力され、Xiに対応するd個のξiを次式により計算して出力する。なお、pとqは共に素数である。
ξi=Xi mod (p−1)・(q−1) (5)
識別子計算部53は、ξ計算部51で計算されたd個のξiが入力され、ξiに対応するd個の識別子Yiを次式により計算して出力する。なお、N=p・qである。
The first data storage unit 11, the first
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
ξ 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.
式(1)による識別子の計算は、元となるデータXをd個に分割して行っているものの、特にデータXが大きな値の場合には全体の処理速度への影響が大きい。
式(1)のような剰余計算の解(式(1)においてはYi)はNを法とする場合、べき乗数Xiに関し、Yiの位数の周期(p、qが素数でN=p・qの場合、(p−1)・(q−1))で繰り返し同じ値をとる。このような特性から、式(1)のようにXiで直接べき乗するのではなく、先に式(5)のようにXiに対し位数により剰余計算を行い、Xiを位数の範囲内に縮小化した計算結果ξiをXiの代わりに利用して式(6)の剰余計算を行っても同じ解が得られる。
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)を、ξi=Xi mod (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の計算において用いるeiの値をランダムな値にすることで、悪意者の攻撃に対する安全性を高める構成である。
図10は第8実施形態のデータ検証システムを構成するデータ検証装置80の機能構成例である。なお、ネットワークを介して対向する識別子生成装置の構成は第1実施形態と同様なものでよい。図11は第8実施形態の処理フローである。
データ検証装置80は、識別子記憶部21、第2データ記憶部22、ei生成部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
つまり、第8実施形態は第1実施形態のY´計算部23をY´計算部83に、x計算部25をx計算部85に置き換えると共に、ei生成部81を加えた構成である。
なお、第2実施形態、第3実施形態の構成においても、Y´計算部23をY´計算部83に、x計算部25をx計算部85に置き換えると共に、ei生成部81を加えることで、同様に安全性の向上を図ることができる。
ei生成部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個の識別子Yiとei生成部81から出力されたeiとが入力され、Y´を式(2)によって計算して出力する。
x計算部85は、第2データ分割部24で分割されたd個のXi´とei生成部81から出力されたeiとが入力され、式(3)によりxを計算して出力する。
式(2)と式(3)において、eiをそれぞれべき乗、乗算しているのは以下の理由による。
式(2)と式(3)にeiが無い場合を考えると、式(2)を変形するとY´=gXmod Nとなり、式(4)を変形するとC=gX´mod Nとなる。そして、両式はgとNが共通しており、べき乗剰余演算の性質からC=Y´mod Nが成立するのはデータXとデータX´とが整合している(べき乗部分の値が同じ)場合に限らず、従って、悪意者がC=Y´mod Nは成立するがX=X´は成立しないX´を使って攻撃をしかけてくるという危険性は否めない。また、X及びX´をd個のXi及びXi´分割して計算を行う場合においても、Y´とCとの整合性判定において影響するのはあくまで総和であるX及びX´であるため、たとえd個のXi´のうちいくつかの順序が入れ替わっていてもそれを検知することはできない。
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)にeiがある場合、式(2)と式(4)を変形すると、それぞれ次式のようになる。
そこで、本発明においては全実施形態でY´及びxの計算式にeiをべき乗又は乗算することにより攻撃に対する安全性の向上を図っている(第1〜第7実施形態においては、eiは整数)。
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.
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実施形態は、このeiをランダムな値とすることによって、悪意者がeiを知ることを困難にすることで、より安全性を高めることができるものである。
なお、更なる安全性向上のためには、検証の都度eiを再計算することが望ましい。
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実施形態におけるランダムなeiを、べき乗剰余計算により生成するものである。
第9実施形態のデータ検証システムの機能構成は、ei生成部81の内部構成を除き、第8実施形態のデータ検証装置80と同様である。図12aは第9実施形態のei生成部81の内部構成例である。ei生成部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
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が入力され、次式によりeiを計算し出力する。なお、sは2以上の自然数である。
ei=ei-1 mod s (9)
このようにべき乗剰余計算によりランダムなeiを生成することができる。 また、eiを疑似乱数により生成させたい場合、予め疑似乱数によって発生させた上記eを式(9)に適用することで、ei算出時に疑似乱数生成アルゴリズムを動作させずにd個の疑似乱数eiを発生させることができる。そのため、すべてのeiを疑似乱数生成アルゴリズムを用いて算出するよりも演算量を少なくできる。
式(9)において、sが大きな数であるほど悪意の攻撃者がeiを見つけ出すことが困難になる。例えば、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実施形態におけるランダムなeiを、逆像演算が困難な関数を用いて生成するものである。
第10実施形態のデータ検証システムの機能構成は、ei生成部81の内部構成を除き、第8実施形態のデータ検証装置80と同様である。図12bは第10実施形態のei生成部81の内部構成例である。ei生成部81は、乱数生成部81aとH関数計算部81cとを備える。
[Tenth embodiment]
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
H関数計算部81cは、乱数生成部81aから出力された上記ランダムな自然数eが入力され、次式によりeiを計算し出力する。なお、Hは逆像演算が困難な関数である。逆像演算が困難な関数としては、例えば一方向性ハッシュ関数等があげられる。また、(e,i)はeとiとのビット連結を意味する。
ei=H(e,i) (10)
このような関数計算により、ランダムなeiを生成することができる。また、eiを疑似乱数により生成させたい場合、予め疑似乱数によって発生させた上記eを式(10)に適用することで、ei算出時に疑似乱数生成アルゴリズムを動作させずにd個の疑似乱数eiを発生させることができる。そのため、すべてのeiを疑似乱数生成アルゴリズムを用いて算出するよりも演算量を少なくできる。
この実施形態においては、eiから逆像演算でeを求めることが困難であるため、たとえ一部のeiが漏洩した場合でも、攻撃者はeを見出すことができず、従って、残りのeiを見出すことはできない。よって、悪意者の攻撃への安全性を向上できる。
The H
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実施形態におけるランダムなeiを、異なる入力値に対するそれぞれの出力値が衝突困難な関数を用いて生成するものである。
第11実施形態のデータ検証システムの機能構成は、ei生成部81の内部構成を除き、第8実施形態のデータ検証装置80と同様である。図12bは第10実施形態のei生成部81の内部構成例である。ei生成部81は、乱数生成部81aとS関数計算部81dとを備える。
S関数計算部81dは、乱数生成部81aから出力された上記ランダムな自然数eが入力され、次式によりeiを計算し出力する。なお、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
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.
ei=S(e,i) (11)
このような関数計算により、ランダムなeiを生成することができる。また、eiを疑似乱数により生成させたい場合、予め疑似乱数によって発生させた上記eを式(11)に適用することで、ei算出時に疑似乱数生成アルゴリズムを動作させずにd個の疑似乱数eiを発生させることができる。そのため、すべてのeiを疑似乱数生成アルゴリズムを用いて算出するよりも演算量を少なくできる。
上記式(7)及び式(8)において、例えばもしd個のeiのうち複数のeiが同じ値であれば、その同じ値の部分に対応するXiとXi´との間で並びが入れ替わっていてもそれを検知することができない。そこで、衝突困難な関数でeiを生成してeiをそれぞれ異なる値とすることでXiとXi´との間で並びが入れ替わっているような場合もそれを検知でき、判定精度を向上することができる。
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実施形態は、eiを整数でかつ定数とする構成であり、第1〜第7実施形態のそれぞれにおいて適用できる。
eiを定数とすることで、ランダムにする場合より安全性は低下するが、装置を簡略化したい場合や処理をより軽くしたい場合に有効である。
本発明におけるデータ検証システム、その方法、識別子生成装置、データ検証装置は、上記の実施形態に限定されるものではなく、本発明を逸脱しない範囲で適宜変更が可能である。また、上記に説明した処理は記載の順に従った時系列において実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
[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ブロックに分割していることにより、それぞれの識別子Y1,・・・,Ydを全く独立に計算できるためこの部分は並列処理が可能である。
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.
Claims (21)
所定の情報Xを記憶する第1データ記憶部と、
上記情報Xが入力され、これを予め定められた手順に従いd個(dは2以上の自然数)に分割して分割情報Xi(2≦i≦d)を生成し出力する第1データ分割部と、
上記分割情報Xiが入力され、識別子Yiを
上記計算した識別子Yiを記憶する識別子記憶部と、
上記情報Xとの比較対象とする情報X´を記憶する第2データ記憶部と、
上記情報X´が入力され、これを上記予め定められた手順に従いd個に分割して分割情報Xi´を生成し出力する第2データ分割部と、
上記識別子Yiが入力され、Y´を
上記分割情報Xi´が入力され、xを
上記xが入力され、CをC=gx mod 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
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
The division information X i ′ is input and x is
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:
N=p・q(pとqは共に素数)であり、
所定の情報Xを記憶する第1データ記憶部と、
上記情報Xが入力され、これを予め定められた手順に従いd個(dは2以上の自然数)に分割して分割情報Xi(2≦i≦d)を生成し出力する第1データ分割部と、
上記分割情報Xiが入力され、ξiをξi=Xi mod (p−1)・(q−1)により計算し出力するξ計算部と、
上記ξiが入力され、識別子YiをYi=gξimod N(gは2以上の自然数)により計算し出力する識別子計算部と、
上記計算した識別子Yiを記憶する識別子記憶部と、
上記情報Xとの比較対象とする情報X´を記憶する第2データ記憶部と、
上記情報X´が入力され、これを上記予め定められた手順に従いd個に分割して分割情報Xi´を生成し出力する第2データ分割部と、
上記識別子Yiが入力され、Y´を
上記分割情報Xi´が入力され、xを
上記xが入力され、CをC=gx mod 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
The division information X i ′ is input and x is
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以上のランダムな自然数eを生成し出力する乱数生成部と、
上記eが入力され、上記eiをei=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:
1以上のランダムな自然数eを生成し出力する乱数生成部と、
上記eが入力され、上記eiを
ei=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:
1以上のランダムな自然数eを生成し出力する乱数生成部と、
上記eが入力され、上記eiを
ei=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:
上記情報Xが入力され、これを予め定められた手順に従いd個(dは2以上の自然数)に分割して分割情報Xi(2≦i≦d)を生成し出力するデータ分割部と、
上記分割情報Xiが入力され、識別子Yiを
を具備する識別子生成装置。 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
An identifier generation device comprising:
所定の情報Xを記憶するデータ記憶部と、
上記情報Xが入力され、これを予め定められた手順に従いd個(dは2以上の自然数)に分割して分割情報Xi(2≦i≦d)を生成し出力するデータ分割部と、
上記分割情報Xiが入力され、ξiをξi=Xi mod (p−1)・(q−1)により計算し出力するξ計算部と、
上記ξiが入力され、識別子YiをYi=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:
上記識別子Yiの生成元情報である情報Xの比較対象とする情報X´を記憶するデータ記憶部と、
上記情報X´が入力され、これを予め定められた手順に従いd個(dは2以上の自然数)に分割して分割情報Xi´(2≦i≦d)を生成し出力するデータ分割部と、
上記識別子Yiが入力され、Y´を
上記分割情報Xi´が入力され、xを
上記xが入力され、CをC=gx mod 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
The division information X i ′ is input and x is
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:
第1データ分割部が、所定の情報Xを予め定められた手順に従いd個(dは2以上の自然数)に分割して分割情報Xi(2≦i≦d)を生成するステップと、
識別子計算部が、上記分割情報Xiから識別子Yiを
第2データ分割部が、上記情報Xとの比較対象とする情報X´を上記予め定められた手順に従いd個に分割して分割情報Xi´を生成するステップと、
Y´計算部が、上記識別子YiからY´を
x計算部が、上記分割情報Xi´からxを
C計算部が、上記xからCを、C=gx mod 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.
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
The x calculation unit calculates x from the division information X i ′.
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:
N=p・q(pとqは共に素数)であり、
第1データ分割部が、所定の情報Xを予め定められた手順に従いd個(dは2以上の自然数)に分割して分割情報Xi(2≦i≦d)を生成するステップと、
ξ計算部が、上記分割情報Xiからξiを、ξi=Xi mod (p−1)・(q−1)により計算するステップと、
識別子計算部が、上記ξiから識別子Yiを、Yi=gξi mod N(gは2以上の自然数)により計算するステップと、
第2データ分割部が、上記情報Xとの比較対象とする情報X´を上記予め定められた手順に従いd個に分割して分割情報Xi´を生成するステップと、
Y´計算部が、上記識別子YiからY´を
x計算部が、上記分割情報Xi´からxを
C計算部が、上記xからCを、C=gx mod 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
The x calculation unit calculates x from the division information X i ′.
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:
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)
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)
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 |
-
2007
- 2007-01-22 JP JP2007011486A patent/JP4901499B2/en not_active Expired - Fee Related
Patent Citations (4)
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)
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 |