説明

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

【課題】情報の分散処理および復元処理を排他的論理和演算のみで実行しつつ、従来よりもサイズの小さな行列で同様の分散数を実現する。
【解決手段】m次元ベクトルの秘密情報をm個の部分秘密情報に分割し、m(k−1)個のGF(2)上の乱数を生成する。次に、GF(2)[x]上のm次原始多項式f(x)に対応するコンパニオン行列とその累乗とを生成し、コンパニオン行列とその累乗との構成に基づいて定まるXOR演算の組み合わせに応じて、部分秘密情報と乱数とのXOR演算を行い、mn個の部分分散情報を出力する。そして、部分分散情報を連結して分散情報を生成し、各管理者に、分散情報を送信する。

【発明の詳細な説明】
【技術分野】
【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】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.
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、非特許文献3あるいは4の手法は、分散数が大きくなると、構成される生成行列のサイズが増加し、特に、復元時に行う行列処理にかかる計算量が大きくなるという問題があった。
【0009】
そこで、本発明は、上述の課題に鑑みてなされたものであり、情報の分散処理および復元処理を排他的論理和演算のみで実行しつつ、従来よりもサイズの小さな行列で同様の分散数を実現する分散情報生成装置、秘密情報復元装置、分散情報生成方法、秘密情報復元方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明は、上記の課題を解決するために、以下の事項を提案している。
【0011】
(1)本発明は、秘密情報を、複数の秘密情報に分割し、有限体GF(2)上のみの演算を行い、分散情報を生成することを特徴とする分散情報生成装置を提案している。
【0012】
この発明によれば、秘密情報を、複数の秘密情報に分割し、有限体GF(2)上のみの演算を行い、分散情報を生成する。したがって、例えば、高速な演算である排他的論理和演算(XOR演算)のみで演算を実行できる。
【0013】
(2)本発明は、(1)の分散情報生成装置について、出力されるそれぞれの分散情報のサイズが、入力される秘密情報と等しいサイズであることを特徴とする分散情報生成装置を提案している。
【0014】
この発明によれば、出力されるそれぞれの分散情報のサイズが、入力される秘密情報と等しいサイズである。したがって、情報理論的安全性が保証される。
【0015】
(3)本発明は、秘密情報をm(mは、正の整数)個の部分秘密情報に分割する分割手段(例えば、図1の分割器1に相当)と、m(k−1)個(kは、正の整数)の乱数を生成する乱数生成手段(例えば、図1の乱数生成器2に相当)と、有限体GF(2)[x]上のm次原始多項式f(x)に対応するコンパニオン行列と該コンパニオン行列の累乗とを生成するコンパニオン行列生成手段(例えば、図1のコンパニオン行列生成器4に相当)と、前記生成されたコンパニオン行列と該コンパニオン行列の累乗との構成に基づいて定まる排他的論理和演算の組み合わせに応じて、前記部分秘密情報と生成された乱数とを排他的論理和演算を行い、mn個(nは、正の整数)の部分分散情報を出力する演算手段(例えば、図1のXOR演算器3に相当)と、該出力された部分分散情報を連結して分散情報を生成する連結手段(例えば、図1の連結器5a〜5nに相当)と、分散情報の各管理者に、前記生成した分散情報を送信する送信手段(例えば、図1の送信器6に相当)と、を備えたことを特徴とする分散情報生成装置を提案している。なお、ここで、コンパニオン行列とは、m次原始多項式f(x)を数1のように表したときに、このf(x)に対応する数2に示すようなm行m列のバイナリ行列をいう。
【0016】
【数1】

【0017】
【数2】

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

【0050】
まず、分割器1にdmビットの秘密情報s∈GF(2)dmを入力して、s、s、・・・・、sm-1∈GF(2)のm個のdビットの部分秘密情報に分割する(ステップS101)。このとき、秘密情報ベクトルsは、数4のように表される。
【0051】
【数4】

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

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

【0057】
ここで、iは、数7のように定義される。また、数6において、すべての行列演算の内部の演算は、XOR演算のみで構成される。また、部分分散情報ベクトルwの構成は、数8のように表される。
【0058】
【数7】

【0059】
【数8】

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

【0062】
したがって、本実施形態に係る分散情報生成装置によれば、秘密情報を分割し、高速演算処理が可能な排他的論理和演算により分散情報の生成処理を行いつつ、しかも、生成行列のサイズが従来よりも小さいため、更なる高速処理が期待できる。
【0063】
<秘密情報復元装置の構成>
図3を用いて、本実施形態に係る秘密情報復元装置の構成について説明する。
【0064】
本実施形態に係る秘密情報復元装置は、図3に示すように、受信器11と、行列生成器12と、分割器13a〜13nと、行列演算器14と、XOR演算器15と、連結器16とから構成されている。
【0065】
受信器11は、k人の管理人からk個のdmビットの分散情報を受信し、受信したk個の分散情報をそれぞれの分割器13a〜13nに出力する。それぞれの分割器13a〜13nは、入力したk個の分散情報を分割して、km個のdビットの部分分散情報をXOR演算器15に出力する。
【0066】
行列生成器12は、受信した分散情報のインデックスを入力し、入力したパラメータmの値に応じて、バイナリ生成行列を生成し、XOR演算器15に出力する。ここで、生成行列は、有限体GF(2)[x]上のm次原始多項式f(x)に対応するコンパニオン行列とその累乗の行列によって構成される。
【0067】
行列演算器14は、入力した生成行列の逆行列を導出し、XOR演算器15に出力する。XOR演算器15は、入力された逆行列の構成に基づいて定まる部分分散情報の組み合わせ情報に応じて、部分分散情報を有限体GF(2)上において演算し、m個の部分秘密情報を連結器16に出力する。連結器16は、入力された部分秘密情報を連結して秘密情報を出力する。
【0068】
<秘密情報復元装置の処理>
図4を用いて、本実施形態に係る秘密情報復元装置の処理について説明する。
なお、説明にあたって用いる記号を分散情報生成装置での説明と同様に定義する。
【0069】
まず、受信器11は、wt0、wt1、・・・・、wtk−1のk個の分散情報を管理者Pから受信し、分割器13a〜13nに出力する(ステップS201)。次に、それぞれの分割器13a〜13nにおいて、入力した分散情報wをm個のdビットの部分分散情報w(i、0)、・・・・、w(i、m−1)∈GF(2)へと分割し、km個の部分分散情報をXOR演算器15に出力する(ステップS202)。なお、i=t、・・・・、tk−1である。また、このとき、部分分散情報ベクトルwは、数10のように定義される。
【0070】
【数10】

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

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

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

【0079】
【数14】

【0080】
【数15】

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

【0083】
<実施例>
m=3とし、(3、7)閾値法の構成を示す。ここで、コンパニオン行列を構成する3次の原始多項式f(x)を数17のように定義する。
【0084】
また、数17の3次の原始多項式f(x)に対応するコンパニオン行列Cおよびその累乗を数18のように示す。
【0085】
【数17】

【0086】
数18を用いて、分散情報ベクトルwは、数19に示す式により生成される。
【0087】
【数18】

【0088】
ただし、数19の行列演算内部の演算は、すべてXOR演算であり、wの要素である個々の部分分散情報w(i、0)、w(i、1)、w(i、2)は、数20に示すように構成される。
【0089】
【数19】

【0090】
次に、分散情報ベクトルw、w、wから秘密情報を復元する手順について説明する。
【0091】
まず、分散情報ベクトルw、w、wを9個の部分分散情報に分割し、数21に定義するベクトルwを得る。
【0092】
【数20】

【0093】
次に、分散情報のインデックス0、1、2から数22に示す行列(G|I)を得る。
【0094】
【数21】

【0095】
さらに、行列(G|I)に対して、GF(2)上のガウスの消去法を実行することにより、数23に示す行列を得る。
【0096】
【数22】

【0097】
ここで、部分秘密情報を復元するための部分分散情報のXOR演算による組み合わせを示すブロック行列は、(C、I、C)となる。これにより、数23を用いて、すべての部分秘密情報を復元することができる。ただし、数23は、s=M・wを示す。
【0098】
【数23】

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

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

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2010−266632(P2010−266632A)
【公開日】平成22年11月25日(2010.11.25)
【国際特許分類】
【出願番号】特願2009−117283(P2009−117283)
【出願日】平成21年5月14日(2009.5.14)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】