(57)【特許請求の範囲】
【請求項１】
素数の冪乗ｐに基づく有限体上のｋ−１次多項式を使用した（ｋ、ｎ）閾値秘密分散法により秘密情報から生成されたｎ個の情報のそれぞれを分散秘密情報とし、
ｑをｑ≧ｎ＊ｐの関係を満たす素数とし、ｋ≧ｔ＋ｒを満たす自然数をｒ、ｔとし、ｎ個の前記分散秘密情報に含まれる任意のｔ個までの不正な分散秘密情報を特定できるように、有限体ＧＦ（ｑ）上のｔ次多項式を使用したt-Cheater  Identifiable秘密分散法により生成されたｎ個の情報を不正者特定情報とし、
分散秘密情報と不正者特定情報との対であるｎ個の分散情報のうち任意のｋ個の分散情報から不正な分散情報を特定する検証装置であって、
ｋ個の分散情報と前記ｔとを入力する入力手段と、
前記入力手段に入力された前記ｋ個の分散情報から、ｒ≧ｔ＋２を満たすｒ個の分散情報を選ぶ組み合わせである部分集合を全て生成する部分集合生成手段と、
前記部分集合生成手段により生成された前記部分集合ごとに、該部分集合に属する各不正者特定情報及びｔ次多項式を使用することにより該部分集合に不正な分散情報が含まれるか否かを判断する整合性判断手段と、
前記整合性判断手段による判断結果と、各部分集合に含まれている分散情報とに基づいて、不正な分散情報を特定する不正者特定手段と、
を有する検証装置。
【請求項２】
前記ｒは２ｔ≧ｒ≧ｔ＋２を満たす自然数である、請求項１に記載の検証装置。
【請求項３】
前記ｒはｔ＋２である、請求項１に記載の検証装置。
【請求項４】
前記ｐに基づく有限体は、ＧＦ（ｐ）であり、
前記不正者特定情報は、前記分散秘密情報をｖ｛ｉ｝（ｉ＝１、２、・・・ｎ）、一対一関数をφとして、φ（｛ｉ｝、ｖ{ｉ｝）を前記ＧＦ（ｑ）上のｔ次多項式に代入して得られた情報であり、
前記整合性判断手段は、前記部分集合に属する前記分散秘密情報をｖ｛ｊ_１｝、・・・ｖ｛ｊ_ｋ｝、該部分集合に属する前記不正者特定情報をＡ｛ｊ_１｝、・・・Ａ｛ｊ_ｋ｝として、
（φ（｛ｊ_１｝、ｖ｛ｊ_１｝）、Ａ｛ｊ_１｝）、・・・（φ（｛ｊ_（ｔ＋２）｝、ｖ｛ｊ_（ｔ＋２）｝）、ｖ｛ｊ_（ｔ＋２）｝）が全て同一のｔ次以下の多項式上の点となるか否かにより、該部分集合に不正な分散情報が含まれるか否かを判断する、請求項１乃至３のいずれか１項に記載の検証装置。
【請求項５】
前記ｐに基づく有限体は、ＧＦ（ｐ＾Ｎ）であり、
前記不正者特定情報は、
｛ｉ｝（ｉ＝１、２、・・・ｎ）を前記ＧＦ（ｐ＾Ｎ）上の第１のｔ次多項式に代入して得られたＡｓ｛ｉ｝と、
前記分散秘密情報をｖ｛ｉ｝、
関数ｆｅ（ｘ）をｆｅ（ｘ）＝ｘ｛０｝＋ｘ｛１｝＊ｅ＋ｘ｛２｝＊ｅ＾２＋・・・＋ｘ｛Ｎ｝＊ｅ＾Ｎ、
一対一関数をφとして、
該φ（｛ｉ｝、ｆｅ（ｖ｛ｉ｝））を前記ＧＦ（ｑ）上の第２のｔ次多項式に代入して得られたＡｅ｛ｉ｝とを含み、
前記整合性判断手段は、
前記部分集合に属する前記分散秘密情報をｖ｛ｊ_１｝、・・・ｖ｛ｊ_ｋ｝、該部分集合に属する前記不正者特定情報をＡｓ｛ｊ_１｝、・・・Ａ｛ｊ_ｋ｝及びＡｅ｛ｊ_１｝、・・・Ａｅ｛ｊ_ｋ｝を含む情報として、
（ｊ_１、Ａｓ｛ｊ_１｝）、・・・（ｊ_（ｔ＋２）、Ａｓ｛ｊ_（ｔ＋２）｝）が、全て同一のｔ次以下の多項式上の点であり、且つ、
（（φ（ｊ_１、ｖ｛ｊ_１｝）、Ａｅ｛ｊ_１｝）、・・・（（φ（ｊ_（ｔ＋２）、ｖ｛ｊ_（ｔ＋２）｝）、Ａｅ｛ｊ_（ｔ＋２）｝）が全て同一のｔ次以下の多項式上の点であるか否かにより、該部分集合に不正な分散情報が含まれるか否かを判断する、請求項１乃至３のいずれか１項に記載の検証装置。
【請求項６】
前記整合性判断手段は、前記部分集合ごとに、該部分集合に不正な分散情報が含まれないと判断された場合、｛ｊ_１｝、・・・｛ｊ_（ｔ＋２）｝の集合を整合性確認集合として生成し、該部分集合に不正な分散情報が含まれると判断した場合、空集合を整合性確認集合として生成し、
前記不正者特定手段は、前記整合性判断手段により生成された前記部分集合毎の前記整合性確認集合の和集合と、｛ｉ_１｝、・・・｛ｉ_ｋ｝の集合との差集合を前記不正者集合として生成する、請求項４又は５に記載の検証装置。
【請求項７】
請求項６に記載の検証装置と、
前記不正者特定手段により生成された前記不正者集合が空集合であれば、ｋ個の前記分散秘密情報から、前記秘密情報を復元して出力する秘密情報復元手段と、
を有する秘密情報復元装置。
【請求項８】
素数の冪乗ｐに基づく有限体上のｋ−１次多項式を使用した（ｋ、ｎ）閾値秘密分散法により秘密情報から生成されたｎ個の情報のそれぞれを分散秘密情報とし、
ｑをｑ≧ｎ＊ｐの関係を満たす素数とし、ｋ≧ｔ＋ｒを満たす自然数をｒ、ｔとし、ｎ個の前記分散秘密情報に含まれる任意のｔ個までの不正な分散秘密情報を特定できるように、有限体ＧＦ（ｑ）上のｔ次多項式を使用したt-Cheater  Identifiable秘密分散法により生成されたｎ個の情報を不正者特定情報とし、
分散秘密情報と不正者特定情報との対であるｎ個の分散情報のうち任意のｋ個の分散情報から不正な分散情報を特定する検証方法であって、
部分集合生成手段が、ｋ個の分散情報から、ｒ≧ｔ＋２を満たすｒ個の分散情報を選ぶ組み合わせである部分集合を全て生成し、
整合性判断手段が、前記部分集合生成手段により生成された前記部分集合ごとに、該部分集合に属する各不正者特定情報及びｔ次多項式を使用することにより該部分集合に不正な分散情報が含まれるか否かを判断し、
不正者特定手段が、前記整合性判断手段による判断結果と、各部分集合に含まれている分散情報とに基づいて、不正な分散情報を特定する、検証方法。
【請求項９】
素数の冪乗ｐに基づく有限体上のｋ−１次多項式を使用した（ｋ、ｎ）閾値秘密分散法により秘密情報から生成されたｎ個の情報のそれぞれを分散秘密情報とし、
ｑをｑ≧ｎ＊ｐの関係を満たす素数とし、ｋ≧ｔ＋ｒを満たす自然数をｒ、ｔとし、ｎ個の前記分散秘密情報に含まれる任意のｔ個までの不正な分散秘密情報を特定できるように、有限体ＧＦ（ｑ）上のｔ次多項式を使用したt-Cheater Identifiable秘密分散法により生成されたｎ個の情報を不正者特定情報とし、
分散秘密情報と不正者特定情報との対であるｎ個の分散情報のうち任意のｋ個の分散情報から不正な分散情報を特定するコンピュータを制御するためのプログラムであって、
前記コンピュータを、
ｋ個の分散情報と前記ｔとが入力されると、該ｋ個の分散情報から、ｒ≧ｔ＋２を満たすｒ個の分散情報を選ぶ組み合わせである部分集合を全て生成する部分集合生成手段、
前記部分集合生成手段で生成された前記部分集合ごとに、該部分集合に属する各不正者特定情報及びｔ次多項式を使用することにより該部分集合に不正な分散情報が含まれるか否かを判断する整合性判断手段、及び
前記整合性判断手段による判断結果と、各部分集合に含まれている分散情報とに基づいて、不正な分散情報を特定する不正者特定手段、
として機能させるためのプログラム。
【請求項１０】
素数の冪乗ｐに基づく有限体上のｋ−１次多項式を使用した（ｋ、ｎ）閾値秘密分散法により秘密情報からｎ個の分散秘密情報を生成し、ｑをｑ≧ｎ＊ｐの関係を満たす素数とし、ｋ≧ｔ＋ｒを満たす自然数をｒ、ｔとして、ｎ個の前記分散情報のうち、任意のｔ個までの不正な分散情報を特定できるように、有限体ＧＦ（ｑ）上のｔ次多項式を使用したt-Cheater  Identifiable秘密分散法によりｎ個の不正者特定情報を生成し、ｎ個の該分散秘密情報及びｎ個の該不正者特定情報を出力する秘密情報分散装置と、
前記秘密情報分散装置により生成された分散秘密情報と不正者特定情報との対であるｎ個の分散情報のうち任意のｋ個の分散情報と、前記ｔとが入力されると、ｋ個の分散情報から、ｒ≧ｔ＋２を満たすｒ個の分散情報を選ぶ組み合わせである部分集合を全て生成し、該部分集合ごとに、該部分集合に属する各不正者特定情報及びｔ次多項式を使用することにより該部分集合に不正な分散情報が含まれるか否かを判断し、該判断結果と、各部分集合に含まれている分散情報とに基づいて、不正な分散情報を特定する検証装置と、
を有する秘密分散システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不正者を検知することが可能な秘密分散技術に関する。
【背景技術】
【０００２】
秘密情報を複数の分散情報に分散し、予め定められた数の分散情報（シェア）が集まった場合にのみ秘密を復元できる暗号技術として秘密分散法が知られている。【０００３】
個々の分散情報は秘密情報と相関性がない情報なので、それらの分散情報を複数個所に分散して管理しておけば、分散情報を不正に取得した不正者が元の秘密情報を復元することはできない。この結果、秘密分散法により秘密漏洩に関して高い安全性を確保できる。【０００４】
また、秘密分散法では、分散情報のいくつかを喪失しても所定個以上の分散情報が残っていれば秘密情報を復元できるので、情報喪失に関しても高い安全性が確保できる。【０００５】
この秘密分散法の中で最も有名な技術は、非特許文献１に記載された(k,n)閾値秘密分散法と呼ばれる技術である。この技術は、秘密分散法において、（１）秘密情報をn個の分散情報に分散し、（２）その中の任意のk個が集まった場合には秘密情報が復元でき、（３）k個未満の部分情報からは秘密に関するいかなる情報も得られない、という特徴を持ったものである。【０００６】
非特許文献１に記載された(k,n)閾値秘密分散法は、分散情報を管理する者の不正や、分散情報を管理する装置の故障を考慮していない。そのため、k個の分散情報を集めて秘密の復元を行う際、一つでも元の情報とは異なる分散情報が出されると、秘密情報を正しく復元することができず、また、復元された秘密情報が元の秘密情報とは異なっているという事実も検知することができなかった。【０００７】
この問題を解決するため、非特許文献２や非特許文献３に記載された秘密分散法では、秘密復元時にk-1個の改竄された分散情報が集められた場合でも、復元された秘密情報が元の秘密情報とは異なっているという事実を検知できる方式が用いられている。【０００８】
復元時に改竄のあったことを検知するだけでなく、更に、どの分散情報が改竄されているかを特定する技術が、非特許文献４〜６に記載されている。【０００９】
非特許文献４に記載された秘密分散法によれば、改竄された分散情報の個数tがｋ≧２ｔ＋１の範囲内であれば、改竄されたt個の分散情報全てを高い確率で特定することが可能である。【００１０】
また、非特許文献５および非特許文献６には、改竄された分散情報を特定できる個数が非特許文献４に記載された方法よりは少ないが、不正者数ｔが、ｋ≧３ｔ＋１の範囲内であれば、改竄された分散情報の全てを高確率で特定することができる秘密分散法が記載されている。【００１１】
非特許文献４〜６に記載されたような秘密分散法では、多数の改竄された分散情報を特定できるようにしようとすると、それだけ分散情報のデータサイズが大きくなってしまう。逆に、分散情報のデータサイズを小さくしようとすると、改竄された分散情報を特定できる個数が減ってしまう。【００１２】
先の例では、非特許文献５、６に記載された秘密分散法は、改竄された分散情報の個数ｔが、非特許文献４の場合よりも狭いｋ≧２ｔ＋１を満たす範囲でなければ、改竄された分散情報を特定できないというデメリットがあるものの、分散情報のデータサイズを非特許文献４に記載された秘密分散法のものよりも小さくできるというメリットもある。【００１３】
具体的には、非特許文献４の方法では、分散情報のデータサイズは、ｐ＊ｑ＾（３ｎ−３）である。これに対し、特許文献５等の方法では、分散情報御のサイズはｐ＊ｑ＾（ｔ＋１）となり、比較的小さい。ここで、ｐは、予め定めておいた有限体の位数であり、素数の冪乗である。ｑは、ｑ≧ｎ＊ｐを満たす素数である。
【先行技術文献】
【非特許文献】
【００１４】
【非特許文献１】Adi  Shamir,  "How  to  share  a  secret",  Comm.  ACM,  22(11),  612-613(1979)
【非特許文献２】Martin  Tompa,  Heather  Woll,  "How  to  Share  a  Secret  with  Cheaters",  Journal  of  Cryptology,  vol.1,  pages  133-138,  1988
【非特許文献３】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
【非特許文献４】T.  Rabin  and  M.  Ben-Or,  "Verifiable  Secret  Sharing  and  Multiparty  Protocols  with  Honest  Majority",  Proc.  STOC'89,  pp.  73--85,  1989
【非特許文献５】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
【非特許文献６】尾花  賢,  "t人までの不正者を特定できる準最適な秘密分散法,"  2007年  暗号と情報セキュリティシンポジウム,  SCIS2007,  3D1-1,  2007
【発明の概要】
【発明が解決しようとする課題】
【００１５】
上述したような現状においては、不正者数ｔがｋ≧３ｔ＋１の範囲を超えうることが想定される場合、分散情報のデータサイズが小さい非特許文献５、６に記載された方法を用いることができず、分散情報のデータサイズが大きい非特許文献４に記載された方法を用いなければならなかった。【００１６】
本発明の目的は、改竄された分散情報の個数が、非特許文献５、６に記載された方法で特定が可能な範囲を超えることが想定される場合にも、改竄された分散情報を特定でき、かつ非特許文献４に記載されたものより分散情報のデータサイズが小さい秘密分散法を提供することである。
【課題を解決するための手段】
【００１７】
上記目的を達成するために、本発明の検証装置は、素数の冪乗ｐに基づく有限体上のｋ−１次多項式を使用した（ｋ、ｎ）閾値秘密分散法により秘密情報から生成されたｎ個の情報のそれぞれを分散秘密情報とし、ｑをｑ≧ｎ＊ｐの関係を満たす素数とし、ｋ≧ｔ＋ｒを満たす自然数をｒ、ｔとし、ｎ個の前記分散秘密情報に含まれる任意のｔ個までの不正な分散秘密情報を特定できるように、有限体ＧＦ（ｑ）上のｔ次多項式を使用したt-Cheater  Identifiable秘密分散法により生成されたｎ個の情報を不正者特定情報とし、分散秘密情報と不正者特定情報との対であるｎ個の分散情報のうち任意のｋ個の分散情報から不正な分散情報を特定する検証装置であって、ｋ個の分散情報と前記ｔとを入力する入力手段と、前記入力手段に入力された前記ｋ個の分散情報から、ｒ≧ｔ＋２を満たすｒ個の分散情報を選ぶ組み合わせである部分集合を全て生成する部分集合生成手段と、前記部分集合生成手段により生成された前記部分集合ごとに、該部分集合に属する各不正者特定情報及びｔ次多項式を使用することにより該部分集合に不正な分散情報が含まれるか否かを判断する整合性判断手段と、前記整合性判断手段による判断結果と、各部分集合に含まれている分散情報とに基づいて、不正な分散情報を特定する不正者特定手段と、を有する。【００１８】
本発明の検証方法は、素数の冪乗ｐに基づく有限体上のｋ−１次多項式を使用した（ｋ、ｎ）閾値秘密分散法により秘密情報から生成されたｎ個の情報のそれぞれを分散秘密情報とし、ｑをｑ≧ｎ＊ｐの関係を満たす素数とし、ｋ≧ｔ＋ｒを満たす自然数をｒ、ｔとし、ｎ個の前記分散秘密情報に含まれる任意のｔ個までの不正な分散秘密情報を特定できるように、有限体ＧＦ（ｑ）上のｔ次多項式を使用したt-Cheater  Identifiable秘密分散法により生成されたｎ個の情報を不正者特定情報とし、分散秘密情報と不正者特定情報との対であるｎ個の分散情報のうち任意のｋ個の分散情報から不正な分散情報を特定する検証方法であって、部分集合生成手段が、ｋ個の分散情報から、ｒ≧ｔ＋２を満たすｒ個の分散情報を選ぶ組み合わせである部分集合を全て生成し、整合性判断手段が、前記部分集合生成手段により生成された前記部分集合ごとに、該部分集合に属する各不正者特定情報及びｔ次多項式を使用することにより該部分集合に不正な分散情報が含まれるか否かを判断し、不正者特定手段が、前記整合性判断手段による判断結果と、各部分集合に含まれている分散情報とに基づいて、不正な分散情報を特定する、検証方法である。【００１９】
本発明のプログラムは、素数の冪乗ｐに基づく有限体上のｋ−１次多項式を使用した（ｋ、ｎ）閾値秘密分散法により秘密情報から生成されたｎ個の情報のそれぞれを分散秘密情報とし、ｑをｑ≧ｎ＊ｐの関係を満たす素数とし、ｋ≧ｔ＋ｒを満たす自然数をｒ、ｔとし、ｎ個の前記分散秘密情報に含まれる任意のｔ個までの不正な分散秘密情報を特定できるように、有限体ＧＦ（ｑ）上のｔ次多項式を使用したt-Cheater  Identifiable秘密分散法により生成されたｎ個の情報を不正者特定情報とし、分散秘密情報と不正者特定情報との対であるｎ個の分散情報のうち任意のｋ個の分散情報から不正な分散情報を特定するコンピュータを制御するためのプログラムであって、前記コンピュータに、ｋ個の分散情報と前記ｔとが入力されると、該ｋ個の分散情報から、ｒ≧ｔ＋２を満たすｒ個の分散情報を選ぶ組み合わせである部分集合を全て生成する部分集合生成手順、前記部分集合生成手順で生成された前記部分集合ごとに、該部分集合に属する各不正者特定情報及びｔ次多項式を使用することにより該部分集合に不正な分散情報が含まれるか否かを判断する整合性判断手順、及び前記整合性判断手順による判断結果と、各部分集合に含まれている分散情報とに基づいて、不正な分散情報を特定する不正者特定手順、を実行させるためのプログラムである。【００２０】
本発明の秘密分散システムは、素数の冪乗ｐに基づく有限体上のｋ−１次多項式を使用した（ｋ、ｎ）閾値秘密分散法により秘密情報からｎ個の分散秘密情報を生成し、ｑをｑ≧ｎ＊ｐの関係を満たす素数とし、ｋ≧ｔ＋ｒを満たす自然数をｒ、ｔとして、ｎ個の前記分散情報のうち、任意のｔ個までの不正な分散情報を特定できるように、有限体ＧＦ（ｑ）上のｔ次多項式を使用したt-Cheater  Identifiable秘密分散法によりｎ個の不正者特定情報を生成し、ｎ個の該分散秘密情報及びｎ個の該不正者特定情報を出力する秘密情報分散装置と、前記秘密情報分散装置により生成された分散秘密情報と不正者特定情報との対であるｎ個の分散情報のうち任意のｋ個の分散情報と、前記ｔとが入力されると、ｋ個の分散情報から、ｒ≧ｔ＋２を満たすｒ個の分散情報を選ぶ組み合わせである部分集合を全て生成し、該部分集合ごとに、該部分集合に属する各不正者特定情報及びｔ次多項式を使用することにより該部分集合に不正な分散情報が含まれるか否かを判断し、該判断結果と、各部分集合に含まれている分散情報とに基づいて、不正な分散情報を特定する検証装置と、を有する。
【発明の効果】
【００２１】
本発明によれば、検証装置は、ＧＦ（ｐ）上のｋ−１次多項式およびＧＦ（ｑ）上のｔ次多項式を使用して得られたｋ個の分散情報から、ｒ≧ｔ＋２を満たすｒ個を選択する組み合わせを部分集合として全て求め、部分集合ごとに、部分集合に不正な分散情報が含まれるか否かを判断し、不正者集合を生成する。この構成によれば、ｋ個の分散情報のうち、ｔ個の不正な分散情報があっても、ｒ個以上の不正のない分散情報があれば、検証装置は、部分集合のうち、１つ以上に不正な分散情報がないと判断でき、各部分集合の判断結果から、ｋ個の中のｔ個までの不正な分散情報を高い確率で特定できる。【００２２】
このため、ｋ≧ｒ＋ｔの関係を満たすｔ個までの不正な分散情報を検知できる。２ｔ≧ｒの範囲を設定すれば、ユーザは、検証装置にｋ≧３ｔを満たすｔの値を設定でき、一定値のｋに対し、ｋ≧３ｔ＋１の場合よりもｔを大きく設定できる。【００２３】
また、ＧＦ（ｐ）などのｐに基づく有限体上のｋ−１次多項式とＧＦ（ｑ）上のｔ次多項式とを使用することから、分散情報のサイズは、ｐ＊ｑである。このため、ｋ≧２ｔ＋１を前提とし、分散情報のサイズがｐ＊ｑ＾（３ｎ−３）となる非特許文献４の方式よりも分散情報のサイズが小さくなる。
【図面の簡単な説明】
【００２４】
【図１】本発明の第１の実施形態の秘密分散システムの一構成例を示すブロック図である。
【図２】本発明の第１の実施形態の分散情報生成装置の一構成例を示すブロック図である。
【図３】本発明の第１の実施形態の記憶部の一構成例を示すブロック図である。
【図４】本発明の第１の実施形態の分散情報生成装置の動作を示すフローチャートである。
【図５】本発明の第１の実施形態の復元装置の動作を示すフローチャートである。
【図６】本発明の第１の実施形態の整合性チェック処理を示すフローチャートである。
【発明を実施するための形態】
【００２５】
（第１の実施形態）
本発明を実施するための第１の実施形態について図面を参照して詳細に説明する。図１は、本実施形態の秘密分散システム１の一構成例を示すブロック図である。秘密分散システム１は、（ｋ、ｎ）閾値秘密分散法を用いて秘密情報をｎ個の分散情報に分散し、ｎ個の分情報に含まれる任意のｋ個の分散情報から秘密情報を復元するためのシステムである。図１を参照すると、秘密分散システム１は、分散情報生成装置１０と、秘密情報復元装置３０とを有する。
【００２６】
ここで、本実施形態では、分散情報は、分散秘密情報と不正者特定情報とを含む。分散秘密情報は、秘匿すべき秘密情報から（ｋ、ｎ）閾値秘密分散法で生成されるｎ個の情報であり、秘密情報を復元するために用いられる情報である。不正者特定情報は、分散情報の不正を検出し、不正な分散情報を特定するための情報である。
【００２７】
また、不正な分散情報とは、分散情報生成装置１０により生成された後に、不正者に改竄されたり、分散情報を記憶する装置に故障が生じたりして、生成時の元の情報とは異なる情報となった分散情報である。
【００２８】
以下、ｔ個の不正な分散情報を検出することを、「ｔ人の不正者を検出する」と称する。
【００２９】
分散情報生成装置１０には、秘密情報ｓ、閾値ｋ、分散情報総数ｎ、および想定不正者数ｔが入力される。分散情報生成装置１０は、これらの情報からｎ個の分散情報を生成する。
【００３０】
更に、秘密情報ｓは、秘匿すべき元の情報であり、秘密分散の対象となる情報である。閾値ｋは、秘密情報ｓを復元するのに最小限必要な分散情報の個数である。分散情報総数ｎは、秘密情報ｓから生成される分散情報の総数である。
【００３１】
想定不正者数ｔは、想定される不正者の上限数である。言い換えれば、想定不正者数ｔは、不正者がいた場合、復元側で特定可能な不正者の上限数である。
【００３２】
分散情報生成装置１０は、秘密情報分散部１０１および不正者特定情報生成部１０２を有する。
【００３３】
秘密情報分散部１０１には、秘密情報ｓ、閾値ｋ、および分散情報総数ｎが入力される。秘密情報分散部１０１は、（ｋ、ｎ）閾値秘密分散法を使用して、秘密情報ｓを分散符号化する。
【００３４】
具体的には、秘密情報分散部１０１は、ｆｓ（０）＝ｓとなるように、一様かつランダムな、有限体ＧＦ（ｐ）上のｋ−１次多項式ｆｓ（ｘ）を選択する。ｐは、予め定めておいた有限体の位数であり、素数の冪乗である。
【００３５】
以下、本実施形態では、有限体上の加算を＋、減算を−、乗算を＊、除算を／、冪乗算を＾で表記する。
【００３６】
本実施形態において、ｆｓ（ｘ）は、下記の式により定義される。
【００３７】
ｆｓ（ｘ）＝ｓ＋ａ｛１｝＊ｘ＋ａ｛２｝＊ｘ＾２＋・・・ａ｛ｋ−１｝ｘ＾（ｋ−１）・・・（１）
そして、秘密情報分散部１０１は、上記（１）式を用いて、ｆｓ（１）、ｆｓ（２）、・・・ｆｓ（ｎ）を計算し、それらの結果を分散秘密情報ｖ{ｉ}（ｉ＝１、２、・・・ｎ）とする。秘密情報分散部１０１は、｛ｉ｝（ｉ＝１、２、・・・ｎ）と、｛ｉ｝から算出されたｖ{ｉ}とのペア(｛ｉ｝、ｖ{ｉ｝)を不正者特定情報生成部１０２へ出力し、ｖ{ｉ}を記憶装置へ出力する。
【００３８】
本実施形態では、ｎ個の記憶装置２１〜２ｎに、それぞれ、v｛１｝、・・・ｖ｛ｎ｝の分散秘密情報が格納される。
【００３９】
不正者特定情報生成部１０２には、秘密情報分散部１０１からの(｛ｉ｝、ｖ{ｉ｝)と、想定不正者数ｔとが入力される。
【００４０】
不正者特定情報生成部１０２は、ｔ人までの不正者を特定できるように、t-Cheater  Identifiable秘密分散法でｎ個の不正者特定情報を生成する。
【００４１】
具体的には、不正者特定情報生成部１０２は、一様かつランダムに選んだ、ＧＦ（ｑ）上のｔ次多項式Ｃ（ｘ）を生成する。ここで、ｑは、ｑ≧ｎ＊ｐを満たす素数である。本実施形態では、Ｃ（ｘ）は下記の式により定義される。
【００４２】
Ｃ（ｘ）＝ｃ｛０｝＋ｃ｛１｝＊ｘ＋・・・ｃ｛ｔ｝＊ｘ＾ｔ・・・（２）
不正者特定情報生成部１０２は、予め定めた一対一関数φに、秘密情報分散部１０１からのｎ個の(｛ｉ｝、ｖ{ｉ｝)をそれぞれ代入して、φ(｛ｉ｝、ｖ{ｉ｝)を算出する。不正者特定情報生成部１０２は、上記（２）式で定義されるＣ（ｘ）に、φ(｛ｉ｝、ｖ{ｉ｝)を代入し、その結果をｎ個の不正者特定情報Ａ｛ｉ｝とする。
【００４３】
ここで、一対一関数φは、例えば、下記の式により定義される。
【００４４】
φ(｛ｉ｝、ｖ{ｉ｝)＝ｐ＊（｛ｉ｝―１）＋ｖ｛ｉ｝・・・（３）
上記（３）式において、ｐ＊（｛ｉ｝―１）＋ｖ｛ｉ｝は、整数上で計算された後、mod  qによってＧＦ（ｐ）に変換される。
【００４５】
不正者特定情報生成部１０２は、ｎ個の不正者特定情報Ａ{ｉ}を記憶装置へ出力する。
【００４６】
本実施形態では、ｎ個の記憶装置２１〜２Ｎに、それぞれ、Ａ｛１｝、・・・Ａ｛ｎ｝の不正者特定情報が格納される。
【００４７】
図２は、記憶装置２１の一構成例を示すブロック図である。図２に示すように、本実施形態では、記憶装置２１は、分散情報記憶部２１１および不正者特定情報記憶部２１２を有する。
【００４８】
分散情報記憶部２１１には、分散秘密情報ｖ｛１｝が格納される。不正者特定情報記憶部２１２には、不正者特定情報Ａ｛１｝が格納される。記憶装置２２〜２ｎの構成も、図２に示した記憶装置２１の構成と同様である。
【００４９】
図１に戻り、秘密情報復元装置３０の構成について説明する。図１を参照すると、秘密情報復元装置３０は、部分集合生成部３０１、整合性チェック部３０２、不正者特定部３０３、および秘密情報復元部３０４を有する。
【００５０】
秘密情報復元装置３０は、ｋ個の分散情報と、想定不特定者数ｔと、閾値ｋとから、不正者リストＣＬおよび秘密情報ｓを生成して出力する。不正者リストＣＬは、ｋ個の分散情報のうち、不正な分散情報、すなわち不正者の集合である。
【００５１】
部分集合生成部３０１には、想定不特定者数ｔおよび閾値ｋが入力される。部分集合生成部３０１は、記憶装置２１〜２ｎのうち、ｋ個の分散秘密情報記憶部から、ｋ個の分散秘密情報を読み出す。また、部分集合生成部３０１は、記憶装置２１〜２ｎのうち、ｋ個の分散秘密情報記憶部から、ｋ個の不正者特定情報を読み出す。
【００５２】
部分集合生成部３０１は、同じ記憶装置から読み出した分散秘密情報及び不正者特定情報のデータ対を１つの分散情報として、ｋ個の分散情報（ｖ｛ｉ_ｊ｝、Ａ｛ｉ_ｊ｝）（ｊ＝１、２、・・・ｋ）を取得する。
【００５３】
部分集合生成部３０１は、ｋ個の分散情報（ｖ｛ｉ_ｊ｝、Ａ｛ｉ_ｊ｝）から、２ｔ≧ｒ≧ｔ＋２の関係を満たすｒ個を選択する全ての組み合わせを求める。本実施形態では、同じｋに対して最も大きな想定不正者数を設定できるように、ｒ＝ｔ＋２とする。
【００５４】
部分集合生成部３０１は、整合性チェック部３０２の要求に応じて、それらの組み合わせをＣ（ｋ、ｔ＋２）個の部分集合Ｓ｛ｍ｝（ｍ＝１、２、・・・Ｃ（ｋ、ｔ＋２））として整合性チェック部３０２へ出力する。
【００５５】
ｋ個から、ｔ＋２個を選ぶ組み合わせの数Ｃ（ｋ、ｔ＋２）は、下記の式より求められる。
【００５６】
Ｃ（ｋ、（ｔ＋２））＝ｋ！／（（ｔ＋２）！（ｋ−ｔ−２）！）・・・（４）
整合性チェック部３０２は、部分集合生成部３０１に対して要求信号を送ることにより、部分集合生成部３０１から各部分集合Ｓ｛ｍ｝を取得し、それぞれの部分集合に属するｔ＋２個の分散情報の整合性をチェックする。
【００５７】
具体的には、整合性チェック部３０２は、検証する部分集合内のｔ＋２個の分散秘密情報と、秘密情報分散部１０１で用いた一対一関数φを用いて、φ（｛ｊ_１｝、ｖ｛ｊ_１｝）、・・・φ（｛ｊ_（ｔ＋２）｝、ｖ｛ｊ_（ｔ＋２）｝）を算出する。
【００５８】
そして、整合性チェック部３０２は、ｔ＋２個の不正者特定情報に含まれる任意のｔ＋１個の不正者特定情報と、φ（｛ｊ_１｝、ｖ｛ｊ_１｝）、・・・φ（｛ｊ_（ｔ＋２）｝、ｖ｛ｊ_（ｔ＋２）｝）のうち、任意のｔ＋１個とから、ｔ次以下の多項式を復元する。そして、整合性チェック部３０２は、復元した多項式上に残りの１個の分散情報に対応する点があるか否かについて判断する。
【００５９】
このようにして、整合性チェック部３０２は、（φ（｛ｊ_１｝、ｖ｛ｊ_１｝）、Ａ｛ｊ_１｝）・・・（φ（｛ｊ_（ｔ＋２）｝、ｖ｛ｊ_（ｔ＋２）｝）、ｖ｛ｊ_（ｔ＋２）｝）が、全て同一のｔ次以下の多項式上の点であるか否かについて判断する。
【００６０】
分散情報に対応する、ｔ＋２個の点が、全て同一のｔ次以下の多項式上の点であれば、整合性チェック部３０２は、部分集合内の分散情報の全てに不正がないと判断する。
【００６１】
分散情報の全てに不正がなければ、整合性チェック部３０２は、整合性確認集合Ｌ｛ｍ｝＝｛ｊ_１｝、・・・｛ｊ_（ｔ＋２）｝を出力する。Ｌ｛ｍ｝は、不正がないと判断された分散情報の集合を示す情報である。
【００６２】
部分集合内の分散情報のいずれか１以上に不正があれば、整合性チェック部３０２は、空集合のＬ｛ｍ｝を出力する。
【００６３】
整合性チェック部３０２は、Ｃ（ｋ、ｔ＋２）個の部分集合Ｓ｛ｍ｝のそれぞれについて、整合性確認集合Ｌ｛ｍ｝を求め、それらを不正者特定部３０３へ出力する。
【００６４】
不正者特定部３０３は、Ｃ（ｋ、（ｔ＋２））個の整合性確認集合Ｌ｛ｍ｝の和集合Ｇを求める。不正者特定部３０３は、｛ｉ_１｝、・・・｛ｉ_ｋ｝の集合と、和集合Ｇとの差集合を不正者リストＣＬとして求める。
【００６５】
不正者特定部３０３は、は、秘密情報復元部３０４と、秘密情報復元装置３０の外部とへ不正者リストＣＬを出力する。
【００６６】
秘密情報復元部３０４は、不正者リストＣＬが空集合であるか否かを判断する。ＣＬが空集合である場合、全ての分散情報に不正がないと推定される。この場合、秘密情報復元部３０４は、ｋ個の分散秘密情報ｖ｛ｉ_ｊ｝から、公知の方法を使用して秘密情報ｓを復元する。秘密情報ｓを復元する方法としては、ｋ元１次の連立方程式を解く方法やラグランジュ補完を用いる方法などがある。
【００６７】
秘密情報復元部３０４は、秘密情報復元装置３０の外部へ復元した秘密情報ｓを出力する。
【００６８】
上述の構成により、本実施形態では、ｋ≧２ｔ＋２を満たすｔの値を設定すると、秘密情報復元装置３０は、ｔ人までの不正者を高い確率で検出することができる。その理由について説明する。
【００６９】
秘密情報復元装置３０は、ｔ＋１個の分散情報から集められたｔ＋１個の点から、ｔ次の多項式を復元し、復元された多項式上に他の分散情報に対応する点が乗るか否かで不正者の特定を行っている。
【００７０】
ここで、ｔ人の不正者がいる場合を想定する。それらの不正者は、他の正直なユーザの持っている点（不正のない分散情報に対応する点）に関する情報は全くわからない。そのため、それらのｔ人の不正者が、点の偽造を行った後で、他の正直なユーザとの間で多項式を復元しても、他のユーザの点が、その復元された多項式上の点となる確率は非常に低くなる。一方、正直なユーザが不正者として特定されないようにするためには、ｔ＋１個の分散情報で復元された（偽造のない正当な）多項式上に乗る点が１点以上必要になる。このため、秘密情報の復元には、「多項式を復元するｔ＋１人の正直なユーザ」＋「ｔ＋１人で復元する多項式上の点を持つ１人以上のユーザ」＋「ｔ人の不正者」の合計２ｔ＋２以上が必要となる。
【００７１】
従って、秘密情報復元装置３０は、ｋ≧２ｔ＋２の場合にｔ人までの不正者を高い確率で特定できる。具体的には、ｉ個目の分散情報に不正な情報が含まれていた場合に、不正者特定部３０３の出力ＣＬに対して、その分散情報がＣＬに属して不正者が特定される確率は、１−１／ｑとなる。
【００７２】
図３は、本実施形態の分散情報生成装置１０または秘密情報復元装置３０を実現するためのコンピュータの一構成例を示すブロック図である。図３を参照すると、このコンピュータは、処理装置１１、入力装置１２、出力装置１３を備えている。処理装置１１は、プログラムに従って所定の処理を実行する。入力装置１２は、処理装置１１に対するコマンドや情報の入力のために用いられる装置である。出力装置１３は、処理装置１１の処理結果をモニタするための装置である。
【００７３】
処理装置１１は、ＣＰＵ（Central  Processing  Unit）１１１と、主記憶装置１１２と、記録媒体１１３と、データ蓄積装置１１４と、メモリ制御インターフェース部１１５〜１１７と、Ｉ／Ｏインターフェース部１１８および１１９とを有し、それらがバス１２０を介して相互に接続された構成である。
【００７４】
ＣＰＵ１１１は、プログラムを実行するプロセッサである。主記憶装置１１２は、ＣＰＵ１１１の処理に必要な情報を一時的に記憶する。記録媒体１１３は、ＣＰＵ１１１に実行させるためのプログラムを記憶している。データ蓄積装置１１４は、秘密情報やアクセス構造データを記憶する。メモリ制御インターフェース部１１５〜１１７は、主記憶装置１１２、記録媒体１１３、データ蓄積装置１１４のデータの書き込み、および読み出しを制御するインターフェース装置である。
【００７５】
なお、図３では、データ蓄積装置１１４が処理装置１１内に存在する例を示したが、データ蓄積装置１１４は、処理装置１１内になくてもよい。他の構成例としてデータ蓄積装置１１４が処理装置１１と別個に存在し、処理装置１１と接続されていてもよい。また、データ蓄積装置１１４を、図１、図２に示した記憶装置２１〜２ｎとして用いることもできる。
【００７６】
記録媒体１１３は、磁気ディスク、半導体メモリ、光ディスク、あるいはその他の記録媒体である。
【００７７】
図４を参照して、本実施形態の分散情報生成装置１０の動作について説明する。図４は、分散情報生成装置１０の動作を示すフローチャートである。この動作は、秘密情報を分散するためのアプリケーションが実行されたときに開始する。
【００７８】
図４を参照すると、分散情報生成装置１０は、秘密情報ｓと、閾値ｋと、分散情報総数ｎと、想定不正者数ｔ値との入力を受け付ける（ステップＳ１）。
【００７９】
各情報が入力されると、秘密情報分散部１０１は、ｋ−１次多項式を使用して、（ｋ、ｎ）閾値秘密分散法により、秘密情報ｓからｎ個の分散秘密情報ｖ｛ｉ｝を生成する。秘密情報分散部１０１は、それらの分散秘密情報を記憶装置２１〜２ｎへ出力する（ステップＳ２）。
【００８０】
不正者特定情報生成部１０２は、ｔ次以下の多項式、および一対一関数を使用して、ｎ個の分散秘密情報から、ｎ個の不正者特定情報Ａ｛ｉ｝を生成する。不正者特定情報生成部１０２は、それらの不正者特定情報を記憶装置２１〜２ｎへ出力する（ステップＳ３）。ステップＳ３の後、分散情報生成装置１０は、秘密分散のための動作を終了する。
【００８１】
図５および図６を参照して、本実施形態の秘密情報復元装置３０の動作について説明する。図５は、秘密情報復元装置３０の動作を示すフローチャートである。この動作は、秘密情報を復元するためのアプリケーションが実行されたときに開始する。
【００８２】
秘密情報復元装置３０は、想定不特定者数ｔおよび閾値ｋの入力を受け付ける（ステップＴ１）。
【００８３】
想定不特定者数ｔおよび閾値ｋが入力されると、秘密情報復元装置３０は、ｋ個の記憶装置から、ｋ個の分散情報を読み出す（ステップＴ２）。
【００８４】
部分集合生成部３０１は、ｋ個の分散情報のうち、ｔ＋２個を選択する全ての組み合わせを部分集合として求め、Ｃ（ｋ、ｔ＋２）個の部分集合Ｓ｛ｍ｝を生成する。部分集合生成部３０１は、それらの部分集合を整合性チェック部３０２の要求に応じて、整合性チェック部３０２へ出力する（ステップＴ３）。
【００８５】
整合性チェック部３０２は、各部分集合内に、不正な分散情報が含まれるか否かを判断するための整合性チェック処理を実行する（ステップＴ４）。
【００８６】
不正者特定部３０３は、整合性チェック処理で生成された整合性確認集合Ｌ｛ｍ｝の和集合Ｇを求める。そして、｛ｉ_１｝、・・・｛ｉ_ｋ｝の集合と、和集合Ｇとの差分の集合を不正者リストＣＬとして求める（ステップＴ５）。
【００８７】
不正者特定部３０３は、不正者リストＣＬが空集合であるか否かを判断する（ステップＴ６）。
【００８８】
不正者リストＣＬが空集合であれば（ステップＴ５：ＹＥＳ）、秘密情報復元部３０４は、ｋ個の分散秘密情報ｖ｛i_j｝から、秘密情報ｓを復元する。そして、秘密情報復元部３０４は、秘密情報ｓと、空集合の不正者リストＣＬとを出力する（ステップＴ７）。
【００８９】
不正者リストＣＬが空集合でなければ（ステップＴ５：ＮＯ）、不正者特定部３０３は、不正者リストＣＬと、不正な分散情報が検出されたことを示す記号とを出力する（ステップＴ８）。
【００９０】
図６は、不整合チェック処理を示すフローチャートである。図６を参照すると、整合性チェック部３０２は、インデックスｍに初期値１を設定する（ステップＴ４１）。
【００９１】
整合性チェック部３０２は、部分集合Ｓ｛ｍ｝内のデータ対（分散情報）を全て取得する（ステップＴ４２）。整合性チェック部３０２は、不正者特定情報から得られたｔ次以下の多項式と、一対一関数とを使用して、取得したデータ対の全てに整合性があるか否かを判断する（ステップＴ４３）。
【００９２】
全てのデータ対に整合性があれば（ステップＴ４３：ＹＥＳ）、整合性チェック部３０２は、部分集合Ｓ｛ｍ｝内のデータ対の集合を示す整合性確認集合Ｌ｛ｍ｝を生成する（ステップＴ４４）。
【００９３】
いずれかのデータ対に整合性がなければ（ステップＴ４３：ＮＯ）、整合性チェック部３０２は、空集合の整合性確認集合Ｌ｛ｍ｝を生成する（ステップＴ４５）。
【００９４】
ステップＴ４４、またはＴ４５の後、整合性チェック部３０２は、ｍをインクリメントする（ステップＴ４６）。
【００９５】
整合性チェック部３０２は、ｍがＣ（ｋ、ｔ＋２）より大きいか否かを判断する（ステップＴ４７）。
【００９６】
ｍがＣ（ｋ、ｔ＋２）以下であれば（ステップＴ４７：ＮＯ）、整合性チェック部３０２は、ステップＴ４２に戻る。
【００９７】
ｍがＣ（ｋ、ｔ＋２）より大きければ（ステップＴ４７：ＹＥＳ）、整合性チェック部３０２は、整合性チェック処理を終了する。
【００９８】
なお、本実施形態では、秘密情報復元装置３０は、不正者リストＣＬが空集合であれば、秘密情報を復元する構成としている。しかし、分散情報を復元する必要がなければ、秘密情報復元装置３０は、秘密情報復元部３０４を設けない構成とすることもできる。
【００９９】
また、本実施形態では、各部分集合の要素数ｒをｔ＋２としているが、ｒ＞ｔ＋２とすることもできる。この場合でも、秘密分散システムにｋ≧ｒ＋ｔの関係を満たすｔの値を入力すれば、秘密情報復元装置３０は、ｔ人までの不正者を高い確率で検出できる。
【０１００】
ｒ＝ｔ＋２としても、前述したように１−１／ｑという十分に高い確率で不正者を特定できる。ｒ＞ｔ＋２とすれば、同じｋに対して設定できる想定不正者数は小さくなってしまうが、ｒ＝ｔ＋２の場合よりも一致すべき多項式上の点が多くなるので、不正者を特定できる確率を更に高くできる。但し、ｒ≧２ｔ＋１とすると、ｋの値に対して検出できる不正者の数ｔが、ｋ≧３ｔ＋１の関係を前提とする非特許文献５の不正者数以下となってしまう。このため、２ｔ≧ｒ≧ｔ＋２とすることが望ましい。
【０１０１】
本実施形態では、図４〜図６に示したフローチャートは、情報処理装置がコンピュータプログラムを実行することにより実現されるが、これらの全部または一部は、情報処理装置内の制御回路で実現してもよい。
【０１０２】
本実施形態では、分散情報生成装置１０が生成したｎ個の分散情報を記憶装置２１〜２ｎに分散して格納しておき、秘密情報を復元するときｋ個以上の記憶装置２から秘密情報復元装置３０に分散情報を引き渡す構成である。ただし、分散情報生成装置１０から記憶装置２１〜２ｎに分散情報を伝達する方法や、記憶装置２１〜２ｎから秘密情報復元装置３０に分散情報を伝達する方法は特に限定されない。分散情報は例えば、記憶媒体を介して伝達してもよく、データ通信によって伝達してもよい。
【０１０３】
本発明の秘密情報復元装置は、本発明の検証装置の一例である。
【０１０４】
以上説明したように、本実施形態によれば、検証装置は、ＧＦ（ｐ）上のｋ−１次多項式およびＧＦ（ｑ）上のｔ次多項式を使用して得られたｋ個の分散情報から、ｒ≧ｔ＋２を満たすｒ個を選択する組み合わせを部分集合として全て求め、部分集合ごとに、部分集合に不正な分散情報が含まれるか否かを判断し、不正者集合を生成する。この構成によれば、ｋ個の分散情報のうち、ｔ個の不正な分散情報があっても、ｒ個以上の不正のない分散情報があれば、検証装置は、部分集合のうち、１つ以上に不正な分散情報がないと判断でき、各部分集合の判断結果から、ｋ個の中のｔ個までの不正な分散情報を高い確率で特定できる。
【０１０５】
このため、ｋ≧ｒ＋ｔの関係を満たすｔ個までの不正な分散情報を検知できる。２ｔ≧ｒの範囲を設定すれば、ユーザは、検証装置にｋ≧３ｔを満たすｔの値を設定でき、一定値のｋに対し、ｋ≧３ｔ＋１の場合よりもｔを大きく設定できる。
【０１０６】
また、ＧＦ（ｐ）などのｐに基づく有限体上のｋ−１次多項式とＧＦ（ｑ）上のｔ次多項式とを使用することから、分散情報のサイズは、ｐ＊ｑである。このため、ｋ≧２ｔ＋１を前提とし、分散情報のサイズがｐ＊ｑ＾（３ｎ−３）となる非特許文献４の方式よりも分散情報のサイズが小さくなる。
【０１０７】
特に、ｒ＝ｔ＋２個とすれば、ｋの値に対し、不正成功確率を十分に低下させつつ、ｋの値に対してｔの値を最も大きく設定できる。
【０１０８】
（第２の実施形態）
本発明の第２の実施形態について説明する。本実施形態の秘密分散システムは、より柔軟なパラメータ設定を可能とする点で第１の実施形態の秘密分散システムと異なる。なお、本実施形態の秘密分散システムについて、図１〜図６で説明した構成と同様な構成の詳細な説明を省略し、第１の実施形態と異なる点について詳しく説明する。
【０１０９】
本実施形態の秘密情報分散部１０１は、有限体ＧＦ（ｐ）を拡大したＧＦ（ｐ＾Ｎ）上のｋ−１次多項式ｆｓ（ｘ）を選択する点以外は、第１の実施形態の秘密情報分散部１０１と同様の構成である。
【０１１０】
本実施形態でも、有限体上の加算を＋、減算を−、乗算を＊、除算を／、冪乗算を＾で表記する。
【０１１１】
本実施形態の不正者特定情報生成部１０２は、２つの情報からなる不正者特定情報を生成する点で、第１の実施形態の不正者特定情報生成部１０２の構成と異なる。
【０１１２】
詳細には、不正者特定情報生成部１０２は、ＧＦ（ｐ）の元ｅをランダムに選び、Ｃｅ（０）＝ｅとなるようなランダムかつ一様な、ＧＦ（ｐ）上のｔ次多項式Ｃｅ（ｘ）を生成する。本実施形態では、Ｃｅ（ｘ）は、下記の式により定義される。
【０１１３】
Ｃｅ（ｘ）＝ｅ＋ｅ｛１｝ｘ＋・・・＋ｅ｛ｔ｝ｘ＾ｔ・・・（５）
不正者特定情報生成部１０２は、Ｃｅ（ｘ）に、ｉ＝１、２、・・・ｎをｘとして代入し、それらの結果をＡｓ｛ｉ｝（＝Ｃｅ（ｉ））とする。
【０１１４】
また、不正者特定情報生成部１０２は、ＧＦ（ｑ）上のランダムかつ一様なｔ次多項式Ｃｓ（ｘ）を生成する。ここで、ｑは、ｑ≧ｎ＊ｐを満足する素数である。本実施形態では、Ｃｓ（ｘ）は下記の式により定義される。
【０１１５】
Ｃｓ（ｘ）＝ｃ｛０｝＋ｃ｛１｝＊ｘ＋・・・ｃ｛ｔ｝＊ｘ＾ｔ・・・（６）
そして、不正者特定情報生成部１０２は、下記のｆｅ（ｘ）に、ｖ｛ｉ｝をｘとして代入して、ｆｅ（ｖ｛ｉ｝）を求める。
【０１１６】
ｆｅ（ｘ）＝ｘ｛０｝＋ｘ｛１｝＊ｅ＋ｘ｛２｝＊ｅ＾２＋・・・＋ｘ｛Ｎ｝＊ｅ＾Ｎ・・・（８）
不正者特定情報生成部１０２は、予め定めた一対一関数φ(｛ｉ｝、ｆｅ（ｘ）)に、ｎ個の(｛ｉ｝、ｆｅ（ｖ{ｉ｝）)をそれぞれ代入してφ(｛ｉ｝、ｆｅ（ｖ{ｉ｝）)を取得する。
【０１１７】
そして、不正者特定情報生成部１０２は、Ｃｓ（φ(｛ｉ｝、ｆｅ（ｖ{ｉ｝）)）を求め、その結果をＡｅ｛ｉ｝とする。
【０１１８】
不正者特定情報生成部１０２は、Ａｓ｛ｉ｝およびＡｅ｛ｉ｝を不正者特定情報Ａ｛ｉ｝として出力する。
【０１１９】
次いで、本実施形態の秘密情報復元装置３０は、Ａｓ｛ｉ_ｊ｝、Ａｅ｛ｉ_ｊ｝（ｊ＝１、２、・・・ｋ）を用いて整合性のチェックを行う点以外は、第１の実施形態の秘密情報復元装置３０の構成と同様である。
【０１２０】
整合性チェック部３０２は、（ｊ_１、Ａｓ｛ｊ_１｝）、・・・（ｊ_（ｔ＋２）、Ａｓ｛ｊ_（ｔ＋２）｝）が、全て同一のｔ次以下の多項式上の点であるか否かを判断する。
【０１２１】
そして、整合性チェック部３０２は、（（φ（ｊ_１、ｖ｛ｊ_１｝）、Ａｅ｛ｊ_１｝）、・・・（（φ（ｊ_（ｔ＋２）、ｖ｛ｊ_（ｔ＋２）｝）、Ａｅ｛ｊ_（ｔ＋２）｝）が全て同一のｔ次以下の多項式上の点であるか否かを判断する。
【０１２２】
Ａｓ｛ｉ_ｊ｝に対応する点  が全て同一のｔ次以下の多項式上の点であり、且つＡｅ｛ｉ_ｊ｝に対応する点が全て同一のｔ次以下の多項式上の点であれば、整合性チェック部３０２は、部分集合内の分散情報に不正な情報がないと判断する。
【０１２３】
以上説明したように、本実施形態によれば、秘密情報のサイズは、ｐ＾（Ｎ＋１）＊ｑとなり、改竄を検出できる確率は、１−Ｎ／ｐ−１／ｑとなる。第１の実施形態では、分散秘密情報のサイズｐと、不正検出確率との間には、ｑ≧ｎ＊ｐの制約があったが、第２の実施形態では、ｐを適切に選択することにより、秘密情報のサイズと不正検出確率との間の制約を解消できる。
【０１２４】
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されものでない。本発明の構成や詳細には、本発明の範囲内で当業者が理解し得る様々な変更をすることができる。
【０１２５】
本出願は、２００９年１２月２２日に出願された日本出願特願２００９−２９０７８６を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
0005609892.tif 000002
【図２】
0005609892.tif 000003
【図３】
0005609892.tif 000004
【図４】
0005609892.tif 000005
【図５】
0005609892.tif 000006
【図６】
0005609892.tif 000007