(57)【要約】      （修正有）【課題】元データを分散して保管する情報分散システムにおいて、分散情報のサイズを削減し、秘匿性を向上するとともに分散情報の保管サーバ（ストレージ）の２重故障に耐える強い可用性を実現する。【解決手段】（２、４）閾値情報分散法を用い、元データを指定数ｄ個の部分情報に分割し、各部分情報と同サイズの乱数を指定数ｍ個発生させ、これら部分情報と発生させた乱数を２グループに分類し、分類された部分情報と乱数のそれぞれの要素を並べて（ｄ＋ｍ）／２次元の基準ベクトルを２つ生成する。２つの基準ベクトルのそれぞれに異なった係数行列（０、１から成る正方行列）を掛けることで、各基準ベクトル内の要素間で所定の演算を行い、同じサイズの２つのベクトルを得たのち、それらの２つのベクトルを加算（ＸＯＲ）する。最終的に得られた（ｄ＋ｍ）／２サイズの分散情報ベクトルの各要素を、分散情報ベクトル毎に結合して分散情報を得る。【選択図】図１
2014235425.tif 000002
【特許請求の範囲】
【請求項１】
元データから４個の分散情報を生成し、そのうち２個の分散情報を用いて前記元データを復元する（２、４）閾値情報分散システムであって、
前記元データを分割してｄ個の部分情報を作成する部分情報生成手段と、
前記部分情報と同じサイズの乱数をｍ個生成する乱数生成手段と、
前記ｄ個の部分情報とｍ個の乱数を成分とする（ｄ＋ｍ）／２のサイズからなる第１及び第２基準ベクトルを生成する基準ベクトル生成手段と、
生成された前記第１及び第２基準ベクトルと予め準備した８個の係数行列により、前記第１基準ベクトルと前記係数行列との組み合わせ、前記第２基準ベクトルと前記係数行列との組み合わせによる行列演算（排他的論理和演算ＸＯＲ）と当該演算結果のベクトル間の和演算（排他的論理和演算ＸＯＲ）を行い、４個の（ｄ＋ｍ）／２サイズの分散情報ベクトルを生成する分散情報ベクトル生成手段と、
生成した前記４個の分散情報ベクトルのそれぞれに対し、その（ｄ＋ｍ）／２個の要素を接続して４個の前記分散情報を生成する分散情報生成手段と、
任意の２個の前記分散情報をもとにして前記元データを復元するデータ復元手段、
からなることを特徴とする情報分散システム。
【請求項２】
ｍはｄ以下、（ｄ＋ｍ）／２は２以上の整数である、
ことを特徴とする請求項１に記載の情報分散システム。
【請求項３】
前記係数行列は、０又は１のみを要素とする（ｄ＋ｍ）／２次元正方行列である、
ことを特徴とする請求項１又は２のいずれか１項に記載の情報分散システム。
【請求項４】
前記係数行列は、前記基準ベクトル内の要素の並び順に合わせて予め定義した複数のパターン、又は外部から任意に与える、
ことを特徴とする請求項１ないし３のいずれか１項に記載の情報分散システム。
【請求項５】
ｍが、２ｍ−１≧（ｄ＋ｍ）／２を満たす場合、ｍ個の乱数を組み合わせて新たな乱数として利用し、前記行列演算（排他的論理和演算ＸＯＲ）を行う、
ことを特徴とする請求項１ないし４のいずれか１項に記載の情報分散システム。
【請求項６】
請求項１ないし５のいずれか１項記載の情報分散システムを用いた情報分散ストレージシステムであって、
４個の情報分散ストレージ装置をネットワークで接続し、
前記情報分散ストレージ装置の稼働状態を監視する監視手段と、
分散情報がどこに保管されているかを管理する管理手段と、
分散情報を前記情報分散ストレージ装置内で相互保管する手段と、
前記監視手段によって前記情報分散ストレージ装置の一つが故障していることを検知した場合、直ちに別の前記情報分散ストレージ装置に切り替える手段と、
前記監視手段によって前記情報分散ストレージ装置の２つまでが故障していることを検知した場合、残りの情報分散ストレージ装置で運用継続する手段とを有し、
前記分散情報は、全ての前記情報分散ストレージ装置内に保管され、いずれの前記情報分散ストレージ装置でも元データに復元できる、
ことを特徴とする情報分散ストレージシステム。
【発明の詳細な説明】
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、分散情報のデータサイズとセキュリティ強度を乱数の量等によって調整可能な情報分散システム、及び当該情報分散システムを用いた情報分散ストレージシステムに関する。
【背景技術】
【０００２】  近年、データ通信網およびデータセンタの発展、大震災等の災害発生を契機として、重要なデータを秘匿化して広域に分散保管する技術が注目されている。秘密分散技術は、その用途として、秘匿性の高い大量ファイルのバックアップや少量の重要なデータのバックアップ（公開鍵暗号方式の秘密鍵の管理）等があるが、近年のデータセンタの普及とともに保管サービスに対するニーズが高まっている。【０００３】  （ｋ、ｎ）閾値秘密分散法はその代表的な手法であり、秘密に保管すべき元データをｎ個の分散情報として秘匿化し、任意のｋ個の分散情報をもとにして、元データを復元するものであり、情報の秘匿と紛失によるリスクを回避する手段として有効である。ネットワークを介した第三者による保管サービスでは、高い可用性と高い秘匿性ならびに低コスト運用を図るための技術が極めて重要である。従来の秘密分散技術では、可用性と秘匿性を追求した技術は提案されているが、低コストと両立するような技術の提案は充分でなかった。【０００４】  特許文献１では、分散数４で任意の２つの分散情報から元データを復元できる（２、４）閾値秘密分散法により、２重故障での可用性の確保と、演算量を少なくして秘密分散処理を効率化することが提案されている。２つまでの分散情報が消失またはサーバの故障等で利用できなくなっても、残りの２つで元データを復元でき安全性を確保するというものである。特許文献１では、元データを２個の部分情報に分割して、それぞれの部分情報と同一サイズの乱数要素を２個発生させ、各部分情報と乱数の組み合わせでそれぞれの排他的論理和演算を行い、演算結果で得られたものを２個ずつ連結して４個の分散情報を生成している。排他的論理和演算のみを用いるため、計算速度は速いが、分散情報のサイズが元データと同じであることから、保管するデータ量が全体で元データの４倍の大きさになり、保管コストがかかると言う問題がある。【０００５】  一方特許文献２には、同様に（ｋ、ｎ）閾値分散法を利用したシステムにおいて、分散情報のサイズに自由度を持たせる発明が提案されている。当該発明前では、元データを分割して部分情報を生成する際、分割数と同じ数の乱数要素（それぞれ部分情報と同一サイズ）を発生させ、部分情報の集合（第１群）と、乱数のみの集合（第２群）との間で集合要素の排他的論理和の組み合わせ演算を行い、演算結果で得られたもの（集合要素）を連結して分散情報を作成している。分散情報のサイズは、第１群の要素のサイズを加算したものと同等であるため、元データのサイズと同じであった。特許文献２に記載の発明は、元データの分割数を元の分割数よりも所定数だけ増やし、増やした個数分（指定数）の部分情報を第２群に移し、乱数と置き換えている。第１群の要素の個数と第２群の要素の個数は同一であるため、乱数の個数は置き換えられた分だけ減っていることになる。また、第１群に所属する部分情報のサイズおよび乱数のサイズは、分割数が増えた分だけ小さくなる。その後の処理は、従来同様に第１群（部分情報のみの集合）と第２群（残りの部分情報と乱数の集合）の間で、要素間の排他的論理和演算を行い、演算結果で得られたものを連結して分散情報を生成している。こ���発明は、分割数を増やし第２群に移す部分情報が増えるほど、分散情報のサイズは減っていくことになる。しかしながらこの方法を、本明細書で示す最も現実的な運用である（２、４）閾値秘密分散に適用した場合、分散情報の内部に原データ（秘密情報）の断片や、部分情報同士の排他的論理和を行っただけの断片（乱数との排他的論理和演算がされていない断片）が存在し、セキュリティ強度として好ましくないケースが出現する。例えば、部分情報同士の排他的論理和演算の場合、一方のデータがオールゼロのときにもう一方の原データが出現することになり、部分的な秘密漏洩の問題が存在する。【０００６】  また非特許文献１では、（ｋ、Ｌ、ｎ）ランプ型閾値秘密分散法を用いて（３、２、４）閾値分散を提案している。（ｋ、Ｌ、ｎ）ランプ型閾値秘密分散法とは、非特許文献２等の多くの文献に示されているとおり、分散情報のサイズを減らすための手法である。（ｋ、ｎ）閾値秘密分散法と同様に元データ（データ）をｎ個の分散情報として秘匿化し、そのうちｋ個を集めて元データに復元できるが、新たなパラメータＬを導入して、ｋ−Ｌ個の分散情報からは元データが復元できないがｋ−Ｌ＋１個からｋ−１個までを集めると何らかの元データに関する情報を得ることができるという手法である。非特許文献１では、元データを４つに分散し、そのうち３つの分散情報を集めれば、元データが完全に復元できる。Ｌ＝２を指定しているため、分散情報のサイズが元データのサイズの半分になる効果があり、分散情報が１個では元データが絶対に復元できず、２個集めると一部の情報を得ることができる。当該手法では、分散情報のサイズ抑制効果と処理速度向上に貢献しているものの、２重故障に耐えることができない。
【先行技術文献】
【０００７】
【特許文献１】特開２０１１−３５６１８号公報
【特許文献２】特開２００８−２６２０４０号公報
【特許文献３】特開２００９−３７０９３号公報
【特許文献４】特開２００４−２１３６５０号公報
【非特許文献１】松本勉、清藤武暢、鴨志田昭輝、新谷敏文、佐藤敦“セキュアデータ保管サービス向け高速秘密分散方式”ＳＣＩＳ２０１２、２０１２．
【非特許文献２】土井洋“秘密分散法とその応用について”情報セキュリティ総合科学第４巻、２０１２
【発明の概要】
【発明が解決しようとする課題】
【０００８】  本発明は、大量データの取り扱いを視野に入れ、低コスト性、高い可用性、高い秘匿性、高速性を満たすための手段を提案するものであり、以下の課題を同時に解決することができる。【０００９】（１）分散情報のサイズを小さくする。大規模ファイル群をバックアップする場合、分散情報のサイズが元データと同じ大きさでは、分散情報の数が増えるにしたがって大規模ストレージが必要となり、保管コストも増大する。
（２）分散情報の秘匿性を高める。分散情報の全ての断片に乱数との排他的論理和演算（ＸＯＲ）が入り、元データを推測できないようにする。特に、分散情報のネットワーク転送時に、コストの安い公衆回線を利用できるようにするためには、秘匿性を高めることが重要である。
（３）高速処理を実現する。大規模データを扱うためには、元データから分散情報の生成、および元データの復元の処理速度が遅いと高性能の計算処理装置が必要となり、コストがかかる。また、データ回線上を通るデータ量を落とさないと、回線ネックとなり、処理速度も落ちることになる。
（４）論理レベルで２重故障に対応する。万が一、複数の分散装置のいずれかが故障した場合でも（データの破壊、消失）、これを多重化して、連続運転ができるように可用性を高める必要がある。従来は、ストレージレベルでＲＡＩＤの機能やサーバのレプリケーション機能で対応しているが、既存の分散装置と併用するとコストが高くなるため、ＲＡＩＤを使用しないで論理レベルで２重故障に耐えるようにする。
【課題を解決するための手段】
【００１０】  本発明は、上記の課題を同時に解決するため、（２、４）閾値分散法を用いて、分散技術の優位点を保ちながら、実運用コストを下げる手段を提案するものである。【００１１】  本第一の発明は、元データから４個の分散情報を生成し、そのうち２個の分散情報を用いて前記元データを復元する（２、４）閾値情報分散システムであって、前記元データを分割してｄ個の部分情報を作成する部分情報生成手段と、前記部分情報と同じサイズの乱数をｍ個生成する乱数生成手段と、前記ｄ個の部分情報とｍ個の乱数を成分とする（ｄ＋ｍ）／２のサイズからなる第１及び第２基準ベクトルを生成する基準ベクトル生成手段と、生成された前記第１及び第２基準ベクトルと予め準備した８個の係数行列により、前記第１基準ベクトルと前記係数行列との組み合わせ、前記第２基準ベクトルと前記係数行列との組み合わせによる行列演算（排他的論理和演算ＸＯＲ）と当該演算結果のベクトル間の和演算（排他的論理和演算ＸＯＲ）を行い、４個の（ｄ＋ｍ）／２サイズの分散情報ベクトルを生成する分散情報ベクトル生成手段と、生成した前記４個の分散情報ベクトルのそれぞれに対し、その（ｄ＋ｍ）／２個の要素を接続して４個の前記分散情報を生成する分散情報生成手段と、任意の２個の前記分散情報をもとにして前記元データを復元するデータ復元手段、からなることを特徴とする。
また本第一の発明は、ｍはｄ以下、（ｄ＋ｍ）／２は２以上の整数である、ことを特徴とする。
また本第一の発明は、前記係数行列は、０又は１のみを要素とする（ｄ＋ｍ）／２次元正方行列である、ことを特徴とする。
また本第一の発明は、前記係数行列は、前記基準ベクトル内の要素の並び順に合わせて予め定義した複数のパターン、又は外部から任意に与える、ことを特徴とする。
更に本第一の発明は、ｍが、２ｍ−１≧（ｄ＋ｍ）／２を満たす場合、ｍ個の乱数を組み合わせて新たな乱数として利用し、前記行列演算（排他的論理和演算ＸＯＲ）を行う、ことを特徴とする。【００１２】  本第二の発明は、前記情報分散システムを用いた情報分散ストレージシステムであって、４個の情報分散ストレージ装置をネットワークで接続し、前記情報分散ストレージ装置の稼働状態を監視する監視手段と、分散情報がどこに保管されているかを管理する管理手段と、分散情報を前記情報分散ストレージ装置内で相互保管する手段と、前記監視手段によって１つの前記情報分散ストレージ装置が故障していることを検知した場合、直ちに別の前記情報分散ストレージ装置に切り替える手段と、前記監視手段によって２つまでの前記情報分散ストレージ装置が故障していることを検知した場合、残りの情報分散ストレージ装置で運用継続する手段とを有し、前記分散情報は、全ての前記情報分散ストレージ装置内に保管され、いずれの前記情報分散ストレージ装置でも元データに復元できる、ことを特徴とする
【発明の効果】
【００１３】  本第一の発明によれば、乱数の発生数ｍが可変であるため、分散情報のサイズを小さくしたい場合にはｍを小さくし、分散情報のサイズは大きくなるがセキュリティ強度をあげたい場合には、ｍを大きくしてｄに近づければ良い。乱数の量が可変であるため、分散情報の秘匿性の強度と分散情報のサイズ・処理速度のバランスを自由に変更することができる。すなわち、乱数を元データと同じだけ発生させると、分散情報のサイズは元データと同じになって処理時間はかかるものの、セキュリティ強度を最大とすることができる。一方、乱数の量を減らすと分散情報のサイズが減ることで処理速度を速くすることができる。【００１４】  また係数行列のパターンによって分散情報を作成するときの乱数と元データの排他的論理和演算の計算パターンを変更でき、これによってもセキュリティ強度を変更することができる。【００１５】  また乱数の発生数ｍを指定する際、２ｍ−１が（ｄ＋ｍ）／２に等しいか、又は大きくなる数字とした場合、ｍ個の乱数を組み合わせて新たな乱数として利用し、前記行列演算（排他的論理和演算ＸＯＲ）を行うため、分散情報の全ての断片に異なる乱数要素との排他的論理和演算が入るようにすることでき、分散情報の全ての断片に元データや元データのみの排他的論理和演算が出現しないため、分散情報に元データの断片が生データとして絶対に存在せず、分散情報はその全体を完全な乱数とみなすことができる。【００１６】  また、ｄに対するｍの数値を上記条件２ｍ−１が（ｄ＋ｍ）／２に等しいか大きいことを守りながら、ｍの数値を相対的に小さくすることで、セキュリティ強度を保ったまま、乱数の発生数が少なくすることや分散情報のサイズを減らすことができる。乱数に真正乱数を用いた場合、乱数発生コスト（処理時間等を含む）がかかるため、乱数の発生量が少ないことは、分散情報のサイズ減少によるディスク容量削減のみならず、システム全体の処理速度向上にも寄与する。【００１７】  本第二の発明によれば、分散情報の１つを情報分散ストレージ内の各情報分散ストレージ装置が保管しているため、復元のために足りない１つの分散情報のみをネットワークを通して入手すればよく、ネットワーク転送時間が減り、元データＳの復元時間が大幅に節約できる。
また、１つの情報分散ストレージシステムを、複数の顧客がシェアして使用でき、コストシェアができるため、実際の運用コストを下げることができる。例えば、４人の異なる顧客が、それぞれ専用の情報分散ストレージ装置を情報分散処理の入口として使用し、保管場所は残りの３つの情報分散ストレージ装置として使用すると、１つの情報分散ストレージシステムをシェアできることになり、各顧客が負担するコストを削減することができる。
【図面の簡単な説明】
【００１８】
【図１】実施例１における情報分散システムの構成図である。
【図２】元データから分散情報を生成する処理フロー図である。
【図３】元データの復元の処理フロー図である。
【図４】実施例２における情報分散ストレージシステムの構成図である。
【図５】端末から元データを入力する構成図である。
【図６】ネットワーク上の端末から元データを入力する構成図である。
【発明を実施するための最良の形態】
【００１９】  以下、本発明の実施形態について詳細に説明するが、まず本実施例で使用する記号について以下のとおり定義する。
2014235425.tif 000003
＋：加算演算子。部分情報や乱数要素間での＋演算はビット単位の排他的論理和
2014235425.tif 000004
Ｓｉ（ｉ＝１，２，３，．．．，ｄ）：
元データＳを示すビット列。Ｓ１，Ｓ２，Ｓ３，．．．，Ｓｄは、元データＳをｄ分割した各要素（ビット列）であり、それぞれが部分情報である。
Ｒｉ（ｉ＝１，２，３，．．．，ｍ）：
乱数要素を示すビット列。Ｒ１，Ｒ２，Ｒ３，．．．，Ｒｍは、部分情報と同一サイズの乱数要素（ビット列）である。
Ｖ１，Ｖ２：
基準ベクトル。部分情報と乱数要素を、それぞれ（ｄ＋ｍ）／２個ずつ並べたもの。本明細書では、乱数要素をＶ１のベクトルにまとめて解説する。
Ｗｉ：
分散情報ベクトル。部分分散情報を（ｄ＋ｍ）／２個並べたベクトルであり、各要素をビット結合すると分散情報データができる。ｉ＝１，２，３，４とすれば、４個の分散情報ができる。
Ｗ（ｉｕ）：
分散情報ベクトルＷｉを構成する要素であり、それぞれが部分分散情報
（ｕ＝１，２，３，．．．．，（ｄ＋ｍ）／２）である。
ＩおよびＩｉ：
単位行列。対角成分のみが１で他は全て０の正方行列である。
Ｋ（ｉ，ｊ）（ｉ＝１，２，３，４，，ｊ＝１，２）：
Ｗｉを生成するときの基準ベクトルＶ１，Ｖ２に対する係数行列。それぞれＫ（ｉ，１）Ｋ（ｉ，２）で示される。
2014235425.tif 000005
Ｗｉ，Ｗｊから基準ベクトルＶ１，Ｖ２を復元するときの係数行列。Ｋ（ｉ，１），Ｋ（ｉ，２）、Ｋ（ｊ，１），Ｋ（ｊ，２）を要素とする行列の逆行列要素である。
【実施例１】
【００２０】  図１は本願発明に係る情報分散システムの概要を示すブロック図であり、図２は処理のフロー概要を示す。本発明は、コスト面等から実運用に最も適している（２、４）閾値情報分散システムにより、元データＳを分散数４の分散情報に分散し、そのうちの任意の２つの分散情報から元データＳを復元するシステムに適用しているが、本アルゴリズムは、一般式で示す（ｋ、ｎ）閾値情報分散システムにも適用可能である。  この場合は、以降の「（ｄ＋ｍ）／２」が「（ｄ＋ｍ）／ｋ」に置き換わり、ｍは（ｄ＋ｍ）／ｋ以下で、（ｄ＋ｍ）／ｋが２以上の整数、かつ以下の基準ベクトル数がｋ個となり、かつ係数行列は（ｄ＋ｍ）／ｋサイズのものが各基準ベクトル毎にｎ個（合計ｋ×ｎ個）必要となる。【００２１】  図１、図２に示す通り、まず入力パラメータとして、秘密管理情報となる元データＳを部分情報に分割するための分割数ｄと、発生させる乱数要素の個数ｍを指定する。ｍはｄ以下、（ｄ＋ｍ）／２が２以上の整数であることが条件である（Ｓ１０１）。【００２２】  次に元データ分割手段１１により元データＳをｄ個の部分情報Ｓ１，Ｓ２，Ｓ３，．．．．，Ｓｄに等分割する（Ｓ１０２）。また乱数発生手段１２によりｍ個の乱数要素Ｒ１，Ｒ２，Ｒ３，．．．．，Ｒｍを生成する（Ｓ１０３）。発生させる各乱数要素のサイズ（ビット長）は、それぞれ１つの部分情報のサイズ（ビット長）と同じである。【００２３】  次に、基準ベクトル生成手段１３において、前記ｄ個の部分情報Ｓｉ（ｉ＝１，２，３，．．．，ｄ）とｍ個の乱数要素Ｒｉ（ｉ＝１，２，３，．．．，ｍ）を（ｄ＋ｍ）／２個ずつに分類し、分類したものを順に並べて、２つの基準ベクトルＶ１、Ｖ２を生成する（Ｓ１０４）。基準ベクトルＶ１、Ｖ２内の各要素の並べ方は、これ以外にも構成することができるが、後述の係数行列のパターンに影響を与える。
【数１】
2014235425.tif 000006
基準ベクトルの各要素は、同一サイズを持った部分情報または乱数要素である。
乱数要素は第１の基準ベクトルＶ１にまとめた方が、係数行列が単純になり処理が簡単になるが、必ずしも数１のパターンに限定されない。【００２４】  次に、分散情報生成手段１４において、基準ベクトルＶ１、Ｖ２のそれぞれに予め準備した（又は外部から入力する）異なる係数行列を乗じ、その演算結果のベクトルを再度加算して、（ｄ＋ｍ）／２サイズの分散情報ベクトルＷを得る（Ｓ１０５）。
各分散情報ベクトルＷｉ（ｉ＝１，２，３，４）は、（ｄ＋ｍ）／２個の成分からなる列ベクトルを生成する。なお、各分散情報ベクトルＷｉ（ｉ＝１，２，３，４）の各要素のサイズは、部分情報のサイズ（元データの１／ｄ）と同じであり、それらの和が分散情報データとなるが、その全体サイズは元データＳの（ｄ＋ｍ）／２ｄである。
【数２】
2014235425.tif 000007
ここで、ｐ＝（ｄ＋ｍ）／２であり、ベクトル部の右肩のＴは転置ベクトルであることを示す。要素（ベクトル成分）間の加算（＋演算子）は、排他的論理和（ＸＯＲ）演算に置き換えるものとする。【００２５】  以下は異なる４つの分散情報ベクトルＷｉ（ｉ＝１，２，３，４）を生成するときの式を示す。
【数３】
2014235425.tif 000008
【００２６】  係数行列記憶部１４ａにおける係数行列Ｋ（ｉ，１），Ｋ（ｉ，２）は、０と１からなる２値正方行列で縦横サイズが（ｄ＋ｍ）／２のものであり、同じ基準ベクトル内のどの要素間の加算（ＸＯＲ演算）結果を新たな要素とするかを定義するものである。係数行列は１つの分散情報ベクトルに対して２つ必要であるため、４つの分散情報ベクトルを作成する場合、合計８個（基準ベクトル数×分散情報数）必要である。係数行列のパターンは基準ベクトルごとに分類される。【００２７】  本発明では係数行列の定義が重要であるが、以下の（１）および（２）の条件を満たす係数行列を予め用意するか、或いは外部から与えるようにしている。
（１）１つの基準ベクトル内に部分情報と乱数要素が混在する場合は、係数行列と基準ベクトルの積を行った際、演算結果ベクトルの全ての成分に乱数要素が加算されるように係数行列を定義する。係数行列と基準ベクトルとの積は、係数行列の各行で値が１になっている要素に対応する基準ベクトルの要素のみが加算（ＸＯＲ演算）されることになる。したがって、基準ベクトル内で部分情報が出現している行は、該部分情報の要素と乱数要素が加算（ＸＯＲ演算）されるように係数行列の各行の対応部分を１とする。
ここで、注意すべきこととして、基準ベクトル内の乱数要素の数が少なく、同じ乱数要素を再利用する場合、演算結果に同じ乱数要素とのＸＯＲ演算を行うことで同じ乱数要素出現の周期性が増すことになる。これを防止するためには、分散情報ベクトルの各要素が１つの乱数要素との演算結果になるのではなく、異なる複数の乱数要素との演算結果になるように係数パターンを指定すればよい。ｍ個の乱数要素を指定した場合、ｍ個の乱数要素の組み合わせ数は２ｍ−１個であるため、乱数要素の出現の周期性は２ｍ−１に増やすことができる。例えば、Ｒ１，Ｒ２，Ｒ３の３個の乱数要素を指定した場合、乱数要素の組み合わせとして得られる異なる乱数要素は、数４のように２３−１（＝７）個であり、それぞれを異なる乱数（乱数同士の演算結果は乱数）とみなすことができる。
【数４】
2014235425.tif 000009
換言すると、乱数要素の数を増やしたものと同じにみなせるため、２ｍ−１（計算で得られた異なる乱数の個数）が係数行列の行の数より大きい場合、つまり次式を満たす場合に、係数行列のパターンを後述の方式で指定すると、基準ベクトルとの演算結果に同じ乱数要素が出現するような周期性をなくすことができる。
【数５】
2014235425.tif 000010
（２）基準ベクトル内に乱数要素が無い場合は、係数行列と基準ベクトルの積を行った際、結果のベクトルの要素が、係数行列ごとに元の基準ベクトルの要素の並びと完全に異なるような係数行列を定める。【００２８】  以下、更に詳細に説明する。０と１の要素からなる係数行列Ｋ（ｉ，ｊ）（ｉ＝１，．．４）（ｊ＝１，２）及び単位行列Ｉはメモリに記録されている。当然、外部から定義パターンとして与えることもできるが、ここではメモリに記録されているものとして説明をする。メモリに記録されている係数行列Ｋ（ｉ，ｊ）（ｉ＝１，．．４）（ｊ＝１，２）は、このとき２を法とする演算のもとに数６の左辺に示す行列式が０でないように定義されている。メモリに記録されている係数行列Ｋ（ｉ，ｊ）（ｉ＝１，．．４）（ｊ＝１，２）の詳細パターンは、数１２〜数１５である。
【数６】
2014235425.tif 000011
【００２９】  下記の式を用いて４つの分散情報ベクトルＷ１，Ｗ２，Ｗ３，Ｗ４を生成する。
【数７】
2014235425.tif 000012
【００３０】  表現を換えると次式になり、これは数３と同一式であるが再掲する。
【数８】
2014235425.tif 000013
【００３１】  上記の係数行列について、詳細な内容（パターン）をのべる。
第１の基準ベクトルＶ１にかかる係数行列パターン（２値正方行列）を数１２、数１３に掲げるが、その前にベースとなる基本パターン行列を数９に示す。この行列Ｚは一辺が２ｍ−１の正方行列である。
【数９】
2014235425.tif 000014
上記数９で、最初の左端列は乱数の組み合わせを示す行列要素（Ｉ１およびＡ２〜Ａｍ）が並んでおり、全て列数が同一（乱数の個数＝ｍ）であるがＩ１を除いて正方行列とは限らない。それ以外のＩ１〜Ｉｍは対角正方行列である。Ｉ１は行列サイズがｍの対角行列であり、Ｉ２〜ＩｍはそれぞれＡ２〜Ａｍの行数を一辺とする対角正方行列である。
Ａｉの列数はｍであるが、行数は、ｉＣｍ（ｍ個から異なるｉ個を選ぶ組み合わせ数）であり、各行は選択されたｉ個の列要素が１で他は０であるような行列である。
ここで添字ｉは、ｉ＝２，．．，ｍである。
数１０は、乱数の個数ｍが５の場合のＡ２〜Ａｍの事例を示している。各行は、乱数要素Ｒ１〜Ｒｍの選択（排他的論理和演算に使用する）を１で非選択（排他的論理和演算に使用しない）を０で示している。
【数１０】
2014235425.tif 000015
【数１１】
2014235425.tif 000016
【００３２】  第１の基準ベクトルＶ１にかかる係数行列パターン（正方行列）は、一辺が（ｄ＋ｍ）／２の正方行列であり、「（ｄ＋ｍ）／２」が「２ｍ−１」以下の場合は、数１２に示す行列となる。一方、「（ｄ＋ｍ）／２」が「２ｍ−１」より大きい場合は、数１３に示すが数９の行列Ｚを再利用したものになる。すなわち、最初のｍ列は数９の行列のＩ１、Ａ２〜Ａｍを縦方向に繰り返して並べるとともに、全体の対角要素が１になるように拡張した行列から「（ｄ＋ｍ）／２」要素分を切り取った（左上から切り取る）行列となる。  数１０のパターンは、特に乱数の量を少なくするときに有効であるが、乱数の再現性が発生するためセキュリティ上は好ましくない。
【数１２】
2014235425.tif 000017
【数１３】
2014235425.tif 000018
【００３３】  第２の基準ベクトルＶ２にかかる係数行列パターン（正方行列）も、一辺が（ｄ＋ｍ）／２の正方行列であるが、この行列サイズ（ｄ＋ｍ）／２が偶数か奇数かによって異なる。  数１４は、偶数の場合であり、数１５は奇数の場合の係数行列のパターンである。
【数１４】
2014235425.tif 000019
【数１５】
2014235425.tif 000020
【００３４】  上記によって得られた分散情報ベクトルＷｉの要素を、ベクトルごとにその成分を接続（ビット列の接続）して、分散情報を得る（Ｓ１０６）。分散情報は異なるものを４個生成し、分散情報送信手段１５によりネットワーク経由で保管サーバ（ストレージ）２ａ〜２ｄにそれぞれ送信され、各保管サーバ（ストレージ）内に保存される。【００３５】  上記で生成された各分散情報のデータにヘッダ部を付加して、最終的な分散情報を生成する（ステップＳ１０７、ステップＳ１０８）。
ヘッダ部には、第１ヘッダ部と第２ヘッダ部があり、第１ヘッダ部には、分散情報ベクトルの計算式を識別するコード（分散情報ベクトルＷｉの添字ｉの番号等）やヘッダ部、分散情報データ部のサイズを格納し、第２ヘッダ部には分散情報ベクトルの計算式で使用した係数行列を格納する。【００３６】  第２ヘッダ部の係数行列自体の秘匿性を高めたいときは、ステップＳ１０１〜Ｓ１０６の手順で第２ヘッダ部を対象に分散情報データを作成し、元データＳと置き換える。処理を単純化するため、ｄ＝ｍ＝２を使用し、この場合の係数行列は固定的なものとして記憶されるようにし、分散情報の中には入れないようにすることができる。【００３７】  ついで、各保管サーバ（ストレージ）２ａ〜２ｄに保存されている分散情報から、元データＳを復元する処理について、図１、図３にもとづいて説明する。【００３８】  図１の分散情報受信手段１６により任意の２つの分散情報を集め、当該分散情報を（ｄ＋ｍ）／２個に分割して順に並べ、分散情報ベクトルを得る。分散情報ベクトルは２つ生成できるため、これをＷｉ、Ｗｊとすると数１６のように、数３で示す式が２つ生成できる。すなわち、基準ベクトルＶ１、Ｖ２を含む式が２つできることになるため、その係数行列の逆行列が求めれば、Ｖ１、Ｖ２を未知数とする連立方程式を解くことで元の基準ベクトルを求めることができる。
【数１６】
2014235425.tif 000021
得られた基準ベクトル内の成分より、元の部分情報を取り出し、それらを接続（ビット列の結合）して元データＳを復元する。【００３９】  図１に示す係数行列の逆行列記憶部１７ａは、上記のＶ１、Ｖ２を求めるための、係数行列Ｋ（ｉ、ｊ）の逆行列のパターンを予め計算して記憶しておく部分である。【００４０】  元データＳを復元する処理を図３にもとづいてより詳細に説明する。それぞれの分散情報からヘッダ部と分散情報データ部を分離し、ヘッダ部自身が分散情報データになっている場合は、ヘッダ部から係数行列を復元するために、ヘッダ部に対して以下の処理を行い、係数行列Ｋｉ、ｊを復元する。【００４１】  まず、２つの分散情報データ部を「（ｄ＋ｍ）／２」個の部分分散情報に等分割し、それぞれを並べて２つの分散情報ベクトルＷｉ，Ｗｊを生成する（Ｓ２０２、Ｓ２０３）。【００４２】  次に、２つの分散情報ベクトルＷｉ，Ｗｊをもとにして元データＳを復元処理するため次式を生成する（ステップＳ２０４）。
【数１７】
2014235425.tif 000022
【００４３】  上記数１７により次式が生成される。Ｖ１、Ｖ２を未知数とする連立一次方程式を解くのと同じである（ステップＳ２０５、Ｓ２０６）。
【数１８】
2014235425.tif 000023
【００４４】
2014235425.tif 000024
演算のもとで、且つ、Ｋ（ｉ，１）＝Ｋ（ｊ，１）の条件を使用して、次のように算出される。
2014235425.tif 000025
がある。次式のＩは、「（ｄ＋ｍ）／２」次元の単位行列（対角要素のみが１で他は０）である。
【数１９】
2014235425.tif 000026
【００４５】  上記数１９は表現を換えると次式となる。この式を用いるとｄ個の部分情報Ｓ１，Ｓ２，Ｓ３，．．．．．．Ｓｄを求めることができる。
【数２０】
2014235425.tif 000027
【００４６】  ベクトルＶ１、Ｖ２は、部分情報と乱数を要素としたベクトルであり、これらベクトル内の各要素の並び順は最初に定義しているため、これからｄ個の部分情報Ｓ１，Ｓ２，Ｓ３，．．．．．．Ｓｄを取り出すことができる。取り出した部分情報を連結し、最終的に元データＳを得ることができる（Ｓ２０７）。【００４７】  上記実施例では、係数行列のパターンを数１２〜数１５に示したが、このパターンは基準ベクトルの係数行列として演算され、この係数行列を基準ベクトルに掛けると基準ベクトル内の成分の間での排他的論理和演算の組合せパターンを定義するものであり、さまざまなパターンを定義することができる。また、後述の具体例では、異なる係数行列パターンのサンプルを掲げる。また、基準ベクトルの成分となっている部分情報と乱数要素の並べ方も様々なものが考えられる。係数行列はこの並びを意識して定義する必要がある。【００４８】（ｄ＝７、ｍ＝３を適用した具体例）
以下では、元データＳの分割数が７で乱数要素が３の場合の事例である。
2014235425.tif 000028
＝７となる。このケースでは、分散情報のサイズは、元データＳのサイズの約０．７１倍になる。【００４９】
【数２１】
2014235425.tif 000029
2014235425.tif 000030
【００５０】  この場合、分散情報ベクトルＷ１，Ｗ２，Ｗ３，Ｗ４は、次のようになる。
【数２２】
2014235425.tif 000031
2014235425.tif 000032
【００５１】  ここでの復元例は分散情報ベクトルＷ１，Ｗ２による復元を考える。他の分散情報ベクトルＷｉ，Ｗｊから残りの復元も同様にできる。数１７を適用して数２３を得る。
【数２３】
2014235425.tif 000033
【００５２】  上記数２３は、数１８の形式で記述すると下記の行列が適用される生成されることになる。
【数２４】
2014235425.tif 000034
【００５３】  分散情報ベクトルＷ１，Ｗ２，からの元データ復元は数２３の計算式で行うことができる。各分散情報ベクトルＷ１，Ｗ２，Ｗ３，Ｗ４の中から任意の２つを用いた復元式は、以下のとおりである。【００５４】  分散情報ベクトルＷ１，Ｗ２による復元。
右辺行列の各成分の式は、結合法則と交換法則が成り立つため、プログラムで計算するときは、共通の演算項を取り出して先に計算すると、計算量を減らすことができる。以降の復元式についても同じである。
【数２５】
2014235425.tif 000035
【００５５】  分散情報ベクトルＷ１，Ｗ３による復元。
【数２６】
2014235425.tif 000036
【００５６】  分散情報ベクトルＷ１，Ｗ４による復元。
【数２７】
2014235425.tif 000037
【００５７】  分散情報ベクトルＷ２，Ｗ３による復元。
【数２８】
2014235425.tif 000038
【００５８】  分散情報ベクトルＷ２，Ｗ４による復元。
【数２９】
2014235425.tif 000039
【００５９】  分散情報ベクトルＷ３，Ｗ４による復元。
【数３０】
2014235425.tif 000040
【００６０】（ｄ＝２６、ｍ＝４を適用した具体例）
乱数要素が少ないケースの具体例として、ｄ＝２６、ｍ＝４の例を示す。ここでは乱数の周期性をみるために第１の基準ベクトルとそれに乗ずる係数行列のパターンの演算のみを示す。基準ベクトルは（ｄ＋ｍ）／２であるため１５列の列ベクトルで、行（ｄ＋ｍ）／２列の正方行列である。
【数３１】
2014235425.tif 000041
１列目から４列目までは、ｍ＝４であるため、各行ごとに４個の乱数Ｒ１〜Ｒ４の組み合わせパターンを示している。１行目〜４行目までは乱数Ｒ１〜Ｒ４を、単独で演算することを示す。５行目の“１１００”は、Ｒ１＋Ｒ２の演算結果を使用することを示す。一般に、最初のｍ列が乱数の組み合わせパターンを示す。
なお、第２の基準ベクトルにかかる係数行列Ｋ（１，２），Ｋ（２，２），Ｋ（３，２），Ｋ（４，２）は、係数行列の大きさ（ｄ＋ｍ）／２が、偶数か奇数かにより、異なるものを指定する。【００６１】
2014235425.tif 000042
周期性を見るために、第１項の演算のみを示すと、次のとおりの演算結果になる。
【数３２】
2014235425.tif 000043
【００６２】  分散情報のサイズは、元データＳのサイズに対して（ｄ＋ｍ）／２ｄ倍で表されるため、ｄとｍが上式を満たし、かつｍがｄに対して相対的に小さいほど、分散情報のサイズが小さくなる。本例でば、分割数ｄを２６、乱数要素の個数ｍを４としているため、分散情報のサイズは元のサイズの約０．５９倍になる。【００６３】（ｍ＝ｄを適用した具体例）
次に、ｍ＝ｄ、すなわち元データＳの分割数と乱数要素の数が同じ場合について説明する。このとき、分散情報のサイズは元データＳのサイズとおなじである。既存のアルゴリズム（例えば特許文献２）では、分割数ｄは５以上の素数から１を引いたものに制約されるが、本発明では、この制約が無く以下の係数行列のパターンを使用して、分散情報ベクトルを生成することができ、かつ元データＳを復元できる。【００６４】  以下の例では、ｍ＝ｄのうち、分割数が３（奇数）、乱数要素も３の事例を示す。
特許文献２では奇数の分割は不可能であるが、本発明では以下のとおり可能である。
【数３３】
2014235425.tif 000044
【００６５】  ４つの分散情報ベクトルＷ１，Ｗ２，Ｗ３，Ｗ４の要素を表形式に表現すると、表２のようになる。この表では第１行から順にＷ１，Ｗ２，Ｗ３，Ｗ４の要素を示している。
【表２】
2014235425.tif 000045
【００６６】  各Ｗ１，Ｗ２，Ｗ３，Ｗ４から任意の２つを用いた復元の計算式は、以下のとおりである。
Ｗ１，Ｗ２による元データの復元。
【数３４】
2014235425.tif 000046
【００６７】  Ｗ１，Ｗ３による元データの復元。
【数３５】
2014235425.tif 000047
【００６８】  Ｗ１，Ｗ４による元データの復元。
【数３６】
2014235425.tif 000048
【００６９】  Ｗ２，Ｗ３による元データの復元。
【数３７】
2014235425.tif 000049
【００７０】  Ｗ２，Ｗ４による元データの復元。
【数３８】
2014235425.tif 000050
【００７１】  Ｗ３，Ｗ４による元データの復元。
【数３９】
2014235425.tif 000051
【００７２】  以上のとおり、基本的な元データＳの分散と復元方法につき説明したが、以下、任意の２つの分散情報をもとにして、消失・破壊された分散情報を再生成する処理について説明する。本方式によれば、元データＳを復元する過程を経ないで、残りの分散情報から消失したデータ（分散情報）を再生成することができ、部分的な消失・破壊からの復旧処理の高速化に極めて有効である。【００７３】  分散情報ベクトルＷｉ，Ｗｊ（ｉ≠ｊ）より、Ｗｋ（ｋ≠ｉ，ｋ≠ｊ）の分散情報ベクトルを求める式は下記の式に従って求められる。
【数４０】
2014235425.tif 000052
【００７４】  以下では、元データの復元処理を必要とせず、保存されている２つの分散情報をもとに、消失した２つの分散情報を復元する方式について述べる。
分散情報ベクトルＷ１，Ｗ２から、直接分散情報ベクトルＷ３，Ｗ４を復元。
【数４１】
2014235425.tif 000053
【００７５】  分散情報ベクトルＷ１，Ｗ３から、直接分散情報ベクトルＷ２，Ｗ４を復元。
【数４２】
2014235425.tif 000054
【００７６】  分散情報ベクトルＷ１，Ｗ４から、直接分散情報ベクトルＷ２，Ｗ３を復元。
【数４３】
2014235425.tif 000055
【００７７】  分散情報ベクトルＷ２，Ｗ３から、直接分散情報ベクトルＷ１，Ｗ４を復元。
【数４４】
2014235425.tif 000056
【００７８】  分散情報ベクトルＷ２，Ｗ４から、直接分散情報ベクトルＷ１，Ｗ３を復元。
【数４５】
2014235425.tif 000057
【００７９】  分散情報ベクトルＷ３，Ｗ４から、直接分散情報ベクトルＷ１，Ｗ２を復元。
【数４６】
2014235425.tif 000058
【実施例２】
【００８０】  本発明によれば（２、４）閾値分散法を利用した情報分散システムを用いて、低コストの情報分散ストレージシステムを実現することができる。以下、実施例１の情報分散システムを利用した情報分散ストレージシステムを説明するが、情報分散システムは実施例１で示したもの以外、従来公知の分散情報の生成方法（生成アルゴリズム）や元データＳの復元方法（復元アルゴリズム）など、様々な方式を利用していても実現可能である。また、（２、４）閾値分散法に限らず一般式で示す任意の（ｋ、ｎ）閾値分散法にも適用可能である。【００８１】  図４に示すように４つの情報分散ストレージ装置をネットワークで接続し、全体を１つの情報分散ストレージシステムとして構成する。各情報分散ストレージ装置は情報分散システム部とストレージ部を内蔵しているため、元データＳから分散情報を生成する機能と分散情報を保管する機能を合わせて持っている。本システムでは、システム内の一つの情報分散ストレージ装置から生成された分散情報が、自分自身のストレージ部および同じシステム内の別の情報分散ストレージ装置のストレージ部に保管され、任意の２つの情報分散ストレージ装置までが故障しても残りの情報分散ストレージ装置で継続運用が可能となる。【００８２】  以下、図４に示した情報分散ストレージシステムの構成について、詳細に説明する。
情報分散ストレージシステムは図４の２０ａ〜２０ｄの４つの情報分散ストレージ装置をネットワークで接続したものである。元データＳはネットワークに接続した端末から指定された情報分散ストレージ装置に入力する構成になっている。端末（図４の２２）は複数あっても良い。また、端末が接続されるネットワークは、図６に示すように別のネットワークにすることも可能である。【００８３】  情報分散ストレージ装置は、図４の２０１〜２０４に示すように、情報分散システム部、分散カタログ情報生成部、装置監視部、ストレージ部によって構成される。情報分散システム部は実施形態１に示すような分散情報の生成や元データＳの復元を行うものであるが、その手段・方法は異なっても良い。分散カタログ情報生成部は、各元データＳの管理情報と分散情報の保管場所を示すデータ（分散カタログ情報）をまとめたデータベースの生成・更新を行うものである。【００８４】  装置監視部は、周期的に自分自身の情報分散機能やストレージ部が動作しているかを監視するとともに、情報分散ストレージシステム内の他の情報分散ストレージが正常か否かを周期的に問い合わせ監視する。【００８５】  ストレージ部は大容量ストレージを接続したものであり、分散情報と分散カタログ情報（データベース）が保管される。【００８６】  情報分散ストレージシステムの処理についてその方式を説明する。
端末から入力された元データＳは、指定の情報分散ストレージ装置に渡される。
当該情報分散数トレージ装置内の情報分散システム部で４個の分散情報が生成され、自身のストレージ部に１個保管し、残りの３個を同一システム（情報分散ストレージシステム）内の別の情報分散ストレージ装置に転送され、それぞれのストレージ部に保管される。【００８７】  転送先の情報分散ストレージ装置が故障していた場合は、故障しているものを除いて転送されるが、最大２つまでの故障があっても処理を続けることができる。端末から入力された元データＳを受け取る情報分散ストレージ装置（予め指定されている）が故障した場合は、次のプライオリティの情報分散ストレージ装置が元データＳを受け取るように処理を自動的に切り替えるようにする。【００８８】  端末は複数存在することができるが、端末ごとに元データＳを受け取る情報分散ストレージ装置を別にして、全体システムの負荷を分散させることができる。【００８９】  分散情報を保管する際に、当該元データＳの管理情報とその保管先を示す情報（元データＳと分散情報の住所録のようなもの）を「カタログ情報」として生成し、カタログ情報自体の秘匿性を確保するため、元データＳから分散情報を生成するのと同様の手段で、カタログ情報の分散情報（分散カタログ情報）を生成する。分散カタログ情報は、各情報分散ストレージ装置のストレージ部にデータベースとして保管される。【００９０】  情報分散ストレージ装置は、装置監視部を持ち、周期的に自身の情報分散システム部やストレージ部が故障しないで動作しているかを監視する。動作しているかの監視は、一致周期で決められたデータが更新されていることをチェックすることで行う。また、ネットワーク経由で同一システム（情報分散ストレージシステム）内の他の情報分散ストレージ装置が故障しないで動作しているかを監視する。これも、他の情報分散ストレージ装置内の決められたデータが更新されているかをチェックすることで行う。オペレーティングシステム（ＯＳ）レベルで対象にアクセスできない場合は、当然決められたデータが更新されたことを確認できないため、故障と判断される。【００９１】  情報分散ストレージシステム内の４つの情報分散ストレージ装置は、それぞれのストレージ部に「全ての元データＳ」の分散情報と分散カタログ情報を保管しているため、どの装置からでも元データＳの復元ができる。【００９２】  本実施例２の情報分散ストレージシステムは、以下のような効果がある。
分散情報の１つを情報分散ストレージ内の各情報分散ストレージ装置が保管しているため、復元のために足りない１つの分散情報のみをネットワークを通して入手すればよい。このため、ネットワーク転送時間が減り、元データＳの復元時間が節約できる。
また、１つの情報分散ストレージシステムを、複数の顧客がシェアして使用でき、コストシェアができるため、実際の運用コストを下げることができる。例えば、４人の顧客が、それぞれ専用の情報分散ストレージ装置を情報分散処理の入口として使用し、保管場所は残りの３つの情報分散ストレージ装置として使用すると、１つの情報分散ストレージシステムをシェアできることになる。【００９３】  図５で示すシステムは、情報分散ストレージ装置を４台ネットワークで接続した変形例であり、以下のような処理を行う。【００９４】  端末から元データＳを、ネットワーク上の指定の情報分散ストレージ装置に転送すると、該情報分散ストレージ装置内の情報分散システムが元データＳを、同一システム内の情報分散ストレージ装置（３０ａ〜３０ｄ）のストレージ部に分散する。情報分散ストレージ装置の１つに、元データＳの置かれている端末（コンピュータ）のアドレスとファイル格納場所を予め指定しておくと、情報分散ストレージ装置は周期的に指定場所をチェックし、元データＳが未処理の元データＳ（ファイル）があれば、上記と同様に元データＳの分散処理を行うようにする。端末から元データＳの復元を要求すると、自身のストレージに保管されている１つの分散情報と、他の情報分散ストレージ装置に保管されている分散情報の１つから元データＳの復元を行う。【００９５】  図６は、情報分散ストレージ装置を４台ネットワークで接続したものであるが、その中の３台は同じネットワークに接続されており、他の１台は別のネットワークに接続されている。図５と同じような処理を行うが、ネットワークの利用コストを削減するため図６のネットワーク１は公衆回線等を利用できる。これは、分散情報がネットワーク上で１つ盗難にあっても、元データＳが絶対に復元できないようにするためである。【００９６】  以上の各実施例で説明したように、本発明によれば、分散情報のサイズの削減、２重故障での可用性、分散情報の全ての断片の乱数化による秘匿性の向上、排他的論理和演算を主体とした高速性を、同時に実現することができる。【００９７】  実施例１に示した分散情報生成処理、元データＳ復元処理、追加分散情報生成処理、および実施例２で示した情報分散ストレージシステムの処理は、コンピュータのプログラムによって実現し、このプログラムをコンピュータ読み取り可能な記録媒体に記録し、この記録媒体をコンピュータに組み込んだり、または記録媒体に記録されたプログラムを、通信回線を介してコンピュータシステムにダウンロードしたり、または記録媒体からインストールし、該プログラムをコンピュータシステム上で作動させることによって機能させることができる。もちろん、プログラムは、本明細書で述べた一部の機能を実現するものであっても良い。【００９８】  本発明の具体的実施形態については、本明細書で説明した構成に限定されるものではなく、本発明の要旨を逸脱しない範囲の設計等も含まれる。特に、実施例１及び２で示した各システムは、最も現実的運用である（２、４）閾値分散法に限定して説明したが、これに限らず一般式で示す（ｋ、ｎ）閾値分散法にも適用可能である。
【符号の説明】
【００９９】１：情報分散システム
２ａ〜２ｄ：保管サーバ
３：ネットワーク、
１１：元データ分割手段、
１２：乱数発生手段、
１３：基準ベクトル生成手段、
１４：分散情報生成手段、
１４ａ：係数行列記憶部、
１５：分散情報送信手段、
１６：分散情報受信手段、
１７：元データ復元手段、
１７ａ：係数行列の逆行列記憶部、
２０ａ〜２０ｄ：情報分散ストレージ装置、
２１：ネットワーク、
２２：端末
３０ａ〜３０ｄ：情報分散ストレージ装置、
３１：ネットワーク、
３２：端末、
４０ａ〜４０ｄ：情報分散ストレージ装置、
４１〜４２：ネットワーク、
４３：端末
【図１】
2014235425.tif 000059
【図２】
2014235425.tif 000060
【図３】
2014235425.tif 000061
【図４】
2014235425.tif 000062
【図５】
2014235425.tif 000063
【図６】
2014235425.tif 000064