説明

秘密情報分散装置及び秘密情報復元装置及び方法及びプログラム

【課題】安全かつ効率的な秘密情報の分散を可能にする。
【解決手段】本発明は、秘密情報分散装置側で秘密情報を分散条件に基づいて複数個に分割し、分割された秘密情報と生成された乱数を係数とする多項式関数によって、複数個の係数情報を算出し、複数個の係数情報を係数とする多項式関数によって任意の個数の元の秘密情報より小さい分散情報を算出し、出力する。また、秘密情報復元装置側で、秘密情報の復元に必要な個数の分散情報群を取得し、復元条件に基づいて、複数個の分散情報群に対応する連立方程式群を解くことによって複数個の係数情報を算出し、複数個の係数情報群に対応する連立方程式を解くことによって複数個の分割した秘密情報を算出して、秘密情報を復元する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、秘密情報分散装置及び秘密情報復元装置及び方法及びプログラムに係り、特に、特に、パスワードや個人情報などの秘密情報を複数の情報群に分散符号化し、これらのうち、幾つか以上の分散された情報により元の秘密情報を復元可能とする秘密分散法を用いたセキュリティ技術における、秘密情報分散装置及び秘密情報復元装置及び方法及びプログラムに関する。
【背景技術】
【0002】
ネットワーク上でパスワードや個人情報、暗号鍵情報といった各種情報のセキュリティ(安全性)を保つために、暗号技術が用いられる。この際、ユーザ(利用者)の認証に用いられるパスワードや個人情報、共通鍵暗号に用いられる共通鍵や公開鍵暗号に用いる秘密鍵といった秘密情報の保管に関して、秘密情報の紛失や破壊、漏洩や盗難といった恐れがあり、特に、単一の箇所に保管する場合などは、秘密情報の紛失や破壊、複数の箇所に保管する場合などは秘密情報の漏洩や盗難の可能性が高くなってしまうという問題がある。
【0003】
これらの問題を解決し、各秘密情報を安全に保管する方法のひとつとして、秘密分散法がある。
【0004】
秘密分散法は、元の秘密情報を複数の情報に分散して複数の箇所に保管し、この分散された情報(以下、分散情報)を全て、あるいは幾つか合わせることにより、元の秘密情報を復元可能とする方法である。
【0005】
秘密分散法の実現方法のひとつとして(k,n)閾値秘密分散法がある。これは、分散情報を配布する数である2以上の整数の分散数nと、秘密情報Sの復元に必要な分散情報の最低数である2以上n以下の整数の閾値kから、秘密情報Sを定数項とする(k−1)次の多項式f(x)を、
f(x)=S+Rx+…Rk−1k−1(mod P)
(R,…,Rk−1:乱数、P:素数)
として作成し、元の秘密情報Sを所有あるいは、預託により分配する秘密情報分配者は、分配情報を保管する各分散情報保持者i(i=1,2,…,n)に対して、分散情報W=f(i)を分配するものである。
【0006】
この(k,n)閾値秘密分散法は、n個の分散情報の内、任意のk個の分散情報がそろえば、f(x)に関する連立方程式を解くことにより元の秘密情報Sを復元できるが、任意の(k−1)個までの分散情報が揃ってもf(x)に関する連立方程式を解くことはできないため、元の秘密情報Sを復元できないという特徴を持つ。従って、(n−k)個までの分散情報が紛失や破壊により損なわれても元の秘密情報Sが復元可能であり、(k−1)個までの分散情報が漏洩や盗難により得られても元の秘密情報Sは復元できないという、秘密情報を安全に保管する方法が実現できる。但し、個々に生成される分散情報Wの大きさは秘密情報Sの大きさに等しく、分散効率が悪いことが知られている(例えば、非特許文献1参照)。
【0007】
さらに、(k,n)閾値秘密分散法の拡張として、(d,k,n)閾値秘密分散法、別名ランプ型秘密分散法がある。これは、分散情報を配布する数である2以上の整数の分散数nと、秘密情報Sの完全な復元に必要な分散情報の最低数である2位以上n以下の整数の閾値kと、閾値kに対して秘密情報Sの部分的な復元を許容する分散情報の不足数を決定する2以上k以下の整数の分散数dから、秘密情報Sを、S,S,…,Sに分割し、これらの分割した秘密情報(以下、分割情報)を定数項とする(k−1)次の多項式f(x)を、
f(x)=S+Sx+…+Sd−1+R+…+Rk−dk−1(mod P)
(R,…,Rk−d:乱数、P:素数)
として作成し、元の秘密情報Sを所有あるいは預託による分配する秘密情報分配者は、分散情報を保管する各分散情報保持者i(i=1,2,…,n)に対して、分散情報W=f(i)を算出して分配するものである。
【0008】
この(d,k,n)閾値秘密分散法は、(k,n)閾値秘密分散法と同様に、n個の分散情報の内、任意のk個の分散情報が揃えば、f(x)に関する連立方程式を解くことにより元の秘密情報Sを復元できるが、任意の(k−d)個までの分散情報が揃ってもf(x)に関する連立方程式を解くことはできないため、元の秘密情報Sは復元できないという特徴をもつ。また、d個に分割した秘密情報S,S,…,Sを用いるため、算出した分散情報Wの大きさが、元の秘密情報Sに対してd分の1で済むため、(k,n)閾値秘密分散法に比べて、分散効率がよいことが知られている。但し、任意の(k−d+1)個から(k−1)個までの分散情報が揃った場合には、f(x)に関する連立方程式から分割情報S,S,…,Sに関する関係式が求められるため、分割情報S,S,…,Sとして可能な値を得ることができ、元の秘密情報Sを部分的に復元することができる(例えば、非特許文献2参照)。
【非特許文献1】A. Shamir, “How to Share a Secret”, Commun. of ACM Vol.22, No.11, PP.612-613, 1979
【非特許文献2】G. R. Blakley, C. Meadows, “Security of ramp schemes”, Proc. of Crypto’84, Lecure Notes on comput. Sci., 106, pp.242-268, 1984
【発明の開示】
【発明が解決しようとする課題】
【0009】
従来の(d,k,n)閾値秘密分散法には、秘密情報をSをd個の分割情報S,S,…,Sに分割することで、生成される分散情報Wの大きさをd分の1に抑え、分散効率を上げることができる一方で、任意の(k−d+1)個から(k−1)個までの分散情報を揃えた場合には分割情報S,S,…,Sに関する関係式が簡単に求められるため、分割情報S,S,…,Sとして可能な値が容易に推測できてしまい、秘匿した情報の安全性に問題があった。
【0010】
例えば、k=3、d=2、とした場合に、分散関数f(x)は、
f(x)=S+S・x+R・x (mod P)
で表現され、この分散関数により生成される任意の2個の分散情報WとW(0<a,b<P,a≠b)は、以下の連立方程式で表される。
【0011】
=S+Sa+R
=S+Sb+R
従って、この2個の分散情報の連立方程式を解くことで、SとSの関係式が次のような一次式の形で得られる。
【0012】
【数1】

このような関係式があれば、Sとして可能な値に対し、Sとして可能な値を容易に計算できるため、結果として秘密情報Sが推測できてしまう恐れがある。
【0013】
本発明は、このような中間的な復元状態における情報漏洩の問題に鑑みなされたもので、(d,k,n)閾値秘密分散法において、k個の分散情報が揃わない限り、分散情報S,S,…,Sを求めることも推測することもできないようにし、効率的かつ安全な秘密情報Sの分散を可能とする秘密情報分散装置及び秘密情報復元装置及び方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0014】
図1は、本発明の原理を説明するための図である。
【0015】
本発明(請求項1)は、秘密情報を、元の秘密情報より小さい複数個の分散情報に分散符号化する秘密情報分散方法であって、
入力された秘密情報を分散するための分散条件を取得し、記憶手段に一時的に格納する分散条件入力ステップ(ステップ1)と、
入力された分散符号化の対象とする秘密情報を取得し、記憶手段に一時的に格納する秘密情報入力ステップ(ステップ2)と、
入力された秘密情報を分散条件に基づいて複数個に分割し、記憶手段に一時的に格納し、該記憶手段から読み出された分割された秘密情報と生成された乱数を係数とする多項式関数によって、複数個の係数情報を算出し、記憶手段に格納する係数情報計算ステップ(ステップ3)と、
複数個の係数情報を係数とする多項式関数によって任意の個数の、元の秘密情報より小さい分散情報を算出する分散情報計算ステップ(ステップ4)と、
算出された分散情報を記憶手段、出力装置、または、ネットワークに出力する出力ステップ(ステップ5)と、を行う。
【0016】
本発明(請求項2)は、係数情報計算ステップ(ステップ3)において、
入力された秘密情報を分散条件に基づいて複数個に分割し、記憶手段に一時的に格納し、該記憶手段から読み出された分割された秘密情報と乱数を係数とする多項式関数によって係数情報を算出し、該係数情報と該分割された秘密情報と、乱数を係数とする多項式関数によって繰り返し複数個の係数情報を算出し、記憶手段に格納する。
【0017】
本発明(請求項3)は、元の秘密情報より小さい複数の分散情報から元の秘密情報を復元する秘密情報復元方法であって、
入力された元の秘密情報を復元するための復元条件を取得し、記憶手段に一時的に格納する復元条件入力ステップ(ステップ10)と、
入力された秘密情報の復元に必要な個数の分散情報群を取得し、記憶手段に一時的に格納する分散情報入力ステップ(ステップ11)と、
復元条件に基づいて複数個の分散情報群に対応する連立方程式群を解くことによって複数個の係数情報を算出し、記憶手段に格納する係数情報復元ステップ(ステップ12)と、
複数個の係数情報群に対応する連立方程式を解くことによって複数個の分割した秘密情報を算出して、秘密情報を復元する秘密情報復元ステップ(ステップ13)と、
算出した秘密情報を記憶手段、出力装置または、ネットワークに出力する出力ステップ(ステップ14)と、を行う。
【0018】
図2は、本発明の原理構成図である。
【0019】
本発明(請求項4)は、秘密情報を、元の秘密情報より小さい複数個の分散情報に分散符号化する秘密情報分散装置であって、
入力された秘密情報を分散するための分散条件を取得し、記憶手段に一時的に格納する分散条件入力手段120と、
入力された分散符号化の対象とする秘密情報を取得し、記憶手段に一時的に格納する秘密情報入力手段130と、
入力された秘密情報を分散条件に基づいて複数個に分割し、記憶手段に一時的に格納し、該記憶手段から読み出された分割された秘密情報と生成された乱数を係数とする多項式関数によって複数個の係数情報を算出し、記憶手段に格納する係数情報計算手段140と、
複数個の係数情報を係数とする多項式関数によって任意の個数の、元の秘密情報より小さい分散情報を算出する分散情報計算手段150と、
算出された分散情報を記憶手段、出力装置、または、ネットワークに出力する出力手段160と、を有する。
【0020】
また、本発明(請求項5)は、係数情報計算手段140が、
入力された秘密情報を分散条件に基づいて複数個に分割し、記憶手段に一時的に格納し、該記憶手段から読み出された分割された秘密情報と乱数を係数とする多項式関数によって係数情報を算出し、該係数情報と該分割された秘密情報と、乱数を係数とする多項式関数によって繰り返し複数個の係数情報を算出し、記憶手段に格納する手段を含む。
【0021】
本発明(請求項6)は、元の秘密情報より小さい複数の分散情報から元の秘密情報を復元する秘密情報復元装置であって、
入力された元の秘密情報を復元するための復元条件を取得し、記憶手段に一時的に格納する復元条件入力手段220と、
入力された秘密情報の復元に必要な個数の分散情報群を取得し、記憶手段に一時的に格納する分散情報入力手段230と、
復元条件に基づいて複数個の分散情報群に対応する連立方程式群を解くことによって複数個の係数情報を算出し、記憶手段に格納する係数情報復元手段240と、
複数個の係数情報群に対応する連立方程式を解くことによって複数個の分割した秘密情報を算出して、秘密情報を復元する秘密情報復元手段250と、
算出した秘密情報を記憶手段、出力装置または、ネットワークに出力する出力手段260と、を有する。
【0022】
本発明(請求項7)は、秘密情報を、元の秘密情報より小さい複数個の分散情報に分散符号化する秘密情報分散プログラムであって、
コンピュータに、
入力された秘密情報を分散するための分散条件を取得し、記憶手段に一時的に格納する分散条件入力ステップと、
入力された分散符号化の対象とする秘密情報を取得し、記憶手段に一時的に格納する秘密情報入力ステップと、
入力された秘密情報を分散条件に基づいて複数個に分割し、記憶手段に一時的に格納し、該記憶手段から読み出された分割された秘密情報と生成された乱数を係数とする多項式関数によって複数個の係数情報を算出し、記憶手段に格納する係数情報計算ステップと、
複数個の係数情報を係数とする多項式関数によって任意の個数の、元の秘密情報より小さい分散情報を算出する分散情報計算ステップと、
算出された分散情報を記憶手段、出力装置、または、ネットワークに出力する出力ステップと、を実行させるプログラムである。
【0023】
また、本発明(請求項8)は、係数情報計算ステップにおいて、
入力された秘密情報を分散条件に基づいて複数個に分割し、記憶手段に一時的に格納し、該記憶手段から読み出された分割された秘密情報と、乱数を係数とする多項式関数によって係数情報を算出し、該係数情報と該分割された秘密情報と、乱数を係数とする多項式関数によって繰り返し複数個の係数情報を算出し、記憶手段に格納する。
【0024】
本発明(請求項9)は、元の秘密情報より小さい複数の分散情報から元の秘密情報を復元する秘密情報復元プログラムであって、
コンピュータに、
入力された元の秘密情報を復元するための復元条件を取得し、記憶手段に一時的に格納する復元条件入力ステップと、
入力された秘密情報の復元に必要な個数の分散情報群を取得し、記憶手段に一時的に格納する分散情報入力ステップと、
復元条件に基づいて複数個の分散情報群に対応する連立方程式群を解くことによって複数個の係数情報を算出し、記憶手段に格納する係数情報復元ステップと、
複数個の係数情報群に対応する連立方程式を解くことによって複数個の分割した秘密情報を算出して、秘密情報を復元する秘密情報復元ステップと、
算出した秘密情報を記憶手段、出力装置または、ネットワークに出力する出力ステップと、を実行させるプログラムである。
【発明の効果】
【0025】
上記のように本発明によれば、秘密情報Sを分散符号化する際に、d(d=分割数)分の1の大きさの分散情報Wを任意の個数生成し、生成した分散情報の内、任意のk個が揃わない限り、分割情報S,S,…,Sが一切求められず、従って、秘密情報Sが復元できないように、秘密情報Sを分散符号化することができる。これにより、効率的かつ、安全な秘密情報の分散符号化を実現することができる。
【発明を実施するための最良の形態】
【0026】
以下、図面と共に本発明の実施の形態を説明する。
【0027】
図3は、本発明の概要を説明するための図である。
【0028】
本発明は、秘密情報Sを分散符号化して、任意の個数のd(dは分割数)分の1の大きさの分散情報Wを生成し、生成した分散情報の内、任意のk個が揃わない限り、分割情報S,S,…,Sが一切求められないように、秘密情報Sの分散を可能にするものである。
【0029】
[第1の実施の形態]
本実施の形態では、秘密情報の分散について説明する。
【0030】
秘密情報の分散に必要な条件と秘密情報Sとを入力して、秘密情報Sをd個に分割した分割情報S,S,…,Sを、最大の分割情報S(1≦t≦d)よりも大きな素数Pと、素数Pよりも小さく0でない(k−d)個の乱数R(1≦i≦k−d)からなる分散関数f(x)として、
f(x)=S+Sx+…+Sd−1+R+…+Rk−dk−1 (mod P)
の形で表現される(k−1)次の多項式を用いてk個の係数情報F(1≦i≦k)を生成し、生成したk個の係数情報Fと素数Pからなる分散関数g(x)として、
g(x)=F+Fx+…+Fk−1 (mod P)
の形で表現される式を用いて任意の個数の分散情報W=g(i)を生成する。
【0031】
以下に詳細に説明する。
【0032】
図4は、本発明の第1の実施の形態における秘密情報分散装置の構成図である。
【0033】
本装置100は、秘密情報の分散処理の各過程の制御を行う分散制御部110、分散条件の入力を受け付ける分散条件入力部120、分散の対象とする秘密情報Sの入力を受け付ける秘密情報入力部130、係数情報Fを算出する係数情報計算部140、分散情報Wを算出する分散情報計算部150、生成された分散情報を情報番号と組にして出力する分散情報出力部160、入力された分散条件、秘密情報、分散情報等を記憶する情報記憶部170から構成される。
【0034】
以下の例では、秘密情報Sを2個の分散情報SとSに分割し、4個の分散情報を分散するものとして、4個の内任意の3個の分散情報を持ち寄れば秘密情報Sを復元でき、2個ないし1個の分散情報からは秘密情報Sを一切推測できないように、秘密情報Sの分散情報を生成する。
【0035】
図5は、本発明の第1の実施の形態における秘密情報分散装置の動作を示す。
【0036】
ステップ101) 分散条件入力部120は、分散条件の入力を受け付ける。入力を受け付ける分散条件は、例えば、生成する分散情報の個数として分散数n、秘密情報Sの復元を可能とする分散情報の個数として閾値k、秘密情報を分割する個数として分割数dとする。例えば、本実施の形態では、4個の分散情報を生成することから分散数n=4、3個の分散情報で完全な復元を許すことから閾値k=3、また秘密情報Sを2個の分割情報に分割することから分割数d=2が入力されたものとする。入力された分散条件は、情報記憶部170や内部メモリ(図示せず)などに一時的に記憶するものとする。また、このような分散条件は入力を受け付けるのではなく、所定の分散条件として情報記憶部170などに予め記憶しておいてもよい。
【0037】
ステップ102) 次に、秘密情報入力部130は、分散の対象とする秘密情報Sの入力を受け付ける。本実施の形態では、秘密情報Sとして4桁の16進文字列S=3CABが入力されたものとする。
【0038】
ステップ103) 秘密情報入力部130は、既に入力された分散条件の分散数d=2に従って、秘密情報Sを2個の分割情報に分割して、情報記憶部170や内部メモリ(図示せず)などに一時的に記憶する。本実施の形態における分散情報をS=3C,S=ABとする。
【0039】
なお、本実施の形態では、分散条件入力部120において分散条件として閾値kと分散数dの入力を受け付け、秘密情報入力部130において秘密情報Sの入力を受け付けてd個の分割情報に分割するものとしたが、予めd個に分割した分割情報S,S,…,Sの入力を受け付けて分割数dを求めるようにしても構わない。また、本実施の形態では、秘密情報Sに対する分割情報を秘密情報Sの上位2桁と下位2桁で分割しているが、本発明は秘密情報Sの分割方法を規定するものではなく、例えば、奇数ビットと偶数ビットのようにビット単位で分割しても構わないし、分割情報SとSの積が秘密情報Sとなるように分割するなどの方法も考えられる。
【0040】
さらに、本実施の形態では、分散の対象とする秘密情報Sを16進文字列に限定するものではなく、また単なる文字列に限定するものでもない。数値情報、文字列などの分散関数による演算が可能であればどのような情報でもよく、また文書や画像データなどのマルチメディアなどを対象としてもよい。
【0041】
また、本実施の形態は、分散条件及び秘密情報の入力の方法及び形式を規定するものではない。キーボード入力やファイル入力の他に、インターネットなどの接続回線を介して他の装置から入力するようにしても構わない。
【0042】
ステップ104) 次に、係数情報計算部140において、閾値kと分割数d及び分割情報に基づいて、係数情報Fを算出するための分散関数を生成し、k個の係数情報Fを算出する。まず、各分割情報Sよりも大きな素数Pを決定し、素数Pよりも小さく0でない乱数Rを(k−d)個生成し、k−1次の多項式である分散関数f(x)を生成する。本実施の形態では、閾値k=3,分割数d=2より、以下のような多項式が分散関数f(x)となる。
【0043】
f(x)=S+S・x+R・x(mod P)
本実施の形態では、分割情報S=3C,SABより素数P=FB(251)を得たものとする。また、乱数R=1Fを生成したものとする。なお、本実施の形態では、係数情報計算部140において、素数Pや乱数Rの値などを決定しているが、これらの値について分散条件入力部120において入力するようにしても構わない。また、特に素数Pについては秘密情報Sあるいは分割情報Sの長さなどに応じて、予め情報記憶部170に記憶した素数Pを選択して用いるようにしてもよい。
【0044】
次に、係数情報計算部140は、上記の分散関数f(x)を用いてk個の係数情報を生成する。ここでは分散関数f(x)、に対し、x=1,2,3を順次代入して計算し、係数情報F,F,Fを算出して情報記憶部170または内部メモリ(図示せず)などに一時的に記憶する。本実施の形態では、閾値k=3、分割情報S=3C,S=AB及びR=1Fと素数P=FBより、係数情報はそれぞれF=0B,F=18、F=63を得る。図6に、係数情報計算部140における係数情報の計算例を示す。
【0045】
なお、本実施の形態は係数情報F,F,Fを分散関数f(x)に順次情報番号x=1,2,3を代入することで算出したが、異なる情報番号としてx=1,3,5を用いて算出した結果を係数情報F,F,Fとしてもよい。但し、このような係数情報群を算出するための情報番号群については外部から参照できないように秘密情報分散装置100内に予め格納されているものとする。また、このような情報番号群を毎回無作為に生成した上で、情報番号xと算出結果とを結合して、実際の係数情報Fとして用いるようにすることも考えられる。
【0046】
ステップ105) 次に、分散情報計算部150は、閾値kと分散数n及び係数情報に基づいて、分散情報Wを算出するための分散関数を生成し、n個の分散情報Wを算出する。係数情報計算部140において求めた素数P及び係数情報Fより、k−1次の多項式である分散関数g(x)を生成する。本実施の形態では、閾値k=3より、以下のような多項式が分散関数g(x)となる。
【0047】
g(x)=F+F・x+F・x (mod P)
分散情報計算部150は、上記の分散関数g(x)を使ってn個の分散情報Wを生成する。ここでは、分散関数g(x)に対し、x=1,2,3,4を順次代入して計算し、分散情報W,W,W,Wを算出して情報記憶部170または内部メモリ(図示せず)などに一時的に記憶する。本実施の形態では、分散数n=4、係数情報F=0B,F=18,F=63より、分散情報はそれぞれW=86,W=CC,W=DD,W=B9を得る。図7に、分散情報計算部150における分散情報の計算例を示す。
【0048】
なお、本実施の形態において、分散関数g(x)、から分散情報を算出する際のxの値を10進の数字により記述しているが、可能なxの値を10進数の数字に規定するものではない。分散関数f(x)に則って分散情報を算出できればよく、例えば、16進数であったり文字列であったりしても構わない。また、係数情報計算部140における分散関数f(x)と、分散情報計算部150における分散関数g(x)とで、同じ素数Pの値を使用するものとして記述しているが、分散関数g(x)における素数Pを分散関数f(x)における素数Pよりも大きな値としてもよい。
【0049】
ステップ106) 分散情報出力部160は、分散情報計算部150において生成した分散情報を、分散情報を算出したxの値(以下、情報番号)と組にして情報記憶部170に出力する。本実施の形態における出力は、(1,86),(2,CC),(3,DD),(4,B9)となる。
【0050】
なお、本実施の形態は、分散情報出力部160における分散情報の出力の方法及び形式を規定するものではない。画面出力やファイル出力の他に、インターネットなどの接続回線を介して他の装置に出力するようにしてもよい。但し、個々の分散情報を別個に出力することが望ましい。また、分散情報は直線各分散情報保持者または各分散保持装置に出力するようにし、出力の際に個々の保持者ないしは装置に合わせて暗号化するなどの手段も考えることもできる。
【0051】
また、本実施の形態では、情報番号iと分散情報Wの組を出力するものとしたが、個々の分散情報が分散関数g(x)に何を代入して算出したものかがわかればよく、例えば、iとWを連結して186,2CC,3DD,4B9のように出力しても良いし、また、例えば、出力先によって情報番号iが予め指定されている場合は分散情報Wのみを出力するようにしてもよい。
【0052】
[第2の実施の形態]
以下、上記の第1の実施の形態により生成した分散情報から、分散情報S及びS,更に、秘密情報Sを復元する場合について説明する。
【0053】
図8は、本発明の第2の実施の形態における秘密情報復元装置の構成図である。
【0054】
秘密情報復元装置200は、秘密情報復元装置200における秘密情報の復元処理の各過程の制御を行う復元制御部210、復元条件の入力を受け付ける復元条件入力部220、復元に必要な個数の分散情報と情報番号の入力を受け付ける分散情報入力部230、係数情報を算出する係数情報復元部240、分割情報を算出する秘密情報復元部250、分割情報群を結合し秘密情報を出力する秘密情報出力部260、復元条件、分散情報と情報番号、秘密情報等を格納する情報記憶部270から構成される。
【0055】
図9は、本発明の第2の実施の形態における秘密情報復元装置の動作を示す。
【0056】
ステップ201) 復元条件入力部220は、復元条件の入力を受け付ける。入力を受け付ける復元条件は、例えば、秘密情報Sの復元に必要な分散情報の個数として閾値k、秘密情報の分割数d、素数Pなどとする。例えば、本実施の形態では、3個の分散情報で完全な復元を許すことから閾値k=3、または、秘密情報Sを2個の分割情報に分割したことから分割数d=2、素数PとしてP=FBが入力されたものとする。入力された復元条件は、情報記憶部270や内部メモリ(図示せず)などに一時的に記憶するものとする。また、このような復元条件は入力を受け付けるのではなく、所定の復元条件として情報記憶部270などに予め記憶しておいてもよい。
【0057】
ステップ202) 次に、分散情報入力部230は、復元に必要な個数の分散情報Wと情報番号iの入力を受け付ける。本実施の形態では、分散情報として(2,CC),(3,DD),(4,B9)が入力されたものとする。入力された分散情報は、情報記憶部270や内部メモリ(図示せず)などに一時的に記憶する。
【0058】
なお、本実施の形態では、分散情報Wと情報番号iの入力を受け付けるものとしたが、予め情報番号iが分かっている場合、例えば、入力元毎に決まっている場合には、分散情報Wのみを受け付けるようにしてもよい。また、入力元の情報に合わせて情報記憶部270より入力元に対応する情報番号を取得するようにしてもよい。なお、本実施の形態は復元条件及び分散情報の入力及び形式を規定するものではない。キーボード入力やファイル入力の他に、インターネットなどの接続回線を介して複数の他の装置から入力しても構わない。
【0059】
ステップ203) 次に、係数情報復元部240において、閾値kと素数P、入力された情報番号及び分散情報群から係数情報Fを算出するための復元関数を生成し、k個の係数情報Fを算出する。本実施の形態では、入力された閾値k=3、素数P=FB、分散情報群(2,CC),(3,DD),(4,B9)から、係数情報復元部240は、次のような連立方程式を内部メモリ(図示せず)上に生成する。
【0060】
=F+2F+4F=CC (mod FB)
=F+3F+9F=DD (mod FB
=F+4F+16F=B9 (mod FB)
次に、係数情報復元部240は、この連立方程式から計算により係数情報F,F,Fを求める。連立方程式を掃き出し法により展開すると、各係数情報についての方程式群が生成でき、各係数情報が算出できる。
【0061】
=6W−8w+3W=0B (mod FB)
=(−7W+12W−5W)/2=18 (mod FB)
=(W−2W+W)/2=63 (mod FB)
このように算出した係数情報F,F,Fを情報記憶部270または内部メモリ(図示せず)などに一時的に記憶する。本実施の形態では、計算結果はそれぞれ、F=0B,F=18,F=63であり、正しい係数情報が得られていることが分かる。図10に、係数情報復元部240における係数情報の計算例を示す。
【0062】
なお、異なる分散情報の集合として(1,86),(3,DD),(4,B9)が入力された場合でも、同様に連立方程式を生成して掃き出し法により展開することで、各係数情報についての方程式群が生成でき、各係数情報が算出できる。
【0063】
=F+F+F=86 (mod FB)
=F+3F+9F=DD (mod FB)
=F+4F+16F=B9 (mod FB)
この連立方程式に対する展開結果及び計算情報の算出結果は以下のようになる。
【0064】
=2W−2W+W=0B (mod FB)
=(−7W+15W−8W)/6=18 (mod FB)
=(W−3W+2W)/6=63 (mod FB)
このように、分散情報入力部230においてどのような組み合わせで分散情報Wが入力されても、閾値k個の分散情報があれば、係数情報復元部240は係数情報を全て正しく復元することができる。
【0065】
なお、本実施例では、係数情報復元部240において分散情報群を表す連立方程式を生成し、掃き出し法により展開することで、各係数情報についての方程式群を生成して、各係数情報を算出しているが、このような数学的な処理の手順を本実施の形態では特に規定するものではない。閾値k個の分散情報群から同じく閾値k個の係数情報群を算出できればよく、例えば、閾値kから自明に求まる方程式群を予め情報記憶部270から取得し、各係数情報を算出する方法などが考えられる。以下は、閾値k=3の場合に入力された分散情報群を(a,Wa),(b,Wb),(c,Wc)とした場合の自明な方程式群の例である。
【0066】
={−bc(b−c)W−ca(c−a)W−ab(a−b)W
/(a−b)(b−c)(c−a) (mod FB)
={(b+c)(b−c)W+(c+a)(c−a)W+(a+b)(a−b)W
/(a−b)(b−c)(c−a) (mod FB)
={−(b−c)W−(c−a)W−(a−b)W
/(a−b)(b−c)(c−a) (mod FB)
上記の方程式群に、(2,CC),(3,DD)(4,B9)を代入すると、正しく各係数情報を算出でき、連立方程式を解くよりも高速に処理できる。
【0067】
=6W−8W+3W=0B (mod FB)
=(−7W+12W−5W)/2=18 (mod FB)
=(W−2W+W)/2=63 (mod FB)
ステップ205) 次に、秘密情報復元部250は、閾値k、分割数d、素数Pと係数情報復元部240において算出した各係数情報Fから、分割情報S(1≦t≦d)を算出するための復元関数を生成し、d個の分割情報Sを算出する。本実施の形態では、閾値k=3、分割数d=2、素数P=FBと、係数情報群F=0B,F=18,F=63から、秘密情報復元部250は、次のような連立方程式を内部メモリ(図示せず)上に生成する。
【0068】
=S+S+R=0B (mod FB)
=S+2S+4R=18 (mod FB)
=S+3S+9R=63 (mod FB)
次に、秘密情報復元部250は、この連立方程式から計算により分割情報S,Sを求める。連立方程式を掃き出し法により展開すると、各分割情報についての方程式群が生成でき、各分割情報が算出できる。
【0069】
=3F−3F+F=3C
=(−5F+8F−3F)/2=AB (mod FB)
このように算出した分割情報S,Sを情報記憶部270または内部メモリ(図示せず)などに一時的に記憶する。本実施の形態では、計算結果はそれぞれS=3C,S=ABであり、正しい分割情報が得られていることが分かる。図11に、秘密情報復元部250における秘密情報の計算例を示す。
【0070】
なお、本実施の形態では、秘密情報復元部250において、係数情報群を表す連立方程式を生成し、掃き出し法により展開することで、各分割情報についての方程式群を生成して、各分割情報を算出しているが、このような数学的な処理の手順を実施の形態では特に規定するものではない。閾値k個の係数情報群から分割数d個の分割情報群を算出できればよく、例えば、上記のような自明な方程式群を予め情報記憶部270から取得し、各分割情報を算出するなどの方法などが考えられる。
【0071】
また、本実施の形態は、係数情報F,F,Fを分散関数f(x)に順次情報番号x=1,2,3を代入した連立方程式を生成した上で、分割情報S,Sを算出したが、係数情報F,F,Fが異なる情報番号としてx=1,3,5を代入して計算されている場合には、同様に分散関数f(x)にx=1,3,5を代入した連立方程式を生成して算出するものとする。このような係数情報群を算出するための情報番号群については外部から参照できないように秘密情報復元装置200内に予め格納されているものとする。また、無作為に生成した情報番号群が実際の係数情報Fに含まれている場合には、これを分割して用いるようにすることも考えられる。
【0072】
ステップ206) 秘密情報出力部260は、秘密情報復元部250において算出したd個の分割情報群を結合し、秘密情報Sとして出力する。本実施の形態では、S=3C,S=ABから、結合すればS=3CABであり、正しい秘密情報が得られていることが分かる。
【0073】
なお、本実施の形態は、秘密情報出力部260における秘密情報の出力の方法及び形式を規定するものではない。画面出力やファイル出力の他に、インターネットなどの接続回線を介して他の装置に出力するようにしてもよい。また、分類情報群を結合して秘密情報Sとして出力するのではなく、個々の分割情報群をそれぞれ出力しても構わない。
【0074】
本実施の形態では、分散情報入力部230において閾値k個の分散情報の入力を受け付けるものとしたが、仮に分割情報入力部230が復元に必要な個数よりも少ない数の分散情報Wと情報番号iの入力を受け付けたとしても、係数情報復元部240において生成する連立方程式の数は不足しており、各係数情報Fの関係式を得ることはできるが、計算により各係数情報群を求めることはできない。
【0075】
例えば、閾値k=3の時に、2個の分散情報を仮にW=f(a)、W(b)とした場合、その分散情報群を表す連立方程式は次のようになる。
【0076】
=f(a)=F+aF+a (mod P)
=f(a)=F+aF+a (mod P)
連立方程式の数が閾値k=3よりも少ないため、これらの連立方程式からは係数情報FとF,FとF、FとFについての次のような関係式しか得ることができない。
【0077】
(b+a)F+baF=(b−a)/(b−a) (mod P)
−baF=(bW−aW)/(b−a) (mod P)
+(a+b)F=(W−W)/(a−b) (mod P)
このように、入力された分散情報の数が閾値kよりも少ない場合には、係数情報復元部240において係数情報F,F,Fを求めることができず、よって秘密情報復元部240において、分割情報群S,Sを求めることもできない。従って、秘密情報Sが復元されることはない。
【0078】
以上のように、第1の実施の形態における秘密情報分散装置100により秘密情報Sから生成した分散情報については、第2の実施の形態における秘密情報復元装置200において、個々の分散情報Wの大きさは秘密情報Sのd分の1であって、n個の分散情報のうち、閾値k個の任意の分散情報を持ち寄れば、k個の係数情報Fを復元でき、よって全ての分割情報Sを復元して、秘密情報Sを完全に復元することができる。
【0079】
一方、k個未満の分散情報からは係数情報Fを復元できないため、分割情報S,S,…,Sが一切求められず、秘密情報Sを復元することはできない。
【0080】
[第3の実施の形態]
《秘密情報分散装置》
図12は、本発明の第3の実施の形態における秘密情報分散装置の構成を示す。
【0081】
同図に示す秘密情報分散装置1000は、当該秘密情報分散装置1000における秘密情報分散処理の処理を制御する分散制御部1100、秘密情報を分散するための条件の入力を受け付ける分散条件入力部1200、分散符号化の対象とする秘密情報の入力を受け付ける秘密情報入力部1300、複数個に分割した秘密情報と乱数を係数とする多項式関数によって係数情報を算出し、算出した係数情報と複数個に分割した秘密情報と乱数を係数とする多項式関数によって、繰り返し複数個の係数情報を算出する係数情報計算部1400、係数情報計算部1400で算出した複数個の係数情報を係数とする多項式関数によって任意の個数の分散情報を算出する分散情報計算部1500、算出した分散情報群を出力する分散情報出力部1600、入力された条件、秘密情報、計算結果等を記憶する情報記憶部1700から構成される。
【0082】
以下では、秘密情報Sを2個の分割情報S,Sに分割した上で、4個の分散情報に分散するものとして、4個の内、任意の3個の分散情報を持ち寄れば秘密情報Sを完全に復元でき、2個乃至1個の分散情報からは秘密情報Sを一切推測できないように、秘密情報Sの分散情報を生成する秘密情報分散処理について説明する。
【0083】
図13は、本発明の第3の実施の形態における秘密情報分散装置の動作説明図である。
【0084】
ステップ1101) 分散条件入力部1200において、分散条件の入力を受け付ける。入力された分散条件は、例えば、生成する分散情報の個数として分散数n、秘密情報Sの復元を可能とする分散情報の個数として閾値k、秘密情報を分割する個数としての分割数dとする。例えば、本実施の形態では、4個の分散情報を生成することから分散数n=4、3個の分散情報で完全な復元を許すことから閾値k=3、また、秘密情報Sを2個の分割情報に分割することから分割数d=2が入力されたものとする。入力された分散条件は、情報記憶部1700や内部メモリ(図示せず)などに一時的に記憶するものとする。また、このような分散条件は入力を受け付けるのではなく、所定の分散条件として情報記憶部1700などに予め記憶しておいてもよい。
【0085】
ステップ1102) 次に、秘密情報入力部1300は、分散の対象とする秘密情報Sの入力を受け付ける。本実施の形態では、秘密情報Sとして4桁の16進文字列S=3CABが入力されたものとする。秘密情報入力部1300は、既に入力された分散条件の分割数d=2に従って、秘密情報Sを2個の分割情報に分割して、情報記憶部1700や内部メモリ(図示せず)などに一時的に記憶する。本実施の形態における分割情報をS=3C,S=ABとする。
【0086】
なお、本実施の形態では、分散条件入力部1200において分散条件として閾値kと分割数dの入力を受け付け、秘密情報入力部1300において秘密情報Sの入力を受け付けてd個の分割情報に分割するものとしたが、予めd個に分割した分割情報S,S,…,Sの入力を受け付けて分散数dを求めるようにしても構わない。また、本実施の形態では秘密情報Sに対する分割情報を秘密情報Sの上位2桁と下位2桁で分割しているが、本発明は、秘密情報Sの分割方法を規定するものではなく、例えば、奇数ビットと偶数ビットのようにビット単位で分割しても構わないし、分割情報SとSの積が秘密情報Sとなるように分割するなどの方法も考えられる。
【0087】
さらに、本実施の形態は、分散の対象とする秘密情報Sを16進文字列に限定するものではなく、また、単なる文字列に限定するものでもない。数値情報、文字列などの分散関数による演算が可能であれば、どのような情報でもよく、また、文書や画像データなどのマルチメディアなども対象としてもよい。
【0088】
また、本実施の形態は、分散条件及び秘密情報の入力の方法及び形式を規定するものではない。キーボード入力やファイル入力の他に、インターネットなどの接続回線を介して他の装置から入力するようにしても構わない。
【0089】
ステップ1103) 次に、係数情報計算部1400において、閾値kと分割数d及び分割情報に基づいて、係数情報Fを算出するための分散関数を生成し、k個の係数情報Fを算出する。
【0090】
まず、各分割情報Sよりも大きな素数Pを決定し、素数Pよりも小さく0でない乱数Rを(k−d)個生成し、k−1次の多項式である分散関数f(x)を生成する。本実施の形態における分散関数f(x)を以下のように定義する。
【0091】
【数2】

また、本分散関数f(x)による係数情報Fの算出式を以下のようにする。
【0092】
=f(Fi−1
従って、本実施の形態では、閾値k=3、分割数d=2より、S=Rとして、以下のような分散関数f(x)により係数情報Fが算出される。
【0093】
=f(x)=S+Fi−1・x+Fi−1・R (mod P)
本実施の形態では、係数情報計算部1400において、素数Pや乱数Rの値などを決定しているが、これらの値について分散条件入力部1200において入力するようにしても構わない。また、特に、素数Pについては秘密情報Sあるいは分割情報Sの長さなどに応じて予め情報記憶部1700に記憶した素数Pを選択して用いるようにしてもよい。
【0094】
ステップ1104) 次に、係数情報計算部1400は、上記の分散関数f(x)を使ってk個の係数情報を生成する。本実施の形態では、初期係数情報F=1とおくものとして、閾値k=3、分割情報S=3C、S=AB及びR=1Fと素数P=FBより、まず、係数情報Fを算出する。算出の結果、F=0Bとなる。
【0095】
次いで、順次係数情報の算出結果を用いて、繰り返し演算し、係数情報F=AA,F3=5Fを得る。算出した係数情報F,F,Fは、情報記憶部1700または、内部メモリ(図示せず)などに一時的に記憶する。図14に係数情報計算部1400における係数情報の計算例を示す。
【0096】
なお、係数情報計算部1400において生成するk個の係数情報については、値の重複がないようにしなければならない。例えば、本実施の形態においては、初期係数情報F=1からF≠1でなければならず、同様にF≠1,0Bで、F≠1,0B,AAでなければならない。係数情報計算部1400はこのような値の重複をチェックし、重複があった場合には再度乱数Rの再生成と、係数情報の再生成を行う。
【0097】
ステップ1105) 次に、分散情報計算部1500は、閾値kと分散数n及び係数情報に基づいて、分散情報Wを算出するための分散関数を生成し、n個の分散情報Wを算出する。係数情報計算部1400において求めた素数P及び係数情報Fより、k−1次の多項式である分散関数g(x)を生成する。本実施の形態では、閾値k=3より、以下のような多項式が分散関数g(x)となる。
【0098】
g(x)=F+F・x+F・x (mod P)
分散情報計算部1500は、上記の分散関数g(x)を使って、n個の分散情報Wを生成する。ここでは、分散数n=4より、分散関数g(x)に対し、x=1,2,3,4を順次代入してW=g(x)を計算し、分散情報W,W,W,Wを算出して情報記憶部1700または、内部メモリ(図示せず)などに一時的に記憶する。本実施の形態では、係数情報F=0B,F=AA,F=5Fより、分散情報はそれぞれW=19,W=E5,W=79,W=CBを得る。図15に分散情報計算部1500における分散情報の計算例を示す。
【0099】
なお、本実施の形態において、分散関数g(x)から分散情報を算出する際のxの値を10進数の数字により記述しているが、可能なxの値を10進数の数字に規定するものではない。分散関数f(x)に則って分散情報を算出できればよく、例えば、16進数であったり、文字列であったりしても構わない。また、係数情報計算部1400における分散関数f(x)と、分散情報計算部1500における分散関数g(x)とで、同じ素数Pの値を使用するものとして記述しているが、分散関数g(x)における素数Pを分散関数f(x)における素数Pよりも大きな値としてもよい。
【0100】
ステップ1106) 分散情報出力部1600は、分散情報計算部1500において生成した分散情報を、分散情報を算出したxの値(以下、情報番号)とを組にして出力する。本実施の形態における出力は、(1,19),(2,E5),(3,79),(4,CB)となる。
【0101】
なお、本実施の形態は、分散情報の出力の方法及び形式を規定するものではない。画面出力やファイル出力の他に、インターネットなどの接続回線を介して他の装置に出力するようにしてもよい。但し、個々の分散情報を別個に出力することが望ましい。また、分散情報は直接各分散情報保持者または、各分散情報保持装置に出力するようにし、出力の際に個々の保持者乃至は装置に合わせて暗号化するなどの手段も考えることもできる。
【0102】
また、本実施の形態では、情報番号iと分散情報Wの組を出力するものとしたが、個々の分散情報が分散関数g(x)に何を代入して算出したものかが分かればよく、例えば、iとWを連結して119,2E5,379,4CBのように出力してもよいし、また例えば、出力先によって情報番号iが予め指定されている場合は分散情報Wのみを出力するようにしてもよい。
【0103】
分散情報の出力をもって、秘密情報分散装置1000の動作は終了する。
【0104】
なお、本実施の形態は秘密分散法による分散処理を2回使用して秘密情報から係数情報の算出と分散情報の算出をそれぞれ行ったが、本発明は、複数回の秘密分散法による分散処理を連結して繰り返すことで秘密情報の推測ができないように分散情報を算出できればよく、本実施の形態の構成に制限されない。
【0105】
《秘密情報復元装置》
次に、秘密情報の復元について説明する。
【0106】
以下、本実施の形態により生成した分散情報から、分割情報S及びS、更に秘密情報Sを復元する場合について説明する。
【0107】
図16は、本発明の第1の実施の形態における秘密情報復元装置の構成を示す。
【0108】
同図に示す秘密情報復元装置2000は、秘密情報復元装置2000における秘密情報の復元処理の各過程の制御を行う復元制御部2100、復元条件の入力を受け付ける復元条件入力部2200、復元に必要な個数の分散情報と秘密情報の分割数、素数などの入力を受け付ける分散情報入力部2300、入力された複数個の分散情報群に対応する連立方程式を解くことにより複数個の係数情報を算出する係数情報復元部2400、係数情報復元部2400で算出された複数個の係数情報群に対応する連立方程式を解くことによって複数個の分割した秘密情報を算出して、秘密情報を復元する秘密情報復元部2500、算出した秘密情報を出力する秘密情報出力部2600、復元条件、分散情報と情報番号、秘密情報等を格納する情報記憶部2700から構成される。
【0109】
図17は、本発明の第1の実施の形態における秘密情報復元装置の動作説明図である。
【0110】
ステップ2101) 復元条件入力部2100は、復元条件の入力を受け付ける。受け付ける復元条件は、例えば、秘密情報Sの復元に必要な分散情報の個数として閾値k、秘密情報の分割数d、素数Pなどとする。例えば、本実施の形態では、3個の分散情報で完全な復元を許すことから閾値k=3、また、秘密情報Sを2個の分割情報に分割したことから分割数d=2、素数PとしてP=FBが入力されたものとする。入力された復元条件は、情報記憶部2700や内部メモリ(図示せず)などに一時的に記憶するものとする。
【0111】
また、このような復元条件は、入力を受け付けるものではなく、所定の復元条件として情報記憶部2700などに予め記憶しておいてもよい。
【0112】
ステップ2102) 次に、分散情報入力部2300は、復元に必要な個数の分散情報Wiと情報番号iの入力を受け付ける。本実施の形態では、3個の分散情報として(2,E5),(3,79),(4,CB)が入力されたものとする。入力された分散情報は、情報記憶部2700や内部メモリ(図示せず)などに一時的に記憶する。
【0113】
なお、本実施の形態では、分散情報Wと情報番号iの入力を受け付けるものとしたが、予め情報番号iが分かっている場合、例えば、入力元毎に決まっている場合は、分散情報Wのみを受け付けるようにしてもよい。
【0114】
また、入力元の情報に合わせて情報記憶部2700より入力元に対応する情報番号を取得するようにしてもよい。
【0115】
なお、本実施の形態は、復元条件及び分散情報の入力の方法及び形式を規定するものではない。キーボード入力やファイル入力の他に、インターネットなどの接続回線を介して複数の他の装置から入力するようにしても構わない。
【0116】
ステップ2103) 次に、情報係数復元部2400において、閾値kと素数P、入力された情報番号及び分散情報群から、係数情報Fを算出するための復元関数を生成し、k個の係数情報Fを算出する。本実施の形態では、入力された閾値k=3、素数P=FB、分散情報群(2,E5),(3,79),(4,CB)から、係数情報復元部2400は、次のような連立方程式を内部メモリ(図示せず)上に生成する。
【0117】
=F+2F+4F=E5(mod FB)
=F+3F+9F=79 (mod FB)
=F+4F+16F=CB (mod FB)
次に、係数情報復元部2400は、この連立方程式から計算により係数情報F,F,Fを求める。連立方程式を掃き出し法により展開すると、各係数情報についての方程式群が生成でき、各係数情報が算出できる。
【0118】
=6W−8W+3W=0B (mod FB)
=(−7W+12W−5W)/2=AA (mod FB)
=(W−2W+W)/2=5F (mod FB)
このように算出した係数情報F,F,Fをそれぞれ情報記憶部2700または、内部メモリ(図示せず)などに一時的に記憶する。本実施の形態では、計算結果はそれぞれ、F=0B,F=AA,F=5Fであり、正しい係数情報が得られていることが分かる。図18に、係数情報復元部2400における係数情報の計算例を示す。
【0119】
なお、異なる分散情報の集合として(1,19),(3,79),(4,CB)が入力された場合でも、同様に連立方程式を生成して掃き出し法により展開することで、各係数情報についての方程式が生成でき、各係数情報が算出できる。
【0120】
=F+F+F=19 (mod FB)
=F+3F+9F=79 (mod FB)
=F+4F+16F=CB (mod FB)
この連立方程式に対する展開結果及び計算情報の算出結果は以下のようになる。
【0121】
=2W−2W+W=0B (mod FB)
=(−7W+15W−8W)/6=AA (mod FB)
=(W−3W+2W)/6=5F (mod FB)
このように、分散情報入力部2300においてどのような組み合わせで分散情報Wが入力されても、閾値k個の分散情報があれば、係数情報復元部2400は、係数情報を全て正しく復元することができる。
【0122】
なお、本実施の形態では、係数情報復元部2400において分散情報群を表す連立方程式を生成し、掃き出し法により展開することで、各係数情報についての方程式群を生成して、各係数情報を算出しているが、このような数学的な処理の手順を本実施の形態では特に規定するものではない。閾値k個の分散情報群から同じく閾値k個の係数情報群を算出できればよく、例えば、閾値kから自明に求まる方程式群を予め情報記憶部2700から取得し、各係数情報を算出する方法などが考えられる。
【0123】
以下は、閾値k=3の場合に入力された分散情報群を(a,W),(b,W),(c,W)とした場合の自明な方程式群の例である。
【0124】
={−bc(b−c)W−ca(c−a)W−ab(a−b)W
/(a−b)(b−c)(c−a) (mod FB)
={(b+c)(b−c)W+(c+a)(c−a)W+(a+b)(a−b)W
/(a−b)(b−c)(c−a) (mod FB)
={−(b−c)W−(c−a)W−(a−b)Wc}
/(a−b)(b−c)(c−a) (mod FB)
上記の方程式群に(2,E5),(3,79),(4,CB)を代入すると、正しく各係数情報を算出でき、連立方程式を解くよりも高速に処理できる。
【0125】
=6W−8W+3W=0B (mod FB)
=(−7W+12W−5W)/2=AA (mod FB)
=(W+2W+W)/2=5F (mod FB)
ステップ2104) 次に、秘密情報復元部2500は、閾値k、分割数d、素数Pと前述の係数情報復元部2400において算出した各係数情報Fから、分割情報S(1≦t≦d)を算出するための復元関数を生成し、d個の分割情報Sを算出する。本実施の形態では、閾値k=3、分割数d=2、素数P=Fより分散関数の形は、
f(x)=S+Fi−1・x+Fi−1・R (mod P)
であり、これと係数情報群F=0B,F=AA,F=5Fから、秘密情報復元部2500は、次のような連立方程式を内部メモリ(図示せず)上に生成する。
【0126】
=S+S+R=0B (mod FB)
=S+0B・S+(0B)・R=AA (mod FB)
=S+AA・S+(AA)・R=5F (mod FB)
ステップ2105) 次に、秘密情報復元部2500は、この連立方程式から計算により分割情報S,Sを求める。連立方程式を掃き出し法により展開すると、各分割情報が算出できる。
【0127】
【数3】

以上のように、S=3C,S=AB,R=1Fがそれぞれ算出結果となる。算出した分割情報S,Sは情報記憶部2700または、内部メモリ(図示せず)などに一時的に記憶する。
【0128】
なお、本実施の形態では、秘密情報復元部2500において、係数情報群を表す連立方程式を生成し、掃き出し法により展開することで、各分割情報を算出しているが、このような数学的な処理の手順を本実施の形態では特に規定するものではない。閾値k個の係数情報群から分割数d個の分割情報群を算出できればよく、例えば、閾値kから自明に求まる方程式群を予め情報記憶部2700から取得し、各分割情報を算出する方法などが考えられる。以下は、閾値k=3の場合に係数情報群を(1,F),(F,F),(F,F)としたときの自明な方程式群の例である。
【0129】
【数4】

この方程式に、係数情報群F=0B,F=AA,F=5Fと素数P=FBを代入すれば、同様に算出結果としてS=3C,S=ABが得られる。秘密情報分散装置1000において、秘密情報を2個に分割した分割情報はそれぞれS=3C,S=ABであり、計算により正しい分割情報が得られていることが分かる。図19に、後者の例による秘密情報復元部2500における秘密情報の計算例を示す。
【0130】
ステップ2106) 秘密情報出力部2600は、秘密情報復元部2500において算出したd個の分割情報群を結合し、秘密情報Sとして出力する。本実施の形態では、S=3C、S=ABから、結合すればS=3CABであり、正しい秘密情報が得られていることが分かる。
【0131】
なお、本実施の形態では、秘密情報出力部2600における秘密情報の出力の方法及び形式を規定するものではない。画面出力やファイル出力の他に、インターネットなどの接続回線を介して他の装置に出力するようにしてもよい。また、分割情報群を結合して秘密情報Sとして出力するのではなく、個々の分割情報群をそれぞれ出力しても構わない。
【0132】
本実施の形態では、分散情報入力部2300において、閾値k個の分散情報Wと情報番号iの入力を受け付けるものとしたが、仮に、分散情報入力部2300が復元に必要な個数よりも少ない数の分散情報Wと情報番号iの入力を受け付けたとしても、係数情報復元部2400において生成する連立方程式の数が不足しており、各係数情報Fの関係式を得ることができるが、計算により各係数情報群を求めることはできない。
【0133】
また、仮に、各係数情報Fの関係式を得たとしても、係数情報群はd個の分割情報群Sと乱数R、及び係数情報Fi−1からなるため、分割情報群Sを求める、あるいは、推測することはできない。
【0134】
例えば、閾値k=3の時に、2個の分散情報を仮にW=f(z),W=f(b)とした場合、その分散情報群を表す連立方程式は次のようになる。
【0135】
=f(a)=F+aF+a2F (mod P)
=f(b)=F+bF+b2F (mod P)
連立方程式の数が閾値k=3よりも少ないため、これらの連立方程式からは係数情報FとF、FとF、FとFについての次のような関係式しか得ることができない。
【0136】
(b+a)F+baF=(b−a)/(b−a) (mod P)
−baF=(bW−aW)/(b−a) (mod P)
+(a+b)F=(W−W)/(a−b) (mod P)
このように、入力された分散情報の数が閾値kよりも少ない場合には、係数情報復元部2400において係数情報F,F,Fを求めることができず、よって秘密情報復元部2500において、分割情報群S,Sを求めることもできない。従って、秘密情報Sが復元されることはない。
【0137】
なお、本実施の形態は秘密分散法による復元処理を2回使用して分散情報から係数情報の算出と秘密情報の算出をそれぞれ行ったが、本発明は複数回の秘密分散法による復元処理を連結して繰り返すことで閾値数の任意の分散情報の集合から秘密情報を算出できればよく、本実施の形態の構成に制限されない。
【0138】
以上のように、本実施の形態における秘密情報分散装置1000による秘密情報Sから生成した分散情報については、個々の分散情報Wの大きさは秘密情報Sのd分の1であって、n個の分散情報の内、閾値k個の任意の分散情報を持ち寄れば、k個の係数情報Fを復元でき、よって全ての分散情報Sを復元して、秘密情報Sを完全に復元することができる。一方、k個未満の分散情報からは係数情報Fを復元できないため、分散情報S,S,…,Sが求められず、秘密情報Sを復元することはできない。
【0139】
[第4の実施の形態]
本実施の形態では、第3の実施の形態における係数情報計算部1400における係数情報Fの算出方法を変えることで、計算を簡略化する例を説明する。本実施の形態の秘密情報分散装置1000、秘密情報復元装置2000の構成は、前述の第3の実施の形態と同様である。また、動作については、以下の説明以外については、第3の実施の形態と同様である。
【0140】
例えば秘密情報分散装置1000において、係数情報計算部1400における係数情報Fの算出式を以下ようにする。
【0141】
=S+Fi−1+iR (mod P)
上記の算出式に、分割情報S=3C,S=AB,乱数R=1F及び素数P=FB(251)を代入して、係数情報F,F,Fを順次算出する。本実施の形態では、初期係数情報F=1とおくものとすると、係数情報F=0Bとなる。次いで、順次係数情報算出結果を用いて、繰り返し演算し、係数情報F=F6,F=33を得る。図20に本実施の形態での係数情報計算部1400における係数情報の計算例を示す。
【0142】
これに伴って、秘密情報復元装置2000において、秘密情報復元部2500における計算も簡略化することができる。
【0143】
例えば、本実施の形態では、閾値k=3、分割数d=2、素数P=FBと、係数情報群F=0B,F=F6,F=33から、秘密情報復元部2500は、次のような連立方程式を内部メモリ(図示せず)上に生成する。
【0144】
=S+S+R=0B (mod FB)
=S+0B・S+2・R=F6 (mod FB)
=S+F6・S+3・R=33 (mod FB)
秘密情報復元部2500は、この連立方程式を掃き出し法により展開し、分割情報S,Sを求める。
【0145】
【数5】

以上のように、S=3C,S=AB,R=1Fがそれぞれ算出結果となる。
【0146】
なお、閾値kから自明に求まる方程式群を使って各分割情報を算出する場合、式は以下のようになり、計算が簡略化される。
【0147】
【数6】

この方程式に、係数情報群F=0B、F=F6,F=33と素数P=FBを代入すれば、同様に算出結果として正しい分割情報S=3C,S=ABが得られる。図21に、後者の例による秘密情報復元部2500における秘密情報の計算例を示す。
【0148】
[第5の実施の形態]
本実施の形態では、前述の第3の実施の形態における係数情報計算部1400における係数情報Fの算出方法を変えることで、計算を簡略化することができる例を説明する。本実施の形態の秘密情報分散装置1000、秘密情報復元装置2000の構成は、前述の第3の実施の形態と同様である。また、動作については、以下の説明以外については、第3の実施の形態と同様である。
【0149】
例えば秘密情報分散装置1000において、係数情報計算部1400における係数情報Fの算出式を閾値kに対して以下のように定義する。
【0150】
【数7】

従って、本実施の形態の場合、閾値k=3に対し、S=Rとして、以下の算出式を用いる。
【0151】
【数8】

上記の算出式に、分割情報S=3C,S=AB,乱数R=1F及び素数P=FB(251)を代入して、係数情報F,F,Fを順次算出する。本実施の形態では、係数情報F=0Bとなり、次いで係数情報Fを用いて繰り返し演算し、係数情報F=D7,F=46を得る。図22に本実施の形態における係数情報計算部1400の係数情報の計算例を示す。
【0152】
これに伴って、秘密情報復元装置2000において、秘密情報復元部2500における計算も簡略化することができる。例えば、本実施の形態では、閾値k=3、分割数d=2、素数P=FBと、係数情報群F=0B,F=D7,F=46から、秘密情報復元部2500は、次のような連立方程式を内部メモリ(図示せず)上に生成する。
【0153】
=S+S+R=0B (mod FB)
=S+0B・S+R=D7 (mod FB)
=S+S+0B・R=46 (mod FB)
秘密情報復元部2500は、この連立方程式を掃き出し法により展開し、分割情報S,Sを求める。
【0154】
【数9】

以上のように、S=3C,S=AB,R=1Fがそれぞれ算出結果となる。
【0155】
なお、閾値kから自明に求まる方程式群を使って各分割情報を算出する場合は、式は以下のようになり、更に計算が簡略化される。
【0156】
【数10】

この方程式は、係数情報群F=0B,F=F6,F=33と素数P=FBを代入すれば、同様に算出結果として正しい分割情報S=3C,S=ABが得られる。図23に後者の例による秘密情報復元部2500における秘密情報の計算例を示す。
【0157】
[第6の実施の形態]
本実施の形態は、第1の実施の形態の係数情報計算部140または、第3の実施の形態の係数情報計算部1400における係数情報Fの算出方法を変えることで、分割情報群Sの推測を更に困難にすることができる。以下では、第1の実施の形態の秘密情報分散装置100及び秘密情報復元装置200を用いて説明する。
【0158】
例えば、秘密情報分散装置100の係数情報計算部140における係数情報Fの算出式を以下のようにする。
【0159】
=S+S+R (mod P)
=f(Fi−2 xor Fi−1
=S+(Fi−2 xor Fi−1)S+(Fi−2 xor Fi−1・R (mod P)
(i≧2)
ここで、式中のxorは排他的論理和を表す二項演算子とし、前後の値を2進数すなわちビット値で表現した上で、各ビットの位置ごとにビット値が同じ、すなわち、0と0、1と1であれば0を、ビット値が違う、すなわち、0と1,1と0であれば1を、演算結果のビット値とする演算方法を示すものとする。例えば、
8(1000)xor 3(0011)=11(1011)、
9(1001)xor 3(0011)=10(1010)
となる。
【0160】
上記の算出式に、分割情報S=3C,S=AB,乱数R=1F及び素数P=FB(251)を代入して、係数情報F,F,Fを順次算出する。算出したFが0または1または既に算出したF(j<i)と一致する場合には、乱数Rを再度求めて、計算をやり直す。本実施の形態では、係数情報F=0Bとなる。初期係数情報F=1とおくものとして、順次係数情報の算出結果を用いて繰り返し演算すると、係数情報F=f(1xorF)=65,F=f(FxorF)=97を得る。
【0161】
なお、本実施の形態における係数情報の計算時に、分散関数f(x)にFi−2xorFi−1を代入するものとしたが、本実施の形態は代入する値をこれに限定するものではない。既に生成した全ての係数情報の排他的論理和を計算して代入してもよいし、直前に生成した係数情報Fi−1と何らかの秘密の定数との排他的論理和を計算して代入しても良い。また、排他的論理和に限る必要もなく、論理和や論理積などの演算子を用いてもよい。
【0162】
これに伴って、秘密情報復元装置200において、秘密情報復元部250における計算も排他的論理和を用いる。例えば、本実施の形態では、閾値k=3、分割数d=2、素数P=FBと、係数情報群F=0B,F=65,F=97から、秘密情報復元部250は、1xorF=0A,FxorF=6Eをそれぞれ計算し、次のような連立方程式を内部メモリ上に生成する。
【0163】
=S+S+R=0B(mod FB)
=S+0A・S+(0A)・R=65(mod FB)
=S+6E・S+(6E)・R=97(mod FB)
秘密情報復元部250は、この連立方程式を掃き出し法により展開し、分割情報S,Sを求める。
【0164】
【数11】

以上のように、S=3C、S=AB,R=1Fがそれぞれ算出結果となる。
【0165】
[第7の実施の形態]
本実施の形態では、第1の実施の形態の係数情報計算部140、第3の実施の形態の係数情報計算部1400における係数情報Fの算出方法を変えることで、分割情報群Sdの推測を更に困難する例を説明する。以下では、第1の実施の形態における秘密情報分散装置100、秘密情報復元装置200を対象として説明する。
【0166】
係数情報計算部140における係数情報Fの算出式を以下のようにする。
【0167】
【数12】

上記の算出式に、分割情報S=3C,S=AB,乱数R=1F及び素数P=FB(251)を代入して、係数情報F,F,Fを順次算出する。算出したFが0または1または既に算出したF(j<i)と一致する場合には、乱数Rを再度求めて、計算をやり直す。本実施の形態では、係数情報F=0Bとなる。順次係数情報の算出結果を用いて繰り返し演算すると、係数情報F=f(2F1)=19,F=f(2F2)=ABを得る。
【0168】
なお、本実施の形態における係数情報の計算時に、分散関数f(x)に
【0169】
【数13】

を代入するものとしたが、本実施の形態は代入する値をこれに限定するものではない。既に生成した全ての係数情報を指数として演算した値を代入してもよいし、直前に生成した係数情報Fi−1と何らかの秘密の定数との和あるいは積を指数として演算して代入してもよい。
【0170】
これに伴って、秘密情報復元装置200において、秘密情報復元部250における計算も指数演算を用いる。例えば、本実施の形態では、閾値k=3、分割数d=2、素数P=FBと、係数情報群F=0B,F=19,F=ABから、秘密情報復元部250は、20B≡28,219≡FA(mod P)をそれぞれ計算し、次のような連立方程式を内部メモリ上に生成する。
【0171】
=S+S+R=0B (mod FB)
=S+28・S+(28)・R=19 (mod FB)
=S+FA・S+(FA)・R=AB (mod FB)
秘密情報復元部250は、この連立方程式を掃き出し法により展開し、分割情報S,Sを求める。
【0172】
【数14】

以上のように、S=3C,S=AB,R=1Fがそれぞれ算出結果となる。
【0173】
また、上記の各実施の形態における秘密情報分散装置及び秘密情報復元装置の各構成要素の動作をプログラムとして構築し、秘密情報分散装置及び秘密情報復元装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることも可能である。
【0174】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【産業上の利用可能性】
【0175】
本発明は、ネットワーク上で取り扱われる各種情報のセキュリティ技術に適用可能である。
【図面の簡単な説明】
【0176】
【図1】本発明の原理を説明するための図である。
【図2】本発明の原理構成図である。
【図3】本発明の概要を説明するための図である。
【図4】本発明の第1の実施の形態における秘密情報分散装置の構成図である。
【図5】本発明の第1の実施の形態における秘密情報分散装置の動作説明図である。
【図6】本発明の第1の実施の形態における係数情報計算部の係数情報の計算例である。
【図7】本発明の第1の実施の形態における分散情報計算部の分散情報の計算例である。
【図8】本発明の第2の実施の形態における秘密情報復元装置の構成図である。
【図9】本発明の第2の実施の形態における秘密情報復元装置の動作説明図である。
【図10】本発明の第2の実施の形態における係数情報復元部の係数情報の計算例である。
【図11】本発明の第2の実施の形態における秘密情報復元部の秘密情報の計算例である。
【図12】本発明の第3の実施の形態における秘密情報分散装置の構成図である。
【図13】本発明の第3の実施の形態における秘密情報分散装置の動作説明図である。
【図14】本発明の第3の実施の形態における係数情報計算部の係数情報の計算例である。
【図15】本発明の第3の実施の形態における分散情報計算部の分散情報の計算例である。
【図16】本発明の第3の実施の形態における秘密情報復元装置の構成図である。
【図17】本発明の第3の実施の形態における秘密情報復元装置の動作説明図である。
【図18】本発明の第3の実施の形態における係数情報復元部の係数情報の計算例である。
【図19】本発明の第3の実施の形態における秘密情報復元部の秘密情報の計算例である。
【図20】本発明の第4の実施の形態における係数情報計算部の係数情報の計算例である。
【図21】本発明の第4の実施の形態における秘密情報復元部の秘密情報の計算例である。
【図22】本発明の第5の実施の形態における係数情報計算部の係数情報の計算例である。
【図23】本発明の第5の実施の形態における秘密情報復元部の秘密情報の計算例である。
【符号の説明】
【0177】
100,1000 秘密情報分散装置
110,1100 分散制御部
120,1200 分散条件入力手段、分散条件入力部
130,1300 秘密情報入力手段、秘密情報入力部
140,1400 係数情報計算手段、係数情報計算部
150,1500 分散情報計算手段、分散情報計算部
160,1600 出力手段、分散情報出力部
170,1700 情報記憶部
200,2000 秘密情報復元装置
210,2100 復元制御部
220,2200 復元条件入力手段、復元条件入力部
230,2300 分散情報入力手段、分散情報入力部
240,2400 係数情報復元手段、係数情報復元部
250,2500 秘密情報復元手段、秘密情報復元部
260,2600 出力手段、秘密情報出力部
270,2700 情報記憶部

【特許請求の範囲】
【請求項1】
秘密情報を、元の秘密情報より小さい複数個の分散情報に分散符号化する秘密情報分散方法であって、
入力された前記秘密情報を分散するための分散条件を取得し、記憶手段に一時的に格納する分散条件入力ステップと、
入力された分散符号化の対象とする秘密情報を取得し、記憶手段に一時的に格納する秘密情報入力ステップと、
入力された前記秘密情報を前記分散条件に基づいて複数個に分割し、記憶手段に一時的に格納し、該記憶手段から読み出された分割された秘密情報と生成された乱数を係数とする多項式関数によって、複数個の係数情報を算出し、記憶手段に格納する係数情報計算ステップと、
前記複数個の係数情報を係数とする多項式関数によって任意の個数の、元の秘密情報より小さい分散情報を算出する分散情報計算ステップと、
算出された前記分散情報を記憶手段、出力装置、または、ネットワークに出力する出力ステップと、
を行うことを特徴とする秘密情報分散方法。
【請求項2】
前記係数情報計算ステップにおいて、
入力された前記秘密情報を前記分散条件に基づいて複数個に分割し、記憶手段に一時的に格納し、該記憶手段から読み出された分割された秘密情報と乱数を係数とする多項式関数によって係数情報を算出し、該係数情報と該分割された秘密情報と、乱数を係数とする多項式関数によって繰り返し複数個の係数情報を算出し、記憶手段に格納する
請求項1記載の秘密情報分散方法。
【請求項3】
元の秘密情報より小さい複数の分散情報から元の秘密情報を復元する秘密情報復元方法であって、
入力された前記元の秘密情報を復元するための復元条件を取得し、記憶手段に一時的に格納する復元条件入力ステップと、
入力された前記秘密情報の復元に必要な個数の分散情報群を取得し、記憶手段に一時的に格納する分散情報入力ステップと、
前記復元条件に基づいて、複数個の前記分散情報群に対応する連立方程式群を解くことによって複数個の係数情報を算出し、記憶手段に格納する係数情報復元ステップと、
前記複数個の係数情報群に対応する連立方程式を解くことによって複数個の分割した秘密情報を算出して、秘密情報を復元する秘密情報復元ステップと、
前記算出した秘密情報を記憶手段、出力装置または、ネットワークに出力する出力ステップと、
を行うことを特徴とする秘密情報復元方法。
【請求項4】
秘密情報を、元の秘密情報より小さい複数個の分散情報に分散符号化する秘密情報分散装置であって、
入力された前記秘密情報を分散するための分散条件を取得し、記憶手段に一時的に格納する分散条件入力手段と、
入力された分散符号化の対象とする秘密情報を取得し、記憶手段に一時的に格納する秘密情報入力手段と、
入力された前記秘密情報を前記分散条件に基づいて複数個に分割し、記憶手段に一時的に格納し、該記憶手段から読み出された分割された秘密情報と生成された乱数を係数とする多項式関数によって複数個の係数情報を算出し、記憶手段に格納する係数情報計算手段と、
前記複数個の係数情報を係数とする多項式関数によって任意の個数の、元の秘密情報より小さい分散情報を算出する分散情報計算手段と、
算出された前記分散情報を記憶手段、出力装置、または、ネットワークに出力する出力手段と、
を有することを特徴とする秘密情報分散装置。
【請求項5】
前記係数情報計算手段は、
入力された前記秘密情報を前記分散条件に基づいて複数個に分割し、記憶手段に一時的に格納し、該記憶手段から読み出された分割された秘密情報と乱数を係数とする多項式関数によって係数情報を算出し、該係数情報と該分割された秘密情報と、乱数を係数とする多項式関数によって繰り返し複数個の係数情報を算出し、記憶手段に格納する手段を含む請求項4記載の秘密情報分散装置。
【請求項6】
元の秘密情報より小さい複数の分散情報から元の秘密情報を復元する秘密情報復元装置であって、
入力された前記元の秘密情報を復元するための復元条件を取得し、記憶手段に一時的に格納する復元条件入力手段と、
入力された前記秘密情報の復元に必要な個数の分散情報群を取得し、記憶手段に一時的に格納する分散情報入力手段と、
前記復元条件に基づいて、複数個の前記分散情報群に対応する連立方程式群を解くことによって複数個の係数情報を算出し、記憶手段に格納する係数情報復元手段と、
前記複数個の係数情報群に対応する連立方程式を解くことによって複数個の分割した秘密情報を算出して、秘密情報を復元する秘密情報復元手段と、
前記算出した秘密情報を記憶手段、出力装置または、ネットワークに出力する出力手段と、
を有することを特徴とする秘密情報復元装置。
【請求項7】
秘密情報を、元の秘密情報より小さい複数個の分散情報に分散符号化する秘密情報分散プログラムであって、
コンピュータに、
入力された前記秘密情報を分散するための分散条件を取得し、記憶手段に一時的に格納する分散条件入力ステップと、
入力された分散符号化の対象とする秘密情報を取得し、記憶手段に一時的に格納する秘密情報入力ステップと、
入力された前記秘密情報を前記分散条件に基づいて複数個に分割し、記憶手段に一時的に格納し、該記憶手段から読み出された分割された秘密情報と生成された乱数を係数とする多項式関数によって複数個の係数情報を算出し、記憶手段に格納する係数情報計算ステップと、
前記複数個の係数情報を係数とする多項式関数によって任意の個数の、元の秘密情報より小さい分散情報を算出する分散情報計算ステップと、
算出された前記分散情報を記憶手段、出力装置、または、ネットワークに出力する出力ステップと、
を実行させることを特徴とする秘密情報分散プログラム。
【請求項8】
前記係数情報計算ステップにおいて、
入力された前記秘密情報を前記分散条件に基づいて複数個に分割し、記憶手段に一時的に格納し、該記憶手段から読み出された分割された秘密情報と乱数を係数とする多項式関数によって係数情報を算出し、該係数情報と該分割された秘密情報と、乱数を係数とする多項式関数によって繰り返し複数個の係数情報を算出し、記憶手段に格納する
請求項4記載の秘密情報分散プログラム。
【請求項9】
元の秘密情報より小さい複数の分散情報から元の秘密情報を復元する秘密情報復元プログラムであって、
コンピュータに、
入力された前記元の秘密情報を復元するための復元条件を取得し、記憶手段に一時的に格納する復元条件入力ステップと、
入力された前記秘密情報の復元に必要な個数の分散情報群を取得し、記憶手段に一時的に格納する分散情報入力ステップと、
前記復元条件に基づいて複数個の前記分散情報群に対応する連立方程式群を解くことによって複数個の係数情報を算出し、記憶手段に格納する係数情報復元ステップと、
前記複数個の係数情報群に対応する連立方程式を解くことによって複数個の分割した秘密情報を算出して、秘密情報を復元する秘密情報復元ステップと、
前記算出した秘密情報を記憶手段、出力装置または、ネットワークに出力する出力ステップと、
を実行させることを特徴とする秘密情報復元プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate


【公開番号】特開2007−124610(P2007−124610A)
【公開日】平成19年5月17日(2007.5.17)
【国際特許分類】
【出願番号】特願2006−126679(P2006−126679)
【出願日】平成18年4月28日(2006.4.28)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】