説明

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

【課題】巨大な拡大体上の秘密情報を、任意の小規模な有限体上で分散あるいは復元するとともに、分散情報の大きさを削減する。
【解決手段】拡大体GF(q)上の秘密情報(m次元ベクトル)をLm個の有限体GF(q)上の部分秘密情報に分割し、m(k−L)個の有限体GF(q)上の乱数を生成する。次に、GF(q)[x]上のm次原始多項式f(x)に対応するコンパニオン行列とそのコンパニオン行列の累乗とを生成し、生成されたコンパニオン行列とそのコンパニオン行列の累乗との構成に基づいて定まる組み合わせに応じて、部分秘密情報と生成された乱数とを有限体GF(q)上で演算を行い、mn個の部分分散情報を出力する。そして、その出力された部分分散情報をm個ずつ連結して、n個の分散情報を生成し、分散情報の各管理者に、生成した分散情報を送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、巨大な拡大体上の秘密情報を、任意の小規模な有限体上で分散あるいは復元するとともに、分散情報の大きさを削減する分散情報生成装置、秘密情報復元装置、分散情報生成方法、秘密情報復元方法およびプログラムに関する。
【背景技術】
【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および2の手法に対して、安全性をわずかに劣化させる代わりに、分散情報の大きさを大幅に削減するランプ型閾値秘密分散法と呼ばれる手法が提案されている(非特許文献5参照。)。
【先行技術文献】
【非特許文献】
【0008】
【非特許文献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】山本博資、“(k、L、n)閾値秘密分散システム、”電子通信学会論文誌、vol.J68−A、no.9、pp.945−952、1985年9月
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、非特許文献3あるいは4の手法は、位数2の素体GF(2)上で実行されるため、非特許文献1あるいは2をベースとした閾値暗号などの「加算と離散対数の準同型性」を利用するアプリケーションに適用することが難しいという問題があった。
【0010】
また、非特許文献5に記載された手法も、巨大な素体や拡大体上で動作を行うため、コンピュータでの処理では、処理速度が低速になるという問題があった。
【0011】
そこで、本発明は、上述の課題に鑑みてなされたものであり、巨大な拡大体上の秘密情報を、任意の小規模な有限体上で分散あるいは復元するとともに、分散情報の大きさを削減する分散情報生成装置、秘密情報復元装置、分散情報生成方法、秘密情報復元方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明は、上記の課題を解決するために、以下の事項を提案している。
【0013】
(1)本発明は、大規模な拡大体GF(q)上の秘密情報を、Lm(L、mは、正の整数)個の秘密情報に分割し、有限体GF(q)上のみの演算を行い、部分分散情報をm個ずつ連結して、n(nは、正の整数)個の分散情報を生成することを特徴とする分散情報生成装置を提案している。
【0014】
この発明によれば、大規模な拡大体GF(q)上の秘密情報を、Lm(L、mは、正の整数)個の秘密情報に分割し、有限体GF(q)上のみの演算を行い、部分分散情報をm個ずつ連結して、n(nは、正の整数)個の分散情報を生成する。したがって、分割した秘密情報に対する演算を高速に実行できるため、大規模な拡大体GF(q)上の秘密情報から高速な処理で分散情報を生成することができる。また、部分分散情報をm個ずつ連結することにより、秘密情報に比べて、個々の部分分散情報の大きさを1/Lにすることができる。
【0015】
(2)本発明は、拡大体GF(q)上の秘密情報(m次元ベクトル)をLm(L、mは、正の整数)個の有限体GF(q)上の部分秘密情報に分割する分割手段(例えば、図1の分割器1に相当)と、m(k−L)個(kは、正の整数)の有限体GF(q)上の乱数を生成する乱数生成手段(例えば、図1の乱数生成器2に相当)と、GF(q)[x]上のm次原始多項式f(x)に対応するコンパニオン行列と該コンパニオン行列の累乗とを生成するコンパニオン行列生成手段(例えば、図1のコンパニオン行列生成器3に相当)と、前記生成されたコンパニオン行列と該コンパニオン行列の累乗との構成に基づいて定まる組み合わせに応じて、前記部分秘密情報と生成された乱数とを有限体GF(q)上で演算を行い、mn個(nは、正の整数)の部分分散情報を出力する演算手段(例えば、図1のGF(q)演算器4に相当)と、該出力された部分分散情報をm個ずつ連結して、n(nは、正の整数)個の分散情報を生成する連結手段(例えば、図1の連結器5a〜5nに相当)と、分散情報の各管理者に、前記生成した分散情報を送信する送信手段(例えば、図1の送信器6に相当)と、を備えたことを特徴とする分散情報生成装置を提案している。なお、ここで、コンパニオン行列とは、m次原始多項式f(x)を数1のように表したときに、このf(x)に対応する数2に示すようなm行m列の行列をいう。
【0016】
【数1】

【0017】
【数2】

【0018】
この発明によれば、分割手段は、拡大体GF(q)上の秘密情報(m次元ベクトル)をLm(L、mは、正の整数)個の有限体GF(q)上の部分秘密情報に分割する。乱数生成手段は、m(k−L)個(kは、正の整数)の有限体GF(q)上の乱数を生成する。コンパニオン行列生成手段は、GF(q)[x]上のm次原始多項式f(x)に対応するコンパニオン行列とそのコンパニオン行列の累乗とを生成する。演算手段は、生成されたコンパニオン行列とそのコンパニオン行列の累乗との構成に基づいて定まる組み合わせに応じて、部分秘密情報と生成された乱数とを有限体GF(q)上で演算を行い、mn個(nは、正の整数)の部分分散情報を出力する。連結手段は、その出力された部分分散情報をm個ずつ連結して、n(nは、正の整数)個の分散情報を生成する。送信手段は、分散情報の各管理者に、生成した分散情報を送信する。したがって、大規模な拡大体上の秘密情報を任意の有限体上に分割して、演算を行うため、加算と離散対数の準同型性を利用したアプリケーションにも容易に適用することができる。また、部分分散情報をm個ずつ連結することにより、秘密情報に比べて、個々の部分分散情報の大きさを1/Lにすることができる。
【0019】
(3)本発明は、複数の大規模な有限体GF(q)上の分散情報をkm(k、mは、正の整数)個に分割し、有限体GF(q)上のみの演算を行い、Lm(L、mは、正の整数)個の部分秘密情報を生成し、これらの情報から大規模な拡大体GF(q)上の秘密情報を復元することを特徴とする秘密情報復元装置を提案している。
【0020】
この発明によれば、複数の大規模な有限体GF(q)上の分散情報をkm(k、mは、正の整数)個に分割し、有限体GF(q)上のみの演算を行い、Lm(L、mは、正の整数)個の部分秘密情報を生成し、これらの情報から大規模な拡大体GF(q)上の秘密情報を復元する。したがって、複数の大規模な有限体GF(q)上の分散情報から高速な処理で、大規模な拡大体GF(q)上の秘密情報を復元することができる。また、部分分散情報をm個ずつ連結することにより構成された分散情報からLm個の部分秘密情報を生成し、これを連結することにより、秘密情報が復元できる。つまり、受信する分散情報のサイズが小さいことから、通信路を伝送するデータ数を削減することができる。
【0021】
(4)本発明は、k個の分散情報を受信する受信手段(例えば、図3の受信器11に相当)と、該受信したk個の分散情報を分割して、km(k、mは、正の整数)個の部分分散情報を出力する分割手段(例えば、図3の分割器13a〜13nに相当)と、GF(q)[x]上のm次原始多項式f(x)に対応するコンパニオン行列と、前記受信した分散情報のインデックスとを用いて分散情報の生成行列を生成する行列生成手段(例えば、図3の行列生成器12に相当)と、該生成した生成行列の逆行列を導出する行列演算手段(例えば、図3の行列演算器14に相当)と、該導出した逆行列の構成に基づいて定まる組み合わせに応じて、前記部分分散情報を有限体GF(q)上において演算し、Lm個(L、mは、正の整数)の部分秘密情報を出力する演算手段(例えば、図3のGF(q)演算器15に相当)と、該出力されたLm個(L、mは、正の整数)の部分秘密情報を連結して秘密情報を出力する連結手段(例えば、図3の連結器16に相当)と、を備えることを特徴とする秘密情報復元装置を提案している。
【0022】
この発明によれば、受信手段は、k個の分散情報を受信する。分割手段は、その受信したk個の分散情報を分割して、km(k、mは、正の整数)個の部分分散情報を出力する。行列生成手段は、GF(q)[x]上のm次原始多項式f(x)に対応するコンパニオン行列と、受信した分散情報のインデックスとを用いて分散情報の生成行列を生成する。行列演算手段は、その生成した生成行列の逆行列を導出する。演算手段は、その導出した逆行列の構成に基づいて定まる組み合わせに応じて、部分分散情報を有限体GF(q)上において演算し、Lm個(L、mは、正の整数)の部分秘密情報を出力する。連結手段は、その出力されたLm個(L、mは、正の整数)の部分秘密情報を連結して秘密情報を出力する。したがって、任意の有限体上で復元のための演算処理を行うことから、加算と離散対数の準同型性を利用したアプリケーションにも容易に適用することができる。また、部分分散情報をm個ずつ連結することにより構成された分散情報からLm個の部分秘密情報を生成し、これを連結することにより、秘密情報が復元できる。つまり、受信する分散情報のサイズが小さいことから、通信路を伝送するデータ数を削減することができる。
【0023】
(5)本発明は、秘密情報から管理者がそれぞれ管理する分散情報を生成する分散情報生成方法であって、大規模な拡大体GF(q)上の秘密情報を、Lm(L、mは、正の整数)個の秘密情報に分割し、有限体GF(q)上のみの演算を行い、部分分散情報をm個ずつ連結して、n(nは、正の整数)個の分散情報を生成することを特徴とする分散情報生成方法を提案している。
【0024】
この発明によれば、大規模な拡大体GF(q)上の秘密情報を、Lm(L、mは、正の整数)個の秘密情報に分割し、有限体GF(q)上のみの演算を行い、部分分散情報をm個ずつ連結して、n(nは、正の整数)個の分散情報を生成する。したがって、分割した秘密情報に対する演算を高速に実行できるため、大規模な拡大体GF(q)上の秘密情報から高速な処理で分散情報を生成することができる。また、部分分散情報をm個ずつ連結することにより、秘密情報に比べて、個々の部分分散情報の大きさを1/Lにすることができる。
【0025】
(6)本発明は、秘密情報から管理者がそれぞれ管理する分散情報を生成する分散情報生成方法であって、拡大体GF(q)上の秘密情報(m次元ベクトル)をLm(L、mは、正の整数)個の有限体GF(q)上の部分秘密情報に分割する第1のステップ(例えば、図2のステップS101に相当)と、m(k−L)個(kは、正の整数)の有限体GF(q)上の乱数を生成する第2のステップ(例えば、図2のステップS102に相当)と、GF(q)[x]上のm次原始多項式f(x)に対応するコンパニオン行列と該コンパニオン行列の累乗とを生成する第3のステップ(例えば、図2のステップS103に相当)と、前記生成されたコンパニオン行列と該コンパニオン行列の累乗との構成に基づいて定まる組み合わせに応じて、前記部分秘密情報と生成された乱数とを有限体GF(q)上で演算を行い、mn個(nは、正の整数)の部分分散情報を出力する第4のステップ(例えば、図2のステップS104に相当)と、該出力された部分分散情報をm個ずつ連結して、n(nは、正の整数)個の分散情報を生成する第5のステップ(例えば、図2のステップS105に相当)と、分散情報の各管理者に、前記生成した分散情報を送信する第6のステップ(例えば、図2のステップS106に相当)と、を備えたことを特徴とする分散情報生成方法を提案している。
【0026】
この発明によれば、拡大体GF(q)上の秘密情報(m次元ベクトル)をLm(L、mは、正の整数)個の有限体GF(q)上の部分秘密情報に分割し、m(k−L)個(kは、正の整数)の有限体GF(q)上の乱数を生成する。次に、GF(q)[x]上のm次原始多項式f(x)に対応するコンパニオン行列とそのコンパニオン行列の累乗とを生成し、生成されたコンパニオン行列とそのコンパニオン行列の累乗との構成に基づいて定まる組み合わせに応じて、部分秘密情報と生成された乱数とを有限体GF(q)上で演算を行い、mn個(nは、正の整数)の部分分散情報を出力する。そして、その出力された部分分散情報をm個ずつ連結して、n(nは、正の整数)個の分散情報を生成し、分散情報の各管理者に、生成した分散情報を送信する。したがって、大規模な拡大体上の秘密情報を任意の有限体上に分割して、演算を行うため、加算と離散対数の準同型性を利用したアプリケーションにも容易に適用することができる。また、部分分散情報をm個ずつ連結することにより、秘密情報に比べて、個々の部分分散情報の大きさを1/Lにすることができる。
【0027】
(7)本発明は、それぞれの管理者が管理する分散情報を所定数集めて、秘密情報を復元する秘密情報復元方法であって、複数の大規模な有限体GF(q)上の分散情報をkm(k、mは、正の整数)個に分割し、有限体GF(q)上のみの演算を行い、Lm(L、mは、正の整数)個の部分秘密情報を生成し、これらの情報から大規模な拡大体GF(q)上の秘密情報を復元することを特徴とする秘密情報復元方法を提案している。
【0028】
この発明によれば、複数の大規模な有限体GF(q)上の分散情報をkm(k、mは、正の整数)個に分割し、有限体GF(q)上のみの演算を行い、Lm(L、mは、正の整数)個の部分秘密情報を生成し、これらの情報から大規模な拡大体GF(q)上の秘密情報を復元する。したがって、複数の大規模な有限体GF(q)上の分散情報から高速な処理で、大規模な拡大体GF(q)上の秘密情報を復元することができる。また、部分分散情報をm個ずつ連結することにより構成された分散情報からLm個の部分秘密情報を生成し、これを連結することにより、秘密情報が復元できる。つまり、受信する分散情報のサイズが小さいことから、通信路を伝送するデータ数を削減することができる。
【0029】
(8)本発明は、それぞれの管理者が管理する分散情報を所定数集めて、秘密情報を復元する秘密情報復元方法であって、k個の分散情報を受信する第1のステップ(例えば、図4のステップS201に相当)と、該受信したk個の分散情報を分割して、km(k、mは、正の整数)個の部分分散情報を出力する第2のステップ(例えば、図4のステップS202に相当)と、GF(q)[x]上のm次原始多項式f(x)に対応するコンパニオン行列と、前記受信した分散情報のインデックスとを用いて分散情報の生成行列を生成する第3のステップ(例えば、図4のステップS203に相当)と、該生成した生成行列の逆行列を導出する第4のステップ(例えば、図4のステップS204に相当)と、該導出した逆行列の構成に基づいて定まる組み合わせに応じて、前記部分分散情報を有限体GF(q)上において演算し、Lm個(L、mは、正の整数)の部分秘密情報を出力する第5のステップ(例えば、図4のステップS205に相当)と、該出力されたLm個(L、mは、正の整数)の部分秘密情報を連結して秘密情報を出力する第6のステップ(例えば、図4のステップS206に相当)と、を備えることを特徴とする秘密情報復元方法を提案している。
【0030】
この発明によれば、k個の分散情報を受信し、その受信したk個の分散情報を分割して、km個の部分分散情報を出力する。次に、GF(q)[x]上のm次原始多項式f(x)に対応するコンパニオン行列と、受信した分散情報のインデックスとを用いて分散情報の生成行列を生成し、その生成した生成行列の逆行列を導出する。そして、その導出した逆行列の構成に基づいて定まる組み合わせに応じて、部分分散情報を有限体GF(q)上において演算し、Lm個の部分秘密情報を出力し、その出力されたLm個の部分秘密情報を連結して秘密情報を出力する。したがって、任意の有限体上で復元のための演算処理を行うことから、加算と離散対数の準同型性を利用したアプリケーションにも容易に適用することができる。また、部分分散情報をm個ずつ連結することにより構成された分散情報からLm個の部分秘密情報を生成し、これを連結することにより、秘密情報が復元できる。つまり、受信する分散情報のサイズが小さいことから、通信路を伝送するデータ数を削減することができる。
【0031】
(9)本発明は、秘密情報から管理者がそれぞれ管理する分散情報を生成する分散情報生成方法をコンピュータに実行させるためのプログラムであって、大規模な拡大体GF(q)上の秘密情報を、Lm(L、mは、正の整数)個の秘密情報に分割し、有限体GF(q)上のみの演算を行い、部分分散情報をm個ずつ連結して、n(nは、正の整数)個の分散情報を生成することを特徴とするプログラムを提案している。
【0032】
この発明によれば、大規模な拡大体GF(q)上の秘密情報を、Lm(L、mは、正の整数)個の秘密情報に分割し、有限体GF(q)上のみの演算を行い、部分分散情報をm個ずつ連結して、n(nは、正の整数)個の分散情報を生成する。したがって、分割した秘密情報に対する演算を高速に実行できるため、大規模な拡大体GF(q)上の秘密情報から高速な処理で分散情報を生成することができる。また、部分分散情報をm個ずつ連結することにより、秘密情報に比べて、個々の部分分散情報の大きさを1/Lにすることができる。
【0033】
(10)本発明は、秘密情報から管理者がそれぞれ管理する分散情報を生成する分散情報生成方法をコンピュータに実行させるためのプログラムであって、拡大体GF(q)上の秘密情報(m次元ベクトル)をLm(L、mは、正の整数)個の有限体GF(q)上の部分秘密情報に分割する第1のステップ(例えば、図2のステップS101に相当)と、m(k−L)個(kは、正の整数)の有限体GF(q)上の乱数を生成する第2のステップ(例えば、図2のステップS102に相当)と、GF(q)[x]上のm次原始多項式f(x)に対応するコンパニオン行列と該コンパニオン行列の累乗とを生成する第3のステップ(例えば、図2のステップS103に相当)と、前記生成されたコンパニオン行列と該コンパニオン行列の累乗との構成に基づいて定まる組み合わせに応じて、前記部分秘密情報と生成された乱数とを有限体GF(q)上で演算を行い、mn個(nは、正の整数)の部分分散情報を出力する第4のステップ(例えば、図2のステップS104に相当)と、該出力された部分分散情報をm個ずつ連結して、n(nは、正の整数)個の分散情報を生成する第5のステップ(例えば、図2のステップS105に相当)と、分散情報の各管理者に、前記生成した分散情報を送信する第6のステップ(例えば、図2のステップS106に相当)と、を実行するためのプログラムを提案している。
【0034】
この発明によれば、拡大体GF(q)上の秘密情報(m次元ベクトル)をLm(L、mは、正の整数)個の有限体GF(q)上の部分秘密情報に分割し、m(k−L)個(kは、正の整数)の有限体GF(q)上の乱数を生成する。次に、GF(q)[x]上のm次原始多項式f(x)に対応するコンパニオン行列とそのコンパニオン行列の累乗とを生成し、生成されたコンパニオン行列とそのコンパニオン行列の累乗との構成に基づいて定まる組み合わせに応じて、部分秘密情報と生成された乱数とを有限体GF(q)上で演算を行い、mn個(nは、正の整数)の部分分散情報を出力する。そして、その出力された部分分散情報をm個ずつ連結して、n(nは、正の整数)個の分散情報を生成し、分散情報の各管理者に、生成した分散情報を送信する。したがって、大規模な拡大体上の秘密情報を任意の有限体上に分割して、演算を行うため、加算と離散対数の準同型性を利用したアプリケーションにも容易に適用することができる。また、部分分散情報をm個ずつ連結することにより、秘密情報に比べて、個々の部分分散情報の大きさを1/Lにすることができる。
【0035】
(11)本発明は、それぞれの管理者が管理する分散情報を所定数集めて、秘密情報を復元する秘密情報復元方法をコンピュータに実行させるためのプログラムであって、複数の大規模な有限体GF(q)上の分散情報をkm(k、mは、正の整数)個に分割し、有限体GF(q)上のみの演算を行い、Lm(L、mは、正の整数)個の部分秘密情報を生成し、これらの情報から大規模な拡大体GF(q)上の秘密情報を復元することを特徴とするプログラムを提案している。
【0036】
この発明によれば、複数の大規模な有限体GF(q)上の分散情報をkm(k、mは、正の整数)個に分割し、有限体GF(q)上のみの演算を行い、Lm(L、mは、正の整数)個の部分秘密情報を生成し、これらの情報から大規模な拡大体GF(q)上の秘密情報を復元する。したがって、複数の大規模な有限体GF(q)上の分散情報から高速な処理で、大規模な拡大体GF(q)上の秘密情報を復元することができる。また、部分分散情報をm個ずつ連結することにより構成された分散情報からLm個の部分秘密情報を生成し、これを連結することにより、秘密情報が復元できる。つまり、受信する分散情報のサイズが小さいことから、通信路を伝送するデータ数を削減することができる。
【0037】
(12)本発明は、それぞれの管理者が管理する分散情報を所定数集めて、秘密情報を復元する秘密情報復元方法をコンピュータに実行させるためのプログラムであって、k個の分散情報を受信する第1のステップ(例えば、図4のステップS201に相当)と、該受信したk個の分散情報を分割して、km(k、mは、正の整数)個の部分分散情報を出力する第2のステップ(例えば、図4のステップS202に相当)と、GF(q)[x]上のm次原始多項式f(x)に対応するコンパニオン行列と、前記受信した分散情報のインデックスとを用いて分散情報の生成行列を生成する第3のステップ(例えば、図4のステップS203に相当)と、該生成した生成行列の逆行列を導出する第4のステップ(例えば、図4のステップS204に相当)と、該導出した逆行列の構成に基づいて定まる組み合わせに応じて、前記部分分散情報を有限体GF(q)上において演算し、Lm個(L、mは、正の整数)の部分秘密情報を出力する第5のステップ(例えば、図4のステップS205に相当)と、該出力されたLm個(L、mは、正の整数)の部分秘密情報を連結して秘密情報を出力する第6のステップ(例えば、図4のステップS206に相当)と、k個の分散情報を受信する第1のステップと、該受信したk個の分散情報を分割して、kを実行するためのプログラムを提案している。
【0038】
この発明によれば、k個の分散情報を受信し、その受信したk個の分散情報を分割して、km個の部分分散情報を出力する。次に、GF(q)[x]上のm次原始多項式f(x)に対応するコンパニオン行列と、受信した分散情報のインデックスとを用いて分散情報の生成行列を生成し、その生成した生成行列の逆行列を導出する。そして、その導出した逆行列の構成に基づいて定まる組み合わせに応じて、部分分散情報を有限体GF(q)上において演算し、Lm個の部分秘密情報を出力し、その出力されたLm個の部分秘密情報を連結して秘密情報を出力する。したがって、任意の有限体上で復元のための演算処理を行うことから、加算と離散対数の準同型性を利用したアプリケーションにも容易に適用することができる。また、部分分散情報をm個ずつ連結することにより構成された分散情報からLm個の部分秘密情報を生成し、これを連結することにより、秘密情報が復元できる。つまり、受信する分散情報のサイズが小さいことから、通信路を伝送するデータ数を削減することができる。
【発明の効果】
【0039】
本発明によれば、大規模な拡大体上の秘密情報を、任意の小規模な有限体上で分散あるいは復元することを可能とするとともに、個々の分散情報の大きさを削減することができる秘密分散法を構成できるという効果がある。つまり、個々の分散情報の大きさを削減できるため、管理者のストレージの容量負荷を削減できるとともに、復元時においては、ネットワーク内で流通するデータ容量を削減できるという効果がある。
【0040】
また、本発明によれば、任意の小規模な有限体上で動作するため、非特許文献3または4記載されているようにXOR演算のみで構成することも可能であり、また、加算と離散対数の準同型性を利用したアプリケーションへの適用も容易であるという効果がある。
【図面の簡単な説明】
【0041】
【図1】本発明の実施形態に係る分散情報生成装置の構成を示す図である。
【図2】本発明の実施形態に係る分散情報生成装置の処理フローを示す図である。
【図3】本発明の実施形態に係る秘密情報復元装置の構成を示す図である。
【図4】本発明の実施形態に係る秘密情報復元装置の処理フローを示す図である。
【発明を実施するための形態】
【0042】
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0043】
<分散情報生成装置の構成>
図1を用いて、本実施形態に係る分散情報生成装置の構成について説明する。
【0044】
本実施形態に係る分散情報生成装置は、図1に示すように、分割器1と、乱数生成器2と、コンパニオン行列生成器3と、GF(q)演算器4と、連結器5a〜5nと、送信器6とから構成されている。
【0045】
分割器1は、拡大体GF(q)上の秘密情報(m次元ベクトル)をLm(L、mは、正の整数)個の有限体GF(q)上の部分秘密情報に分割し、分割した部分秘密情報をGF(q)演算器4に出力する。乱数生成器2は、m(k−L)個(kは、正の整数)の有限体GF(q)上の乱数を生成し、生成した乱数をGF(q)演算器4に出力する。
【0046】
コンパニオン行列生成器3は、パラメータk、n、mの値に応じて、GF(q)[x]上のm次原始多項式f(x)に対応するコンパニオン行列とそのコンパニオン行列の累乗とをそれぞれqm−1個の行列を生成し、GF(q)演算器4に出力する。
【0047】
GF(q)演算器4は、入力されたコンパニオン行列とそのコンパニオン行列の累乗との構成に基づいて定まる組み合わせに応じて、部分秘密情報と乱数とを有限体GF(q)上で演算し、mn個(nは、正の整数)の部分分散情報をn個の連結器5a〜5nに出力する。
【0048】
連結器5a〜5nは、それぞれ、GF(q)演算器4から入力されたm個の部分分散情報を連結してn個の分散情報を生成し、送信器6に出力する。送信器6は、入力した分散情報を分散情報の各管理者に送信して、配布する。
【0049】
<分散情報生成装置の処理>
図2を用いて、本実施形態に係る分散情報生成装置の処理について説明する。
なお、説明にあたって用いる記号を数3のように、定義する。
【0050】
【数3】

【0051】
まず、分割器1に秘密情報s∈GF(q)を入力して、s、s、・・・・、sm−1、・・・・、sL−1、・・・・、sm−1L−1∈GF(q)のLm個の部分秘密情報に分割する(ステップS101)。このとき、秘密情報ベクトルs(h=0、・・・・、L−1)は、数4のように表される。
【0052】
【数4】

【0053】
次に、乱数生成器2を用いて、(k−L)m個の乱数r、・・・・、rm−1、・・・・、rk−L−1、・・・・、rk−L−1m−1∈GF(q)を生成する(ステップS102)。このとき、乱数ベクトルr(h=0、1、・・・・、k−L−1)は、数5のように表される。
【0054】
【数5】

【0055】
また、コンパニオン行列生成器3にパラメータmを入力して、GF(q)[x]上のm次原始多項式f(x)に対応するコンパニオン行列Cとそのコンパニオン行列の累乗とを生成する(ステップS103)。
【0056】
GF(q)演算器4において、コンパニオン行列Cとそのコンパニオン行列の累乗とを用いて、部分分散情報を数6により生成する(ステップS104)。
【0057】
【数6】

【0058】
ここで、iは、0≦i≦n−1である。また、数6において、すべての演算は、有限体GF(q)上で実行される。さらに、部分分散情報ベクトルwの構成は、数7のように表される。
【0059】
【数7】

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

【0062】
したがって、本実施形態に係る分散情報生成装置によれば、大規模な拡大体上の秘密情報を任意の有限体上に分割して、演算を行うため、加算と離散対数の準同型性を利用したアプリケーションにも容易に適用することができる。また、部分分散情報をm個ずつ連結することにより、秘密情報に比べて、個々の部分分散情報の大きさを1/Lにすることができる。
【0063】
<秘密情報復元装置の構成>
図3を用いて、本実施形態に係る秘密情報復元装置の構成について説明する。
【0064】
本実施形態に係る秘密情報復元装置は、図3に示すように、受信器11と、行列生成器12と、k個の分割器13a〜13nと、行列演算器14と、GF(q)演算器15と、連結器16とから構成されている。
【0065】
受信器11は、k人の管理人からk個の分散情報を受信し、受信したk個の分散情報をそれぞれのk個の分割器13a〜13nに出力する。それぞれの分割器13a〜13nは、入力したk個の分散情報を分割して、km個の部分分散情報をGF(q)演算器15に出力する。
【0066】
行列生成器12は、入力したパラメータmの値に応じて、GF(q)[x]上のm次原始多項式f(x)に対応するコンパニオン行列と、受信した分散情報のインデックスとを用いて分散情報の生成行列を生成し、行列演算器14に出力する。
【0067】
行列演算器14は、入力した生成行列の逆行列を導出し、GF(q)演算器15に出力する。GF(q)演算器15は、入力された逆行列の構成に基づいて定まる組み合わせに応じて、部分分散情報を有限体GF(q)上において演算し、Lm個の部分秘密情報を連結器16に出力する。連結器16は、入力されたLm個の部分秘密情報を連結して秘密情報を出力する。
【0068】
<秘密情報復元装置の処理>
図4を用いて、本実施形態に係る秘密情報復元装置の処理について説明する。
なお、説明にあたって用いる記号を分散情報生成装置での説明と同様に定義する。
【0069】
まず、受信器11は、wt0、wt1、・・・・、wtk−1のk個の分散情報を管理者Pから受信し、k個の分割器13a〜13nにそれぞれ出力する(ステップS201)。次に、それぞれの分割器13a〜13nにおいて、入力した分散情報wをm個の部分分散情報w(i、0)、・・・・、w(i、m−1)∈GF(q)へと分割し、km個の部分分散情報をGF(q)演算器15に出力する(ステップS202)。なお、i=t、・・・・、tk−1である。また、このとき、部分分散情報ベクトルwは、数9のように定義される。
【0070】
【数9】

【0071】
一方、GF(q)[x]上のm次原始多項式f(x)に対応するコンパニオン行列と、前記受信した分散情報のインデックスとを用いて分散情報の生成行列を生成し(ステップS203)、その生成した生成行列の逆行列を導出する(ステップS204)。
【0072】
具体的には、数10に示すkm×2km行列(G|Ikm)を入力した分散情報のインデックスおよびコンパニオン行列Cから導出する。
【0073】
【数10】

【0074】
数10において、Ikmは、km行km列の単位行列を示し、Gを生成行列と呼ぶ。ここで、ガウスの消去法を(G|Ikm)上において実行することにより、数11に示す行列を得る。
【0075】
【数11】

【0076】
数11において、Gauss()は、有限体GF(q)上のガウスの消去法を実行する関数とする。この際、Mは、Gに対する逆行列となる。なお、ステップS203およびステップS204においては、上記のように、ガウスの消去法を利用する例について説明したが、LU分解などの他のアルゴリズムを用いることもできる。
【0077】
次に、導出した逆行列の構成に基づいて定まる組み合わせに応じて、部分分散情報を有限体GF(q)上において演算し、m個の部分秘密情報を出力する(ステップS205)。具体的には、逆行列Mを用いて、数12に示す演算を有限体GF(q)上において実行することにより、すべての部分秘密情報および乱数を復元することができる。数12において、sは、数13に、rは、数14に示されるように定義される。
【0078】
【数12】

【0079】
【数13】

【0080】
【数14】

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

【0083】
したがって、本実施形態に係る秘密情報復元装置によれば、任意の有限体上で復元のための演算処理を行うことから、加算と離散対数の準同型性を利用したアプリケーションにも容易に適用することができる。また、部分分散情報をm個ずつ連結することにより構成された分散情報からLm個の部分秘密情報を生成し、これを連結することにより、秘密情報が復元できる。つまり、受信する分散情報のサイズが小さいことから、通信路を伝送するデータ数を削減することができる。
【0084】
なお、分散情報生成装置および秘密情報復元装置の処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを分散情報生成装置および秘密情報復元装置に読み込ませ、実行することによって本発明の分散情報生成装置および秘密情報復元装置を実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。
【0085】
また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0086】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0087】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0088】
1・・・分割器
2・・・乱数生成器
3・・・コンパニオン行列生成器
4・・・GF(q)演算器
5a〜5n・・・連結器
6・・・送信器
11・・・受信器
12・・・行列生成器
13a〜13n・・・分割器
14・・・行列演算器
15・・・GF(q)演算器
16・・・連結器

【特許請求の範囲】
【請求項1】
大規模な拡大体GF(q)上の秘密情報を、Lm(L、mは、正の整数)個の秘密情報に分割し、有限体GF(q)上のみの演算を行い、部分分散情報をm個ずつ連結して、n(nは、正の整数)個の分散情報を生成することを特徴とする分散情報生成装置。
【請求項2】
拡大体GF(q)上の秘密情報(m次元ベクトル)をLm(L、mは、正の整数)個の有限体GF(q)上の部分秘密情報に分割する分割手段と、
m(k−L)個(kは、正の整数)の有限体GF(q)上の乱数を生成する乱数生成手段と、
GF(q)[x]上のm次原始多項式f(x)に対応するコンパニオン行列と該コンパニオン行列の累乗とを生成するコンパニオン行列生成手段と、
前記生成されたコンパニオン行列と該コンパニオン行列の累乗との構成に基づいて定まる組み合わせに応じて、前記部分秘密情報と生成された乱数とを有限体GF(q)上で演算を行い、mn個(nは、正の整数)の部分分散情報を出力する演算手段と、
該出力された部分分散情報をm個ずつ連結して、n(nは、正の整数)個の分散情報を生成する連結手段と、
分散情報の各管理者に、前記生成した分散情報を送信する送信手段と、
を備えたことを特徴とする分散情報生成装置。
【請求項3】
複数の大規模な有限体GF(q)上の分散情報をkm(k、mは、正の整数)個に分割し、有限体GF(q)上のみの演算を行い、Lm(L、mは、正の整数)個の部分秘密情報を生成し、これらの情報から大規模な拡大体GF(q)上の秘密情報を復元することを特徴とする秘密情報復元装置。
【請求項4】
k個の分散情報を受信する受信手段と、
該受信したk個の分散情報を分割して、km(k、mは、正の整数)個の部分分散情報を出力する分割手段と、
GF(q)[x]上のm次原始多項式f(x)に対応するコンパニオン行列と、前記受信した分散情報のインデックスとを用いて分散情報の生成行列を生成する行列生成手段と、
該生成した生成行列の逆行列を導出する行列演算手段と、
該導出した逆行列の構成に基づいて定まる組み合わせに応じて、前記部分分散情報を有限体GF(q)上において演算し、Lm個(L、mは、正の整数)の部分秘密情報を出力する演算手段と、
該出力されたLm個(L、mは、正の整数)の部分秘密情報を連結して秘密情報を出力する連結手段と、
を備えることを特徴とする秘密情報復元装置。
【請求項5】
秘密情報から管理者がそれぞれ管理する分散情報を生成する分散情報生成方法であって、
大規模な拡大体GF(q)上の秘密情報を、Lm(L、mは、正の整数)個の秘密情報に分割し、有限体GF(q)上のみの演算を行い、部分分散情報をm個ずつ連結して、n(nは、正の整数)個の分散情報を生成することを特徴とする分散情報生成方法。
【請求項6】
秘密情報から管理者がそれぞれ管理する分散情報を生成する分散情報生成方法であって、
拡大体GF(q)上の秘密情報(m次元ベクトル)をLm(L、mは、正の整数)個の有限体GF(q)上の部分秘密情報に分割する第1のステップと、
m(k−L)個(kは、正の整数)の有限体GF(q)上の乱数を生成する第2のステップと、
GF(q)[x]上のm次原始多項式f(x)に対応するコンパニオン行列と該コンパニオン行列の累乗とを生成する第3のステップと、
前記生成されたコンパニオン行列と該コンパニオン行列の累乗との構成に基づいて定まる組み合わせに応じて、前記部分秘密情報と生成された乱数とを有限体GF(q)上で演算を行い、mn個(nは、正の整数)の部分分散情報を出力する第4のステップと、
該出力された部分分散情報をm個ずつ連結して、n(nは、正の整数)個の分散情報を生成する第5のステップと、
分散情報の各管理者に、前記生成した分散情報を送信する第6のステップと、
を備えたことを特徴とする分散情報生成方法。
【請求項7】
それぞれの管理者が管理する分散情報を所定数集めて、秘密情報を復元する秘密情報復元方法であって、複数の大規模な有限体GF(q)上の分散情報をkm(k、mは、正の整数)個に分割し、有限体GF(q)上のみの演算を行い、Lm(L、mは、正の整数)個の部分秘密情報を生成し、これらの情報から大規模な拡大体GF(q)上の秘密情報を復元することを特徴とする秘密情報復元方法。
【請求項8】
それぞれの管理者が管理する分散情報を所定数集めて、秘密情報を復元する秘密情報復元方法であって、
k個の分散情報を受信する第1のステップと、
該受信したk個の分散情報を分割して、km(k、mは、正の整数)個の部分分散情報を出力する第2のステップと、
GF(q)[x]上のm次原始多項式f(x)に対応するコンパニオン行列と、前記受信した分散情報のインデックスとを用いて分散情報の生成行列を生成する第3のステップと、
該生成した生成行列の逆行列を導出する第4のステップと、
該導出した逆行列の構成に基づいて定まる組み合わせに応じて、前記部分分散情報を有限体GF(q)上において演算し、Lm個(L、mは、正の整数)の部分秘密情報を出力する第5のステップと、
該出力されたLm個(L、mは、正の整数)の部分秘密情報を連結して秘密情報を出力する第6のステップと、
を備えることを特徴とする秘密情報復元方法。
【請求項9】
秘密情報から管理者がそれぞれ管理する分散情報を生成する分散情報生成方法をコンピュータに実行させるためのプログラムであって、
大規模な拡大体GF(q)上の秘密情報を、Lm(L、mは、正の整数)個の秘密情報に分割し、有限体GF(q)上のみの演算を行い、部分分散情報をm個ずつ連結して、n(nは、正の整数)個の分散情報を生成することを特徴とするプログラム。
【請求項10】
秘密情報から管理者がそれぞれ管理する分散情報を生成する分散情報生成方法をコンピュータに実行させるためのプログラムであって、
拡大体GF(q)上の秘密情報(m次元ベクトル)をLm(L、mは、正の整数)個の有限体GF(q)上の部分秘密情報に分割する第1のステップと、
m(k−L)個(kは、正の整数)の有限体GF(q)上の乱数を生成する第2のステップと、
GF(q)[x]上のm次原始多項式f(x)に対応するコンパニオン行列と該コンパニオン行列の累乗とを生成する第3のステップと、
前記生成されたコンパニオン行列と該コンパニオン行列の累乗との構成に基づいて定まる組み合わせに応じて、前記部分秘密情報と生成された乱数とを有限体GF(q)上で演算を行い、mn個(nは、正の整数)の部分分散情報を出力する第4のステップと、
該出力された部分分散情報をm個ずつ連結して、n(nは、正の整数)個の分散情報を生成する第5のステップと、
分散情報の各管理者に、前記生成した分散情報を送信する第6のステップと、
を実行するためのプログラム。
【請求項11】
それぞれの管理者が管理する分散情報を所定数集めて、秘密情報を復元する秘密情報復元方法をコンピュータに実行させるためのプログラムであって、複数の大規模な有限体GF(q)上の分散情報をkm(k、mは、正の整数)個に分割し、有限体GF(q)上のみの演算を行い、Lm(L、mは、正の整数)個の部分秘密情報を生成し、これらの情報から大規模な拡大体GF(q)上の秘密情報を復元することを特徴とするプログラム。
【請求項12】
それぞれの管理者が管理する分散情報を所定数集めて、秘密情報を復元する秘密情報復元方法をコンピュータに実行させるためのプログラムであって、
k個の分散情報を受信する第1のステップと、
該受信したk個の分散情報を分割して、km(k、mは、正の整数)個の部分分散情報を出力する第2のステップと、
GF(q)[x]上のm次原始多項式f(x)に対応するコンパニオン行列と、前記受信した分散情報のインデックスとを用いて分散情報の生成行列を生成する第3のステップと、
該生成した生成行列の逆行列を導出する第4のステップと、
該導出した逆行列の構成に基づいて定まる組み合わせに応じて、前記部分分散情報を有限体GF(q)上において演算し、Lm個(L、mは、正の整数)の部分秘密情報を出力する第5のステップと、
該出力されたLm個(L、mは、正の整数)の部分秘密情報を連結して秘密情報を出力する第6のステップと、
を実行するためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2011−4206(P2011−4206A)
【公開日】平成23年1月6日(2011.1.6)
【国際特許分類】
【出願番号】特願2009−146024(P2009−146024)
【出願日】平成21年6月19日(2009.6.19)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】