説明

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

【課題】素体や拡大体上ではなく、多項式環上での(k、n)閾値法を実行し、軽量な演算のみで処理を行う。
【解決手段】秘密情報を(p−1)個の部分秘密情報(pはn以上の素数)に分割し、(p−1)(k−1)個(kは、n以下の正の整数)の位数qの有限体GF(q)上の乱数を生成する。そして、GF(q)上において、部分秘密情報と乱数とを多項式環の性質を利用して組み合わせて演算し、n(p−1)個の部分分散情報を出力し、その出力された部分分散情報を連結して分散情報を生成して、各管理者へその生成した分散情報を送付する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、多項式環の小規模な基礎体(base field)上で秘密情報の分散あるいは復元を実行する分散情報生成装置、秘密情報復元装置、分散情報生成方法、秘密情報復元方法およびプログラムに関する。
【背景技術】
【0002】
近年、情報セキュリティの重要性が高まるにつれ、情報の盗難対策と紛失対策が重要な課題となっている。このようなことから、非特許文献1に示されるような(k,n)閾値秘密分散法は、情報の秘匿と紛失によるリスクの回避を同時に実現する手法として、注目を浴びている。ここで、(k,n)閾値秘密分散は、機密情報をn個の分散情報に分散し、そのうち任意のk個の分散情報が集まれば、復元できることを意味する。
【0003】
ここで、広く用いられている従来手法として、1979年に提案されたShamirの(k,n)閾値法(例えば、非特許文献1参照。)がある。この方式は、秘密情報を素体GF(p)上の要素として演算することにより実現される。なお、このとき、pは素数である。
【0004】
また、非特許文献2において、Karninらは、非特許文献1に示すShamirの秘密分散法を、有限体GF(q)のm次拡大体GF(q)上での秘密分散法へと一般化している。このとき、q=pであり、pは素数、lは正の整数である。この手法においては、秘密情報はGF(q)上の要素として演算される。
【0005】
つまり、非特許文献1および2の手法は、それぞれ、GF(p)、GF(q)上で動作する。また、最大管理者数はそれぞれp−1、q−1となる。このため、分散する数が大きいほど、あるいは秘密情報の大きさが大きいほど、より大きな素体・拡大体上での演算が必要となるが、一般的に、巨大な素体上・拡大体上での演算はコンピュータ上で低速であるという問題がある。
【0006】
一方、2007年に提案された、排他的論理和(Exclusive−OR、XOR)を用いて、高速に分散情報の生成・秘密情報の復元を可能とする(k、n)閾値法がある (例えば、非特許文献3あるいは4を参照。)。これらの高速(k、n)閾値法は、単純に高速動作するだけではなく、非特許文献1および2と同様に、情報理論的安全性が保証され、分散情報のデータ長が秘密情報のデータ長と等しいという特長を持つ。
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】A.Shamir,‘‘How to share a secret,’’ Communication of the ACM, vol.22,no.11,pp.612−613,1979.
【非特許文献2】E.D.Karnin,J.W. Greene, M. E. Hellman, ``On Secret Sharing Systems,’’ IEEE Transaction on Information Theory,vol.29,no.1,pp.35−49
【非特許文献3】J.Kurihara,S.Kiyomoto,K.Fukushima,T.Tanaka,``A new (k,n)−threshold secret sharing scheme and its extension,’’ Proceeding of ISC‘08,Lecture Note in Computer Science,vol.5222,pp.455−470,2008,Springer−Verlag.
【非特許文献4】藤井吉弘, 栃窪孝也, 保坂範和, 多田美奈子, 加藤岳久, ``排他的論理和を用いた(k、n)しきい値法の構成法,’’ 電子情報通信学会技術研究報告, vol.107,no.44, 情報セキュリティ、ISSN0913−5685、ISEC2007−5.
【非特許文献5】P.Feldman,‘‘A practical scheme for non−interactive verifiable secret sharing,’‘ Proceeding of IEEE FOCS, pp.427−437,1987.
【非特許文献6】T.P.Pedersen,‘‘Non−interactive and information−theoretic secure verifiable secret sharing,’‘ Proceeding of CRYPTO ’91, Lecture Note in Computer Science, vol.576, pp.129−140,1991.Springer−Verlag.
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、非特許文献3あるいは4の手法は、位数2の素体GF(2)上で実行されるため、非特許文献1あるいは2をベースとした閾値暗号などの「加算と離散対数の準同型性」を利用するアプリケーションに適用することが難しいという問題があった(例えば、非特許文献5または6参照。)。
【0009】
本発明は、上述の課題に鑑みてなされたものであり、素体や拡大体上ではなく、多項式環上での(k、n)閾値法を実行し、軽量な演算のみで処理を行う分散情報生成装置、秘密情報復元装置、分散情報生成方法、秘密情報復元方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明は、上記の課題を解決するために以下の事項を提案している。
【0011】
(1)本発明は、位数qの有限体GF(q)[x]の特定の構成を有するp−1次多項式M(x)(pはn以上の素数)を用いて、多項式環GF(q)[x]/(M(x))上の秘密情報を複数の秘密情報に分割し、有限体GF(q)上のみの演算を行い、分散情報を生成することを特徴とする分散情報生成装置を提案している。
【0012】
この発明によれば、位数qの有限体GF(q)[x]の特定の構成を有するp−1次多項式M(x)(pはn以上の素数)を用いて、多項式環GF(q)[x]/(M(x))上の秘密情報を複数の秘密情報に分割し、有限体GF(q)上のみの演算を行い、分散情報を生成する。したがって、多項式環の小規模な基礎体上で分散処理を実行できるため、演算処理の負荷を軽減することができる。なお、ここで、環とは抽象代数学において、体とは異なる特定の演算規則を満たす集合のことを示す。
【0013】
(2)本発明は、(1)の分散情報生成装置について、出力されるそれぞれの分散情報のサイズが、入力される秘密情報と等しいサイズであることを特徴とする分散情報生成装置を提案している。
【0014】
この発明によれば、出力されるそれぞれの分散情報のサイズが、入力される秘密情報と等しいサイズである。さらに、情報理論的安全性が保証される。
【0015】
(3)本発明は、秘密情報を(p−1)個の部分秘密情報(pはn以上の素数)に分割する分割手段と、(p−1)(k−1)個(kは、n以下の正の整数)の位数qの有限体GF(q)上の乱数を生成する乱数生成手段と、前記GF(q)上において、前記部分秘密情報と前記乱数とを多項式環の性質を利用して組み合わせて演算し、n(p−1)個の部分分散情報を出力するGF(q)演算手段と、該出力された部分分散情報を連結して分散情報を生成する連結手段と、各管理者へ該生成した分散情報を送付する送信手段と、を備えたことを特徴とする分散情報生成装置を提案している。
【0016】
この発明によれば、分割手段は、秘密情報を(p−1)個の部分秘密情報(pはn以上の素数)に分割する。乱数生成手段は、(p−1)(k−1)個(kは、n以下の正の整数)の位数qの有限体GF(q)上の乱数を生成する。GF(q)演算手段は、GF(q)上において、部分秘密情報と乱数とを多項式環の性質を利用して組み合わせて演算し、n(p−1)個の部分分散情報を出力する。連結手段は、その出力された部分分散情報を連結して分散情報を生成する。送信手段は、各管理者へその生成した分散情報を送付する。したがって、秘密情報からGF(q)上の演算のみを用いて、個々の分散情報が生成される。また、秘密情報を多項式環GF(q)[x]/(Mp(x))上の要素とした場合、個々の分散情報は多項式環上で定義される演算を用いて生成される多項式環上の要素に等しくなる。なお、このとき、Mp(x)はある特定の形で構成されるp−1次の多項式である。つまり、多項式環上の演算を、小規模な基礎体であるGF(q)上の演算のみで実現しているため、高速かつ分散処理の負荷を軽減した処理が可能となる。
【0017】
(4)本発明は、位数qの有限体GF(q)[x]の特定の構成を有するp−1次多項式M(x)(pはn以上の素数)を用いて、多項式環GF(q)[x]/(M(x))上の分散情報を分割し、有限体GF(q)上のみの演算を行い、秘密情報を復元することを特徴とする秘密情報復元装置を提案している。
【0018】
この発明によれば、位数qの有限体GF(q)[x]の特定の構成を有するp−1次多項式M(x)(pはn以上の素数)を用いて、多項式環GF(q)[x]/(M(x))上の分散情報を分割し、有限体GF(q)上のみの演算を行い、秘密情報を復元する。したがって、多項式環の小規模な基礎体上で復元処理を実行できるため、演算処理の負荷を軽減することができる。
【0019】
(5)本発明は、k個(kは、n以下の正の整数)の分散情報を受信する受信手段と、k個の分散情報を分割してk(p−1)個の部分分散情報(pはn以上の素数)を出力する分割手段と、k個の分散情報のインデックス番号に基づいて、多項式環の性質を利用して組み合わせて演算し、GF(q)上の生成行列を生成する生成行列生成手段と、生成行列の逆行列を導出する行列演算手段と、該導出した逆行列の構成に応じて、部分分散情報をGF(q)上にて演算し、(p−1)個の部分秘密情報を出力するGF(q)演算手段と、部分秘密情報を連結して秘密情報を出力する連結手段と、を備えることを特徴とする秘密情報復元装置を提案している。
【0020】
この発明によれば、受信手段は、k個(kは、n以下の正の整数)の分散情報を受信する。分割手段は、k個の分散情報を分割してk(p−1)個の部分分散情報(pはn以上の素数)を出力する。生成行列生成手段は、k個の分散情報のインデックス番号に基づいて、多項式環の性質を利用して組み合わせて演算し、GF(q)上の生成行列を生成する。行列演算手段は、生成行列の逆行列を導出する。GF(q)演算手段は、その導出した逆行列の構成に応じて、部分分散情報をGF(q)上にて演算し、(p−1)個の部分秘密情報を出力する。連結手段は、部分秘密情報を連結して秘密情報を出力する。したがって、秘密情報はGF(q)上の演算のみを用いて復元される。なお、分散処理と同様に、復元処理においても実際は多項式環上の演算を、小規模な基礎体であるGF(q)上の演算のみで実現しているため、高速かつ復元処理の負荷を軽減した処理が可能となる。
【0021】
(6)本発明は、秘密情報から管理者がそれぞれ管理する分散情報を生成する分散情報生成方法であって、位数qの有限体GF(q)[x]の特定の構成を有するp−1次多項式M(x)(pはn以上の素数)を用いて、多項式環GF(q)[x]/(M(x))上の秘密情報を複数の秘密情報に分割し、有限体GF(q)上のみの演算を行い、分散情報を生成することを特徴とする分散情報生成方法を提案している。
【0022】
この発明によれば、位数qの有限体GF(q)[x]の特定の構成を有するp−1次多項式M(x)(pはn以上の素数)を用いて、多項式環GF(q)[x]/(M(x))上の秘密情報を複数の秘密情報に分割し、有限体GF(q)上のみの演算を行い、分散情報を生成する。したがって、多項式環の小規模な基礎体上で分散処理を実行できるため、演算処理の負荷を軽減することができる。
【0023】
(7)本発明は、秘密情報から管理者がそれぞれ管理する分散情報を生成する分散情報生成方法であって、秘密情報を(p−1)個の部分秘密情報(pはn以上の素数)に分割する第1のステップと、(p−1)(k−1)個(kは、n以下の正の整数)の位数qの有限体GF(q)上の乱数を生成する第2のステップと、前記GF(q)上において、前記部分秘密情報と前記乱数とを多項式環の性質を利用して組み合わせて演算し、n(p−1)個の部分分散情報を出力する第3のステップと、該出力された部分分散情報を連結して分散情報を生成する第4のステップと、各管理者へ該生成した分散情報を送付する第5のステップと、を備えたことを特徴とする分散情報生成方法を提案している。
【0024】
この発明によれば、秘密情報を(p−1)個の部分秘密情報(pはn以上の素数)に分割し、(p−1)(k−1)個(kは、n以下の正の整数)の位数qの有限体GF(q)上の乱数を生成する。そして、GF(q)上において、部分秘密情報と乱数とを多項式環の性質を利用して組み合わせて演算し、n(p−1)個の部分分散情報を出力し、その出力された部分分散情報を連結して分散情報を生成して、各管理者へその生成した分散情報を送付する。したがって、秘密情報からGF(q)上の演算のみを用いて、個々の分散情報が生成される。また、秘密情報を多項式環GF(q)[x]/(Mp(x))上の要素とした場合、個々の分散情報は多項式環上で定義される演算を用いて生成される多項式環上の要素に等しくなる。なお、このとき、Mp(x)はある特定の形で構成されるp−1次の多項式である。つまり、多項式環上の演算を、小規模な基礎体であるGF(q)上の演算のみで実現しているため、高速かつ分散処理の負荷を軽減した処理が可能となる。
【0025】
(8)本発明は、それぞれの管理者が管理する分散情報を所定数集めて、秘密情報を復元する秘密情報復元方法であって、位数qの有限体GF(q)[x]の特定の構成を有するp−1次多項式M(x)(pはn以上の素数)を用いて、多項式環GF(q)[x]/(M(x))上の分散情報を分割し、有限体GF(q)上のみの演算を行い、秘密情報を復元することを特徴とする秘密情報復元方法を提案している。
【0026】
この発明によれば、位数qの有限体GF(q)[x]の特定の構成を有するp−1次多項式M(x)(pはn以上の素数)を用いて、多項式環GF(q)[x]/(M(x))上の分散情報を分割し、有限体GF(q)上のみの演算を行い、秘密情報を復元する。したがって、多項式環の小規模な基礎体上で復元処理を実行できるため、演算処理の負荷を軽減することができる。
【0027】
(9)本発明は、それぞれの管理者が管理する分散情報を所定数集めて、秘密情報を復元する秘密情報復元方法であって、k個(kは、n以下の正の整数)の分散情報を受信する第1のステップと、k個の分散情報を分割してk(p−1)個の部分分散情報(pはn以上の素数)を出力する第2のステップと、k個の分散情報のインデックス番号に基づいて、多項式環の性質を利用して組み合わせて演算し、GF(q)上の生成行列を生成する第3のステップと、生成行列の逆行列を導出する第4のステップと、該導出した逆行列の構成に応じて、部分分散情報をGF(q)上にて演算し、(p−1)個の部分秘密情報を出力する第5のステップと、部分秘密情報を連結して秘密情報を出力する第6のステップと、を備えることを特徴とする秘密情報復元方法を提案している。
【0028】
この発明によれば、k個(kは、n以下の正の整数)の分散情報を受信し、k個の分散情報を分割してk(p−1)個の部分分散情報(pはn以上の素数)を出力する。そして、k個の分散情報のインデックス番号に基づいて、多項式環の性質を利用して組み合わせて演算し、GF(q)上の生成行列を生成し、生成行列の逆行列を導出するとともに、その導出した逆行列の構成に応じて、部分分散情報をGF(q)上にて演算し、(p−1)個の部分秘密情報を出力して、部分秘密情報を連結して秘密情報を出力する。したがって、秘密情報はGF(q)上の演算のみを用いて復元される。なお、分散処理と同様に、復元処理においても実際は多項式環上の演算を、小規模な基礎体であるGF(q)上の演算のみで実現しているため、高速かつ復元処理の負荷を軽減した処理が可能となる。
【0029】
(10)本発明は、秘密情報から管理者がそれぞれ管理する分散情報を生成する分散情報生成方法をコンピュータに実行させるためのプログラムであって、位数qの有限体GF(q)[x]の特定の構成を有するp−1次多項式M(x)(pはn以上の素数)を用いて、多項式環GF(q)[x]/(M(x))上の秘密情報を複数の秘密情報に分割し、有限体GF(q)上のみの演算を行い、分散情報を生成することを特徴とするプログラムを提案している。
【0030】
この発明によれば、位数qの有限体GF(q)[x]の特定の構成を有するp−1次多項式M(x)(pはn以上の素数)を用いて、多項式環GF(q)[x]/(M(x))上の秘密情報を複数の秘密情報に分割し、有限体GF(q)上のみの演算を行い、分散情報を生成する。したがって、多項式環の小規模な基礎体上で分散処理を実行できるため、演算処理の負荷を軽減することができる。
【0031】
(11)本発明は、秘密情報から管理者がそれぞれ管理する分散情報を生成する分散情報生成方法をコンピュータに実行させるためのプログラムであって、秘密情報を(p−1)個の部分秘密情報(pはn以上の素数)に分割する第1のステップと、(p−1)(k−1)個(kは、n以下の正の整数)の位数qの有限体GF(q)上の乱数を生成する第2のステップと、前記GF(q)上において、前記部分秘密情報と前記乱数とを多項式環の性質を利用して組み合わせて演算し、n(p−1)個の部分分散情報を出力する第3のステップと、該出力された部分分散情報を連結して分散情報を生成する第4のステップと、各管理者へ該生成した分散情報を送付する第5のステップと、を実行するためのプログラムを提案している。
【0032】
この発明によれば、秘密情報を(p−1)個の部分秘密情報(pはn以上の素数)に分割し、(p−1)(k−1)個(kは、n以下の正の整数)の位数qの有限体GF(q)上の乱数を生成する。そして、GF(q)上において、部分秘密情報と乱数とを多項式環の性質を利用して組み合わせて演算し、n(p−1)個の部分分散情報を出力し、その出力された部分分散情報を連結して分散情報を生成して、各管理者へその生成した分散情報を送付する。したがって、秘密情報からGF(q)上の演算のみを用いて、個々の分散情報が生成される。また、秘密情報を多項式環GF(q)[x]/(Mp(x))上の要素とした場合、個々の分散情報は多項式環上で定義される演算を用いて生成される多項式環上の要素に等しくなる。なお、このとき、Mp(x)はある特定の形で構成されるp−1次の多項式である。つまり、多項式環上の演算を、小規模な基礎体であるGF(q)上の演算のみで実現しているため、高速かつ分散処理の負荷を軽減した処理が可能となる。
【0033】
(12)本発明は、それぞれの管理者が管理する分散情報を所定数集めて、秘密情報を復元する秘密情報復元方法をコンピュータに実行させるためのプログラムであって、位数qの有限体GF(q)[x]の特定の構成を有するp−1次多項式M(x)(pはn以上の素数)を用いて、多項式環GF(q)[x]/(M(x))上の分散情報を分割し、有限体GF(q)上のみの演算を行い、秘密情報を復元することを特徴とするプログラムを提案している。
【0034】
この発明によれば、位数qの有限体GF(q)[x]の特定の構成を有するp−1次多項式M(x)(pはn以上の素数)を用いて、多項式環GF(q)[x]/(M(x))上の分散情報を分割し、有限体GF(q)上のみの演算を行い、秘密情報を復元する。したがって、多項式環の小規模な基礎体上で復元処理を実行できるため、演算処理の負荷を軽減することができる。
【0035】
(13)本発明は、それぞれの管理者が管理する分散情報を所定数集めて、秘密情報を復元する秘密情報復元方法をコンピュータに実行させるためのプログラムであって、秘密情報を(p−1)個の部分秘密情報(pはn以上の素数)に分割する第1のステップと、(p−1)(k−1)個(kは、n以下の正の整数)の位数qの有限体GF(q)上の乱数を生成する第2のステップと、前記GF(q)上において、前記部分秘密情報と前記乱数とを多項式環の性質を利用して組み合わせて演算し、n(p−1)個の部分分散情報を出力する第4のステップと、該出力された部分分散情報を連結して分散情報を生成する第5のステップと、各管理者へ該生成した分散情報を送付する第6のステップと、を実行するためのプログラムを提案している。
【0036】
この発明によれば、k個(kは、n以下の正の整数)の分散情報を受信し、k個の分散情報を分割してk(p−1)個の部分分散情報(pはn以上の素数)を出力する。そして、k個の分散情報のインデックス番号に基づいて、多項式環の性質を利用して組み合わせて演算し、GF(q)上の生成行列を生成し、生成行列の逆行列を導出するとともに、その導出した逆行列の構成に応じて、部分分散情報をGF(q)上にて演算し、(p−1)個の部分秘密情報を出力して、部分秘密情報を連結して秘密情報を出力する。したがって、秘密情報はGF(q)上の演算のみを用いて復元される。なお、分散処理と同様に、復元処理においても実際は多項式環上の演算を、小規模な基礎体であるGF(q)上の演算のみで実現しているため、高速かつ復元処理の負荷を軽減した処理が可能となる。
【発明の効果】
【0037】
本発明によれば、素体や拡大体上ではなく、多項式環上での(k、n)閾値法を実行し、秘密情報の分散あるいは復元を行う。つまり、多項式環上の演算を、小規模な基礎体であるGF(q)上の演算のみで実現しているため、高速かつ分散/復元処理の負荷を軽減した処理が可能となるという効果がある。また、GF(2) (すなわちXOR演算)に限らない有限体GF(q)上で動作することが可能であるため、加算と離散対数の準同型性を利用したアプリケーションへ容易に適用することが可能となるという効果がある。
【図面の簡単な説明】
【0038】
【図1】本発明の実施形態に係る分散情報生成装置の構成を示す図である。
【図2】本発明の実施形態に係る分散情報生成装置の処理フローを示す図である。
【図3】本発明の実施形態に係る秘密情報復元装置の構成を示す図である。
【図4】本発明の実施形態に係る秘密情報復元装置の処理フローを示す図である。
【発明を実施するための形態】
【0039】
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0040】
<分散情報生成装置の構成>
図1を用いて、本実施形態に係る分散情報生成装置の構成について説明する。
【0041】
本実施形態に係る分散情報生成装置は、図1に示すように、分割器1と、乱数生成器2と、GF(q)演算器3と、連結器4a〜4nと、送信器5とから構成されている。
【0042】
分割器1は、秘密情報を(p−1)個の部分秘密情報(pはn以上の素数)に分割し、分割した部分秘密情報をGF(q)演算器3に出力する。乱数生成器2は、(p−1)(k−1)個(kは、n以下の正の整数)の位数qの有限体GF(q)上の乱数を生成すし、生成した乱数をGF(q)演算器3に出力する。
【0043】
GF(q)演算器3は、GF(q)上において、部分秘密情報と乱数とを多項式環の性質を利用して組み合わせて演算し、n(p−1)個の部分分散情報をn個の連結器4a〜4nに出力する。
【0044】
連結器4a〜4nは、それぞれ、GF(q)演算器3から入力されたn(p−1)個の部分分散情報を連結して分散情報を生成し、送信器5に出力する。送信器5は、入力した分散情報を分散情報の各管理者に送信して、配布する。
【0045】
<分散情報生成装置の処理>
図2を用いて、本実施形態に係る分散情報生成装置の処理について説明する。
なお、説明にあたって用いる記号を数1のように、定義する。
【0046】
【数1】

【0047】
まず、Rp(q)上の秘密情報s∈Rp(q)は通常GF(q)上のp−1次元のベクトルとしてあらわされるため、まず、分割器1において、sをs、s、・・・・、sp−2∈GF(q)のp−1個の部分秘密情報に分割する(ステップS101)。
【0048】
次に、乱数生成器2を用いて、(k−1)(p−1)個の乱数r、・・・・、rm−1、・・・・、rk−2、・・・・、rk−2m−1∈GF(q)を生成する(ステップS102)。
【0049】
GF(q)演算器4において、部分分散情報を、以下の数2を用いて生成する(ステップS103)。
【0050】
【数2】

【0051】
ここで、iは、0≦i≦n−1である。また、数2において、すべての演算は、有限体GF(q)上で実行される。また、数2では、式を簡単に表現するために、以下、数3に示すようなダミーの部分分散情報および乱数を便宜的に使用している。
【0052】
【数3】

【0053】
次に、それぞれの連結器4a〜4nにおいて、wの要素(部分分散情報)を数4のように連結して分散情報wを生成し(ステップS104)、送信器6がセキュアな伝送路を介して、管理者Pに分散情報wを送信する(ステップS105)。
【0054】
【数4】

【0055】
したがって、本実施形態に係る分散情報生成装置によれば、秘密情報からGF(q)上の演算のみを用いて、個々の分散情報が生成される。また、秘密情報を多項式環GF(q)[x]/(Mp(x))上の要素とした場合、個々の分散情報は多項式環上で定義される演算を用いて生成される多項式環上の要素に等しくなる。なお、このとき、Mp(x)はある特定の形で構成されるp−1次の多項式である。つまり、多項式環上の演算を、小規模な基礎体であるGF(q)上の演算のみで実現しているため、高速かつ分散処理の負荷を軽減した処理が可能となる。大規模な拡大体上の秘密情報を任意の有限体上に分割して、演算を行うため、加算と離散対数の準同型性を利用したアプリケーションにも容易に適用することができる。
【0056】
<秘密情報復元装置の構成>
図3を用いて、本実施形態に係る秘密情報復元装置の構成について説明する。
【0057】
本実施形態に係る秘密情報復元装置は、図3に示すように、受信器11と、行列生成器12と、分割器13a〜13nと、行列演算器14と、GF(q)演算器15と、連結器16とから構成されている。
【0058】
受信器11は、k人の管理人からk個の分散情報を受信し、受信したk個の分散情報をそれぞれの分割器13a〜13nに出力する。それぞれの分割器13a〜13nは、入力したk個の分散情報を分割して、k(p−1)個の部分分散情報(pはn以上の素数)をGF(q)演算器15に出力する。
【0059】
行列生成器12は、k個の分散情報のインデックス番号に基づいて、多項式環の性質を利用して組み合わせて演算し、GF(q)上の生成行列を生成し、行列演算器14に出力する。
【0060】
行列演算器14は、入力した生成行列の逆行列を導出し、GF(q)演算器15に出力する。GF(q)演算器15は、入力された逆行列の構成に基づいて定まる組み合わせに応じて、部分分散情報を有限体GF(q)上において演算し、(p−1)個の部分秘密情報を連結器16に出力する。連結器16は、入力された部分秘密情報を連結して秘密情報を出力する。
【0061】
<秘密情報復元装置の処理>
図4を用いて、本実施形態に係る秘密情報復元装置の処理について説明する。
なお、説明にあたって用いる記号を分散情報生成装置での説明と同様に定義する。
【0062】
まず、受信器11は、wt0、wt1、・・・・、wtk−1のk個の分散情報を管理者Pから受信し、分割器13a〜13nに出力する(ステップS201)。次に、それぞれの分割器13a〜13nにおいて、入力したRp(q)上の分散情報wを(p−1)個の部分分散情報w(i、0)、・・・・、w(i、p−2)∈GF(q)へと分割し、(p−1)個の部分分散情報をGF(q)演算器15に出力する(ステップS202)。なお、i=t、・・・・、tk−1である。
【0063】
次に、数5に示すk(p−1)×2k(p−1)行列(G|Ik(p−1))を分散情報のインデックスから導出する(ステップS203)。
【0064】
【数5】

【0065】
数5において、Iは、a行a列の単位行列を示し、Kiは、以下、数6に示す(p−1)×(p−1)行列(i=0、・・・・、p−1)である。ただし、K=Ip−1であり、Gを生成行列と呼ぶ。ここで、ガウスの消去法を(G|Ik(p−1))上において実行することにより、数7に示す行列を得る(ステップS204)。
【0066】
【数6】

【0067】
【数7】

【0068】
数7において、Gauss()は、有限体GF(q)上のガウスの消去法を実行する関数とする。この際、Mは、Gに対する逆行列となる。なお、ステップS203およびステップS204においては、上記のように、ガウスの消去法を利用する例について説明したが、LU分解などの他のアルゴリズムを用いることもできる。
【0069】
次に、Mを用いて、以下、数8に示す演算を有限体GF(q)上において実行し、すべての部分秘密情報、乱数を復元する(ステップS205)。ここで、uおよびvはそれぞれ乱数、部分秘密情報のベクトルおよび部分分散情報のベクトルであり、以下、数9のように定義される。
【0070】
【数8】

【0071】
【数9】

【0072】
そして、出力された部分秘密情報を連結して、数10に示すような秘密情報sを出力する(ステップS206)。
【0073】
【数10】

【0074】
したがって、本実施形態に係る秘密情報復元装置によれば、秘密情報はGF(q)上の演算のみを用いて復元される。なお、分散処理と同様に、復元処理においても実際は多項式環上の演算を、小規模な基礎体であるGF(q)上の演算のみで実現しているため、高速かつ復元処理の負荷を軽減した処理が可能となる。
【0075】
なお、分散情報生成装置および秘密情報復元装置の処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを分散情報生成装置および秘密情報復元装置に読み込ませ、実行することによって本発明の分散情報生成装置および秘密情報復元装置を実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。
【0076】
また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0077】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。更に、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0078】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0079】
1・・・分割器
2・・・乱数生成器
3・・・GF(q)演算器
4a〜4n・・・連結器
5・・・送信器
11・・・受信器
12・・・行列生成器
13a〜13n・・・分割器
14・・・行列演算器
15・・・GF(q)演算器
16・・・連結器


【特許請求の範囲】
【請求項1】
位数qの有限体GF(q)[x]の特定の構成を有するp−1次多項式M(x)(pはn以上の素数)を用いて、多項式環GF(q)[x]/(M(x))上の秘密情報を複数の秘密情報に分割し、有限体GF(q)上のみの演算を行い、分散情報を生成することを特徴とする分散情報生成装置。
【請求項2】
出力されるそれぞれの分散情報のサイズが、入力される秘密情報と等しいサイズであることを特徴とする請求項1に記載の分散情報生成装置。
【請求項3】
秘密情報を(p−1)個の部分秘密情報(pはn以上の素数)に分割する分割手段と、
(p−1)(k−1)個(kは、n以下の正の整数)の位数qの有限体GF(q)上の乱数を生成する乱数生成手段と、
前記GF(q)上において、前記部分秘密情報と前記乱数とを多項式環の性質を利用して組み合わせて演算し、n(p−1)個の部分分散情報を出力するGF(q)演算手段と、
該出力された部分分散情報を連結して分散情報を生成する連結手段と、
各管理者へ該生成した分散情報を送付する送信手段と、
を備えたことを特徴とする分散情報生成装置。
【請求項4】
位数qの有限体GF(q)[x]の特定の構成を有するp−1次多項式M(x)(pはn以上の素数)を用いて、多項式環GF(q)[x]/(M(x))上の分散情報を分割し、有限体GF(q)上のみの演算を行い、秘密情報を復元することを特徴とする秘密情報復元装置。
【請求項5】
k個(kは、n以下の正の整数)の分散情報を受信する受信手段と、
k個の分散情報を分割してk(p−1)個の部分分散情報(pはn以上の素数)を出力する分割手段と、
k個の分散情報のインデックス番号に基づいて、多項式環の性質を利用して組み合わせて演算し、GF(q)上の生成行列を生成する生成行列生成手段と、
生成行列の逆行列を導出する行列演算手段と、
該導出した逆行列の構成に応じて、部分分散情報をGF(q)上にて演算し、(p−1)個の部分秘密情報を出力するGF(q)演算手段と、
部分秘密情報を連結して秘密情報を出力する連結手段と、
を備えることを特徴とする秘密情報復元装置。
【請求項6】
秘密情報から管理者がそれぞれ管理する分散情報を生成する分散情報生成方法であって、
位数qの有限体GF(q)[x]の特定の構成を有するp−1次多項式M(x)(pはn以上の素数)を用いて、多項式環GF(q)[x]/(M(x))上の秘密情報を複数の秘密情報に分割し、有限体GF(q)上のみの演算を行い、分散情報を生成することを特徴とする分散情報生成方法。
【請求項7】
秘密情報から管理者がそれぞれ管理する分散情報を生成する分散情報生成方法であって、
秘密情報を(p−1)個の部分秘密情報(pはn以上の素数)に分割する第1のステップと、
(p−1)(k−1)個(kは、n以下の正の整数)の位数qの有限体GF(q)上の乱数を生成する第2のステップと、
前記GF(q)上において、前記部分秘密情報と前記乱数とを多項式環の性質を利用して組み合わせて演算し、n(p−1)個の部分分散情報を出力する第3のステップと、
該出力された部分分散情報を連結して分散情報を生成する第4のステップと、
各管理者へ該生成した分散情報を送付する第5のステップと、
を備えたことを特徴とする分散情報生成方法。
【請求項8】
それぞれの管理者が管理する分散情報を所定数集めて、秘密情報を復元する秘密情報復元方法であって、位数qの有限体GF(q)[x]の特定の構成を有するp−1次多項式M(x)(pはn以上の素数)を用いて、多項式環GF(q)[x]/(M(x))上の分散情報を分割し、有限体GF(q)上のみの演算を行い、秘密情報を復元することを特徴とする秘密情報復元方法。
【請求項9】
それぞれの管理者が管理する分散情報を所定数集めて、秘密情報を復元する秘密情報復元方法であって、
k個(kは、n以下の正の整数)の分散情報を受信する第1のステップと、
k個の分散情報を分割してk(p−1)個の部分分散情報(pはn以上の素数)を出力する第2のステップと、
k個の分散情報のインデックス番号に基づいて、多項式環の性質を利用して組み合わせて演算し、GF(q)上の生成行列を生成する第3のステップと、
生成行列の逆行列を導出する第4のステップと、
該導出した逆行列の構成に応じて、部分分散情報をGF(q)上にて演算し、(p−1)個の部分秘密情報を出力する第5のステップと、
部分秘密情報を連結して秘密情報を出力する第6のステップと、
を備えることを特徴とする秘密情報復元方法。
【請求項10】
秘密情報から管理者がそれぞれ管理する分散情報を生成する分散情報生成方法をコンピュータに実行させるためのプログラムであって、
位数qの有限体GF(q)[x]の特定の構成を有するp−1次多項式M(x)(pはn以上の素数)を用いて、多項式環GF(q)[x]/(M(x))上の秘密情報を複数の秘密情報に分割し、有限体GF(q)上のみの演算を行い、分散情報を生成することを特徴とするプログラム。
【請求項11】
秘密情報から管理者がそれぞれ管理する分散情報を生成する分散情報生成方法をコンピュータに実行させるためのプログラムであって、
秘密情報を(p−1)個の部分秘密情報(pはn以上の素数)に分割する第1のステップと、
(p−1)(k−1)個(kは、n以下の正の整数)の位数qの有限体GF(q)上の乱数を生成する第2のステップと、
前記GF(q)上において、前記部分秘密情報と前記乱数とを多項式環の性質を利用して組み合わせて演算し、n(p−1)個の部分分散情報を出力する第3のステップと、
該出力された部分分散情報を連結して分散情報を生成する第4のステップと、
各管理者へ該生成した分散情報を送付する第5のステップと、
を実行するためのプログラム。
【請求項12】
それぞれの管理者が管理する分散情報を所定数集めて、秘密情報を復元する秘密情報復元方法をコンピュータに実行させるためのプログラムであって、位数qの有限体GF(q)[x]の特定の構成を有するp−1次多項式M(x)(pはn以上の素数)を用いて、多項式環GF(q)[x]/(M(x))上の分散情報を分割し、有限体GF(q)上のみの演算を行い、秘密情報を復元することを特徴とするプログラム。
【請求項13】
それぞれの管理者が管理する分散情報を所定数集めて、秘密情報を復元する秘密情報復元方法をコンピュータに実行させるためのプログラムであって、
秘密情報を(p−1)個の部分秘密情報(pはn以上の素数)に分割する第1のステップと、
(p−1)(k−1)個(kは、n以下の正の整数)の位数qの有限体GF(q)上の乱数を生成する第2のステップと、
前記GF(q)上において、前記部分秘密情報と前記乱数とを多項式環の性質を利用して組み合わせて演算し、n(p−1)個の部分分散情報を出力する第4のステップと、
該出力された部分分散情報を連結して分散情報を生成する第5のステップと、
各管理者へ該生成した分散情報を送付する第6のステップと、
を実行するためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate