JP4901499B2 - データ検証システム、その方法、識別子生成装置、データ検証装置、それらプログラム及び記録媒体 - Google Patents
データ検証システム、その方法、識別子生成装置、データ検証装置、それらプログラム及び記録媒体 Download PDFInfo
- Publication number
- JP4901499B2 JP4901499B2 JP2007011486A JP2007011486A JP4901499B2 JP 4901499 B2 JP4901499 B2 JP 4901499B2 JP 2007011486 A JP2007011486 A JP 2007011486A JP 2007011486 A JP2007011486 A JP 2007011486A JP 4901499 B2 JP4901499 B2 JP 4901499B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- data
- identifier
- unit
- data verification
- 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.)
- Expired - Fee Related
Links
Images
Description
Bruce Schneier 著、山形浩生 訳、"暗号技術大全"、p475〜509、ソフトバンクパブリッシング、2003年
第1データ記憶部は、所定の情報Xを記憶する。
第1データ分割部は、上記情報Xが入力され、これを予め定められた手順に従いd個(dは2以上の自然数)に分割して分割情報Xi(2≦i≦d)を生成し出力する。
識別子計算部は、上記分割情報Xiが入力され、識別子Yiを
第2データ分割部は、上記情報X´が入力され、これを上記予め定められた手順に従いd個に分割して分割情報Xi´を生成し出力する。
Y´計算部は、上記識別子Yiが入力され、Y´を
x計算部は、上記分割情報Xi´が入力され、xを
図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に割り振ってもよい。
上記計算の際にはXiを適当な方法で0以上の自然数に対応させる。例えば、ビット列Xiを長大な2進数であると解釈して対応させる。
送信部18は、上記データXを上記d個の識別子Yiと共にネットワークを介してデータ検証装置20に送信する(S4)。なお、ネットワークは装置間に距離的離隔を生じさせるものであればWANでもLANでも構わない。
データ検証装置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から生成されているものとし、また伝送路において変化・改ざん等されることなく受信されているものとする。
第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)。
整合性判定部27は、データXから生成された識別子Yiに基づき計算された上記Y´と、データX´に基づき計算された上記Cとが入力されると、この両者を比較し、C=Y´mod NであればデータXとデータX´とは整合性有りとの判定結果を出力し、そうでなければ整合性無しとの判定結果を出力する(S11)。
制御部29は、データ検証装置20の上記各処理を制御する。
以上のように、本発明はハッシュ関数による整合性検証のように識別子生成部と検証部とで同じ演算を行うものと異なり、識別子生成部10は式(1)の演算を行い、データ検証部20は式(2)〜(4)の演算を行うというようにそれぞれ異なったアルゴリズムで演算を行う。
そこで、演算コストが「識別子の生成」>「識別子によるデータ整合性検証」となることが望ましい状況が存在することに注目し、本発明では識別子の生成と識別子によるデータ整合性検証に異なるアルゴリズムを採用した。
このようなアルゴリズム構成は、映像コンテンツのように、データの整合性検証にはリアルタイム性を求めるが、識別子の生成は多少遅くても問題無い場合に特に有効である。
第1実施形態は、物理媒体同士が通信を行って情報が転送される経路中に何らかのトラブルで情報が変化するような場合の構成、つまり物理的に離隔したデータXとデータX´との整合性を検証する構成である。これに対し、第2実施形態は、同一の物理媒体に記憶されている情報が時間を経ることにより何らかのトラブルで情報が変化するような場合の構成、つまり時間的に離隔したデータXとデータX´との整合性を検証する構成である。従って、第2実施形態においては、第1実施形態と異なり識別子生成装置とデータ検証装置とは一体的に構成される。
一体型装置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と対応する部分については同一参照番号を付け、説明は省略する。その他の図面についても同様とする。
制御部39は、一体型装置30で行われる各処理を制御する。
第2実施形態の処理フローを図5に示す。
まず、検証に用いる識別子を生成する。
そして、必要時などに次の検証処理を行う。
以上の構成により、同一の物理媒体に記憶されている情報が時間を経ることにより何らかのトラブルで情報が変化しても、第1実施形態同様、速やかにデータの整合性の検証を行うことができる。
第3実施形態は、第2実施形態の一体型構成において外部記憶装置を使用する構成、詳しくは、識別子の生成後にデータXを一旦ネットワークを介した外部記憶装置に移動・保存し、この外部記憶装置に保存したデータX´を再度一体型装置にダウンロードする場合のデータXとデータX´との整合性を検証する構成である。
一体型装置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で検証に用いる識別子を生成する。
送受信部48は第1データ記憶部41に記憶されたデータXを外部記憶装置200に送信し、送信後、制御部49は第1データ記憶部41のデータXを消除する(S5)。外部記憶装置200の送受信部48は、ネットワークを介して送信されたデータX´を受信し、データX´を第2データ記憶部222に記憶する(S6)。
そして、データX´を一体型装置40にダウンロードし整合性を検証する。
第4実施形態は、識別子などの計算に用いる上記Nの値を素因数分解困難な正の合成数とし、悪意者による攻撃に対する安全性を向上するものである。
式(1)などの計算に用いるNは2以上の自然数としているが、Nが素数の場合や容易に素因数分解できる数の場合、Yiの位数を知ることができ、その結果、データXに基づき生成されたYiについて式(1)を成立させる複数のXiを計算できることになるため、悪意者による攻撃に対する安全性に不安が残る。
そこで、第4実施形態はNを素因数分解が困難な正の合成数とし、衝突困難性を素因数分解の困難性に帰着させることで安全性を高めることができるものである。
第5実施形態は、識別子生成者がN=p・q(p、qは共に素数)のp、qを知っていることを前提として、識別子の計算の高速化を図る構成である。
図8は第5実施形態のデータ検証システムを構成する識別子生成装置50の機能構成例である。なお、ネットワークを介して対向するデータ検証装置の構成は第1実施形態と同様なものでよい。図9は第5実施形態の処理フローである。
識別子生成装置50は、第1データ記憶部11、第1データ分割部12、ξ計算部51、識別子計算部53、送信部18及び制御部59から構成される。
なお、第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である。
式(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)の剰余計算を行っても同じ解が得られる。
なお、第5実施形態ではN=p・qの場合を取り上げたが、Nが素数の場合においても式(5)を、ξi=Xi mod (N−1)に変えることで同様に高速化の効果を得ることができる。
第6実施形態は、第5実施形態の場合において第4実施形態と同様に、識別子などの計算に用いる上記Nの値を素因数分解困難な正の合成数とするものである。
この形態をとることにより、第4実施形態で得られるより高い安全性と、第5実施形態で得られるより高い処理速度とを共に享受することができる。
第7実施形態は、識別子などの計算に用いる上記gの値をNと互いに素な2以上の自然数とし、第4実施形態と同様、悪意者による攻撃に対する安全性を向上するものである。
もし、式(1)などの計算に用いるgがNと互いに素でない数の場合、gとNとの公約数を見出されればNを素因数分解できてしまうため、悪意者による攻撃への発端になる危険がある。
このような理由から、第7実施形態はgをNと互いに素な数とすることで、攻撃の危険を回避し、より安全性の向上を図ることができるものである。
第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から構成される。
なお、第2実施形態、第3実施形態の構成においても、Y´計算部23をY´計算部83に、x計算部25をx計算部85に置き換えると共に、ei生成部81を加えることで、同様に安全性の向上を図ることができる。
ei生成部81は、整数をランダムに発生し出力する。
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´及びxの計算式にeiをべき乗又は乗算することにより攻撃に対する安全性の向上を図っている(第1〜第7実施形態においては、eiは整数)。
なお、更なる安全性向上のためには、検証の都度eiを再計算することが望ましい。
第9実施形態は、第8実施形態におけるランダムなeiを、べき乗剰余計算により生成するものである。
第9実施形態のデータ検証システムの機能構成は、ei生成部81の内部構成を除き、第8実施形態のデータ検証装置80と同様である。図12aは第9実施形態のei生成部81の内部構成例である。ei生成部81は、乱数生成部81aとべき乗剰余計算部81bとを備える。
乱数生成部81aは、1以上のランダムな自然数eを生成し出力する。ランダムなeとしては例えば疑似乱数を用いることができる。疑似乱数の生成方法としては、SHA−1等の一方向性ハッシュ関数を用いて構成される計算量理論に基づく疑似乱数生成アルゴリズム等を用いることができる。
ei=ei-1 mod s (9)
このようにべき乗剰余計算によりランダムなeiを生成することができる。 また、eiを疑似乱数により生成させたい場合、予め疑似乱数によって発生させた上記eを式(9)に適用することで、ei算出時に疑似乱数生成アルゴリズムを動作させずにd個の疑似乱数eiを発生させることができる。そのため、すべてのeiを疑似乱数生成アルゴリズムを用いて算出するよりも演算量を少なくできる。
式(9)において、sが大きな数であるほど悪意の攻撃者がeiを見つけ出すことが困難になる。例えば、80ビット程度のセキュリティを確保したい場合、sも80ビット程度以上の数とすることが望ましい。
第10実施形態は、第8実施形態におけるランダムなeiを、逆像演算が困難な関数を用いて生成するものである。
第10実施形態のデータ検証システムの機能構成は、ei生成部81の内部構成を除き、第8実施形態のデータ検証装置80と同様である。図12bは第10実施形態のei生成部81の内部構成例である。ei生成部81は、乱数生成部81aとH関数計算部81cとを備える。
ei=H(e,i) (10)
このような関数計算により、ランダムなeiを生成することができる。また、eiを疑似乱数により生成させたい場合、予め疑似乱数によって発生させた上記eを式(10)に適用することで、ei算出時に疑似乱数生成アルゴリズムを動作させずにd個の疑似乱数eiを発生させることができる。そのため、すべてのeiを疑似乱数生成アルゴリズムを用いて算出するよりも演算量を少なくできる。
この実施形態においては、eiから逆像演算でeを求めることが困難であるため、たとえ一部のeiが漏洩した場合でも、攻撃者はeを見出すことができず、従って、残りのeiを見出すことはできない。よって、悪意者の攻撃への安全性を向上できる。
第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とのビット連結を意味する。
このような関数計算により、ランダムなeiを生成することができる。また、eiを疑似乱数により生成させたい場合、予め疑似乱数によって発生させた上記eを式(11)に適用することで、ei算出時に疑似乱数生成アルゴリズムを動作させずにd個の疑似乱数eiを発生させることができる。そのため、すべてのeiを疑似乱数生成アルゴリズムを用いて算出するよりも演算量を少なくできる。
上記式(7)及び式(8)において、例えばもしd個のeiのうち複数のeiが同じ値であれば、その同じ値の部分に対応するXiとXi´との間で並びが入れ替わっていてもそれを検知することができない。そこで、衝突困難な関数でeiを生成してeiをそれぞれ異なる値とすることでXiとXi´との間で並びが入れ替わっているような場合もそれを検知でき、判定精度を向上することができる。
第12実施形態は、eiを整数でかつ定数とする構成であり、第1〜第7実施形態のそれぞれにおいて適用できる。
eiを定数とすることで、ランダムにする場合より安全性は低下するが、装置を簡略化したい場合や処理をより軽くしたい場合に有効である。
本発明におけるデータ検証システム、その方法、識別子生成装置、データ検証装置は、上記の実施形態に限定されるものではなく、本発明を逸脱しない範囲で適宜変更が可能である。また、上記に説明した処理は記載の順に従った時系列において実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、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)等を用いることができる。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦自己の記録装置に格納する。そして、処理の実行時、このコンピュータは自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、更に、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータからこのコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって上記の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
本発明について、識別子生成とデータ完全性検証に関し、実験的に効果の確認を行った。以下、実験方法及び結果について説明する。
本発明の内容は、大きく分けて1.識別子生成と2.識別子によるデータ完全性検証の2種類に分けられる。本稿ではそれぞれに最適な実装を試みる。なお、測定環境は図13、測定パラメータのサイズは図14のとおりである。
識別子の計算の高速化を図った第5実施形態の効果の確認を行った。
識別子の計算にp、qを使わない場合との比較結果を図15に示す。
p、qを使用することにより約400倍の高速化が可能になる。これならば、ほぼリアルタイムに近い速度で識別子の生成を行うことが可能である。また、本発明では情報Xをdブロックに分割していることにより、それぞれの識別子Y1,・・・,Ydを全く独立に計算できるためこの部分は並列処理が可能である。
第1実施形態の検証方法によるデータ完全性検証時間の高速化効果の確認を行った。
標準的なハッシュ関数を用いて行った場合との比較結果を図16に示す。比較は、データXのサイズを1Gbitから10Gbitまで1Gbitごとに変化させて行った。
XのサイズをαGbitと置くと、本発明による検証方式では、処理時間は、1.23+0.159α(秒)という結果が得られた。ファイルサイズが大きくなれば最初の定数部分は無視できるので、巨大なファイルにおいては6.29Gbpsで処理できていることになる。これは、SHA-1の約4.5倍、SHA-256の約11.3倍の処理速度である。
一般的な映像コンテンツDVD1枚分の容量で比較した結果を図17に示す。本発明の検証方式はSHA-1よりも4倍以上の速度で検証できていることがわかる。
DVD、HD−DVD、Blu−rayの3種類のディスク容量分の乱数に対し、データの完全性を検証するために要した時間を図18に示す。
AMD64x2 2GHzにおいて、約12Gbps(1.5Gbyte/s)のスループットが出ている。これは6bit/cycle以上であり、SHA等のハッシュアルゴリズムを圧倒する性能を示している。
Claims (23)
- 2つのデータの整合性を検証する識別子生成装置とデータ検証装置からなるデータ検証システムであって、
前記識別子生成装置は、
所定の情報Xを記憶する第1データ記憶部と、
上記情報Xが入力され、これを予め定められた手順に従いd個(dは2以上の自然数)に分割して分割情報Xi(2≦i≦d)を生成し出力する第1データ分割部と、
上記分割情報Xiが入力され、識別子Yiを
(N、gは共に2以上の自然数)により計算し出力する識別子計算部と、
を具備し、
前記データ検証装置は、
上記計算した識別子Yiを記憶する識別子記憶部と、
上記情報Xとの比較対象とする情報X´を記憶する第2データ記憶部と、
上記情報X´が入力され、これを上記予め定められた手順に従いd個に分割して分割情報Xi´を生成し出力する第2データ分割部と、
上記識別子Yiが入力され、Y´を
(eiは整数)により計算し出力するY´計算部と、
上記分割情報Xi´が入力され、xを
により計算し、出力するx計算部と、
上記xが入力され、CをC=gx mod Nにより計算し出力するC計算部と、
上記Y´と上記Cとが入力され、C=Y´mod Nであれば整合性有り、そうでなければ整合性無しとの判定結果を出力する整合性判定部と、
を具備することを特徴とするデータ検証システム。 - 2つのデータの整合性を検証する一体型装置からなるデータ検証システムであって、
前記一体型装置は、
所定の情報Xと当該情報Xとの比較対象とする情報X´を記憶するデータ記憶部と、
上記情報Xが入力されると、これを予め定められた手順に従いd個(dは2以上の自然数)に分割して分割情報X i (2≦i≦d)を生成し出力し、上記情報X´が入力されると、これを上記予め定められた手順に従いd個に分割して分割情報X i ´を生成し出力するデータ分割部と、
上記分割情報X i が入力され、識別子Y i を
(N、gは共に2以上の自然数)により計算し出力する識別子計算部と、
上記計算した識別子Y i を記憶する識別子記憶部と、
上記識別子Y i が入力され、Y´を
(e i は整数)により計算し出力するY´計算部と、
上記分割情報X i ´が入力され、xを
により計算し、出力するx計算部と、
上記xが入力され、CをC=g x mod Nにより計算し出力するC計算部と、
上記Y´と上記Cとが入力され、C=Y´mod Nであれば整合性有り、そうでなければ整合性無しとの判定結果を出力する整合性判定部と、
を具備することを特徴とするデータ検証システム。 - 請求項1または2に記載のデータ検証システムにおいて、上記Nは素因数分解困難な正の合成数であることを特徴とするデータ検証システム。
- 2つのデータの整合性を検証するデータ検証システムであって、
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´を
(eiは整数)により計算し出力するY´計算部と、
上記分割情報Xi´が入力され、xを
により計算し、出力するx計算部と、
上記xが入力され、CをC=gx mod Nにより計算し出力するC計算部と、
上記Y´と上記Cとが入力され、C=Y´mod Nであれば整合性有り、そうでなければ整合性無しとの判定結果を出力する整合性判定部と、
を具備することを特徴とするデータ検証システム。 - 請求項4に記載のデータ検証システムにおいて、上記Nはpとqとに素因数分解することが困難な値であることを特徴とするデータ検証システム。
- 請求項1〜5のいずれかに記載のデータ検証システムにおいて、上記gはNと互いに素な2以上の自然数であることを特徴とするデータ検証システム。
- 請求項1〜6のいずれかに記載のデータ検証システムにおいて、上記eiをランダムに生成し出力するei生成部を具備することを特徴とするデータ検証システム。
- 請求項7に記載のデータ検証システムにおいて、上記ei生成部は、
1以上のランダムな自然数eを生成し出力する乱数生成部と、
上記eが入力され、上記eiをei=ei−1 mod s(sは2以上の自然数)により
計算して出力する剰余べき乗計算部と、
を備えることを特徴とするデータ検証システム。 - 請求項7に記載のデータ検証システムにおいて、上記ei生成部は、
1以上のランダムな自然数eを生成し出力する乱数生成部と、
上記eが入力され、上記eiを
ei=H(e,i)
((e,i)はeとiとのビット連結、Hは逆像計算が困難な関数)により計算して出力するH関数計算部と、
を備えることを特徴とするデータ検証システム。 - 請求項7に記載のデータ検証システムにおいて、上記ei生成部は、
1以上のランダムな自然数eを生成し出力する乱数生成部と、
上記eが入力され、上記eiを
ei=S(e,i)
((e,i)はeとiとのビット連結、Sは衝突困難な関数)により計算して出力するS関数計算部と、
を備えることを特徴とするデータ検証システム。 - 請求項1〜6のいずれかに記載のデータ検証システムにおいて、上記eiは定数であることを特徴とするデータ検証システム。
- 請求項4に記載のデータ検証システムを構成する識別子生成装置であって、
N=p・q(pとqは共に素数)であり、
所定の情報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以上の自然数)により計算し出力する識別子計算部と、
を具備する識別子生成装置。 - 請求項12、13のいずれかの識別子生成装置から出力された上記識別子Yiを記憶する識別子記憶部と、
上記識別子Yiの生成元情報である情報Xの比較対象とする情報X´を記憶するデータ記憶部と、
上記情報X´が入力され、これを予め定められた手順に従いd個(dは2以上の自然数)に分割して分割情報Xi´(2≦i≦d)を生成し出力するデータ分割部と、
上記識別子Yiが入力され、Y´を
(eiは整数、Nは2以上の自然数)により計算し出力するY´計算部と、
上記分割情報Xi´が入力され、xを
により計算し、出力するx計算部と、
上記xが入力され、CをC=gx mod N(gは2以上の自然数)により計算し出力す
るC計算部と、
上記Y´と上記Cとが入力され、C=Y´mod Nであれば整合性有り、そうでなければ整合性無しとの判定結果を出力する整合性判定部と、
を具備するデータ検証装置。 - 2つのデータの整合性を検証するデータ検証方法であって、
識別子生成装置が、所定の情報Xを予め定められた手順に従いd個(dは2以上の自然数)に分割して分割情報Xi(2≦i≦d)を生成するステップと、
上記識別子生成装置が、上記分割情報Xiから識別子Yiを
(N、gは共に2以上の自然数)により計算するステップと、
データ検証装置が、上記情報Xとの比較対象とする情報X´を上記予め定められた手順に従いd個に分割して分割情報Xi´を生成するステップと、
上記データ検証装置が、上記識別子YiからY´を
(eiは整数)により計算するステップと、
上記データ検証装置が、上記分割情報Xi´からxを
により計算するステップと、
上記データ検証装置が、上記xからCを、C=gx mod Nにより計算するステップと、
上記データ検証装置が、上記Y´と上記Cとを比較し、C=Y´mod Nであれば整合性有り、そうでなければ整合性無しとの判定結果を出力するステップと、
を具備することを特徴とするデータ検証方法。 - 2つのデータの整合性を検証するデータ検証方法であって、
一体型装置が、所定の情報Xを予め定められた手順に従いd個(dは2以上の自然数)に分割して分割情報X i (2≦i≦d)を生成するステップと、
上記一体型装置が、上記分割情報X i から識別子Y i を
(N、gは共に2以上の自然数)により計算するステップと、
上記一体型装置が、上記情報Xとの比較対象とする情報X´を上記予め定められた手順に従いd個に分割して分割情報X i ´を生成するステップと、
上記一体型装置が、上記識別子Y i からY´を
(e i は整数)により計算するステップと、
上記一体型装置が、上記分割情報X i ´からxを
により計算するステップと、
上記一体型装置が、上記xからCを、C=g x mod Nにより計算するステップと、
上記一体型装置が、上記Y´と上記Cとを比較し、C=Y´mod Nであれば整合性有り、そうでなければ整合性無しとの判定結果を出力するステップと、
を具備することを特徴とするデータ検証方法。 - 2つのデータの整合性を検証するデータ検証方法であって、
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´を
(eiは整数)により計算するステップと、
x計算部が、上記分割情報Xi´からxを
により計算するステップと、
C計算部が、上記xからCを、C=gx mod Nにより計算するステップと、
整合性判定部が、上記Y´と上記Cとを比較し、C=Y´mod Nであれば整合性有り、そうでなければ整合性無しとの判定結果を出力するステップと、
を具備することを特徴とするデータ検証方法。 - 請求項1〜11のいずれかに記載したシステムとしてコンピュータを機能させるためのプログラム。
- 請求項12、13のいずれかに記載した装置としてコンピュータを機能させるためのプログラム。
- 請求項14に記載したデータ検証装置としてコンピュータを機能させるためのプログラム。
- 請求項18に記載したプログラムを記録したコンピュータが読み取り可能な記録媒体。
- 請求項19に記載したプログラムを記録したコンピュータが読み取り可能な記録媒体。
- 請求項20に記載したプログラムを記録したコンピュータが読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007011486A JP4901499B2 (ja) | 2007-01-22 | 2007-01-22 | データ検証システム、その方法、識別子生成装置、データ検証装置、それらプログラム及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007011486A JP4901499B2 (ja) | 2007-01-22 | 2007-01-22 | データ検証システム、その方法、識別子生成装置、データ検証装置、それらプログラム及び記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008178005A JP2008178005A (ja) | 2008-07-31 |
JP4901499B2 true JP4901499B2 (ja) | 2012-03-21 |
Family
ID=39704663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007011486A Expired - Fee Related JP4901499B2 (ja) | 2007-01-22 | 2007-01-22 | データ検証システム、その方法、識別子生成装置、データ検証装置、それらプログラム及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4901499B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5525984B2 (ja) * | 2010-09-29 | 2014-06-18 | Necパーソナルコンピュータ株式会社 | 検証システム及び方法 |
AU2019354159B2 (en) * | 2018-10-04 | 2022-01-20 | Nippon Telegraph And Telephone Corporation | Secret sigmoid function calculation system, secret logistic regression calculation system, secret sigmoid function calculation apparatus, secret logistic regression calculation apparatus, secret sigmoid function calculation method, secret logistic regression calculation method, and program |
CN115473717B (zh) * | 2022-09-05 | 2023-09-01 | 杭州思拓瑞吉科技有限公司 | 基于互质幂余的储能系统时序数据校验方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000162967A (ja) * | 1998-11-30 | 2000-06-16 | Mitsubishi Electric Corp | ディジタル署名・検証システム |
JP4333351B2 (ja) * | 2003-12-05 | 2009-09-16 | 株式会社デンソー | 通信システム |
JP2005051734A (ja) * | 2003-07-15 | 2005-02-24 | Hitachi Ltd | 電子文書の真正性保証方法および電子文書の公開システム |
DE602006013138D1 (de) * | 2005-07-13 | 2010-05-06 | Nippon Telegraph & Telephone | Authentifizierungssystem, authentifizierungsverfahren, bestätigungsvorrichtung, verifizierungsvorrichtung, programme dafür und aufzeichnungsmedium |
-
2007
- 2007-01-22 JP JP2007011486A patent/JP4901499B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008178005A (ja) | 2008-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110637441B (zh) | 应用于数据重复数据删除的加密密钥生成 | |
US8656175B2 (en) | Secure processing device, secure processing method, encrypted confidential information embedding method, program, storage medium, and integrated circuit | |
JP4555859B2 (ja) | 認証システム、認証方法、証明装置、検証装置、それらのプログラム及び記録媒体 | |
Fried et al. | A kilobit hidden SNFS discrete logarithm computation | |
US8806212B2 (en) | Method and apparatus for generating and verifying electronic signature of software data, and computer readable recording medium thereof | |
CA2903376C (en) | Configuration and verification by trusted provider | |
CN109525403B (zh) | 一种支持用户全动态并行操作的抗泄露公开云审计方法 | |
Adj et al. | Computing discrete logarithms in and using magma | |
KR20160042435A (ko) | 디지털 서명 생성 방법 및 장치 | |
WO2014112550A1 (ja) | 改ざん検知装置、改ざん検知方法、およびプログラム | |
JP2010277085A (ja) | Rsaアルゴリズムにおける素数生成の保護 | |
KR20110014630A (ko) | 지수 불명료화 | |
Nguyen et al. | Lattice-based fault attacks on signatures | |
JP4901499B2 (ja) | データ検証システム、その方法、識別子生成装置、データ検証装置、それらプログラム及び記録媒体 | |
JP4810612B2 (ja) | 高速rsa署名検証 | |
US8731187B2 (en) | Computing genus-2 curves using general isogenies | |
JP4856599B2 (ja) | ペアリング演算装置、プログラム | |
CN112906059A (zh) | 代理签名和验证方法、装置、系统及存储介质 | |
JP5573041B2 (ja) | 情報処理装置、コード生成方法、コード検証方法およびプログラム | |
JP5032955B2 (ja) | 暗号通信方法、暗号化装置、復号装置、及びそれらのプログラム | |
KR102595938B1 (ko) | 다항식을 이용하여 데이터의 암복호화를 수행하는 암호화 시스템을 위한 다항식 역원 생성 장치 및 방법 | |
JP4802228B2 (ja) | 鍵生成装置及びプログラム | |
JP5010508B2 (ja) | 楕円曲線暗号演算装置、方法及びプログラム並びに楕円曲線暗号演算システム及び方法 | |
JP3935903B2 (ja) | 生成多項式生成装置およびこれらのプログラム記録媒体 | |
JP3935902B2 (ja) | 生成多項式生成装置およびこれらのプログラム記録媒体 |
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 |