JP5151987B2 - 分散情報生成装置および復元装置 - Google Patents

分散情報生成装置および復元装置 Download PDF

Info

Publication number
JP5151987B2
JP5151987B2 JP2008540911A JP2008540911A JP5151987B2 JP 5151987 B2 JP5151987 B2 JP 5151987B2 JP 2008540911 A JP2008540911 A JP 2008540911A JP 2008540911 A JP2008540911 A JP 2008540911A JP 5151987 B2 JP5151987 B2 JP 5151987B2
Authority
JP
Japan
Prior art keywords
secret information
information
distributed
pieces
unauthorized person
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008540911A
Other languages
English (en)
Other versions
JPWO2008050544A1 (ja
Inventor
賢 尾花
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2008540911A priority Critical patent/JP5151987B2/ja
Publication of JPWO2008050544A1 publication Critical patent/JPWO2008050544A1/ja
Application granted granted Critical
Publication of JP5151987B2 publication Critical patent/JP5151987B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Description

本発明は、秘密情報を分散して安全に管理するための分散情報生成装置と復元装置とに関する。
秘密情報を複数の分散秘密情報に分散し、予め定められた分散秘密情報を集めた場合にのみ秘密情報の復元が可能となる秘密分散法と呼ばれる暗号技術が知られている。秘密分散法の中で、(k,n)閾値秘密分散法が最も有名である(Adi Shamir,“How to share a secret”,Comm.ACM,22(11),612−613(1979)(以下、文献1という)参照)。
(k,n)閾値秘密分散法では、秘密情報がn個の分散秘密情報に分散される。そして、その中の任意のk個の分散秘密情報を集めた場合に秘密情報の復元が可能となる。一方、k個未満の分散秘密情報からは秘密情報を復元できず、また秘密情報に関するいかなる情報も得られない。
しかしながら、文献1に示された(k,n)閾値秘密分散法では、分散秘密情報を管理する者の不正や、分散秘密情報を管理する装置の故障は考慮されていなかった。そのため、k個の分散秘密情報を集めて秘密情報を復元するとき、元のものと異なる分散秘密情報が1つでも含まれていれば、秘密情報を正しく復元することができず、また元の秘密情報を正しく復元できていないという事実を検知することもできなかった。
これに対して、Martin Tompa,Heather Woll,“How to Share a Secret with Cheaters”,Journal of Cryptology,vol.1,pages 133−138,1988(以下、文献2という)、あるいは Wakaha Ogata,Kaoru Kurosawa,Douglas R Stinson,“Optimum Secret Sharing Scheme Secure Against Cheating”,SIAM Journal on Discrete Mathematics,vol.20,no1,pages 79−95,2006(以下、文献3という)は、k−1個の改竄された分散秘密情報を含むk個の分散秘密情報を集めて秘密情報を復元しようとしたとき、元の秘密情報が正しく復元されていないという事実を検知する技術を開示している。しかし、文献2あるいは文献3に開示された技術では、改竄された分散秘密情報が含まれていることは検知できるが、どれが改竄された分散秘密情報であるかを特定することはできなかった。
これに対して、T.Rabin and M.Ben−Or,“Verifiable Secret Sharing and Multiparty Protocols with Honest Majority”,Proc.STOC‘89,pp.73−85,1989(以下、文献4という)、あるいはK.Kurosawa,S.Obana and W.Ogata,“t−Cheater Identifiable (k,n) Secret Sharing Schemes,” Proc.Crypto‘95,Lecture Notes in Computer Science,vol.963,Springer Verlag,pp.410−423,1995(以下、文献5という)は、秘密情報の復元に用いられた分散秘密情報に改竄された情報が含まれていたとき、どれが改竄された分散秘密情報であるかを特定する技術を開示している。
文献4に開示された技術によれば、(k,n)閾値秘密分散法において、改竄された分散秘密情報の個数tがk≧2t+1を満たせば、改竄されたt個全ての分散秘密情報を高い確率で特定することができる。
また、文献5に開示された技術によれば、改竄された分散秘密情報の個数tがk≧3t+1を満たせば、改竄されたt個全ての分散秘密情報を高い確率で特定でき、かつ分散秘密情報のサイズが文献4のものより小さい。
しかし、文献4に開示された技術では、秘密のビット長をLとすると、分散秘密情報のサイズが(3n−2)Lビットと非常に大きかった。文献5に開示された技術でも、秘密のビット長をLとすると、分散秘密情報のサイズがL+(t+2)/εビット(εは不正者が特定されない確率)とやはり非常に大きかった。
本発明の目的は、(k,n)閾値秘密分散法において、秘密情報の復元に用いられるk個の分散秘密情報の中に改竄された情報が含まれていたとき、改竄された分散秘密情報の特定を可能にし、かつ分散秘密情報のサイズを小さくした、秘密情報分散システム、分散情報生成装置、および復元装置を提供することである。
上記目的を達成するために、本発明の秘密情報分散システムは、(k,n)閾値秘密分散法によって秘密情報を複数の分散秘密情報に分散して管理する秘密情報分散システムであって、
(k,n)閾値秘密分散法で前記秘密情報からn個の分散秘密情報Vi(i=1,2,・・・,n)を生成し、生成した前記n個の分散秘密情報Viと、想定する不正分散秘密情報数tが閾値kとの間で所定の条件を満たものとしたランダムなt次多項式とを用いて、任意のk個の分散秘密情報V{i_j}(j=1,2,・・・,k)のうちt個以下のものに誤りがある場合にリード・ソロモン誤り訂正処理による誤りの検出および訂正を可能とする不正者特定情報Ai(i=1,2,・・・,n)を、前記n個の分散秘密情報Viに対応付けて生成する分散情報生成装置と、
前記分散情報生成装置で生成されたうちの任意のk個の分散秘密情報V{i_j}(j=1,2,・・・,k)とそれらに対応するk個の不正者特定情報A{i_j}(j=1,2,・・・,k)とを用いて、リード・ソロモン誤り訂正処理を行って、前記k個の分散秘密情報V{i_j}のそれぞれについて不正分散秘密情報であるか否かを判断し、不正分散秘密情報が検出されなかったときに前記k個の分散秘密情報V{i_j}から前記秘密情報を復元する復元装置と、を有している。
本発明の分散情報生成装置は、(k,n)閾値秘密分散法によって秘密情報を複数の分散秘密情報に分散する分散情報生成装置あって、
(k,n)閾値秘密分散法で前記秘密情報からn個の分散秘密情報Vi(i=1,2,・・・,n)を生成する秘密情報分散装置と、
前記秘密情報分散装置で生成された前記n個の分散秘密情報Viと、閾値kとの間で所定の条件を満たす値をtとしたランダムなt次多項式とを用いて、任意のk個の分散秘密情報V{i_j}(j=1,2,・・・,k)のうちt個以下のものに誤りがある場合にリード・ソロモン誤り訂正処理による誤りの検出および訂正を可能とする、不正者特定情報Ai(i=1,2,・・・,n)を、前記n個の分散秘密情報Viに対応付けて生成する不正者特定情報生成装置と、を有している。
本発明の復元装置は、上述した本発明の分散情報生成装置で(k,n)閾値秘密分散法によって生成された複数の分散秘密情報から秘密情報を復元する復元装置であって、
前記分散情報生成装置で生成されたうちの任意のk個の分散秘密情報V{i_j}(j=1,2,・・・,k)とそれらに対応するk個の不正者特定情報A{i_j}(j=1,2,・・・,k)とを用いて、リード・ソロモン誤り訂正処理を行う不正者特定装置と、
前記不正者特定装置にて誤りが検出されなかったときに、前記k個の分散秘密情報V{i_j}から前記秘密情報を復元する秘密情報復元装置と、を有している。
また、本発明の他の秘密情報分散システムは、(k,n)閾値秘密分散法によって秘密情報を複数の分散秘密情報に分散して管理する秘密情報分散システムであって、
(k,n)閾値秘密分散法で前記秘密情報からn個の分散秘密情報Vi(i=1,2,・・・,n)を生成し、生成した前記n個の分散秘密情報Viと、ランダムなデータと、想定する不正分散秘密情報数tが閾値kとの間で所定の条件を満たすものとしたランダムなt−1次多項式とを用いて、所定のチェック条件式から得られる値を、分散秘密情報Viに対応する不正者特定情報Aiとすることにより、前記n個の分散秘密情報Viに対応する前記不正者特定情報Ai(i=1,2,・・・,n)を生成する分散情報生成装置と、
前記分散情報生成装置で生成されたうちの任意のk個の分散秘密情報V{i_j}(j=1,2,・・・,k)とそれらに対応するk個の不正者特定情報A{i_j}(j=1,2,・・・,k)とを用いて前記チェック条件式が成立するか否か判定し、その判定結果に基づいて、前記k個の分散秘密情報V{i_j}のそれぞれについて不正分散秘密情報であるか否かを判断し、前記k個の分散秘密情報V{i_j}の全てが不正分散秘密情報でなければ、該k個の分散秘密情報V{i_j}から前記秘密情報を復元する復元装置と、を有している。
本発明の他の分散情報生成装置は、(k,n)閾値秘密分散法によって秘密情報を複数の分散秘密情報に分散する分散情報生成装置あって、
(k,n)閾値秘密分散法で前記秘密情報からn個の分散秘密情報Vi(i=1,2,・・・,n)を生成する秘密情報分散装置と、
前記秘密情報分散装置で生成された前記n個の分散秘密情報Viと、ランダムなデータと、想定する不正分散秘密情報数tが閾値kとの間で所定の条件を満たすものとしたランダムなt−1次多項式とを用いて、所定のチェック条件式から得られる値を、分散秘密情報Viに対応する不正者特定情報Aiとすることにより、前記n個の分散秘密情報Viに対応する前記不正者特定情報Ai(i=1,2,・・・,n)を生成する不正者特定情報生成装置と、を有している。
本発明の他の復元装置は、上述した本発明の他の分散情報生成装置で(k,n)閾値秘密分散法によって生成された複数の分散秘密情報から秘密情報を復元する復元装置であって、
前記分散情報生成装置で生成されたうちの任意のk個の分散秘密情報V{i_j}(j=1,2,・・・,k)とそれらに対応するk個の不正者特定情報A{i_j}(j=1,2,・・・,k)とを用いて前記チェック条件式が成立するか否か判定し、その判定結果に基づいて、前記k個の分散秘密情報V{i_j}のそれぞれについて不正分散秘密情報であるか否かを判断する不正者特定装置と、
前記不正者特定装置の判断において前記k個の分散秘密情報V{i_j}の全てが不正分散秘密情報でなければ、該k個の分散秘密情報V{i_j}から前記秘密情報を復元する秘密情報復元装置と、を有している。
本実施形態の秘密情報分散システムの構成を示すブロック図である。 分散情報生成装置100の構成を示すブロック図である。 復元装置200の構成を示すブロック図である。 分散情報生成装置100または復元装置200を実現するためのコンピュータの構成を示すブロック図である。 分散情報生成装置100の動作を示すフローチャートである。 復元装置200の動作を示すフローチャートである。 第1の実施例における不正者特定情報生成装置102の構成を示すブロック図である。 第1の実施例における不正者特定装置202の構成を示すブロック図である。 第2の実施例における不正者特定情報生成装置102の構成を示すブロック図である。 第2の実施例における不正者特定装置202の構成を示すブロック図である。 第3の実施例における不正者特定情報生成装置102の構成を示すブロック図である。 第4の実施例における不正者特定情報生成装置102の構成を示すブロック図である。
本発明を実施するための形態について図面を参照して詳細に説明する。
図1は、本実施形態の秘密情報分散システムの構成を示すブロック図である。図1を参照すると、秘密情報分散システムは、分散情報生成装置100、復元装置200、および記憶装置300−1〜300−nを有している。
この秘密情報分散システムの動作には2つのフェーズがある。1つは秘密情報を保管するフェーズであり、もう1つは秘密情報を復元するフェーズである。
秘密情報を保管するフェーズでは主に分散情報生成装置100が動作し、秘密情報を復元するフェーズでは主に復元装置200が動作する。
秘密情報を保管するフェーズでは、まず、分散情報生成装置100は、パラメーターとして入力された閾値kおよび分散情報総数nに従って秘密情報を分散符号化することにより複数の分散秘密情報を生成し、分散秘密情報をそれぞれ異なる記憶装置300−1〜300−nに格納する。さらに、分散情報生成装置100は、生成した分散秘密情報と、パラメーターとして入力された想定不正者数とを用いて、分散秘密情報毎の不正者特定情報を生成し、各不正者特定情報に対応する分散秘密情報が格納されている記憶装置300−1〜300−nに格納する。想定不正者数は、想定される不正者の上限数という意味であり、本実施形態の秘密情報分散システムによれば想定不正者数までの数の分散秘密情報の改竄であれば改竄された分散秘密情報の特定が可能である。不正者特定情報は、改竄された分散秘密情報を特定するためのデータである。なお、ここでは典型例として改竄を示しているが、意図的に改竄された場合に限らず、何らかの要因で分散秘密情報が不正なものに変化してしまった場合を広く含めて考えることができる。
また秘密情報を復元するフェーズでは、まず復元装置200は、閾値k個分の分散秘密情報と不正者特定情報とを記憶装置300−1〜300−nから読出し、分散秘密情報と不正者特定情報とを望いて、改竄された分散秘密情報を特定する処理を実行する。改竄された分散秘密情報を特定する処理では、改竄の有無が判定され、改竄がある場合には改竄されている分散秘密情報が特定される。そして、k個の分散秘密情報の中に改竄されたものがなければ、復元装置200は、そのk個の分散秘密情報から秘密情報を復元する。
図2は、分散情報生成装置100の構成を示すブロック図である。図2を参照すると、分散情報生成装置100は秘密情報分散装置101および不正者特定情報生成装置102を有している。なお、記憶装置300−1〜300−nは、それぞれに分散秘密情報記憶装置301−1〜301−nおよび不正者特定情報記憶装置302−1〜302−nを有している。分散秘密情報記憶装置301−1〜301−nには、分散情報生成装置100で生成された分散秘密情報の各々が格納される。不正者特定情報記憶装置302−1〜302−nには、分散情報生成装置100で生成された不正者特定情報の各々が格納される。また、本実施形態で扱う秘密情報sは特定の秘密情報集合の元である。
分散情報生成装置100には秘密情報s、閾値k、分散情報総数n、および想定不正者数tが入力されている。そして、分散情報生成装置100は、分散秘密情報v1〜vnを生成して分散秘密情報記憶装置301−1〜301−nに格納し、不正者特定情報A1〜Anを生成して不正者特定情報記憶装置302−1〜302−nに格納する。
秘密情報分散装置101には秘密情報s、閾値k、および分散情報総数nが入力されている。秘密情報分散装置101は、秘密情報s、閾値k、および分散情報総数nを用いて、n個の分散秘密情報vi(i=1,2,...,n)を生成し、対応する記憶装置300−iの分散秘密情報記憶装置301−iに格納する。
不正者特定情報生成装置102には、想定不正者数tおよび分散情報総数nと、秘密情報分散装置101からのn個の分散秘密情報vi(i=1,2,...,n)が入力されている。不正者特定情報生成装置102は、想定不正者数tと分散情報総数nとn個の分散秘密情報viとを用いて、n個の分散情報vi(i=1,2,...,n)に対応する不正者特定情報Aiを生成し、対応する記憶装置300−iの不正者特定情報記憶装置302−iに格納する。
図3は、復元装置200の構成を示すブロック図である。図3を参照すると、復元装置200は秘密情報復元装置201および不正者特定装置202を有している。
復元装置200には閾値kおよび想定不正者数tが入力されている。復元装置200は、記憶装置300−1〜300−nのうちk個の記憶装置300−i_1〜300−i_kが備える分散秘密情報記憶装置301−i_1〜301−i_kから分散秘密情報v{i_1}〜v{i_k}を読出す。また、復元装置200は、記憶装置300−i_1〜300−i_kが備える不正者特定情報記憶装置302−i_1〜302−i_kから不正者特定情報A{i_1}〜A{i_k}を読み出す。
復元装置200は、分散秘密情報v{i_1}〜v{i_k}と不正者特定情報A{i_1}〜A{i_k}とを用いて、改竄された分散秘密情報を特定する処理を実行する。改竄された分散秘密情報があれば、復元装置200は、改竄を検出したことを示す記号と、不正者(あるいは改竄された分散秘密情報)の識別子を要素とする集合とを出力する。また、改竄された分散秘密情報がなければ、復元装置200は、分散秘密情報v{i_1}〜v{i_k}を用いて秘密情報を復元し、復元された秘密情報と、改竄が無かったことを示す空集合とを出力する。
不正者特定装置202は、記憶装置300−1〜300−nのうちk個の記憶装置300−i_1〜300−i_kの備える分散秘密情報記憶装置301−i_1〜301−i_kおよび不正者特定情報記憶装置302−i_1〜302−i_kから分散秘密情報v{i_1}〜v{i_k}およびA{i_1}〜A{i_k}を読み出し、改竄された分散秘密情報を特定する処理を実行する。改竄が検出されれば、不正者特定装置202は、不正者の識別子を要素とする集合を出力する。改竄が検出されなければ、不正者特定装置202は、不正者が存在しなかったことを示す空集合を出力する。不正者特定装置202の出力する集合(不正者リスト)Lは、復元装置200から出力されると共に秘密情報復元装置201に送られる。
秘密情報復元装置201は、不正者特定装置202と同じk個の記憶装置300−i_1〜300−i_kの備える分散秘密情報記憶装置301−i_1〜301−i_kから分散秘密情報v{i_1}〜v{i_k}を読み出し、集合Lが空集合であったときだけ秘密情報を復元する処理を実行し、復元された秘密情報を出力する。集合Lが空集合でなければ、秘密情報復元装置201は、改竄が検出されたことを示す記号を秘密情報の代わりに出力する。
ここで、図2に示した分散情報生成装置100と図3に示した復元装置200とは、例えば論理回路等から構成されるLSI(Large Scale Integration)やDSP(Digital Signal Processor)等の半導体集積回路によって実現できる。また、分散情報生成装置100および復元装置200は、プログラムを実行するコンピュータによっても実現できる。
図4は、分散情報生成装置100または復元装置200を実現するためのコンピュータの構成を示すブロック図である。図4を参照すると、コンピュータは、処理装置10、入力装置20、および出力装置30を備えている。処理装置10は、プログラムにしたがって所定の処理を実行する。入力装置20は、処理装置10に対するコマンドや情報の入力に用いられる入力装置である。出力装置30は、処理装置10の処理結果をモニタするため出力装置である。
また処理装置10は、CPU11、主記憶装置12、記録媒体13、データ蓄積装置14、メモリ制御インタフェース部15、およびI/Oインタフェース部16を有し、それらがバス18を介して相互に接続された構成である。
CPU11はプログラムを実行するプロセッサである。主記憶装置12は、CPU11の処理に必要な情報を一時的に記憶する。記録媒体13は、CPU11に実行させるためのプログラムを記憶している。データ蓄積装置14は、秘密情報やアクセス構造データを記憶する。メモリ制御インタフェース部15は、主記憶装置12、記録媒体13、またはデータ蓄積装置14のデータの書き込みおよび読み出しを制御するインタフェース装置である。I/Oインタフェース部16は、入力装置20および出力装置30とのデータの入出力を制御するインタフェース装置である。
なお、ここではデータ蓄積装置14が処理装置10内に存在する例を示したが、データ蓄積装置14は処理装置10内に無くてもよい。他の構成例としてデータ蓄積装置14が処理装置10と別個に存在し、処理装置10と接続されていてもよい。また、データ蓄積装置14を、図2、3に示した分散秘密情報記憶装置301および不正者特定情報記憶装置302を備える記憶装置300として用いることもできる。
また、記録媒体13は、磁気ディスク、半導体メモリ、光ディスク、あるいはその他の記録媒体である。
図5は、分散情報生成装置100の動作を示すフローチャートである。図5を参照すると、まず分散情報生成装置100に秘密情報s、閾値k、分散情報総数n、および想定不正者数tが入力される(ステップA1)。分散情報生成装置100内では、まず秘密情報分散装置101が秘密情報s、閾値k、および分散情報総数nを用いて分散符号化の処理を実行してn個の分散秘密情報v1〜vnを生成し、各記憶装置300−1〜300−nの分散秘密情報記憶装置301−1〜301−nに格納する(ステップA2)。
次に、不正者特定情報生成装置102は、入力された想定不正者数tおよび分散情報総数nと、秘密情報分散装置101で生成された分散秘密情報v1〜vnとを用いて、分散秘密情報v1〜vnのそれぞれに対応した不正者特定情報A1〜Anを生成し、各記憶装置300−1〜300−nの不正者特定情報記憶装置302−1〜302−nに格納する(ステップA3)。
図6は、復元装置200の動作を示すフローチャートである。図6を参照すると、まず復元装置200に閾値kおよび想定不正者数tが入力される(ステップB1)。続いて、復元装置200はk個の記憶装置300に格納されている不正者特定情報および分散秘密情報を読み出す(ステップB2)。
そして、復元装置200内の不正者特定装置202が各不正者特定情報、各分散秘密情報、閾値kおよび想定不正者数tを用いて、不正者の識別子を元とする集合Lを生成する(ステップB3)。
次に秘密情報復元装置201が、集合Lが空集合であるか否かを判定する(ステップB4)。集合Lが空集合でなければ、秘密情報復元装置201は改竄があったことを示す記号を生成する(ステップB5)。集合Lが空集合であれば、秘密情報復元装置202はk個の分散秘密情報を用いて秘密情報を復元する(ステップB6)。最後に、復元装置200は、不正者特定装置201で生成された集合Lと、秘密情報復元装置202で生成された記号あるいは復元された秘密情報とを出力する(ステップB7)。
(第1の実施例)
第1の実施例の秘密情報分散システムは、秘密情報のデータ集合にGF(p)を用いる。pは素数の冪乗であり、素数そのものである場合もある。GF(p)は、素数の冪乗pに対する有限体であり、有限体上の加算を+、減算を−、乗算を*、除算を/、冪乗算を^で表す。
第1の実施例における秘密情報分散装置101は、文献1に記載された既存の(k,n)閾値秘密分散法を用いて秘密情報を分散符号化する。秘密情報復元装置201は、その(k,n)閾値秘密分散法に対応する復元方法を用いて秘密情報を復元する。
次に第1の実施例の分散情報生成装置100および復元装置200について説明する。
第1の実施例の分散情報生成装置100には秘密情報s、閾値k、分散情報総数n、および想定不正者数tが入力される。第1の実施例では、k≧3*t+1が成立しているものとする。
分散情報生成装置100内では、秘密情報分散装置101がGF(p)上の定数項がsであるk−1次多項式をランダムに生成する。このk−1次多項式をfs(x)と記す。そして、秘密情報分散装置101は、fs(1),fs(2),・・・,fs(n)を計算し、その計算結果と入力iとのペアVi=(i,vi)(i=1,2,・・・,n,vi=fs(i))を分散秘密情報として、それぞれ記憶装置300−iの分散秘密情報記憶装置301−iに格納する。
図7は、第1の実施例における不正者特定情報生成装置102の構成を示すブロック図である。図7を参照すると、不正者特定情報生成装置102は、分散秘密情報変換装置401、RS情報源生成装置402、およびRS符号語生成装置403を有している。
分散秘密情報変換装置401は、秘密情報分散装置101の出力であるVi=(i,vi)を取得し、q≧n*pとなるqに対し、有限体GF(q)上でxi=p*(i−1)+vi(i=1,2,...,n)を計算し、RS符号語生成装置403に出力する。
RS情報元生成装置402は、有限体GF(q)上のランダムなデータe0,e1,・・・,etを生成し、RS符号語生成装置403に出力する。
RS符号語生成装置403は、分散秘密情報変換装置401から出力されたxi(i=1,2,...,n)と、RS情報源生成装置402から出力されたe0,e1,・・・,etを取得し、有限体GF(q)上でAi=e0+e1*xi+e2*xi^2+・・・+et*xi^t(i=1,2,・・・,n)を計算し、それぞれを記憶装置300−i(i=1,2,・・・,n)に出力する。このA1,A2,・・・,Anが第1の実施例における不正者特定情報となる。各Aiは記憶装置300−iの不正者特定情報記憶装置302−iに格納される。
一方、第1の実施例の復元装置200には閾値kおよび想定不正者数tが入力される。
復元装置200は、k個の記憶装置300−i_1,300−i_2,・・・,300−i_kの各分散秘密情報記憶装置301からデータV{i_j}=(i_j,v{i_j})を取得する。また、復元装置200は、同じk個の記憶装置300−i_1,300−i_2,・・・,300−i_kの各不正者特定情報記憶装置302からデータA{i_j}(j=1,2,・・・,k)を取得する。ここで取得した(A{i_1},A{i_2},・・・,A{i_k})は、RS情報源生成装置402の出力e0,e1,・・・,etを情報源とするリード・ソロモン(Reed−Solomon)誤り訂正符号の符号語になっている。したがって、k≧3t+1であれば、A{i_1}に含まれるt個の誤りを訂正し、元の情報源e0,e1,・・・,etを復元することが可能である。
復元装置200内では、記憶装置300−i_1,・・・,300−i_kから取得したデータV{i_j}=(i_j,v{i_j})とデータA{i_j}が不正者特定装置202に入力される。
図8は、第1の実施例における不正者特定装置202の構成を示すブロック図である。図8を参照すると、不正者特定装置202はRS誤り訂正装置501および不正者集合出力装置502を有している。
RS誤り訂正装置501は、データV{i_j}=(i_j,v{i_j})とデータA{i_j}を用いてリード・ソロモン誤り訂正処理を実行し、不正者特定情報生成装置102のRS情報源生成装置402が生成したものと同じe0,e1,・・・,etを復元し、不正者集合出力装置502に出力する。このときリード・ソロモン誤り訂正処理としては既存の方法を用いればよい。既存のリード・ソロモン誤り訂正処理の一例としてバーレカンプ法がある。
不正者集合出力装置502は、k個の記憶装置300−i_1,300−i_2,・・・,300−i_kの各分散秘密情報記憶装置301からデータV{i_j}=(i_j,v{i_j})を取得する。また、不正者集合出力装置502は、同じk個の記憶装置300−i_1,300−i_2,・・・,300−i_kの各不正者特定情報記憶装置302からデータA{i_j}(j=1,2,・・・,k)を取得する。そして不正者集合出力装置502は、取得したデータを用いてx{i_j}=p*(i_j−1)+v{i_j}(j=1,2,・・・,k)を計算し、A{i_j}=e0+e1*x{i_j}+e2*x{i_j}^2+・・・+et*x{i_j}^tが成立しないi_jの集合Lを不正者リストとして出力すると共に秘密情報復元装置201に送る。
秘密情報復元装置201は不正者特定装置202からの集合(不正者リスト)Lを取得し、集合Lが空集合か否か判定する。集合Lが空集合でなければ、秘密情報復元装置201は不正が検出されたことを示す記号を出力する。集合Lが空集合であれば、秘密情報復元装置201は、それは不正が検出されなかったことを意味するので、秘密情報を復元する処理を行う。秘密情報を復元する処理において、秘密情報復元装置201は記憶装置300−i_1,・・・,300−i_kの各分散秘密情報記憶装置301から分散秘密情報V{i_j}=(i_j,v{i_j})を取得し、それらを用いて秘密情報を復元する。ここで復元される秘密情報は、秘密情報分散装置101が分散秘密情報を生成するときに用いたk−1次多項式fs(x)のx=1のときの値fs(0)である。ここでfs(0)を求める方法としては既存の方法を用いればよい。既存の方法の一例としてk元1次の連立方程式を解く方法やラグランジュ補間を用いる方法がある。
不正者特定装置202の出力である集合Lと、秘密情報復元装置201の出力とが、復元装置200の出力となる。
以上説明したように、第1の実施例によれば、分散情報生成装置100において、秘密情報分散装置101は(k,n)閾値秘密分散法でn個の分散秘密情報Vi(i=1,2,・・・,n)を生成する。不正者特定情報生成装置102は、秘密情報分散装置101の生成したn個の分散秘密情報Viと、閾値kとの間で所定の条件を満たす値をtとしたランダムなt次多項式とを用いて、各分散秘密情報Viに対する不正者特定情報Ai(i=1,2,・・・,n)を生成する。その際、不正者特定情報生成装置102は、任意のk個の分散秘密情報V{i_j}(j=1,2,・・・,k)のうちt個以下のものに誤りがある場合にリード・ソロモン誤り訂正処理による誤りの検出および訂正を可能とする不正者特定情報を生成する。一方、復元装置200において、不正者特定装置202は、任意のk個の分散秘密情報V{i_j}(j=1,2,・・・,k)およびそれらに対応する不正者特定情報を用いて、リード・ソロモン誤り訂正処理を行って、誤った分散秘密情報を示す記号の集合Lを出力する。秘密情報復元装置201は、不正者特定装置202によるリード・ソロモン誤り訂正処理にて誤りが検出されなかったとき、k個の分散秘密情報V{i_j}から秘密情報を復元する。このように、分散秘密情報Viと、ランダムなt次多項式とを用いて、リード・ソロモン誤り訂正処理による誤りの検出および訂正を可能とする不正者特定情報を生成することで、改竄された分散秘密情報の特定を可能とする秘密情報分散システムの分散秘密情報のサイズを従来よりも小さくすることができる。
また、第1の実施例では、各分散秘密情報Vi(i=1,2,・・・,n)から一意に導き出される値xi(i=1,2,・・・,n)を、kとの間で所定の条件を満たす値をtとしたランダムなt次多項式に代入し、得られた値を各Viに対する不正者特定情報Aiとする。その際、任意のvi,vjについてvi≠vjであればxi≠xjが成立するように、分散秘密情報Viとiからxiを生成するとき、q≦n*pとなるqに対してGF(q)上でxi=p*(i−1)+vi(i=1,2,・・・,n)を計算する。秘密情報のサイズをpとする本実施例では分散秘密情報のサイズがp*qとなる。また、改竄された分散秘密情報が集合Lの元として出力される確率、つまり改竄を検出できる確率は1−1/qとなる。文献5に開示された方式で同じパラメーターを用いた場合に分散秘密情報のサイズはp*q^{t+2}なので、本実施例によれば、分散秘密情報のサイズがp*q^{t+2}からp*qに大幅に低減されている。
(第2の実施例)
第2の実施例の秘密情報分散システムは、秘密情報のデータ集合に有限体GF(p^N)を用いる。ここでpは第1の実施例で用いたのと同じ素数の冪乗である。また第1の実施例と同様、有限体上の加算を+、減算を−、乗算を*、除算を/、冪乗算を^で表す。
第2の実施例における秘密情報分散装置101も第1の実施例同様、文献1に記載された(k,n)閾値秘密分散法を用いて秘密情報を分散符号化する。秘密情報復元装置201は、その(k,n)閾値秘密分散法に対応する復元方法を用いて秘密情報を復元する。
次に第2の実施例の分散情報生成装置100および復元装置200について説明する。
第2の実施例の分散情報生成装置100には、秘密情報s、閾値k、分散情報総数n、および想定不正者数tが入力される。第2の実施例でも、k≧3*t+1が成立しているものとする。
分散情報生成装置100は、s,k,n,tが入力されると、秘密情報分散装置101によりGF(p^N)上の定数項がsであるk−1次多項式をランダムに生成する。このk−1次多項式をfs(x)と記す。
分散情報生成装置100内では、秘密情報分散装置100がfs(1),fs(2),・・・,fs(n)を計算し、その計算結果と入力iのペアVi=(i,v{i,0},v{i,1},・・・,v{i,N−1})(i=1,2,・・・,n)をそれぞれ記憶装置300−iの分散秘密情報記憶装置301−iに格納する。ここで、(v{i,0},・・・,v{i,N−1})はfs(i)のベクトル表現であり、各v{i,j}はGF(p)の元である。
図9は、第2の実施例における不正者特定情報生成装置102の構成を示すブロック図である。図9を参照すると、不正者特定情報生成装置102は、分散秘密情報変換装置601、第1のRS情報源生成装置602、第1のRS符号語生成装置603、第2のRS情報源生成装置604、および第2のRS符号語生成装置605を有している。
不正者特定情報生成装置102に分散情報総数nおよび想定不正者数tが入力されると、分散秘密情報変換装置601は、秘密情報分散装置101の出力であるVi=(i,v{i,0},・・・,v{i,N−1})を取得し、GF(p)上でランダムにeを選択し、第2のRS符号語生成装置605に出力する。
また、分散秘密情報変換装置601はGF(p)上でyi=v{i,0}+v{i,1}*e+v{i,2}*e^2+・・・+v{i,N−1}e^{N−1}(i=1,2,・・・,n)を計算する。続いて、分散秘密情報変換装置601は、q≧n*pとなるqに対し、GF(q)上で、xi=p*(i−1)+yi(i=1,2,・・・,n)を計算し、第1のRS符号語生成装置603に出力する。
第1のRS情報源生成装置602は、GF(q)上のランダムなデータe0,e1,・・・,etを第1のRS符号語生成装置603に出力する。
第1のRS符号語生成装置603は、分散秘密情報変換装置601から出力されたxi(i=1,2,...,n)と、第1のRS情報源生成装置602から出力されたe0,e1,・・・,etを取得し、GF(q)上でCs(xi)=e0+e1*xi+e2*xi^2+・・・+et*xi^t(i=1,2,・・・,n)を計算し出力する。
第2のRS情報源生成装置604は、GF(p)上のランダムなデータr1,・・・,rtを選択し、第2のRS符号語生成装置605に出力する。
第2のRS符号語生成装置605は、分散秘密情報変換装置601から出力されたeと、第2おRS情報源生成装置604から出力されたr1,・・・,rtとを取得し、GF(q)上でCe(xi)=e+r1*i+r2*i^2+・・・+rt*i^t(i=1,2,・・・,n)を計算し出力する。
第1のRS符号語生成装置603から出力されたCs(xi)(i=1,2,・・・,n)と、第2のRS符号語生成装置605から出力されたCe(i)とからなるAi=(Cs(xi),Ce(i))(i=1,2,・・・,n)が、分散秘密情報viに対応する不正者特定情報となる。不正者特定情報A1,A2,・・・,Anの各々は各記憶装置300−i(i=1,2,・・・,n)に出力される。各Aiは記憶装置300−iの不正者特定情報記憶装置302−iに格納される。
一方、第2の実施例の復元装置200には閾値kおよび想定不正者数tが入力される。
復元装置200は、k個の記憶装置300−i_1,300−i_2,・・・,300−i_kの各分散秘密情報記憶装置301からデータV{i_j}=(i_j,v{i_j,1},v{i_j,2},・・・,v{i_j,N−1})を取得する。また、復元装置200は、同じk個の記憶装置300−i_1,300−i_2,・・・,300−i_kの各不正者特定情報記憶装置302からデータA{i_j}(j=1,2,・・・,k)を取得する。
このA{i_j}=(Cs(x{i_j}),Ce(i_j))において、(Cs(x{i_1}),Cs(x{i_2}),・・・,Cs(x{i_k}))は、第1のRS情報源生成装置602から出力されたe0,e1,・・・,etを情報源とするリード・ソロモン誤り訂正符号の符号語になっている。したがって、k≧3t+1であれば、Cs(x{i_j})に含まれるt個の誤りを訂正し、元の情報源e0,e1,・・・,etを復元することが可能である。
また同様に、(Ce(i_1),Ce(i_2),・・・,Ce(i_k))はe,r1,r2,・・・,rtを情報源とするリード・ソロモン誤り訂正符号の符号語になっている。ここでeは分散秘密情報変換装置601の出力である。また、r1,・・・,rtは第2のRS符号語生成装置605の出力である。したがって、k≧3t+1であれば、Ce(i_j)に含まれるt個の誤りを訂正し、元の情報源e,r1,・・・,rtを復元することが可能である。
不正者特定装置202には、k個の記憶装置300−i_1,・・・,300−i_kの分散秘密情報のデータおよび不正者特定情報のデータが入力される。
図10は、第2の実施例における不正者特定装置202の構成を示すブロック図である。図10を参照すると、不正者特定装置202は第1のRS誤り訂正装置701、第2の誤り訂正装置702、および不正者集合出力装置703を有している。
第1のRS誤り訂正装置701は符号語(Cs(x{i_1}),・・・,Cs(x{i_k}))に対してリード・ソロモン誤り訂正処理を実行し、不正者特定情報生成装置102の第1のRS情報源生成装置602が出力したのと同じe0,e1,・・・,etを復元し、不正者集合出力装置703に出力する。
第2のRS誤り訂正装置702は、符号語(Ce(i_1),・・・,Ce(i_k))に対してリード・ソロモン誤り訂正処理を実行し、不正者特定情報生成装置102の分散秘密情報変換装置601が出力したのと同じeを復元し、不正者集合出力装置703に出力する。
不正者集合出力装置502は、k個の記憶装置300−i_1,300−i_2,・・・,300−i_kの各分散秘密情報記憶装置301からデータV{i_j}=(i_j,v{i_j,0},・・・,v{i_j,N−1})を取得し、不正者特定情報記憶装置302からデータA{i_j}=(Cs(x{i_j}),Ce(i_j))(j=1,2,・・・,k)を取得する。そして、不正者集合出力装置502は、GF(p)上でyi=v{i,0}+v{i,1}*e+v{i,2}*e^2+・・・+v{i,N−1}e^{N−1}(i=1,2,・・・,n)を計算し、さらにGF(q)上で、x{i_j}=p*(i_j−1)+yi(i=1,2,・・・,n)を計算する。続いて不正者集合出力装置502は、Ce(i_j)=e0+e1*x{i_j}+e2*x{i_j}^2+・・・+et*x{i_j}^tが成立しないi_jの集合Lを不正者リストとして出力する。この集合(不正者リスト)Lが不正者特定装置202の出力となる。
秘密情報復元装置201は、不正者特定装置202から集合Lを取得し、集合Lが空集合か否か判定する。集合Lが空集合でなければ、秘密情報復元装置201は、不正が検出されたことを示す記号を出力する。集合Lが空集合であれば、不正が検出されなかったことを意味するので、秘密情報復元装置201は、k個の記憶装置300−i_1,・・・,300−i_kの各分散秘密情報記憶装置301から分散秘密情報V{i_j}=(i_j,v{i_j,0},・・・,v{i_j,N−1})を取得し、それらを用いて秘密情報を復元する。ここで復元される秘密情報は、秘密情報分散装置101が分散秘密情報を生成するときに用いたk−1次多項式fs(x)のx=1のときの値fs(0)である。ここでfs(0)を求める方法としては既存の方法を用いればよい。既存の方法の一例としてk元1次の連立方程式を解く方法やラグランジュ補間を用いる方法がある。
不正者特定装置202の出力である集合Lと、秘密情報復元装置201の出力とが、復元装置200の出力となる。
以上説明したように、第2の実施例では、各分散秘密情報Vi(i=1,2,・・・,n)と、ランダムに選択したeとから一意に導き出されるxi(i=1,2,・・・,n)を求め、kとの間で所定の条件を満たす値をtとしたランダムなt次多項式Cs(xi)にxiを代入してCs(xi)を求め、Ce(0)=eとなるランダムなt次多項式にiを代入してCe(i)を求め、Cs(xi)とCe(i)からなる値を、各Viに対する不正者特定情報Aiとする。その際、任意のvi,vjについてvi≠vjであればxi≠xjが十分に高い確率で成立するように、まずランダムな値eを用いてyi=v{i,0}+v{i,1}*e+v{i,2}*e^2+・・・+v{i,N−1}e^{N−1}(i=1,2,・・・,n)を計算し、それを用いてxi=p*(i−1)+yi(i=1,2,・・・,n)を計算する。秘密情報のサイズをp^Nとする本実施例では分散秘密情報のサイズがp^{N+1}*qとなり、改竄を検出する確率が1−N/p−1/qとなる。第1の実施例では、秘密情報のサイズpと不正検出確率1−1/qとの間にq≧n*pという制約があったが、第2の実施例では、pを適切に選択することにより、秘密情報のサイズと不正検出確率との間の制約を解消することができる。
(第3の実施例)
第3実施例の秘密情報分散システムは、秘密情報のデータ集合にGF(p)を用いる。なお、GF(p)は素数の冪乗pに対する有限体であり、有限体上の加算を+、減算を−、乗算を*、除算を/、冪乗算を^で表す。
第3の実施例における秘密情報分散装置101も第1の実施例と同様、文献1に記載された(k,n)閾値秘密分散法を用いて秘密情報を分散符号化する。秘密情報復元装置201は、その(k,n)閾値秘密分散法に対応する復元方法を用いて秘密情報を復元する。
次に第3実施例の分散情報生成装置100および復元装置200について説明する。
第3実施例の分散情報生成装置100には秘密情報s、閾値k、分散情報総数n、および想定不正者数tが入力される。第3の実施例では、k≧2*t+1が成立しているものとする。
分散情報生成装置100内では、秘密情報分散装置101がGF(p)上の定数項がsであるk−1次多項式をランダムに生成する。このk−1次多項式をfs(x)と記す。
秘密情報分散装置101は、fs(1),fs(2),・・・,fs(n)を計算し、その計算結果と入力iのペアVi=(i,vi)(i=1,2,・・・,n,vi=fs(i))をそれぞれ記憶装置300−iの分散秘密情報記憶装置301−iに格納する。
図11は、第3の実施例における不正者特定情報生成装置102の構成を示すブロック図である。図11を参照すると、不正者特定情報生成装置102は、第1のチェック情報生成装置801および第2のチェック情報生成装置802を有している。
第1のチェック情報生成装置801は分散情報総数nおよび想定不正者数tに基づいて、GF(p)上のランダムなデータe{0,i}(i=1,2,・・・,n)、およびGF(p)上のランダムなt−1次多項式e{1,i}(x)(i=1,2,・・・,n)を生成して出力すると共に、第2のチェック情報生成装置802に送る。
第2のチェック情報生成装置802は、秘密情報分散装置101で生成された(i,vi)(i=1,2,・・・,n)と、第1のチェック情報生成装置801で生成されたe{0,i},e{1,i}(x)とから、i=1,2,・・・,n、j=1,2,・・・,i−1,i+1,・・・,nに対して、a{i,j}=e{0,j}*vi+e{1,j}(i)を計算し、出力する。
第1のチェック情報生成装置801で生成されたe{0,i},e{1,i}(x)と、第2のチェック情報生成装置802で生成されたa{i,j}とからなるAi=(e{0,i},e{1,i}(x),a{i,1},a{i,2},・・・,a{i,i−1},a{i,i+1},・・・,a{i,n})が不正者特定情報生成装置102の出力となる。各Aiは記憶装置300−iの不正者特定情報記憶装置302−iに格納される。
一方、第3の実施例の復元装置200には閾値kおよび想定不正者数tが入力される。
復元装置200は、k個の記憶装置300−i_1,300−i_2,・・・,300−i_kの各分散秘密情報記憶装置301からデータV{i_j}=(i_j,v{i_j})を取得する。また、復元装置200は、同じk個の記憶装置300−i_1,300−i_2,・・・,300−i_kの各不正者特定情報記憶装置302からデータA{i_j}(j=1,2,・・・,k)を取得する。
復元装置200の内部では、不正者特定装置202が、記憶装置300−i_1,300−i_2,・・・,300−i_kの各分散秘密情報記憶装置301からのデータV{i_j}=(i_j,v{i_j})と、不正者特定情報記憶装置302からのデータA{i_j}=(e{0,i_j},e{1,i_j}(x),a{i_j,1},a{i_j,2},・・・,a{i_j,i_j−1},a{i_j,i_j+1},・・・,a{i_j,n})(j=1,2,・・・,k)とを用いて、各l=i_1,i_2,・・・,i_kおよびm=i_1,i_2,・・・,i_k(m≠l)に対し、a{l,m}=e{0,m}*vl+e{1,m}(l)という関係が成立するか否かをチェックする。そして、不正者特定装置202は、チェックの結果において、k/2個以上のmについて上の関係が成立しなかったlの集合を不正者リストLとして出力する。
秘密情報復元装置201は、不正者特定装置202から不正者リストLを取得し、集合Lが空集合であるか否か判定する。集合Lが空集合でなければ、秘密情報復元装置201は、不正が検出されたことを示す記号を出力する。集合Lが空集合であれば、それは不正が検出されなかったことを意味するので、秘密情報復元装置201は、記憶装置300−i_1,・・・,300−i_kの各分散秘密情報記憶装置301から分散秘密情報V{i_j}=(i_j,v{i_j})を取得し、秘密情報分散装置101が秘密情報の分散処理に用いたk−1次多項式fs(x)に対するfs(0)を求め、それを秘密情報として出力する。fs(0)を求める方法としては既存の方法を用いればよい。既存の方法の一例としてk元1次の連立方程式を解く方法やラグランジュ補間を用いる方法等がある。
不正者特定装置202の出力である集合Lと、秘密情報復元装置201の出力とが、復元装置200の出力となる。
以上説明したように、第3の実施例によれば、分散情報生成装置100において、秘密情報分散装置101は(k,n)閾値秘密分散法でn個の分散秘密情報Vi(i=1,2,・・・,n)を生成する。不正者特定情報生成装置102は、秘密情報分散装置101の生成したn個の分散秘密情報Viと、自身で生成したランダムなデータと、閾値kとの間で所定の条件を満たす値をtとしたランダムなt−1次多項式とを用いて、チェック条件式から得られる値を、分散秘密情報Vi(i=1,2,・・・,n)に対応する不正者特定情報Ai(i=1,2,・・・,n)とする。その際に生成される不正者特定情報Aiは、そのAiと、任意のi、j(i=1,2,・・・,n、j=1,2,・・・,n、i≠j)の組みと、分散秘密情報Viとでチェック条件式を満たすものとする。一方、復元装置200において、不正者特定装置202は、任意のk個の分散秘密情報V{i_j}(j=1,2,・・・,k)およびそれらに対応する不正者特定情報A{i_j}(j=1,2,・・・,k)を用いて上述したチェック条件式が成立するか否かを判定し、その判定結果に基づいてk個の各分散秘密情報の改竄の有無を判断する。そして分散秘密情報の改竄が無ければ、復元装置200はk個の分散秘密情報V{i_j}から秘密情報を復元する。このように、分散秘密情報Viと、ランダムなデータと、ランダムなt−1次多項式とから不正者特定情報を生成することで、改竄された分散秘密情報の特定を可能とする秘密情報分散システムの分散秘密情報のサイズを従来よりも小さくすることができる。
また、秘密情報のサイズをpとする第3の実施例では、分散秘密情報のサイズがp^{n+t+1}となる。また、改竄された分散秘密情報が集合Lの元として出力される確率、つまり改竄を検出できる確率は1−k/(2*p)となる。文献4に開示された方式で同じパラメーターを用いた場合に分散秘密情報のサイズはp^{3n−2}なので、本実施例によれば、分散秘密情報のサイズがp^{3n−2}からがp^{n+t+1}に大幅に削減されている。
(第4の実施例)
第4の実施例の秘密情報分散システムは、秘密情報のデータ集合にGF(p^N)を用いる。なお、GF(p^N)は、pを素数の冪乗としたp^Nに対する有限体である。有限体上の加算を+、減算を−、乗算を*、除算を/、冪乗算を^で表す。
第4の実施例における秘密情報分散装置101も第1の実施例と同様、文献1に記載された(k,n)閾値秘密分散法を用いて秘密情報を分散符号化する。そして、秘密情報復元装置201は、その(k,n)閾値秘密分散法に対応する復元方法を用いて秘密情報を復元するものとする。
次に第4の実施例における分散情報生成装置100および復元装置200について説明する。
第4の実施例の分散情報生成装置100には、秘密情報s、閾値k、分散情報総数n、および想定不正者数tが入力される。第4の実施例では、第3の実施例と同様にk≧2*t+1が成立しているものとする。
分散情報生成装置100内では、まず秘密情報分散装置101がGF(p^N)上の定数項がsであるk−1次多項式をランダムに生成する。このk−1次多項式をfs(x)と記す。そして、秘密情報分散装置101は、fs(1),fs(2),・・・,fs(n)を計算し、その計算結果と入力iのペアVi=(i,v{i,1},v{i,2},・・・,v{i,N})(i=1,2,・・・,n,vi=fs(i))をそれぞれ記憶装置300−iの分散秘密情報記憶装置301−iに格納する。
図12は、第4の実施例における不正者特定情報生成装置102の構成を示すブロック図である。図12を参照すると、不正者特定情報生成装置102は、第1のチェック情報生成装置901および第2のチェック情報生成装置902を有している。
第1のチェック情報生成装置901は、分散情報総数nおよび想定不正者数tに基づいて、GF(p)上のランダムなデータe{0,i}(i=1,2,・・・,n)、およびGF(p)上のランダムなt−1次多項式e{1,i}(x)(i=1,2,・・・,n)を生成して出力すると共に、第2のチェック情報生成装置902に送る。
第2のチェック情報生成装置902は、秘密情報分散装置101で生成された(i,vi)(i=1,2,・・・,n)と、第1のチェック情報生成装置801から取得したe{0,i},e{1,i}(x)とから、i=1,2,・・・,n,j=1,2,・・・,i−1,i+1,・・・,nに対して、a{i,j}=e{0,j}*v{i,1}+e{0,j}^2*v{i,2}+・・・+e{0,j}^N*v{i,N}+e{1,j}(i)を計算し、出力する。
第1のチェック情報生成装置901で生成されたe{0,i},e{1,i}(x)と、第2のチェック情報生成装置902で生成されたa{i,j}とからなるAi=(e{0,i},e{1,i}(x),a{i,1},a{i,2},・・・,a{i,i−1},a{i,i+1},・・・,a{i,n})が不正者特定情報生成装置102の出力となる。各Aiは記憶装置300−iの不正者特定情報記憶装置302−iに格納される。
一方、第4の実施例の復元装置200には閾値kおよび想定不正者数tが入力される。
復元装置200は、k個の記憶装置300−i_1,300−i_2,・・・,300−i_kの各分散秘密情報記憶装置301からデータV{i_j}=(i_j,v{i_j,1},v{i_j,2},・・・,v{i_j,N})を取得する。また、復元装置200は、同じk個の記憶装置300−i_1,300−i_2,・・・,300−i_kの各不正者特定情報記憶装置302からデータA{i_j}(j=1,2,・・・,k)を取得する。
復元装置200内では、不正者特定装置202が、まず記憶装置300−i_1,300−i_2,・・・,300−i_kの各分散秘密情報記憶装置301からのデータV{i_j}=(i_j,v{i_j,1},v{i_j,2},・・・,v{i_j,N})と、不正者特定情報記憶装置302からのデータA{i_j}=(e{0,i_j},e{1,i_j}(x),a{i_j,1},a{i_j,2},・・・,a{i_j,i_j−1},a{i_j,i_j+1},・・・,a{i_j,n})(j=1,2,・・・,k)とを用いて、各l=i_1,i_2,・・・,i_kおよびm=i_1,i_2,・・・,i_k(m≠l)に対し、a{l,m}=e{0,m}*v{l,1}+e{0,m}^2*v{l,2}+・・・+e{0,m}^N*v{l,N}+e{1,m}(l)という関係が成立するか否かをチェックする。そして、チェックの結果において、k/2個以上のmについて上の関係が成立しなかったlの集合を不正者リストLとして出力する。
秘密情報復元装置201は、不正者特定装置202から不正者リストLを取得し、集合Lが空集合であるか否か判定する。集合Lが空集合でなければ、秘密情報復元装置201は、不正が検出されたことを示す記号を出力する。集合Lが空集合であれば、それは不正が検出されなかったことを意味するので、秘密情報復元装置201は、記憶装置300−i_1,・・・,300−i_kの各分散秘密情報記憶装置301から分散秘密情報V{i_j}=(i_j,v{i_j})を取得し、秘密情報分散装置101が秘密情報の分散処理に用いたk−1次多項式fs(x)に対するfs(0)を求め、それを秘密情報として出力する。fs(0)を求める方法としては既存の方法を用いればよい。既存の方法の一例としてk元1次の連立方程式を解く方法やラグランジュ補間を用いる方法がある。
不正者特定装置202の出力である集合Lと、秘密情報復元装置201の出力とが、復元装置200の出力となる。
秘密情報のサイズをp^Nとする第4実施例では、分散秘密情報のサイズはp^{N+n+t}となる。また、改竄された分散秘密情報が集合Lの元として出力される確率、つまり改竄を検出できる確率は1−k*N/(2*p)となる。第3の実施例では、不正検出確率1−k/(2*p)が秘密情報のサイズpから一意に決まっていたが、第4の実施例ではNを適切に選択することにより、秘密サイズと不正者特定確率を独立に設定することができる。
以上、実施形態(および実施例)を参照して本発明を説明したが、本発明は実施形態(および実施例)に限定されるものではない。クレームに定義された本発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2006年10月24日に出願された日本出願特願2006−288911号を基礎として優先権の利益を主張するものであり、その開示の全てを引用によってここに取り込む。

Claims (24)

  1. (k,n)閾値秘密分散法によって秘密情報を複数の分散秘密情報に分散して管理する秘密情報分散システムであって、
    (k,n)閾値秘密分散法で前記秘密情報からn個の分散秘密情報Vi(i=1,2,・・・,n)を生成し、生成した前記n個の分散秘密情報Viと、想定する不正分散秘密情報数tが閾値kとの間で所定の条件を満たものとしたランダムなt次多項式とを用いて、任意のk個の分散秘密情報V{i_j}(j=1,2,・・・,k)のうちt個以下のものに誤りがある場合にリード・ソロモン誤り訂正処理による誤りの検出および訂正を可能とする不正者特定情報Ai(i=1,2,・・・,n)を、前記n個の分散秘密情報Viに対応付けて生成する分散情報生成装置と、
    前記分散情報生成装置で生成されたうちの任意のk個の分散秘密情報V{i_j}(j=1,2,・・・,k)とそれらに対応するk個の不正者特定情報A{i_j}(j=1,2,・・・,k)とを用いて、リード・ソロモン誤り訂正処理を行って、前記k個の分散秘密情報V{i_j}のそれぞれについて不正分散秘密情報であるか否かを判断し、不正分散秘密情報が検出されなかったときに前記k個の分散秘密情報V{i_j}から前記秘密情報を復元する復元装置と、を有する秘密情報分散システム。
  2. 前記分散情報生成装置は、
    前記秘密情報と、前記閾値kと、分散秘密情報の総数nと、前記想定する不正分散秘密情報数tとを入力とし、任意のk個の分散秘密情報から前記秘密情報が一意に復元可能であるような前記n個の分散秘密情報Viを出力する秘密情報分散装置と、
    前記秘密情報分散装置から出力された前記n個の分散秘密情報Viを入力とし、任意のVi,Vjに対してVi≠Vjであればh(Vi)≠h(Vj)であることが保証される方法hによって、前記各分散秘密情報Viから一意に定まる値xiを生成し、生成したxiをランダムなt次多項式Cに代入して得られるC(xi)(i=1,2,・・・,n)を、分散秘密情報Viに対応する不正者特定情報Aiとして出力する不正者特定情報生成装置と、を有し、
    前記復元装置は、
    前記秘密情報分散装置で生成されたうちのk個の分散秘密情報V{i_j}(j=1,2,・・・,k)と、該k個の分散秘密情報{i_j}に対応する、前記不正者特定情報生成装置で生成されたk個の不正者特定情報A{i_j}(j=1,2,・・・,k)とを用いて、リード・ソロモン誤り訂正処理による誤り検出と前記t次多項式Cの復号とを行う不正者特定装置と、
    前記不正者特定装置によって誤りが検出されなかったときに、前記k個の分散秘密情報V{i_j}(j=1,2,・・・,k)を用いて前記秘密情報を復元する秘密情報復元装置と、を有する、請求項1に記載の秘密情報分散システム。
  3. 前記分散情報生成位置は、
    前記秘密情報と、前記閾値kと、分散秘密情報の総数nと、想定する不正な分散秘密情報の数tとを入力とし、任意のk個の分散秘密情報から前記秘密情報が一意に復元可能であるような前記n個の分散秘密情報Viを出力する秘密情報分散装置と、
    前記秘密情報分散装置から出力された前記n個の分散秘密情報Viを入力とし、任意のVi,Vjに対してVi≠Vjであればh(Vi)≠h(Vj)となる確率が一定以上に高いことが保証される方法hによって、前記各分散秘密情報Viとランダムに生成したeとから一意に定まる値xiを生成し、生成したxiをランダムなt次多項式Csに代入して得られるCs(xi)(i=1,2,・・・,n)と、前記eに対してCe(0)=eとなるランダムなt次多項式Ceにiを入力したCe(i)(i=1,2,・・・,n)とを、分散秘密情報Viに対応する不正者特定情報Aiとして出力する不正者特定情報生成装置と、を有し、
    前記復元装置は、
    前記秘密情報分散装置で生成されたうちのk個の分散秘密情報V{i_j}(j=1,2,・・・,k)と、該k個の分散秘密情報V{i_j}に対応する、前記不正者特定情報生成装置で生成されたk個の不正者特定情報A{i_j}(j=1,2,・・・,k)とを用いて、リード・ソロモン誤り訂正処理により誤り検出と前記t次多項式Csおよび前記Ceの復号とを行う不正者特定装置と、
    前記不正者特定装置によって誤りが検出されなかったときに、前記k個の分散秘密情報V{i_j}(j=1,2,・・・,k)を用いて前記秘密情報を復元する秘密情報復元装置と、を有する、請求項1に記載の秘密情報分散システム。
  4. 前記分散情報生成装置で生成された前記分散秘密情報Vi(i=1,2,・・・,n)と前記不正者特定情報Ai(i=1,2,・・・,n)とを対にして、前記n個の対を各々に格納するn個の記憶装置をさらに有する、請求項1から3のいずれか1項に記載の秘密情報分散システム。
  5. (k,n)閾値秘密分散法によって秘密情報を複数の分散秘密情報に分散する分散情報生成装置あって、
    (k,n)閾値秘密分散法で前記秘密情報からn個の分散秘密情報Vi(i=1,2,・・・,n)を生成する秘密情報分散装置と、
    前記秘密情報分散装置で生成された前記n個の分散秘密情報Viと、閾値kとの間で所定の条件を満たす値をtとしたランダムなt次多項式とを用いて、任意のk個の分散秘密情報V{i_j}(j=1,2,・・・,k)のうちt個以下のものに誤りがある場合にリード・ソロモン誤り訂正処理による誤りの検出および訂正を可能とする、不正者特定情報Ai(i=1,2,・・・,n)を、前記n個の分散秘密情報Viに対応付けて生成する不正者特定情報生成装置と、を有する分散情報生成装置。
  6. 前記秘密情報分散装置は、前記秘密情報と、前記閾値kと、分散秘密情報の総数nと、想定する不正な分散秘密情報の数tとを入力とし、任意のk個の分散秘密情報から前記秘密情報が一意に復元可能であるような前記n個の分散秘密情報Viを出力し、
    前記不正者特定情報生成装置は、前記秘密情報分散装置から出力された前記n個の分散秘密情報Viを入力とし、任意のVi,Vjに対してVi≠Vjであればh(Vi)≠h(Vj)であることが保証される方法hによって、前記各分散秘密情報Viから一意に定まる値xiを生成し、生成したxiをランダムなt次多項式Cに代入して得られるC(xi)(i=1,2,・・・,n)を、分散秘密情報Viに対応する不正者特定情報Aiとして出力する、請求項5に記載の分散情報生成装置。
  7. 秘密情報分散装置は、前記秘密情報と、前記閾値kと、分散秘密情報の総数nと、想定する不正な分散秘密情報の数tとを入力とし、任意のk個の分散秘密情報から前記秘密情報が一意に復元可能であるような前記n個の分散秘密情報Viを出力し、
    不正者特定情報生成装置は、前記秘密情報分散装置から出力された前記n個の分散秘密情報Viを入力とし、任意のVi,Vjに対してVi≠Vjであればh(Vi)≠h(Vj)となる確率が一定以上に高いことが保証される方法hによって、前記各分散秘密情報Viとランダムに生成したeとから一意に定まる値xiを生成し、生成したxiをランダムなt次多項式Csに代入して得られるCs(xi)(i=1,2,・・・,n)と、前記eに対してCe(0)=eとなるランダムなt次多項式Ceにiを入力したCe(i)(i=1,2,・・・,n)とを、分散秘密情報Viに対応する不正者特定情報Aiとして出力する、請求項5に記載の分散情報生成装置。
  8. 請求項5に記載の分散情報生成装置で(k,n)閾値秘密分散法によって生成された複数の分散秘密情報から秘密情報を復元する復元装置であって、
    前記分散情報生成装置で生成されたうちの任意のk個の分散秘密情報V{i_j}(j=1,2,・・・,k)とそれらに対応するk個の不正者特定情報A{i_j}(j=1,2,・・・,k)とを用いて、リード・ソロモン誤り訂正処理を行う不正者特定装置と、
    前記不正者特定装置にて誤りが検出されなかったときに、前記k個の分散秘密情報V{i_j}から前記秘密情報を復元する秘密情報復元装置と、を有する復元装置。
  9. 前記分散情報生成装置は、請求項6に記載された前記分散情報生成装置であり、
    前記不正者特定装置は、前記秘密情報分散装置で生成されたうちのk個の分散秘密情報V{i_j}(j=1,2,・・・,k)と、該k個の分散秘密情報{i_j}に対応する、前記不正者特定情報生成装置で生成されたk個の不正者特定情報A{i_j}(j=1,2,・・・,k)とを用いて、リード・ソロモン誤り訂正処理による誤り検出と前記t次多項式Cの復号とを行い、
    秘密情報復元装置は、前記不正者特定装置によって誤りが検出されなかったときに、前記k個の不正者特定情報A{i_j}(j=1,2,・・・,k)を用いて前記秘密情報を復元する、請求項8に記載の復元装置。
  10. 前記分散情報生成装置は、請求項7に記載された前記分散情報生成装置であり、
    前記不正者特定装置は、前記秘密情報分散装置で生成されたうちのk個の分散秘密情報V{i_j}(j=1,2,・・・,k)と、該k個の分散秘密情報{i_j}に対応する、前記不正者特定情報生成装置で生成されたk個の不正者特定情報A{i_j}(j=1,2,・・・,k)とを用いて、リード・ソロモン誤り訂正処理により誤り検出と前記t次多項式Csおよび前記Ceの復号とを行い、
    秘密情報復元装置は、前記不正者特定装置によって誤りが検出されなかったときに、前記k個の不正者特定情報A{i_j}(j=1,2,・・・,k)を用いて前記秘密情報を復元する、請求項8に記載の復元装置。
  11. (k,n)閾値秘密分散法によって秘密情報を複数の分散秘密情報に分散する処理をコンピュータに実行させるためのプログラムであって、
    (k,n)閾値秘密分散法で前記秘密情報からn個の分散秘密情報Vi(i=1,2,・・・,n)を生成する手順と、
    生成された前記n個の分散秘密情報Viと、閾値kとの間で所定の条件を満たす値をtとしたランダムなt次多項式とを用いて、任意のk個の分散秘密情報V{i_j}(j=1,2,・・・,k)のうちt個以下のものに誤りがある場合にリード・ソロモン誤り訂正処理による誤りの検出および訂正を可能とする、不正者特定情報Ai(i=1,2,・・・,n)を、前記n個の分散秘密情報Viに対応付けて生成する手順と、をコンピュータに実行させるためのプログラム。
  12. 請求項5に記載の分散情報生成装置で(k,n)閾値秘密分散法によって生成された複数の分散秘密情報から秘密情報を復元する処理をコンピュータに実行させるためのプログラムであって、
    前記分散情報生成装置で生成されたうちの任意のk個の分散秘密情報V{i_j}(j=1,2,・・・,k)とそれらに対応するk個の不正者特定情報A{i_j}(j=1,2,・・・,k)とを用いて、リード・ソロモン誤り訂正処理を行う手順と、
    前記リード・ソロモン誤り訂正処理にて誤りが検出されなかったときに、前記k個の分散秘密情報V{i_j}から前記秘密情報を復元する手順と、をコンピュータに実行させるためのプログラム。
  13. (k,n)閾値秘密分散法によって秘密情報を複数の分散秘密情報に分散して管理する秘密情報分散システムであって、
    (k,n)閾値秘密分散法で前記秘密情報からn個の分散秘密情報Vi(i=1,2,・・・,n)を生成し、生成した前記n個の分散秘密情報Viと、ランダムなデータと、想定する不正分散秘密情報数tが閾値kとの間で所定の条件を満たすものとしたランダムなt−1次多項式とを用いて、所定のチェック条件式から得られる値を、分散秘密情報Viに対応する不正者特定情報Aiとすることにより、前記n個の分散秘密情報Viに対応する前記不正者特定情報Ai(i=1,2,・・・,n)を生成する分散情報生成装置と、
    前記分散情報生成装置で生成されたうちの任意のk個の分散秘密情報V{i_j}(j=1,2,・・・,k)とそれらに対応するk個の不正者特定情報A{i_j}(j=1,2,・・・,k)とを用いて前記チェック条件式が成立するか否か判定し、その判定結果に基づいて、前記k個の分散秘密情報V{i_j}のそれぞれについて不正分散秘密情報であるか否かを判断し、前記k個の分散秘密情報V{i_j}の全てが不正分散秘密情報でなければ、該k個の分散秘密情報V{i_j}から前記秘密情報を復元する復元装置と、を有する秘密情報分散システム。
  14. 前記分散情報生成装置は、
    前記秘密情報と、前記閾値kと、分散秘密情報の総数nと、前記想定する不正分散秘密情報数tとを入力とし、任意のk個の分散秘密情報から前記秘密情報が一意に復元可能であるような前記n個の分散秘密情報Vi=(i,vi)(i=1,2,・・・,n)を出力する秘密情報分散装置と、
    前記秘密情報分散装置から出力された前記n個の分散秘密情報Vi(i=1,2,・・・,n)を入力として、前記ランダムなデータをe{0,i}とし、前記t−1次多項式をe{1,i}(x)(i=1,2,・・・,n)として、前記チェック条件式a{i,j}=e{0,j}*vi+e{1,j}(i)(j=1,2,・・・,n,j≠i)となるようなa{i,j}を生成し、(e{0,i},e{1,i},a{i,1},a{i,2},・・・,a{i,i−1},a{i,i+1},・・・,a{i,n})(i=1,2,・・・,n)をViに対する不正者特定情報Aiと決定する不正者特定情報生成装置と、を有し、
    前記復元装置は、
    前記秘密情報分散装置で生成されたうちのk個の分散秘密情報V{i_j}(j=1,2,・・・,k)と、該k個の分散秘密情報V{i_j}に対応する、前記不正者特定情報生成装置で生成されたk個の不正者特定情報A{i_j}(j=1,2,・・・,k)とを用いて、各i,j(i,j=1,2,・・・,n,i≠j)の組について前記チェック条件式a{i,j}=e{0,j}*vi+e{1,j}(i)が成立するか否か判定し、その判定結果に基づいて、前記k個の分散秘密情報V{i_j}(j=1,2,・・・,k)のそれぞれについて不正分散秘密情報であるか否かを判断する不正者特定装置と、
    前記不正者特定装置によって前記k個の分散秘密情報V{i_j}(j=1,2,・・・,k)の全てが不正分散秘密情報でないと判断されれば、該k個の分散秘密情報Viから前記秘密情報を復元する秘密情報復元装置と、を有する、請求項13に記載の秘密情報分散システム。
  15. 前記分散情報生成装置は、
    前記秘密情報と、前記閾値kと、分散秘密情報の総数nと、前記想定する不正分散秘密情報数tとを入力とし、任意のk個の分散秘密情報から前記秘密情報が一意に復元可能であるような前記n個の分散秘密情報Vi=(i,v{i,1},v{i,2},・・・,v{i,N})(v{i,m}∈GF(q)))(i=1,2,・・・,n)を出力する秘密情報分散装置と、
    前記秘密情報分散装置から出力されたVi(i=1,2,・・・,n)を入力として、前記ランダムなデータをe{0,i}∈GF(q)とし、前記t−1次多項式をGF(q)上のランダムなt−1次多項式e{1,i}(x)(i=1,2,・・・,n)として、前記チェック条件式a{i,j}=e{0,j}*v{i,1}+e{0,j}^2*v{i,2}+・・・+e{0,j}^N*v{i,N}+e{1,j}(i)(j=1,2,・・・,n,j≠i)となるようなa{i,j}を生成し、(e{0,i},e{1,i},a{i,1},a{i,2},・・・,a{i,i−1},a{i,i+1},・・・,a{i,n})(i=1,2,・・・,n)をViに対する不正者特定情報と決定する不正者特定情報生成装置と、を有し、
    前記復元装置は、
    前記秘密情報分散装置で生成されたうちのk個の分散秘密情報V{i_j}(j=1,2,・・・,k)と、該k個の分散秘密情報V{i_j}に対応する、前記不正者特定情報生成装置で生成されたk個の不正者特定情報A{i_j}(j=1,2,・・・,k)とを用いて、各i,j(i,j=1,2,・・・,n,i≠j)の組みについて前記チェック条件式a{i,j}=e{0,j}*v{i,1}+e{0,j}^2*v{i,2}+・・・+e{0,j}^N*v{i,N}+e{1,j}(i)が成立するか否か判定し、その判定結果に基づいて、前記k個の分散秘密情報V{i_j}(j=1,2,・・・,k)のそれぞれについて不正分散秘密情報であるか否かを判定する不正者特定装置と、
    前記不正者特定装置によって前記k個の分散秘密情報V{i_j}(j=1,2,・・・,k)の全てが不正分散秘密情報でないと判断されれば、該k個の分散秘密情報Viから前記秘密情報を復元する秘密情報復元装置と、を有する、請求項13に記載の秘密情報分散システム。
  16. 前記分散情報生成装置で生成された前記分散秘密情報Vi(i=1,2,・・・,n)と前記不正者特定情報Ai(i=1,2,・・・,n)とを対にして、前記n個の対を各々に格納するn個の記憶装置をさらに有する、請求項13から15のいずれか1項に記載の秘密情報分散システム。
  17. (k,n)閾値秘密分散法によって秘密情報を複数の分散秘密情報に分散する分散情報生成装置あって、
    (k,n)閾値秘密分散法で前記秘密情報からn個の分散秘密情報Vi(i=1,2,・・・,n)を生成する秘密情報分散装置と、
    前記秘密情報分散装置で生成された前記n個の分散秘密情報Viと、ランダムなデータと、想定する不正分散秘密情報数tが閾値kとの間で所定の条件を満たすものとしたランダムなt−1次多項式とを用いて、所定のチェック条件式から得られる値を、分散秘密情報Viに対応する不正者特定情報Aiとすることにより、前記n個の分散秘密情報Viに対応する前記不正者特定情報Ai(i=1,2,・・・,n)を生成する不正者特定情報生成装置と、を有する分散情報生成装置。
  18. 秘密情報分散装置は、前記秘密情報と、前記閾値kと、分散秘密情報の総数nと、前記想定する不正分散秘密情報数tとを入力とし、任意のk個の分散秘密情報から前記秘密情報が一意に復元可能であるような前記n個の分散秘密情報Vi=(i,vi)(i=1,2,・・・,n)を出力し、
    前記不正者特定情報生成装置は、前記秘密情報分散装置から出力された前記n個の分散秘密情報Vi(i=1,2,・・・,n)を入力として、前記ランダムなデータをe{0,i}とし、前記t−1次多項式をe{1,i}(x)(i=1,2,・・・,n)として、前記チェック条件式a{i,j}=e{0,j}*vi+e{1,j}(i)(j=1,2,・・・,n,j≠i)となるようなa{i,j}を生成し、(e{0,i},e{1,i},a{i,1},a{i,2},・・・,a{i,i−1},a{i,i+1},・・・,a{i,n})(i=1,2,・・・,n)をViに対する不正者特定情報Aiと決定する、請求項17に記載の分散情報生成装置。
  19. 秘密情報分散装置は、前記秘密情報と、前記閾値kと、分散秘密情報の総数nと、前記想定する不正分散秘密情報数tとを入力とし、任意のk個の分散秘密情報から前記秘密情報が一意に復元可能であるような前記n個の分散秘密情報Vi=(i,v{i,1},v{i,2},・・・,v{i,N})(v{i,m}∈GF(q)))(i=1,2,・・・,n)を出力し、
    不正者特定情報生成装置は、前記秘密情報分散装置から出力されたVi(i=1,2,・・・,n)を入力として、前記ランダムなデータをe{0,i}∈GF(q)とし、前記t−1次多項式をGF(q)上のランダムなt−1次多項式e{1,i}(x)(i=1,2,・・・,n)として、前記チェック条件式a{i,j}=e{0,j}*v{i,1}+e{0,j}^2*v{i,2}+・・・+e{0,j}^N*v{i,N}+e{1,j}(i)(j=1,2,・・・,n,j≠i)となるようなa{i,j}を生成し、(e{0,i},e{1,i},a{i,1},a{i,2},・・・,a{i,i−1},a{i,i+1},・・・,a{i,n})(i=1,2,・・・,n)をViに対する不正者特定情報と決定する、請求項17に記載の分散情報生成装置。
  20. 請求項17に記載の分散情報生成装置で(k,n)閾値秘密分散法によって生成された複数の分散秘密情報から秘密情報を復元する復元装置であって、
    前記分散情報生成装置で生成されたうちの任意のk個の分散秘密情報V{i_j}(j=1,2,・・・,k)とそれらに対応するk個の不正者特定情報A{i_j}(j=1,2,・・・,k)とを用いて前記チェック条件式が成立するか否か判定し、その判定結果に基づいて、前記k個の分散秘密情報V{i_j}のそれぞれについて不正分散秘密情報であるか否かを判断する不正者特定装置と、
    前記不正者特定装置の判断において前記k個の分散秘密情報V{i_j}の全てが不正分散秘密情報でなければ、該k個の分散秘密情報V{i_j}から前記秘密情報を復元する秘密情報復元装置と、を有する復元装置。
  21. 前記分散情報生成装置は、請求項18に記載された前記分散情報生成装置であり、
    前記不正者特定装置は、前記秘密情報分散装置で生成されたうちのk個の分散秘密情報V{i_j}(j=1,2,・・・,k)と、該k個の分散秘密情報V{i_j}に対応する、前記不正者特定情報生成装置で生成されたk個の不正者特定情報A{i_j}(j=1,2,・・・,k)とを用いて、各i,j(i,j=1,2,・・・,n,i≠j)の組について前記チェック条件式a{i,j}=e{0,j}*vi+e{1,j}(i)が成立するか否か判定し、その判定結果に基づいて、前記k個の分散秘密情報V{i_j}(j=1,2,・・・,k)のそれぞれについて不正分散秘密情報であるか否かを判断し、
    前記秘密情報復元装置は、前記不正者特定装置によって前記k個の分散秘密情報V{i_j}(j=1,2,・・・,k)の全てが不正分散秘密情報でないと判断されれば、該k個の分散秘密情報Viから前記秘密情報を復元する、請求項20に記載の復元装置。
  22. 前記分散情報生成装置は、請求項19に記載された前記分散情報生成装置であり、
    前記不正者特定装置は、前記秘密情報分散装置で生成されたうちのk個の分散秘密情報V{i_j}(j=1,2,・・・,k)と、該k個の分散秘密情報V{i_j}に対応する、前記不正者特定情報生成装置で生成されたk個の不正者特定情報A{i_j}(j=1,2,・・・,k)とを用いて、各i,j(i,j=1,2,・・・,n,i≠j)の組みについて前記チェック条件式a{i,j}=e{0,j}*v{i,1}+e{0,j}^2*v{i,2}+・・・+e{0,j}^N*v{i,N}+e{1,j}(i)が成立するか否か判定し、その判定結果に基づいて、前記k個の分散秘密情報V{i_j}(j=1,2,・・・,k)のそれぞれについて不正分散秘密情報であるか否かを判定し、
    前記秘密情報復元装置は、前記不正者特定装置によって前記k個の分散秘密情報V{i_j}(j=1,2,・・・,k)の全てが不正分散秘密情報でないと判断されれば、該k個の分散秘密情報Viから前記秘密情報を復元する、請求項20に記載の復元装置。
  23. (k,n)閾値秘密分散法によって秘密情報を複数の分散秘密情報に分散する処理をコンピュータに実行させるためのプログラムであって、
    (k,n)閾値秘密分散法で前記秘密情報からn個の分散秘密情報Vi(i=1,2,・・・,n)を生成する手順と、
    生成した前記n個の分散秘密情報Viと、ランダムなデータと、想定する不正分散秘密情報数tが閾値kとの間で所定の条件を満たすものとしたランダムなt−1次多項式とを用いて、所定のチェック条件式から得られる値を、分散秘密情報Viに対応する不正者特定情報Aiとすることにより、前記n個の分散秘密情報Viに対応する前記不正者特定情報Ai(i=1,2,・・・,n)を生成する手順と、をコンピュータに実行させるためのプログラム。
  24. 請求項17に記載の分散情報生成装置で(k,n)閾値秘密分散法によって生成された複数の分散秘密情報から秘密情報を復元する処理をコンピュータに実行させるためのプログラムであって、
    前記分散情報生成装置で生成されたうちの任意のk個の分散秘密情報V{i_j}(j=1,2,・・・,k)とそれらに対応するk個の不正者特定情報A{i_j}(j=1,2,・・・,k)とを用いて前記チェック条件式が成立するか否か判定し、その判定結果に基づいて、前記k個の分散秘密情報V{i_j}のそれぞれについて不正分散秘密情報であるか否かを判断する手順と、
    判断において前記k個の分散秘密情報V{i_j}の全てが不正分散秘密情報でなければ、該k個の分散秘密情報V{i_j}から前記秘密情報を復元する手順と、をコンピュータに実行させるためのプログラム。
JP2008540911A 2006-10-24 2007-09-05 分散情報生成装置および復元装置 Active JP5151987B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008540911A JP5151987B2 (ja) 2006-10-24 2007-09-05 分散情報生成装置および復元装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2006288911 2006-10-24
JP2006288911 2006-10-24
PCT/JP2007/067278 WO2008050544A1 (fr) 2006-10-24 2007-09-05 Dispositif de génération d'informations distribuées et dispositif de décodage
JP2008540911A JP5151987B2 (ja) 2006-10-24 2007-09-05 分散情報生成装置および復元装置

Publications (2)

Publication Number Publication Date
JPWO2008050544A1 JPWO2008050544A1 (ja) 2010-02-25
JP5151987B2 true JP5151987B2 (ja) 2013-02-27

Family

ID=39324354

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008540911A Active JP5151987B2 (ja) 2006-10-24 2007-09-05 分散情報生成装置および復元装置

Country Status (3)

Country Link
US (1) US8397142B2 (ja)
JP (1) JP5151987B2 (ja)
WO (1) WO2008050544A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5582143B2 (ja) * 2009-06-19 2014-09-03 日本電気株式会社 秘密情報分散システム,秘密情報分散方法及びプログラム
JP5609892B2 (ja) * 2009-12-22 2014-10-22 日本電気株式会社 検証装置、秘密情報復元装置、検証方法、プログラム、及び秘密分散システム
CA2830100C (en) * 2011-03-15 2019-04-30 Irdeto B.V. Change-tolerant method of generating an identifier for a collection of assets in a computing environment using a secret sharing scheme
US9430655B1 (en) * 2012-12-28 2016-08-30 Emc Corporation Split tokenization
JP6495858B2 (ja) * 2016-04-04 2019-04-03 日本電信電話株式会社 サーバ装置、誤り訂正システム、誤り訂正方法、プログラム
US10686597B1 (en) * 2017-05-05 2020-06-16 Hrl Laboratories, Llc Semi-robust protocols for secure multiparty computation
CN110602349B (zh) * 2019-08-27 2021-07-02 成都信息工程大学 关联图像内容安全保护的方法
CN110889695A (zh) * 2019-11-25 2020-03-17 支付宝(杭州)信息技术有限公司 基于安全多方计算保存和恢复隐私数据的方法和装置
US11907392B2 (en) * 2021-05-12 2024-02-20 Seagate Technology Llc System and method utilizing function secret sharing with conditional disclosure of secrets

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08204696A (ja) * 1995-01-23 1996-08-09 Canon Inc 複数の装置を有する通信システムにおける認証方法
JPH08204697A (ja) * 1995-01-23 1996-08-09 Canon Inc 複数の装置を有する通信システムにおける署名生成方法
JP2000214774A (ja) * 1999-01-25 2000-08-04 Nippon Telegr & Teleph Corp <Ntt> 分散乗算装置及びそのプログラム記録媒体
JP2003348065A (ja) * 2002-05-23 2003-12-05 Japan Datacom Co Ltd データ分散保管システム
JP2004341152A (ja) * 2003-05-15 2004-12-02 Oki Electric Ind Co Ltd 秘密分散方法、秘密分散システム、及び分散演算装置
JP2007135170A (ja) * 2005-10-12 2007-05-31 Hitachi Ltd 電子データ送受信方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4288966B2 (ja) 2003-03-07 2009-07-01 沖電気工業株式会社 秘密分散装置、秘密再構成装置、秘密分散再構成システム、秘密分散方法、及び秘密再構成方法
JP4680489B2 (ja) 2003-10-21 2011-05-11 三菱電機株式会社 情報記録読取システム
JP4539952B2 (ja) 2003-11-05 2010-09-08 日本電信電話株式会社 情報分散保管システム、その装置、プログラム及び記録媒体

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08204696A (ja) * 1995-01-23 1996-08-09 Canon Inc 複数の装置を有する通信システムにおける認証方法
JPH08204697A (ja) * 1995-01-23 1996-08-09 Canon Inc 複数の装置を有する通信システムにおける署名生成方法
JP2000214774A (ja) * 1999-01-25 2000-08-04 Nippon Telegr & Teleph Corp <Ntt> 分散乗算装置及びそのプログラム記録媒体
JP2003348065A (ja) * 2002-05-23 2003-12-05 Japan Datacom Co Ltd データ分散保管システム
JP2004341152A (ja) * 2003-05-15 2004-12-02 Oki Electric Ind Co Ltd 秘密分散方法、秘密分散システム、及び分散演算装置
JP2007135170A (ja) * 2005-10-12 2007-05-31 Hitachi Ltd 電子データ送受信方法

Also Published As

Publication number Publication date
WO2008050544A1 (fr) 2008-05-02
US8397142B2 (en) 2013-03-12
JPWO2008050544A1 (ja) 2010-02-25
US20100031128A1 (en) 2010-02-04

Similar Documents

Publication Publication Date Title
JP5151987B2 (ja) 分散情報生成装置および復元装置
JP5510590B2 (ja) 伝送システムと方法ならびにプログラム
US8510608B2 (en) Generating PUF error correcting code using redundant hardware
JP5299286B2 (ja) 分散情報生成装置、復元装置、検証装置及び秘密情報分散システム
D’Anvers et al. The impact of error dependencies on Ring/Mod-LWE/LWR based schemes
EP3258458B1 (en) Share recovery system, share recovery apparatus, share recovery method, and program
JP5582143B2 (ja) 秘密情報分散システム,秘密情報分散方法及びプログラム
JP5609892B2 (ja) 検証装置、秘密情報復元装置、検証方法、プログラム、及び秘密分散システム
JP5136412B2 (ja) 分散情報生成装置及び復元装置
JP5251520B2 (ja) 分散情報生成装置、復元装置、復元結果検証装置、秘密情報分散システム、方法およびプログラム
JP6295961B2 (ja) メッセージ認証システム、およびメッセージ認証方法
WO2013185271A1 (zh) 网络存储中抗拜占庭失效的数据重构、失效数据恢复方法及装置
JP2013009245A (ja) 秘密情報分散システム及び秘密情報分散方法並びに秘密情報生成プログラム及び秘密情報復元プログラム
JP5381981B2 (ja) 分散情報生成装置
JP5640624B2 (ja) 分散情報生成装置、復元装置、秘密分散システム、情報処理方法およびプログラム
KR102425916B1 (ko) 가변 길이 퍼지 데이터를 지원하는 격자 기반 퍼지 추출 장치 및 방법
JP2011035809A (ja) 情報処理装置、コード生成方法、コード検証方法およびプログラム
JP5276526B2 (ja) ビット列生成装置、ビット列生成方法及びプログラム
CN117556476A (zh) 一种数据验证方法、装置、设备及介质
WO2010095662A1 (ja) 符号化装置、復号化装置、伝送システム、符号化方法、復号化方法、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100714

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121119

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151214

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5151987

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150