説明

分散情報生成装置、秘密情報復元装置、分散情報生成方法、秘密情報復元方法およびプログラム

【課題】高速な処理で、分散情報に階層的な重み付けを行う。
【解決手段】秘密情報を入力し、分割して部分秘密情報を生成する分割器と、オールゼロからなるダミー情報を生成するダミー情報生成器と、乱数を生成する乱数生成器と、素数と巡回群との性質を用いて、互いに重複しない乱数のペアにより排他的論理和演算を行う第1の排他的論理和演算器と、素数と巡回群との性質を用いて、ダミー情報を含む部分秘密情報のうち、互いに重複しない情報のペアにより排他的論理和演算を行う第2の排他的論理和演算器と、個々の部分分散情報にレベルを割り当て、各レベルの閾値に応じて、排他的論理和演算を行うペアを決定するレベル割り当て手段と、決定されたペアについて、排他的論理和演算を行い、レベルに応じた重み付けがされた部分分散情報を出力する第3の排他的論理和演算器と、出力された部分分散情報を連結し、分散情報を出力する連結器と、出力された分散情報を管理者に送信する送信手段とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、XORを用いた(k、n)閾値秘密分散法により、分散情報に階層的な重み付けを行う分散情報生成装置、分散情報生成方法、秘密情報復元装置、秘密情報復元方法およびプログラムに関する。
【背景技術】
【0002】
近年、情報セキュリティの重要性が高まるにつれ、情報の盗難対策と紛失対策が重要な課題となっている。このようなことから、非特許文献1に示されるような(k,n)閾値秘密分散法は、情報の秘匿と紛失によるリスクの回避を同時に実現する手法として、注目を浴びている。ここで、(k,n)閾値秘密分散は、機密情報をn個の分散情報に分散し、そのうち任意のk個の分散情報が集まれば、復元できることを意味する。
【0003】
しかしながら、非特許文献1に示されている(k,n)閾値秘密分散法は、情報の分散、復元時に、(k−1)次の多項式を処理する必要があり、その計算量が膨大になる。
【0004】
これに対して、XORを用いて、(k,n)閾値秘密分散法を構築することにより、高速に情報の分散および復元を可能とする方式が開示されている(例えば、非特許文献2および3参照。)。この非特許文献2および3で開示された方法は、その構造において等価なものであり、単純に高速動作を行うだけでなく、非特許文献1と同様に、完全な情報論理的安全性が保証されており、分散情報のデータ長が秘密情報のデータ長と等しいという特徴を有している。
【0005】
また、非特許文献3に記載の方法はk個の分散情報から秘密情報を復元する際に、秘密情報のみならず分散情報を構成する乱数も復元可能であるという特徴があり、非特許文献2に記載の方法は、kが3以上の場合には、秘密情報は復元されるが、乱数に関しては、復元不可能という特徴がある。
【0006】
ところで、非特許文献1、非特許文献2、非特許文献3では、いずれも全ての分散情報は平等に扱われるため、分散情報の重み付けを行うことは出来ない。
【0007】
そのため、非特許文献1をベースとし、分散情報に重み付けを行う方式として、非特許文献4、非特許文献5、特許文献1に記載された手法が知られている。例えば、特許文献1に記載の手法では、分散情報をさらに何度も秘密分散法によって分散し、分散情報の木構造を構成することで階層型の重み付けを実現する。また、非特許文献4、非特許文献5の手法は、非特許文献1の分散情報を構成するためのk−1次の多項式を重みに応じて微分し、その結果の新たな多項式を用いて分散情報を生成することで、階層型の重み付けを実現している。
【非特許文献1】A.Shamir,“How to Share a Secret,”Commun.ACM, vol.22 no.11 pp.612−613, 1979.
【非特許文献2】J.Kurihara、S.Kiyomoto、K.Fukushima、T.Tanaka、“A Fast (4、n)−Threshold Secret Sharing Scheme Using Exclusive−OR Operation and its Extension to (k、n)−Threshold Schemes”、電子情報通信学会技術研究報告、vol.107、No.44、情報セキュリティ、ISSN0913−5685、ISEC2007−4
【非特許文献3】藤井吉弘、栃窪孝也、保坂範和、多田美奈子、加藤岳久、“排他的論理和を用いた(k、n)しきい値法の構成法”、電子情報通信学会技術研究報告、vol.107、No.44、情報セキュリティ、ISSN0913−5685、ISEC2007−5
【非特許文献4】T. Tassa, ‘‘Hierarchical threshold secret sharing,’‘Proc. TCC2004, LNCS 2951, pp.473−490, Springer−Verlag, 2004.
【非特許文献5】M. Belenkiy, ‘‘DisjunctiveMulti−Level Secret Sharing,’‘ Cryptology ePrint Archive,http://eprint.iacr.org/2008/018、2008.
【特許文献1】特開平10−198272号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献1に記載された手法何度も低速な非特許文献1の分散処理・復元処理を実行する必要があり、そのコストは非常に大きいという問題がある。また、非特許文献4、非特許文献5に記載された手法方式も同様に、非特許文献1をベースとしているため、分散処理・復元処理のコストが大きいという問題がある。
【0009】
そこで、本発明は、上述の課題に鑑みてなされたものであり、高速な処理で、分散情報に階層的な重み付けを行う分散情報生成装置、秘密情報復元装置、分散情報生成方法、秘密情報復元方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明は、上記の課題を解決するために、以下の事項を提案している。
【0011】
(1)本発明は、排他的論理和演算を用いた(k、n)閾値秘密分散法による分散情報生成装置であって、秘密情報を入力し、これを分割して部分秘密情報を生成する分割器と、オールゼロからなるダミー情報を生成するダミー情報生成器と、乱数を生成する乱数生成器と、素数と巡回群との性質を用いて、互いに重複しない乱数のペアにより排他的論理和演算を行う第1の排他的論理和演算器と、素数と巡回群との性質を用いて、該ダミー情報を含む部分秘密情報のうち、互いに重複しない情報のペアにより排他的論理和演算を行う第2の排他的論理和演算器と、個々の部分分散情報にレベルを割り当て、各レベルの閾値に応じて、排他的論理和演算を行うペアを決定するレベル割り当て手段と、該レベル割り当て手段において決定されたペアについて、排他的論理和演算を行い、前記レベルに応じた重み付けがされた部分分散情報を出力する第3の排他的論理和演算器と、該出力された部分分散情報を連結し、分散情報を出力する連結器と、該出力された分散情報を管理者に送信する送信手段と、を備えたことを特徴とする分散情報生成装置を提案している。
【0012】
この発明によれば、分割器は、秘密情報を入力し、これを分割して部分秘密情報を生成する。ダミー情報生成器は、オールゼロからなるダミー情報を生成する。乱数生成器は、乱数を生成する。第1の排他的論理和演算器は、素数と巡回群との性質を用いて、互いに重複しない乱数のペアにより排他的論理和演算を行う。第2の排他的論理和演算器は、素数と巡回群との性質を用いて、ダミー情報を含む部分秘密情報のうち、互いに重複しない情報のペアにより排他的論理和演算を行う。レベル割り当て手段は、個々の部分分散情報にレベルを割り当て、各レベルの閾値に応じて、排他的論理和演算を行うペアを決定する。第3の排他的論理和演算器は、レベル割り当て手段において決定されたペアについて、排他的論理和演算を行い、レベルに応じた重み付けがされた部分分散情報を出力する。そして、連結器は、出力された部分分散情報を連結し、分散情報を出力し、送信手段は、出力された分散情報を管理者に送信する。したがって、分散情報の管理者の権限等に応じて、分散情報に重み付けを行うことができる。また、排他的論理和演算のみを用いて処理を行うことから高速に分散処理を実行することができる。
【0013】
(2)本発明は、(1)の分散情報生成装置について、前記レベル割り当て手段が、レベルL (L=0、1、・・・、m)の分散情報のレベル閾値をkとしたときに、レベル0の部分分散情報について、部分秘密情報の排他的論理和演算のペア1個と乱数の排他的論理和演算のペアk−1個とを合せたk個の要素を組み合わせて構成し、レベルL≧1の部分分散情報について、乱数の排他的論理和演算のペアk−kL−1個のみを組み合わせて構成することを特徴とする分散情報生成装置を提案している。
【0014】
この発明によれば、レベル割り当て手段が、レベルL (L=0、1、・・・、m)の分散情報のレベル閾値をkとしたときに、レベル0の部分分散情報について、部分秘密情報の排他的論理和演算のペア1個と乱数の排他的論理和演算のペアk−1個とを合せたk個の要素を組み合わせて構成し、レベルL≧1の部分分散情報について、乱数の排他的論理和演算のペアk−kL−1個のみを組み合わせて構成する。したがって、秘密情報の復元構造としてConjunctiveアクセス構造を用いることができるため、秘密情報の復元を行うことが出来るグループを、柔軟にカスタマイズすることができる。
【0015】
(3)本発明は、(1)の分散情報生成装置について、前記レベル割り当て手段が、レベルL (L=0、1、・・・、m)の分散情報のレベル閾値をkとしたときに、レベルLの部分分散情報について、部分秘密情報の排他的論理和演算のペア1個と乱数の排他的論理和演算のペアk−1個とを合せたk個の要素を組み合わせて構成することを特徴とする分散情報生成装置を提案している。
【0016】
この発明によれば、レベル割り当て手段が、レベルL (L=0、1、・・・、m)の分散情報のレベル閾値をkとしたときに、レベルLの部分分散情報について、部分秘密情報の排他的論理和演算のペア1個と乱数の排他的論理和演算のペアk−1個とを合せたk個の要素を組み合わせて構成する。したがって、秘密情報の復元構造としてDisjunctiveアクセス構造を用いることができるため、秘密情報の復元を行うことが出来るグループを、柔軟にカスタマイズすることができる。
【0017】
(4)本発明は、(1)から(3)に記載された分散情報生成装置により生成された分散情報から秘密情報を復元する秘密情報復元装置であって、分散情報を受信する受信手段と、該受信した分散情報を分割して部分分散情報を生成する分散情報分割手段と、該分散情報のインデックス番号を用いて、すべての部分秘密情報を復元するための部分分散情報の組み合わせ情報を生成する行列生成手段と、該行列生成手段において生成された部分分散情報の組み合わせ情報に基づいて、入力した部分分散情報を組み合わせて排他的論理和演算を行って、部分秘密情報を復元する部分秘密情報復元部と、該復元された部分秘密情報を連結して秘密情報を出力する連結器と、を備えたことを特徴とする秘密情報復元装置を提案している。
【0018】
この発明によれば、受信手段は、分散情報を受信し、分散情報分割手段は、その受信した分散情報を分割して部分分散情報を生成する。行列生成手段は、分散情報のインデックス番号を用いて、すべての部分秘密情報を復元するための部分分散情報の組み合わせ情報を生成する。部分秘密情報復元部は、行列生成手段において生成された部分分散情報の組み合わせ情報に基づいて、入力した部分分散情報を組み合わせて排他的論理和演算を行って、部分秘密情報を復元し、連結器が、その復元された部分秘密情報を連結して秘密情報を出力する。したがって、分散情報が、管理者の権限等によって、重み付けされているため、特定の分散情報が集まったときにだけ、高速に復元処理を実行することができる。
【0019】
(5)本発明は、排他的論理和演算を用いた(k、n)閾値秘密分散法による分散情報生成装置における分散情報生成方法であって、秘密情報sをそれぞれdビットの部分秘密情報n−1個に分割する第1のステップと、ダミー秘密情報snp−1∈{0}を生成する第2のステップと、(k−1)n個の乱数をすべて独立に生成する第3のステップと、i番目の管理者に送付される分散情報にレベルLを割り当てるために、部分分散情報w(i、j)を所定の数式を用いて生成する第4のステップと、w(i,0)、・・・、w(i,np-2)を連結して分散情報wを生成し、管理者Pに配布する第5のステップと、を有することを特徴とする分散情報生成方法を提案している。
【0020】
この発明によれば、秘密情報sをそれぞれdビットの部分秘密情報n−1個に分割し、ダミー秘密情報snp−1∈{0}を生成する。次に、(k−1)n個の乱数をすべて独立に生成し、i番目の管理者に送付される分散情報にレベルLを割り当てるために、部分分散情報w(i、j)を所定の数式を用いて生成する。そして、w(i,0)、・・・、w(i,np-2)を連結して分散情報wを生成し、管理者Pに配布する。したがって、分散情報の管理者の権限等に応じて、分散情報に重み付けを行うことができる。また、排他的論理和演算のみを用いて処理を行うことから高速に分散処理を実行することができる。さらに、秘密情報の復元構造としてConjunctiveアクセス構造を用いることができるため、秘密情報の復元を行うことが出来るグループを、柔軟にカスタマイズすることができる。
【0021】
(6)本発明は、排他的論理和演算を用いた(k、n)閾値秘密分散法による分散情報生成装置における分散情報生成方法であって、秘密情報sをそれぞれdビットの部分秘密情報n−1個に分割する第1のステップと、ダミー秘密情報snp−1∈{0}を生成する第2のステップと、(k−1)n個の乱数をすべて独立に生成する第3のステップと、i番目の管理者に送付される分散情報にレベルLを割り当てるために、部分分散情報w(i、j)を所定の数式を用いて生成する第4のステップと、w(i,0)、・・・、w(i,np-2)を連結して分散情報wを生成し、管理者Pに配布する第5のステップと、を有することを特徴とする分散情報生成方法を提案している。
【0022】
この発明によれば、秘密情報sをそれぞれdビットの部分秘密情報n−1個に分割し、ダミー秘密情報snp−1∈{0}を生成する。次に、(k−1)n個の乱数をすべて独立に生成し、i番目の管理者に送付される分散情報にレベルLを割り当てるために、部分分散情報w(i、j)を所定の数式を用いて生成する。そして、w(i,0)、・・・、w(i,np-2)を連結して分散情報wを生成し、管理者Pに配布する。したがって、分散情報の管理者の権限等に応じて、分散情報に重み付けを行うことができる。また、排他的論理和演算のみを用いて処理を行うことから高速に分散処理を実行することができる。さらに、秘密情報の復元構造としてDisjunctiveアクセス構造を用いることができるため、秘密情報の復元を行うことが出来るグループを、柔軟にカスタマイズすることができる。
【0023】
(7)本発明は、(5)に記載された分散情報生成方法により生成された分散情報から秘密情報を復元する秘密情報復元方法であって、それぞれの分散情報を部分分散情報に分割し、k(n−1)個の部分分散情報を得る第1のステップと、前記部分分散情報の構成により、所定の数式を満たすk(n−1)×kn−1バイナリ行列Mを生成する第2のステップと、ガウスの消去法あるいはガウスジョルダンの消去法等を用いて、行列[M I]を変形し、行列[M´ I´]を得る第3のステップと、該生成したI´の第(k−1)(n−1)+1行目からk(n−1)行目を用いて、全部の部分秘密情報を復元する第4のステップと、すべての部分秘密情報を連結し、元の秘密情報sを復元する第5のステップと、を有することを特徴とする秘密情報復元方法を提案している。
【0024】
この発明によれば、それぞれの分散情報を部分分散情報に分割し、k(n−1)個の部分分散情報を得、部分分散情報の構成により、所定の数式を満たすk(n−1)×kn−1バイナリ行列Mを生成する。次に、ガウスの消去法あるいはガウスジョルダンの消去法等を用いて、行列[M I]を変形し、行列[M´ I´]を得る。そして、生成したI´の第(k−1)(n−1)+1行目からk(n−1)行目を用いて、全部の部分秘密情報を復元し、すべての部分秘密情報を連結し、元の秘密情報sを復元する。したがって、分散情報が、管理者の権限等によって、重み付けされているため、特定の分散情報が集まったときにだけ、高速に復元処理を実行することができる。また、秘密情報の復元構造としてConjunctiveアクセス構造を用いることができるため、秘密情報の復元を行うことが出来るグループを、柔軟にカスタマイズすることができる。
【0025】
(8)本発明は、(6)に記載された分散情報生成方法により生成された分散情報から秘密情報を復元する秘密情報復元方法であって、それぞれの分散情報を部分分散情報に分割し、k(n−1)個の部分分散情報を得る第1のステップと、前記部分分散情報の構成により、所定の数式を満たすk(n−1)×kn−1バイナリ行列Mを生成する第2のステップと、ガウスの消去法あるいはガウスジョルダンの消去法等を用いて、行列[M I]を変形し、行列[M´ I´]を得る第3のステップと、該生成したI´の第(k−1)(n−1)+1行目からk(n−1)行目を用いて、全部の部分秘密情報を復元する第4のステップと、すべての部分秘密情報を連結し、元の秘密情報sを復元する第5のステップと、を有することを特徴とする秘密情報復元方法を提案している。
【0026】
この発明によれば、それぞれの分散情報を部分分散情報に分割し、k(n−1)個の部分分散情報を得、部分分散情報の構成により、所定の数式を満たすk(n−1)×kn−1バイナリ行列Mを生成する。次に、ガウスの消去法あるいはガウスジョルダンの消去法等を用いて、行列[M I]を変形し、行列[M´ I´]を得る。そして、生成したI´の第(k−1)(n−1)+1行目からk(n−1)行目を用いて、全部の部分秘密情報を復元し、すべての部分秘密情報を連結し、元の秘密情報sを復元する。したがって、分散情報が、管理者の権限等によって、重み付けされているため、特定の分散情報が集まったときにだけ、高速に復元処理を実行することができる。さらに、秘密情報の復元構造としてDisjunctiveアクセス構造を用いることができるため、秘密情報の復元を行うことが出来るグループを、柔軟にカスタマイズすることができる。
【0027】
(9)本発明は、排他的論理和演算を用いた(k、n)閾値秘密分散法による分散情報生成装置における分散情報生成方法をコンピュータに実行させるためのプログラムであって、秘密情報sをそれぞれdビットの部分秘密情報n−1個に分割する第1のステップと、ダミー秘密情報snp−1∈{0}を生成する第2のステップと、(k−1)n個の乱数をすべて独立に生成する第3のステップと、i番目の管理者に送付される分散情報にレベルLを割り当てるために、部分分散情報w(i、j)を所定の数式を用いて生成する第4のステップと、w(i,0)、・・・、w(i,np-2)を連結して分散情報wを生成し、管理者Pに配布する第5のステップと、をコンピュータに実行させるためのプログラムを提案している。
【0028】
この発明によれば、秘密情報sをそれぞれdビットの部分秘密情報n−1個に分割し、ダミー秘密情報snp−1∈{0}を生成する。次に、(k−1)n個の乱数をすべて独立に生成し、i番目の管理者に送付される分散情報にレベルLを割り当てるために、部分分散情報w(i、j)を所定の数式を用いて生成する。そして、w(i,0)、・・・、w(i,np-2)を連結して分散情報wを生成し、管理者Pに配布する。したがって、分散情報の管理者の権限等に応じて、分散情報に重み付けを行うことができる。また、排他的論理和演算のみを用いて処理を行うことから高速に分散処理を実行することができる。さらに、秘密情報の復元構造としてConjunctiveアクセス構造を用いることができるため、秘密情報の復元を行うことが出来るグループを、柔軟にカスタマイズすることができる。
【0029】
(10)本発明は、排他的論理和演算を用いた(k、n)閾値秘密分散法による分散情報生成装置における分散情報生成方法をコンピュータに実行させるためのプログラムであって、秘密情報sをそれぞれdビットの部分秘密情報n−1個に分割する第1のステップと、ダミー秘密情報snp−1∈{0}を生成する第2のステップと、(k−1)n個の乱数をすべて独立に生成する第3のステップと、i番目の管理者に送付される分散情報にレベルLを割り当てるために、部分分散情報w(i、j)を所定の数式を用いて生成する第4のステップと、w(i,0)、・・・、w(i,np-2)を連結して分散情報wを生成し、管理者Pに配布する第5のステップと、をコンピュータに実行させるためのプログラムを提案している。
【0030】
この発明によれば、秘密情報sをそれぞれdビットの部分秘密情報n−1個に分割し、ダミー秘密情報snp−1∈{0}を生成する。次に、(k−1)n個の乱数をすべて独立に生成し、i番目の管理者に送付される分散情報にレベルLを割り当てるために、部分分散情報w(i、j)を所定の数式を用いて生成する。そして、w(i,0)、・・・、w(i,np-2)を連結して分散情報wを生成し、管理者Pに配布する。したがって、分散情報の管理者の権限等に応じて、分散情報に重み付けを行うことができる。また、排他的論理和演算のみを用いて処理を行うことから高速に分散処理を実行することができる。さらに、秘密情報の復元構造としてDisjunctiveアクセス構造を用いることができるため、秘密情報の復元を行うことが出来るグループを、柔軟にカスタマイズすることができる。
【0031】
(11)本発明は、(9)に記載された分散情報生成方法により生成された分散情報から秘密情報を復元する秘密情報復元方法をコンピュータに実行させるためのプログラムであって、それぞれの分散情報を部分分散情報に分割し、k(n−1)個の部分分散情報を得る第1のステップと、前記部分分散情報の構成により、所定の数式を満たすk(n−1)×kn−1バイナリ行列Mを生成する第2のステップと、ガウスの消去法あるいはガウスジョルダンの消去法等を用いて、行列[M I]を変形し、行列[M´ I´]を得る第3のステップと、該生成したI´の第(k−1)(n−1)+1行目からk(n−1)行目を用いて、全部の部分秘密情報を復元する第4のステップと、すべての部分秘密情報を連結し、元の秘密情報sを復元する第5のステップと、をコンピュータに実行させるためのプログラムを提案している。
【0032】
この発明によれば、それぞれの分散情報を部分分散情報に分割し、k(n−1)個の部分分散情報を得、部分分散情報の構成により、所定の数式を満たすk(n−1)×kn−1バイナリ行列Mを生成する。次に、ガウスの消去法あるいはガウスジョルダンの消去法等を用いて、行列[M I]を変形し、行列[M´ I´]を得る。そして、生成したI´の第(k−1)(n−1)+1行目からk(n−1)行目を用いて、全部の部分秘密情報を復元し、すべての部分秘密情報を連結し、元の秘密情報sを復元する。したがって、分散情報が、管理者の権限等によって、重み付けされているため、特定の分散情報が集まったときにだけ、高速に復元処理を実行することができる。また、秘密情報の復元構造としてConjunctiveアクセス構造を用いることができるため、秘密情報の復元を行うことが出来るグループを、柔軟にカスタマイズすることができる。
【0033】
(12)本発明は、(10)に記載された分散情報生成方法により生成された分散情報から秘密情報を復元する秘密情報復元方法をコンピュータに実行させるためのプログラムであって、それぞれの分散情報を部分分散情報に分割し、k(n−1)個の部分分散情報を得る第1のステップと、前記部分分散情報の構成により、所定の数式を満たすk(n−1)×kn−1バイナリ行列Mを生成する第2のステップと、ガウスの消去法あるいはガウスジョルダンの消去法等を用いて、行列[M I]を変形し、行列[M´ I´]を得る第3のステップと、該生成したI´の第(k−1)(n−1)+1行目からk(n−1)行目を用いて、全部の部分秘密情報を復元する第4のステップと、すべての部分秘密情報を連結し、元の秘密情報sを復元する第5のステップと、をコンピュータに実行させるためのプログラムを提案している。
【0034】
この発明によれば、それぞれの分散情報を部分分散情報に分割し、k(n−1)個の部分分散情報を得、部分分散情報の構成により、所定の数式を満たすk(n−1)×kn−1バイナリ行列Mを生成する。次に、ガウスの消去法あるいはガウスジョルダンの消去法等を用いて、行列[M I]を変形し、行列[M´ I´]を得る。そして、生成したI´の第(k−1)(n−1)+1行目からk(n−1)行目を用いて、全部の部分秘密情報を復元し、すべての部分秘密情報を連結し、元の秘密情報sを復元する。したがって、分散情報が、管理者の権限等によって、重み付けされているため、特定の分散情報が集まったときにだけ、高速に復元処理を実行することができる。さらに、秘密情報の復元構造としてDisjunctiveアクセス構造を用いることができるため、秘密情報の復元を行うことが出来るグループを、柔軟にカスタマイズすることができる。
【発明の効果】
【0035】
本発明によれば、分散情報に重み付けを行うことが可能となり、秘密情報の復元を行うことが出来るグループを、柔軟にカスタマイズすることが可能となるという効果がある。また、秘密情報の復元構造をConjunctiveアクセス構造、あるいはDisjunctiveアクセス構造のいずれかで構成可能となるという効果がある。
【0036】
そのため、例えば、会社組織内部の上司・部下に分散情報を配布して管理する場合など、権限の強さや運用形態に応じた分散情報の配布が可能となる。さらに、排他的論理和のみで分散情報の生成・秘密情報の復元を行うことが出来るため、同様の構造を実現している従来の手法(非特許文献4および非特許文献5)よりも高速な演算が可能であり、省電力機器での実装や、大容量データ向けの実装などを実現することができるという効果がある。
【発明を実施するための最良の形態】
【0037】
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0038】
<分散情報生成装置の構成>
図1および図2を用いて、本実施形態に係る分散情報生成装置の構成について説明する。
本実施形態に係る分散情報生成装置は、図1に示すように、分割器11と、ダミー情報生成器12と、乱数生成器13a〜13dと、部分分散情報生成器14と、連結器15と、送信装置18とから構成されている。
【0039】
分割器11は、秘密情報sを入力し、これを(n−1)個の部分秘密情報sに分割する。ダミー情報生成器12は、オールゼロからなるダミー部分秘密情報sを生成する。生成されたダミー部分秘密情報s及び部分秘密情報sは、部分分散情報生成器13に送られる。
【0040】
乱数生成器13a〜13dは、互いに独立な乱数rを発生している。そして、同様な乱数生成器13a〜13dを複数個備えている。乱数生成器13a〜13dからの乱数rは、部分分散情報生成器14に送られる。
【0041】
部分分散情報生成器14は、ダミー部分秘密情報s及び(n−1)個の部分秘密情報sと、乱数発生器13a〜13dからの乱数rとを用いて、排他的論理和(XOR)演算により、部分分散情報を生成する。具体的には、素数と巡回群との性質を用いて、互いに重複しない乱数のペアにより排他的論理和演算を行い、素数と巡回群との性質を用いて、ダミー情報を含む部分秘密情報のうち、互いに重複しない情報のペアにより排他的論理和演算を行い、個々の部分分散情報にレベルを割り当て、各レベルの閾値に応じて、排他的論理和演算を行うペアを決定し、決定されたペアについて、排他的論理和演算を行って、レベルに応じた重み付けがされた部分分散情報を出力する。なお、部分分散情報生成器13の詳細な構成については、後述する。
【0042】
連結器15は、部分分散情報生成器14から出力される部分分散情報をグループごとにバイナリ連結し、n個の分散情報Sを生成する。送信装置16は、生成されたn個の分散情報Sを、管理者Pにセキュアに送信する。
【0043】
なお、秘密情報を(n−1)個に等分割する必要がある。但し、nは分散数nについてn≧nを満たす素数である。そのため、希望する分散数nが合成数である場合には、n>nを満たす素数nを用いた(k、n)閾値法の分散情報を、n個用いることで、(k,n)閾値法を実現する。
【0044】
<部分分散情報生成器の構成>
次に、本実施形態に係る部分分散情報生成器の構成について説明する。
本実施形態に係る部分分散情報生成器は、図2に示すように、XOR演算器21と、XOR演算器22a〜22nと、レベル閾値割り当て器23と、XOR演算器24とから構成されている。
【0045】
XOR演算器21は、素数と巡回群の性質を用いて、互いに重複しない部分秘密情報のペアについてXOR演算を実行する。XOR演算器22aから22nは、素数と巡回群の性質を用いて、互いに重複しない乱数のペアについてXOR演算を実行する。
【0046】
レベル閾値割り当て器23は、生成する部分分散情報のレベル(つまり分散情報のレベル)と該当するレベルおよびそのレベル閾値に応じて、部分分散情報を構成する要素(部分秘密情報のペアおよび乱数のペアのXOR情報うち、どの要素を使用するか)を決定する。
【0047】
なお、階層型にレベル分けする方式としては、秘密情報の復元を許す分散情報を有する管理者のグループが、「レベル0からレベルLまでの分散情報がk以上個集まっている」という条件をL=0、1、・・・、mの全てのレベルで満たすグループのみを対象として構成するConjunctiveアクセス構造と、秘密情報の復元を許す分散情報を有する管理者のグループが、「レベル0からレベルLまでの分散情報がk以上個集まっている」という条件をL=0、1、・・・、mのいずれかのレベルで満たすグループのみを対象として構成するDisjunctiveアクセス構造とがあるが、本実施形態では、この両者に対応する。
【0048】
そのため、レベル閾値割り当て器23では、Conjunctiveアクセス構造の構成を用いる場合には、レベルLの部分分散情報を生成には、k−kL−1個の要素を使用する。このとき、レベル0では、部分秘密情報のXORペア1個と乱数のXORペアk−1個とを合せたk個の要素を使用するが、レベル1以上では、乱数のXORペアのみk−kL−1個を使用する。ここで、kL−1は、レベルL−1のレベル閾値であり、k−1=0である。
【0049】
一方、Disjunctiveアクセス構造の構成を用いる場合には、レベルLの部分分散情報を生成には、k個の要素を使用する。また、全てのレベルにおいてConjunctiveアクセス構造の構成とは異なり、部分分散情報の構成に用いるペアは部分秘密情報のXORペア1個と乱数のXORペアk−1個とのk個の要素を使用する。
【0050】
XOR演算器23は、XOR演算器21およびXOR演算器22aから22nにおいて、XOR演算されたものについて、さらに、素数と巡回群の性質を用いて、組み合わせを決定し、XOR演算を実行して、部分分散情報を生成する。こうした、一連の処理により、重み付けされた複数の部分分散情報が生成される。
【0051】
<分散情報生成装置の処理および秘密情報復元装置の構成および処理>
次に、分散情報生成装置の処理について、更に、詳述する。なお、本実施形態では、秘密情報sを(n−1)個に等分割する必要があり、nは、分散数nについて、n≧n+1を満たす素数である。そのため、希望する分散数nについて、n+1が合成数である場合には、n>n+1を満たす素数nを用いて、分散情報を(n−1)個生成し、そのうち、n個を用いることで、分散数nを実現する。また、ここでは、分散情報生成装置の処理および秘密情報復元装置の処理について説明する前に、本明細書中で使用する演算子及び記号について、以下のように、定義する。
【0052】
【数1】

【0053】
<分散情報生成装置の処理>
先ず、分散情報生成装置の処理について図3を用いて説明する。
【0054】
(ステップ1)
秘密情報sをそれぞれdビットの部分秘密情報(n−1)個に分割する(ステップS101)。
【0055】
【数2】

【0056】
(ステップ2)
ダミーの部分秘密情報snp−1∈{0}を生成する(ステップS102)。
【0057】
(ステップ3)
数3に示すように、計(k−1)n個のdビットの乱数を全て独立に生成する(ステップS103)。
【0058】
【数3】

【0059】
(ステップ4)
i番目の管理者に送付される分散情報にレベルLを割り当てるため、Conjunctiveアクセス構造の場合には、数4を用いて、Disjunctiveアクセス構造の場合には、数5を用いて、部分分散情報S(i,j)を生成する(ステップS104)。
【0060】
【数4】

【0061】
【数5】

【0062】
なお、数4では、表現を簡単にするために、r=sとして表わしている。また、k−1=0である。数4により、Pがレベル0の管理者として割り当てられているとき、レベル0の部分分散情報w(i,j)は、部分秘密情報のXORペア1つと乱数のXORペアk−1個の計k個の要素で構成される。一方、PがレベルL≧1の管理者として割り当てられているとき、レベルLの部分分散情報w(i,j)は、乱数のXORペアのみk−kL−1個の要素で構成される。
【0063】
また、数5では、表現を簡単にするために、r=sとして表わしている。数5により、PがレベルL(L=0、・・・、m)の管理者として割り当てられているとき、レベルLの部分分散情報w(i,j)は、部分秘密情報のXORペア1つと乱数のXORペアk−1個の計k個の要素で構成される。
【0064】
Conjunctiveアクセス構造の場合も、Disjunctiveアクセス構造の場合も、個々の要素(乱数、部分秘密情報)のインデックスは、素数nを法としているため、巡回群(加法群)を形成しており、これを利用してペアを決定しているため、ペアは互いに重複することはない。
【0065】
(ステップ5)
部分分散情報w(i、0)、・・・、w(i,np−2)を連結して分散情報wを生成し、管理者Pへセキュアに配付する(ステップS105)。
【0066】
【数6】

【0067】
ここで、1人の管理者に配布されるビット数は、Kのビット数と等しくなる。これにより、情報理論的安全性を十分に保障する分散情報生成装置を構築することができる。
【0068】
<秘密情報復元装置の構成>
上記の分散情報の生成処理を踏まえて、本発明の秘密情報復元装置について説明する。本実施形態に係る秘密情報復元装置は、図4に示すように、受信機31と、分散情報分割部32と、行列演算部33と、XOR演算部34と、連結部35とから構成されている。
【0069】
受信機31は、各管理者Pから例えば、k個(kは正の整数)の分散情報を受信する。分散情報分割部32は、受信機31が受信したk個(kは正の整数)の分散情報を入力し、複数の部分分散情報を生成する。
【0070】
行列演算部33は、例えば、k個の分散情報に対応するインデックス番号t、t、・・・、tk−1(0≦t、t、・・・、tk−1≦k−1)を入力し、部分秘密情報K、・・・、Knp−1を復元するための部分分散情報の組み合わせを示す行列を生成する。
【0071】
XOR演算部34は、行列演算部33から入力された組み合わせ情報に基づいて、部分分散情報を組み合わせて、XOR演算を実行する。連結部35は、ダミーの部分分散情報を除く、全ての部分秘密情報をバイナリ連結して、秘密情報を復元する。
【0072】
<秘密情報復元装置の処理>
次に、図5を用いて、本実施形態に係る秘密情報復元装置の処理について説明する。
なお、以下では、Conjunctiveアクセス構造を構成した場合の復元処理と、Disjunctiveアクセス構造を構成した場合の復元処理とに分けて、説明する。
【0073】
<Conjunctiveアクセス構造を構成した場合の復元処理>
この場合は、k人の相異なる管理者Pi0、・・・、Pik−1が集まったとして、それぞれの分散情報をwi0、・・・、wik−1とする。(ただし、1≦i、・・・、ik−1≦n、i、・・・、ik−1は、全て互いに相違するものとする)さらに、k個集まった場合も「集まっている管理者のうち、レベル0からレベルLまでに属する管理者の総数がk以上である」という条件が、L=0、・・・、mの全てのレベルで満たされているとする。すなわち、Conjunctiveアクセス構造Γについて、{Pi0、・・・、Pik−1}∈Γが成立しているものとする。
【0074】
それぞれの分散情報を部分分散情報に分割する。すなわち、数7に示すようなk(n−1)個の部分分散情報を得る。(ステップS201)。一方、行列演算部33には、k個の分散情報についてのインデックス番号が入力される。
【0075】
【数7】

【0076】
そして、行列演算部33では、部分分散情報の構成により、数8を満たすようなk(n−1)×kn−1のバイナリ行列Mが生成される(ステップS202)。このとき、snp−1は、オールゼロであることにより、XOR演算しても値が一切変化しないため、snp−1については、考慮しない。
【0077】
【数8】

【0078】
次に、行列演算部33は、ガウスの消去法あるいはガウスジョルダンの消去法等を用いて、行列[M I]を変形し、行列[M´ I´]を得る(ステップS203)。このとき、Iは、k(n−1)×k(n−1)の単位行列である。
【0079】
さらに、XOR演算部34は、生成したI´の第(k−1)(n−1)+1行目からk(n−1)行目を用いて、数9に示す全部の部分秘密情報を復元する(ステップS204)。ここで、I´、・・・、I´np-2は、それぞれI´の第(k−1)(n−1)+1行目からk(n-1)行目を表す。
【0080】
【数9】

【0081】
そして、連結器35において、すべての部分秘密情報を連結して、元の秘密情報Kを復元する(ステップS205)。
【0082】
【数10】

【0083】
<Disjunctiveアクセス構造を構成した場合の復元処理>
この場合は、k人の相異なる管理者Pi0、・・・、PikD−1が集まったとして、それぞれの分散情報をwi0、・・・、wikD−1とする。(ただし、1≦i、・・・、ikD−1≦n、i、・・・、ikD−1は、全て互いに相違するものとする)このとき「集まっている管理者のうち、レベル0からレベルLまでに属する管理者の総数がk以上である」という条件が、L=0、・・・、mのいずれかのレベルで満たされているとする。すなわち、本条件がレベルDで満たされており、Disjunctiveアクセス構造Γについて、{Pi0、・・・、PikD−1}∈Γが成立しているものとする。
【0084】
それぞれの分散情報を部分分散情報に分割する。すなわち、数11に示すようなk(n−1)個の部分分散情報を得る。(ステップS201)。一方、行列演算部33には、k個の分散情報についてのインデックス番号が入力される。
【0085】
【数11】

【0086】
そして、行列演算部33では、部分分散情報の構成により、数12を満たすようなk(n−1)×k−1のバイナリ行列Mが生成される(ステップS202)。このとき、snp−1は、オールゼロであり、レベル0からレベルDの部分分散情報に乱数r、・・・、rnp−1、・・・、rk−kD、・・・rnp−1k−kDが含まれていないため、それらの要素は、考慮しない。
【0087】
【数12】

【0088】
次に、行列演算部33は、ガウスの消去法あるいはガウスジョルダンの消去法等を用いて、行列[M I]を変形し、行列[M´ I´]を得る(ステップS203)。このとき、Iは、k(n−1)×k(n−1)の単位行列である。
【0089】
さらに、XOR演算部34は、生成したI´の第(k−1)(n−1)+1行目からk(n−1)行目を用いて、数13に示す全部の部分秘密情報を復元する(ステップS204)。ここで、I´、・・・、I´np-2は、それぞれI´の第(k−1)(n−1)+1行目からkk(n−1)行目を表す。
【0090】
【数13】

【0091】
そして、連結器35において、すべての部分秘密情報を連結して、元の秘密情報Kを復元する(ステップS205)。
【0092】
【数14】

【0093】
したがって、本実施形態によれば、分散情報に重み付けを行うことが可能となり、秘密情報の復元を行うことが出来るグループを、柔軟にカスタマイズすることが可能となる。また、秘密情報の復元構造をConjunctiveアクセス構造、あるいはDisjunctiveアクセス構造のいずれかで構成可能となる。
【0094】
<Conjunctiveアクセス構造の構成例>
次に、具体的に、パラメータを固定して、Conjunctiveアクセス構造の構成を行った閾値秘密分散法の例を以下に示す。
【0095】
なお、ここでは、(k、n)=(3、6)とし、n=7とする。また、管理者をレベル0、1、2の3レベルに割り当てるとし、以下のように、管理者P1、・・・、P6のレベル分けを行う。
レベル0:P1、P2
レベル1:P3、P4
レベル2:P5、P6
【0096】
このとき、各レベルにおけるレベル閾値は、それぞれk0=1、k1=2、k2=k=3とする。これらのパラメータにおいて、管理者P1、P4、P5が集まり、分散情報w1、w4、w5から復元する例をここに示す。
【0097】
それぞれの分散情報を分割して得る部分分散情報は、以下、数15のように表わすことができる。
【0098】
【数15】

【0099】
また、復元手順におけるステップS202のMは、以下、数16のように表わされる。
【0100】
【数16】

【0101】
数16のMをガウス―ジョルダン法により変形し、I´を得る。このとき、I´の第13行目〜18行目を用いて、s0、・・・、s5、が、以下、数17のように復元される。
【0102】
【数17】

【0103】
最後に、以下、数18のように、部分秘密情報を連結し、秘密情報を復元する。
【0104】
【数18】

【0105】
<Disjunctiveアクセス構造の構成例>
さらに、具体的に、パラメータを固定して、Disjunctiveアクセス構造の構成を行った閾値秘密分散法の例を以下に示す。
【0106】
なお、ここでは、(k、n)=(3、6)とし、n=7とする。また、管理者をレベル0、1の2レベルに割り当てるとし、以下のように、管理者P1、・・・、P6のレベル分けを行う。
レベル0:P1、P2、P3
レベル1:P4、P5、P6
【0107】
このとき、各レベルにおけるレベル閾値は、それぞれk0=2、k1=k=3とする。これらのパラメータにおいて、管理者P1、P2が集まり、分散情報w1、w2から復元する例をここに示す。
【0108】
それぞれの分散情報を分割して得る部分分散情報は、以下、数19のように表わすことができる。
【0109】
【数19】

【0110】
また、復元手順におけるステップS202のMのサイズは、12行13列となり、以下、数20のように表わされる。
【0111】
【数20】

【0112】
数20のMをガウス―ジョルダン法により変形し、I´を得る。このとき、I´の第7行目〜12行目を用いて、s0、・・・、s5、が、以下、数21のように復元される。
【0113】
【数21】

【0114】
最後に、以下、数22のように、部分秘密情報を連結し、秘密情報を復元する。
【0115】
【数22】

【0116】
なお、分散情報生成装置および秘密情報復元装置の処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを分散情報生成装置および秘密情報復元装置に読み込ませ、実行することによって本発明の分散情報生成装置および秘密情報復元装置を実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。
【0117】
また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0118】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。更に、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0119】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【0120】
【図1】本実施形態に係る分散情報生成装置の構成を例示した図である。
【図2】本実施形態に係る部分分散情報生成器の構成図である。
【図3】本実施形態に係る分散情報生成装置の処理フローである。
【図4】本実施形態に係る秘密情報復元装置の構成図である。
【図5】本実施形態に係る秘密情報復元処理のフローである。
【符号の説明】
【0121】
11・・・分割器
12・・・ダミー情報生成器
13a〜13d・・・乱数発生器
14・・・部分分散情報生成器
15・・・連結器
16・・・送信装置
21、22a〜22n、24・・・XOR演算器
23・・・レベル閾値割り当て器
31・・・受信機
32・・・分散情報分割部
33・・・行列演算部
34・・・XOR演算部
35・・・連結部

【特許請求の範囲】
【請求項1】
排他的論理和演算を用いた(k、n)閾値秘密分散法による分散情報生成装置であって、
秘密情報を入力し、これを分割して部分秘密情報を生成する分割器と、
オールゼロからなるダミー情報を生成するダミー情報生成器と、
乱数を生成する乱数生成器と、
素数と巡回群との性質を用いて、互いに重複しない乱数のペアにより排他的論理和演算を行う第1の排他的論理和演算器と、
素数と巡回群との性質を用いて、該ダミー情報を含む部分秘密情報のうち、互いに重複しない情報のペアにより排他的論理和演算を行う第2の排他的論理和演算器と、
個々の部分分散情報にレベルを割り当て、各レベルの閾値に応じて、排他的論理和演算を行うペアを決定するレベル割り当て手段と、
該レベル割り当て手段において決定されたペアについて、排他的論理和演算を行い、前記レベルに応じた重み付けがされた部分分散情報を出力する第3の排他的論理和演算器と、
該出力された部分分散情報を連結し、分散情報を出力する連結器と、
該出力された分散情報を管理者に送信する送信手段と、
を備えたことを特徴とする分散情報生成装置。
【請求項2】
前記レベル割り当て手段が、レベルL (L=0、1、・・・、m)の分散情報のレベル閾値をkとしたときに、レベル0の部分分散情報について、部分秘密情報の排他的論理和演算のペア1個と乱数の排他的論理和演算のペアk−1個とを合せたk個の要素を組み合わせて構成し、レベルL≧1の部分分散情報について、乱数の排他的論理和演算のペアk−kL−1個のみを組み合わせて構成することを特徴とする請求項1に記載の分散情報生成装置。
【請求項3】
前記レベル割り当て手段が、レベルL (L=0、1、・・・、m)の分散情報のレベル閾値をkとしたときに、レベルLの部分分散情報について、部分秘密情報の排他的論理和演算のペア1個と乱数の排他的論理和演算のペアk−1個とを合せたk個の要素を組み合わせて構成することを特徴とする請求項1に記載の分散情報生成装置。
【請求項4】
請求項1から請求項3に記載された分散情報生成装置により生成された分散情報から秘密情報を復元する秘密情報復元装置であって、
分散情報を受信する受信手段と、
該受信した分散情報を分割して部分分散情報を生成する分散情報分割手段と、
該分散情報のインデックス番号を用いて、すべての部分秘密情報を復元するための部分分散情報の組み合わせ情報を生成する行列生成手段と、
該行列生成手段において生成された部分分散情報の組み合わせ情報に基づいて、入力した部分分散情報を組み合わせて排他的論理和演算を行って、部分秘密情報を復元する部分秘密情報復元部と、
該復元された部分秘密情報を連結して秘密情報を出力する連結器と、
を備えたことを特徴とする秘密情報復元装置。
【請求項5】
排他的論理和演算を用いた(k、n)閾値秘密分散法による分散情報生成装置における分散情報生成方法であって、
秘密情報sをそれぞれdビットの部分秘密情報n−1個に分割する第1のステップと、
ダミー秘密情報snp−1∈{0}を生成する第2のステップと、
(k−1)n個の乱数をすべて独立に生成する第3のステップと、
i番目の管理者に送付される分散情報にレベルLを割り当てるために、部分分散情報w(i、j)を数1を用いて生成する第4のステップと、
(i,0)、・・・、w(i,np-2)を連結して分散情報wを生成し、管理者Pに配布する第5のステップと、
を有することを特徴とする分散情報生成方法。
【数1】

【請求項6】
排他的論理和演算を用いた(k、n)閾値秘密分散法による分散情報生成装置における分散情報生成方法であって、
秘密情報sをそれぞれdビットの部分秘密情報n−1個に分割する第1のステップと、
ダミー秘密情報snp−1∈{0}を生成する第2のステップと、
(k-1)n個の乱数をすべて独立に生成する第3のステップと、
i番目の管理者に送付される分散情報にレベルLを割り当てるために、部分分散情報w(i、j)を数2を用いて生成する第4のステップと、
(i,0)、・・・、w(i,np-2)を連結して分散情報wを生成し、管理者Pに配布する第5のステップと、
を有することを特徴とする分散情報生成方法。
【数2】

【請求項7】
請求項5に記載された分散情報生成方法により生成された分散情報から秘密情報を復元する秘密情報復元方法であって、
それぞれの分散情報を部分分散情報に分割し、k(n−1)個の部分分散情報を得る第1のステップと、
前記部分分散情報の構成により、数3を満たすk(n−1)×kn−1バイナリ行列Mを生成する第2のステップと、
ガウスの消去法あるいはガウスジョルダンの消去法等を用いて、行列[M I]を変形し、行列[M´ I´]を得る第3のステップと、
該生成したI´の第(k−1)(n−1)+1行目からk(n−1)行目を用いて、全部の部分秘密情報を復元する第4のステップと、
すべての部分秘密情報を連結し、元の秘密情報sを復元する第5のステップと、
を有することを特徴とする秘密情報復元方法。
【数3】

【請求項8】
請求項6に記載された分散情報生成方法により生成された分散情報から秘密情報を復元する秘密情報復元方法であって、
それぞれの分散情報を部分分散情報に分割し、k(n−1)個の部分分散情報を得る第1のステップと、
前記部分分散情報の構成により、数4を満たすk(n−1)×kn−1バイナリ行列Mを生成する第2のステップと、
ガウスの消去法あるいはガウスジョルダンの消去法等を用いて、行列[M I]を変形し、行列[M´ I´]を得る第3のステップと、
該生成したI´の第(k−1)(n−1)+1行目からk(n−1)行目を用いて、全部の部分秘密情報を復元する第4のステップと、
すべての部分秘密情報を連結し、元の秘密情報sを復元する第5のステップと、
を有することを特徴とする秘密情報復元方法。
【数4】

【請求項9】
排他的論理和演算を用いた(k、n)閾値秘密分散法による分散情報生成装置における分散情報生成方法をコンピュータに実行させるためのプログラムであって、
秘密情報sをそれぞれdビットの部分秘密情報n−1個に分割する第1のステップと、
ダミー秘密情報snp−1∈{0}を生成する第2のステップと、
(k-1)n個の乱数をすべて独立に生成する第3のステップと、
i番目の管理者に送付される分散情報にレベルLを割り当てるために、部分分散情報w(i、j)を数5を用いて生成する第4のステップと、
(i,0)、・・・、w(i,np-2)を連結して分散情報wを生成し、管理者Pに配布する第5のステップと、
をコンピュータに実行させるためのプログラム。
【数5】

【請求項10】
排他的論理和演算を用いた(k、n)閾値秘密分散法による分散情報生成装置における分散情報生成方法をコンピュータに実行させるためのプログラムであって、
秘密情報sをそれぞれdビットの部分秘密情報n−1個に分割する第1のステップと、
ダミー秘密情報snp−1∈{0}を生成する第2のステップと、
(k-1)n個の乱数をすべて独立に生成する第3のステップと、
i番目の管理者に送付される分散情報にレベルLを割り当てるために、部分分散情報w(i、j)を数6を用いて生成する第4のステップと、
(i,0)、・・・、w(i,np-2)を連結して分散情報wを生成し、管理者Pに配布する第5のステップと、
をコンピュータに実行させるためのプログラム。
【数6】

【請求項11】
請求項9に記載された分散情報生成方法により生成された分散情報から秘密情報を復元する秘密情報復元方法をコンピュータに実行させるためのプログラムであって、
それぞれの分散情報を部分分散情報に分割し、k(n−1)個の部分分散情報を得る第1のステップと、
前記部分分散情報の構成により、数7を満たすk(n−1)×kn−1バイナリ行列Mを生成する第2のステップと、
ガウスの消去法あるいはガウスジョルダンの消去法等を用いて、行列[M I]を変形し、行列[M´ I´]を得る第3のステップと、
該生成したI´の第(k−1)(n−1)+1行目からk(n−1)行目を用いて、全部の部分秘密情報を復元する第4のステップと、
すべての部分秘密情報を連結し、元の秘密情報sを復元する第5のステップと、
をコンピュータに実行させるためのプログラム。
【数7】

【請求項12】
請求項10に記載された分散情報生成方法により生成された分散情報から秘密情報を復元する秘密情報復元方法をコンピュータに実行させるためのプログラムであって、
それぞれの分散情報を部分分散情報に分割し、k(n−1)個の部分分散情報を得る第1のステップと、
前記部分分散情報の構成により、数8を満たすk(n−1)×kn−1バイナリ行列Mを生成する第2のステップと、
ガウスの消去法あるいはガウスジョルダンの消去法等を用いて、行列[M I]を変形し、行列[M´ I´]を得る第3のステップと、
該生成したI´の第(k−1)(n−1)+1行目からk(n−1)行目を用いて、全部の部分秘密情報を復元する第4のステップと、
すべての部分秘密情報を連結し、元の秘密情報sを復元する第5のステップと、
をコンピュータに実行させるためのプログラム。
【数8】


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate