JP5379914B2 - 秘密分散システム、分散装置、分散管理装置、取得装置、秘密分散方法、プログラム、及び記録媒体 - Google Patents
秘密分散システム、分散装置、分散管理装置、取得装置、秘密分散方法、プログラム、及び記録媒体 Download PDFInfo
- Publication number
- JP5379914B2 JP5379914B2 JP2012525441A JP2012525441A JP5379914B2 JP 5379914 B2 JP5379914 B2 JP 5379914B2 JP 2012525441 A JP2012525441 A JP 2012525441A JP 2012525441 A JP2012525441 A JP 2012525441A JP 5379914 B2 JP5379914 B2 JP 5379914B2
- Authority
- JP
- Japan
- Prior art keywords
- secret
- coef
- share
- information
- secret sharing
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
- H04L9/0836—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
- Complex Calculations (AREA)
Description
(N,N)しきい値秘密分散方式(「N-out-of-N分散方式」や「N-out-of-Nしきい値分散方式」と呼ぶ場合もある))では、すべてのシェア情報SH(1),...,SH(N)が与えられれば秘密情報MSKを復元できるが、任意のN-1個のシェア情報SH(φ1),...,SH(φN-1)が与えられても秘密情報MSKの情報はまったく得られない。以下に、(N,N)しきい値秘密分散方式の一例を示す。
・SH1,...,SHN-1をランダムに選択する。
・SHN=MSK-(SH1+...+SHN-1)の計算を行う。
・各シェア情報SH1,...,SHNを複数の分散管理装置PA(1),...,PA(N)に分散して管理させる。
・すべてのシェア情報SH1,...,SHNが与えられれば、MSK=SH1+...+SHNの復元処理によって秘密情報MSKを復元できる。
σ・SH(1)+...+σ・SH(N)
=σ・(SH(1)+ ...+SH(N))
=σ・MSK …(1)
σ(1)・SH(1)+...+σ(N)・SH(N) …(2)
(Kt,N)しきい値秘密分散方式(「Kt-out-of-N分散方式」や「Kt-out-of-Nしきい値分散方式」と呼ぶ場合もある)では、任意の相違なるKt個のシェア情報SH(φ1),...,SH(φKt)が与えられれば秘密情報MSKを復元できるが、任意のKt-1個のシェア情報SH(φ1),...,SH(φKt-1)が与えられても秘密情報MSKの情報はまったく得られない。添え字のKtはKtを表す。以下に(Kt,N)しきい値秘密分散方式の一例を示す。
・f(0)=MSKを満たすKt-1次の多項式f(x)=ξ0+ξ1・x+ξ2・x2+...+ξKt-1・xKt-1をランダムに選ぶ。すなわち、ξ0=MSKとし、ξ1,..., ξKt-1をランダムに選ぶ。シェア情報をSHρ=(ρ, f(ρ))(ρ=1,...,N)とする。
・任意の相違なるKt個のシェア情報SH(φ1),...,SH(φKt)((φ1,...,φKt)⊂(1,...,N))が得られた場合、例えば、ラグランジェ(Lagrange)の補間公式を用い、以下のような復元処理によって秘密情報MSKを復元できる。
MSK=f(0)=λ1・f(φ1)+...+λKt・f(φKt) …(3)
(φρ-φ1)・...・(φρ-φρ-1)・(φρ-φρ+1)・...・(φρ-φKt)
式(4)の分子は以下のようになる。
(x-φ1)・...・(x-φρ-1)・(x-φρ+1)・...・(x-φKt)
これらの関係は体上でも成立する。
(条件1)分散装置が秘密情報MSKを秘密分散して複数のシェア情報SH(1),...,SH(N)を生成し、これらを複数の分散管理装置PA(1),...,PA(N)に分散して管理させる。
(条件2)各分散管理装置PA(1),...,PA(N)がそれぞれ何らかの演算を実行する。
(条件3)取得装置は、秘密情報MSKを得ることはできないが、所定数以上の分散管理装置で生成された演算結果が与えられた場合に、秘密情報MSKと任意な値σとを被演算子に含む演算の結果に対応する生成情報を得ることができる。
〔第1実施形態〕
まず、本発明の第1実施形態を説明する。
本形態で使用する用語や記号を定義する。
Fq:Fqは位数qの有限体を表す。位数qは1以上の整数であり、例えば、素数や素数のべき乗値を位数qとする。すなわち、有限体Fqの例は素体やそれを基礎体とした拡大体である。有限体Fqが素体である場合の演算は、例えば、位数qを法とする剰余演算によって容易に構成できる。有限体Fqが拡大体である場合の演算は、例えば、既約多項式を法とする剰余演算によって容易に構成できる。有限体Fqの具体的な構成方法は、例えば、参考文献1「ISO/IEC 18033-2: Information technology - Security techniques - Encryption algorithms - Part 2: Asymmetric ciphers」に開示されている。
1F:1Fは有限体Fqの乗法単位元を表す。
y2+a1・x・y+a3・y=x3+a2・x2+a4・x+a6
ただし、a1,a2,a3,a4,a6∈Fqを満たす。
楕円曲線E上の任意の2点に対して楕円加算と呼ばれる二項演算+が定義され、楕円曲線E上の任意の1点に対して逆元演算と呼ばれる単項演算−が定義される。楕円曲線E上の有理点からなる有限集合が楕円加算に関して群をなすこと、楕円加算を用いて楕円スカラー倍算と呼ばれる演算が定義できること、及びコンピュータ上での楕円加算などの楕円演算の具体的な演算方法はよく知られている(例えば、参考文献1、参考文献2「RFC 5091: Identity-Based Cryptography Standard (IBCS) #1: Supersingular Curve Implementations of the BF and BB1 Cryptosystems」、参考文献3「イアン・F・ブラケ、ガディエル・セロッシ、ナイジェル・P・スマート=著、「楕円曲線暗号」、出版=ピアソン・エデュケーション、ISBN4-89471-431-0」等参照)。
楕円曲線E上の有理点からなる有限集合は位数p(p≧1)の部分群を持つ。例えば、楕円曲線E上の有理点からなる有限集合の要素数を#Eとし、pを#Eを割り切る大きい素数とした場合、楕円曲線Eのp等分点からなる有限集合E[p]は、楕円曲線E上の有理点からなる有限集合の部分群を構成する。楕円曲線Eのp等分点とは、楕円曲線E上の点Aのうち、楕円曲線E上での楕円スカラー倍算値p・Aがp・A=Oを満たす点を意味する。
g:gは巡回群Gの生成元を表す。
図1は、第1実施形態の秘密分散システムの全体構成を説明するためのブロック図である。
図1に例示するように、本形態の秘密分散システム1は、分散装置110と、Σα=1 Lh(α)個の分散管理装置〔PA(α,h(α))(α=1,...,L, L≧2, h(α)=1,...,H(α), H(α)≧2)〕120−α−h(α)と、取得装置130と、共有値生成装置140−1〜Lとを有し、それらはネットワーク150を通じて通信可能である。説明を簡略化するため、本形態では、分散装置110及び取得装置130が1つずつ存在する構成を例示するが、分散装置110及び/又は取得装置130が2以上存在してもよい。同様な理由により、本形態では、Σα=1 Lh(α)個の分散管理装置〔PA(α,h(α))〕120−α−h(α)からなる集合が1つのみ存在する構成を例示するが、このような集合が複数存在していてもよい。
図1に例示するように、Σα=1 Lh(α)個の分散管理装置〔PA(α,h(α))〕120−α−h(α)からなる集合は、H(α)個の分散管理装置PA(α,1),...,PA(α,H(α))からなる複数の部分集合SUB(α)ごとに区分される。各部分集合SUB(α)には、それぞれ、各部分集合SUB(α)ごとに共有される共有値σ(α)を生成する共有値生成装置140−αがそれぞれ対応する。
図2は、図1の分散装置110の構成を説明するためのブロック図である。図5Aは、図2の秘密分散部114−αの詳細を説明するためのブロック図である。
図2に例示するように、本形態の分散装置110は、一時記憶部111と、記憶部112と、制御部113と、秘密分散部114−α(α=1,...,L)と、送信部115とを有する。図5Aに例示するように、本形態の秘密分散部114−αは、関数選択部114a−αと、インデックス生成部114b−αと、分散処理部114c−αとを有する。
図3Aは、第1実施形態の分散管理装置〔PA(α,h(α))〕120−α−h(α)の構成を説明するためのブロック図である。図5Bは、図3Aの分散秘密値生成部124−α−h(α)の詳細を説明するためのブロック図である。
図3Aに例示するように、本形態の分散管理装置〔PA(α,h(α))〕120−α−h(α)は、一時記憶部121−α−h(α)と、記憶部122−α−h(α)と、制御部123−α−h(α)と、分散秘密値生成部124−α−h(α)と、送信部125−α−h(α)と、受信部126−α−h(α)とを有する。図5Bに例示するように、分散秘密値生成部124−α−h(α)は、線形演算部124a−α−h(α)と、分散秘密値合成部124b−α−h(α)とを有する。
図3Bは、第1実施形態の共有値生成装置140−αの構成を説明するためのブロック図である。
図3Bに例示するように、本形態の共有値生成装置140−αは、乱数生成部141−α及び送信部142−αを有する。本形態の共有値生成装置140−αは、例えば、CPU、RAM、ROM等を備える公知又は専用のコンピュータと特別なプログラムとを含む特別な装置であるが、乱数生成部141−αが特別な集積回路であってもよい。
図4は、第1実施形態の取得装置130の構成を説明するためのブロック図である。図6は、図4の復元部134−αの詳細を説明するためのブロック図である。
図4に例示するように、本形態の取得装置130は、一時記憶部131と、記憶部132と、制御部133と、復元部134−α(α=1,...,L)と、合成部137と、送信部135と、受信部136とを有する。図6に例示するように、復元部134−αは、係数算出部134a−αと、多項式演算部134b−αとを有する。
取得装置130は、制御部133の制御のもと各処理を実行する。以下では説明を簡略化するが、各処理部から出力されたデータは、逐一、一時記憶部131又は記憶部132に格納される。一時記憶部131又は記憶部132に格納されたデータは、必要に応じて読み出され、各処理部に入力されてその処理に利用される。
本形態の秘密分散処理を説明する。
[事前処理]
本形態の秘密分散処理の事前処理として、秘密情報θ・g∈Gを特定するための情報θ∈Fqが分散装置110の記憶部112に格納される。
図7は、第1実施形態の秘密分散処理の全体を説明するための図である。以下、図7を用いて、本形態の秘密分散処理の全体を説明する。
本形態では、まず、分散装置110(図1)が、部分集合SUB(α)ごとに独立に、秘密情報θ・g∈Gを秘密分散してシェア情報SH(α,h(α))(h(α)=1,...,H(α))を生成し、当該シェア情報SH(α,h(α))を出力する(ステップS11)。各シェア情報SH(α,h(α))は、それぞれ、ネットワーク150経由で各分散管理装置〔PA(α,h(α))〕120−α−h(α)に分散して送信される。
図8Aは、第1実施形態の分散装置の処理を例示するための図であり、図8Bは、ステップS112の処理の詳細を例示するための図である。以下、これらの図を用いて、分散装置110の処理の詳細を説明する。
まず、分散装置110(図2)の制御部113が、α=1に設定し、その設定内容を一時記憶部111に格納する(ステップS111)。次に、記憶部112から秘密情報θ・g∈Gを特定するための情報θ∈Fqが読み出され、秘密分散部114−αに入力される。秘密分散部114−αは、情報θ∈Fqを用いて秘密情報θ・g又は情報θを、所定の秘密分散方式に従って秘密分散し、部分集合SUB(α)に対するH(α)個のシェア情報SH(α,1),...,SH(α,H(α))を生成して出力する(ステップS112)。
本形態の秘密分散部114−αは、各部分集合SUB(α)に対し、(R(α),H(α))しきい値秘密分散方式(但し、R(α)は、2≦R(α)<H(α)を満たす定数)を用い、秘密情報を秘密分散して得られるシェア情報SH(α,h(α))(h(α)=1,...,H(α))を生成する。
図8Bに例示するように、まず、秘密分散部114−α(図5A)の関数選択部114a−αが、予め定められた有限体Fqの元ω∈Fqに対してf(α,ω)=θを満たすR(α)-1次の多項式をf(α,x)∈Fqをランダムに選択して出力する(ステップS112a)。なお、xは有限体Fqの元からなる変数であり、元ω∈Fqの一例は0Fである。
次に、インデックス生成部114b−αが、各h(α)=1,...,H(α)に対応するインデックスφ(h(α))∈Fqを生成して出力する(ステップS112b)。なお、インデックスφ(h(α))=h(α)∈Fqとする場合や、すでにインデックスφ(h(α))∈Fqが得られている場合には、ステップS112bの処理は省略されてもよい。
次に、分散処理部114c−αが、多項式f(α,x)∈Fqとインデックスφ(h(α))∈Fqとを用い、以下のシェア情報SH(α,h(α))(h(α)=1,...,H(α))を生成する。
SH(α,h(α))=(φ(h(α)), f(α,φ(h(α)))・g∈G) …(5)
分散処理部114c−αはシェア情報SH(α,h(α))を出力する(ステップS112c/《ステップS112の詳細》の説明終わり)。
各共有値生成装置140−α(図3B)は、自らに対応する部分集合SUB(α)を構成する各分散管理装置〔PA(α,h(α))〕120−α−h(α)で共有する共有値σ(α)を生成する。本形態では、乱数生成部141−αが生成した乱数を共有値σ(α)とし、送信部142−αが共有値σ(α)を、部分集合SUB(α)を構成する各分散管理装置〔PA(α,h(α))〕120−α−h(α)に送信する。
図9Aは、第1実施形態の分散管理装置〔PA(α,h(α))〕120−α−h(α)の処理を例示するための図であり、図9Bは、ステップS124の処理の詳細を例示するための図である。以下、これらの図を用いて、本形態の分散管理装置〔PA(α,h(α))〕120−α−h(α)の処理を説明する。
同一の部分集合SUB(α)に属する分散管理装置PA(α,h(α))120−α−h(α)の分散秘密値生成部124−α−h(α)がそれぞれ用いる共通情報は互いに同一であり、同一の部分集合SUB(α)に属する分散管理装置PA(α,h(α))120−α−h(α)の分散秘密値生成部124−α−h(α)がそれぞれ行う共通演算は互いに同一である。本形態のシェア情報は式(5)に示すものである。
dsh(α,φ(h(α)))=σ(α)・v・f(α,φ(h(α)))・g∈G …(6)
DSH(α,h(α))=(φ(h(α)),dsh(α,φ(h(α)))) …(7)
分散秘密値合成部124b−α−h(α)は分散秘密値DSH(α,h(α))を出力する(ステップS124b/《ステップS124の詳細》の説明終わり)。
図10Aは、第1実施形態の取得装置の処理を例示するための図であり、図10Bは、ステップS134の処理を例示するための図である。
各分散管理装置PA(α,h(α))120−α−h(α)から送信された分散秘密値DSH(α,h(α))は、取得装置130(図4)の受信部136で受信され、記憶部132に格納される(ステップS131)。
本形態の分散秘密値DSH(α,h(α))は式(7)に示すものである。復元部134−α(図6)には、αごとにR(α)個ずつの相違なる分散秘密値DSH(α,h(α))が入力される。以下では、復元部134−αに入力される各αに対応する分散秘密値DSH(α,h(α))を以下のように表現する。
DSH(α,φ1(α))=(φ1(α), dsh1(α))
・・・ …(8)
DSH(α,φR(α)(α))=(φR(α)(α), dshR(α)(α))
ただし、以下が満たされる。
(φ1(α),...,φR(α)(α))⊂(φ(1),...,φ(H(α))) …(9)
(dsh1(α),...,dshR(α)(α))⊂(dsh(α,φ(1)),...,dsh(α,φ(H(α)))) …(10)
SUBSK(α)=λ1(ω)・dsh1(α)+...+λR(α)(ω)・dshR(α)(α)∈G …(12)
多項式演算部134b−αは、秘密復元値SUBSK(α)を出力する(ステップS134b/《ステップS134の詳細》の説明終わり)。
SK=FNC2(SUBSK(1),...,SUBSK(L)) …(13)
以下に式(13)の具体例を示す。
具体例1:SK=SUBSK(1)+...+SUBSK(L)∈G …(14)
具体例2:SK=CE1・SUBSK(1)+...+CEL・SUBSK(L)∈G …(15)
ただし、CEα∈Fqは係数であり、その一例はLの乗法逆元(L)-1∈Fqである。また、係数CE1,...,CELの何れか一部を0Fとしてもよい。この場合には、SUBSK(1)+...+SUBSK(L)の一部のみを用いて生成情報SKが生成される。この際、合成部137が、係数CE1,...,CELのうち0Fとする係数をランダムに選択してもよい。これにより、安全性が向上する。合成部137が、係数CE1,...,CELを自由に設定できる構成でもよい。これにより、取得装置130は、信頼性が低い部分集合SUB(α')に対応する秘密復元値SUBSK(α')を使用せずに生成情報SKを生成すること等が可能となる(《ステップS141の詳細》の説明終わり)。
本形態では、分散装置110が部分集合SUB(α)ごとに独立に秘密情報θ・g∈Gを秘密分散してシェア情報SH(α,h(α))を生成し、各分散管理装置PA(α,h(α))120−α−h(α)が、共有値σ(α)と提供情報vを含む共通情報とシェア情報SH(α,h(α))とを用い、共通演算を行って分散秘密値DSH(α,h(α))を生成し、取得装置130が、同一の部分集合SUB(α)に対応する複数の分散秘密値DSH(α,h(α))を用い、部分集合SUB(α)ごとの復元処理によって秘密復元値SUBSK(α)を生成し、秘密復元値SUBSK(α)を用いて生成情報SKを生成することとした。
次に、第1実施形態の変形例1を説明する。
第1実施形態では、巡回群Gの元を秘密情報θ・g∈Gとし、これを秘密分散した。しかし、有限体Fqの元θ∈Fqを秘密分散してもよい。この場合、(R(α),H(α))しきい値秘密分散方式を用いて秘密分散されたシェア情報SH(α,h(α))は、有限体Fqの元からなる変数をxとし、予め定められた有限体Fqの元ω∈Fqに対してf(α,ω)=θを満たすR(α)-1次の多項式をf(α,x)∈Fqとし、h(α)に対応するインデックスをφ(h(α))とした場合における、有限体Fqの元f(α,φ(h(α)))∈Fqを含む。
図11Aは、第1実施形態における変形例1の秘密分散部214−αの構成を説明するための図であり、図11Bは、第1実施形態における変形例1の分散秘密値生成部224−α−h(α)の構成を説明するための図である。なお、これらの図において、第1実施形態と共通する部分については、第1実施形態と同じ符号を付した。
第1実施形態の変形例1では、図8Bに示したステップS112の処理が以下のように変形される。
まず、図8Bに示したステップS112a及びS112bが実行される。次に、ステップS112cの代わりに、秘密分散部214−αの分散処理部214c−α(図11A)が、多項式f(α,x)∈Fqとインデックスφ(h(α))∈Fqとを用い、以下のシェア情報SH(α,h(α))を生成して出力する。
SH(α,h(α))=(φ(h(α)), f(α,φ(h(α)))) …(16)
第1実施形態の変形例1では、図9Bに示したステップS124の処理が以下のように変形される。
まず、ステップS124aの代わりに、線形演算部224a−α−h(α)(図11B)に、共有値σ(α)と提供情報vとシェア情報SH(α,h(α))=(φ(h(α)), f(α,φ(h(α))))のf(α,φ(h(α)))とが入力され、線形演算部224a−α−h(α)は、以下の演算を行い、その演算結果dsh(α,φ(h(α)))∈Gを出力する。
dsh(α,φ(h(α)))=σ(α)・v・f(α,φ(h(α)))・g∈G …(17)
演算結果dsh(α,φ(h(α)))∈Gは分散秘密値DSH(α,h(α))の一部の情報となる。その後、図9Bに示したステップS124bの処理を実行する(《第1実施形態の変形例1におけるステップS124の変形》の説明終わり)。その他の処理は、第1実施形態と同様である。
次に、第1実施形態の変形例2を説明する。
第1実施形態の変形例2でも有限体Fqの元θ∈Fqを秘密分散する。第1実施形態の変形例1との相違点は、演算結果dsh(α,φ(h(α)))が巡回群Gの元ではなく、有限体Fqの元である点である。
第1実施形態の変形例1におけるステップS112の変形と同一である。
第1実施形態の変形例2では、図9Bに示したステップS124の処理が以下のように変形される。
まず、ステップS124aの代わりに、線形演算部324a−α−h(α)(図12A)に、共有値σ(α)と提供情報vとシェア情報SH(α,h(α))=(φ(h(α)), f(α,φ(h(α))))のf(α,φ(h(α)))とが入力され、線形演算部324a−α−h(α)が、以下の演算を行い、その演算結果dsh(α,φ(h(α)))∈Fqを出力する。
dsh(α,φ(h(α)))=σ(α)・v・f(α,φ(h(α)))∈Fq …(18)
演算結果dsh(α,φ(h(α)))∈Fqは分散秘密値DSH(α,h(α))の一部の情報となる。その後、図9Bに示したステップS124bの処理を実行する。
まず、図10Bに示したステップS134aの処理が実行される。次に、10Bに示したステップS134bの処理の代わりに、各係数λρ(x)と、式(8)に示すDSH(α,φ1(α)),...,DSH(α,φR(α)(α))のdsh1(α),...,dshR(α)(α)とが、多項式演算部334b−α(図12B)に入力され、多項式演算部334b−αが、以下の演算によって、部分集合SUB(α)の秘密復元値SUBSK(α)を生成する。
SUBSK(α)={λ1(ω)・dsh1(α)+...+λR(α)(ω)・dshR(α)(α)}・g∈G
…(19)
多項式演算部334b−αは、部分集合SUB(α)の秘密復元値SUBSK(α)を出力する(《第1実施形態の変形例2におけるステップS134の変形》の説明終わり)。その他の処理は、第1実施形態と同様である。
第1実施形態の変形例3は、(R(α),H(α))しきい値秘密分散方式の代わりに(H(α),H(α))しきい値秘密分散方式を用いて秘密情報を秘密分散する変形例である。
図13Aは、第1実施形態における変形例3の秘密分散部414−αの構成を説明するための図であり、図13Bは、第1実施形態における変形例3の分散秘密値生成部424−α−h(α)の構成を説明するための図であり、図13Cは、第1実施形態における変形例3の復元部434−αの構成を説明するための図である。
第1実施形態の変形例3では、図8Bに示したステップS112の処理が以下のように変形される。
まず、秘密分散部414−α(図13A)の乱数生成部414a−αにおいて、以下のH(α)-1個の巡回群Gの元をランダムに選択し、これらを出力する。
SH(α,1),...,SH(α,H(α)-1)∈G …(20)
SH(α,h(α))=θ・g -{SH(α,1)+...+SH(α,H(α)-1)}∈G …(21)
SH(α,1),...,SH(α,H(α))∈G
これらのシェア情報は、以下の関係を満たす。
SH(α,1)+SH(α,2)+...+SH(α,H(α))=θ・g∈G …(22)
第1実施形態の変形例3では、図9Bに示したステップS124の処理が以下のように変形される。
まず、分散秘密値生成部424−α−h(α)(図13B)に、共有値σ(α)と提供情報vとシェア情報SH(α,1),...,SH(α,H(α))とが入力される。分散秘密値生成部424−α−h(α)は、以下の演算によって、分散秘密値DSH(α,h(α))を生成して出力する
DSH(α,h(α))=σ(α)・v・SH(α,h(α))∈G …(23)
第1実施形態の変形例3では、図10Aに示したステップS132の処理が以下のように変形される。
この変形例3でも、制御部133が、必要数以上の分散秘密値DSH(α,h(α))が記憶部132に格納されたか否かを判定するが、変形例3での「必要数」はH(α)個である。つまり、この変形例3の場合、各α=1,...,Lについて、それぞれ、すべての分散秘密値DSH(α,h(α))が記憶部132に格納されたか否かが判定される。
第1実施形態の変形例3では、図10Bに示したステップS134の処理が以下のように変形される。
この変形例3の分散秘密値DSH(α,h(α))は式(23)に示すものである。また、復元部434−α(図13C)には、αに対応するすべての分散秘密値DSH(α,h(α))(h(α)=1,...,H(α))が入力される。復元部434−αは、以下の演算によって、部分集合SUB(α)の秘密復元値SUBSK(α)を生成して出力する。
SUBSK(α)=DSH(α,1)+...+DSH(α,H(α))∈G …(24)
その他の処理は、第1実施形態と同様である。
第1実施形態の変形例4も、(R(α),H(α))しきい値秘密分散方式の代わりに(H(α),H(α))しきい値秘密分散方式を用いて秘密情報を秘密分散する変形例である。変形例3との相違点は、有限体Fqの元である秘密情報θ∈Fqを秘密分散する点である。
第1実施形態の変形例4の秘密分散システム5は、分散装置110が分散装置510に置換され、分散管理装置120−α−h(α)(α=1,...,L)が分散管理装置520−α−h(α)(α=1,...,L)に置換され、取得装置130が取得装置530に置換される。秘密分散部114−α(α=1,...,L)が図14Aに示すような秘密分散部514−α(α=1,...,L)に置換され、分散秘密値生成部124−α−h(α)(α=1,...,L)が図14Bに示すような分散秘密値生成部524−α−h(α)(α=1,...,L)に置換され、復元部134−α(α=1,...,L)が図14Cに示すような復元部534−α(α=1,...,L)に置換される。その他の構成は、第1実施形態と同様である。
第1実施形態の変形例4では、図8Bに示したステップS112の処理が以下のように変形される。
まず、秘密分散部514−α(図14A)の乱数生成部514a−αにおいて、以下のH(α)-1個の有限体Fqの元をランダムに選択し、これらを出力する。
SH(α,1),...,SH(α,H(α)-1)∈Fq …(25)
SH(α,h(α))=θ -{SH(α,1)+...+SH(α,H(α)-1)}∈Fq …(26)
SH(α,1),...,SH(α,H(α))∈Fq …(27)
これらのシェア情報は、以下の関係を満たす。
SH(α,1)+SH(α,2)+...+SH(α,H(α))=θ∈Fq …(28)
第1実施形態の変形例4では、図9Bに示したステップS124の処理が以下のように変形される。
まず、分散秘密値生成部524−α−h(α)(図14B)に、共有値σ(α)と提供情報vとシェア情報SH(α,1),...,SH(α,H(α))とが入力される。分散秘密値生成部524−α−h(α)は、以下の演算によって、分散秘密値DSH(α,h(α))を生成して出力する。
DSH(α,h(α))=σ(α)・v・SH(α,h(α))∈Fq …(29)
第1実施形態の変形例3と同じである。
第1実施形態の変形例4では、図10Bに示したステップS134の処理が以下のように変形される。
この変形例4の分散秘密値DSH(α,h(α))は式(29)に示すものである。復元部534−α(図14C)には、αに対応するすべての分散秘密値DSH(α,h(α))(h(α)=1,...,H(α))が入力される。復元部534−αは、以下の演算によって、部分集合SUB(α)の秘密復元値SUBSK(α)を生成して出力する。
SUBSK(α)={DSH(α,1)+...+DSH(α,H(α))}・g∈G …(30)
その他の処理は、第1実施形態と同様である。
その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。例えば、第1実施形態の変形例4の式(29)の代わりに、以下の式(31)の演算を行い、式(30)の代わりに式(24)の演算を行ってもよい。
DSH(α,h(α))=σ(α)・v・SH(α,h(α))∈Fq …(31)
秘密復元値SUBSK(α)が有限体Fqの元となる構成であってもよい。
次に、本発明の第2実施形態を説明する。本形態は第1実施形態を関数暗号の鍵生成に応用した形態である。
本形態で使用する用語や記号を定義する。
行列:「行列」とは演算が定義された集合の元を矩形に並べたものを表す。環の元を要素とするものだけではなく、群の元を要素とするものも「行列」と表現する。
(・)T:(・)Tは・の転置行列を表す。
(・)-1:(・)-1は・の逆行列を表す。
∧:∧は論理積(AND)を表す論理記号である。
∨:∨は論理和(OR)を表す論理記号である。
¬:¬は否定(NOT)を表す論理記号である。
命題変数:命題変数は命題の「真」,「偽」("false","true")を要素とする集合{真,偽}上の変数である。すなわち、命題変数の定義域は「真」,「偽」を要素とする集合である。命題変数及び命題変数の否定を総称してリテラル(literal)と呼ぶ。
論理式:論理式とは数理論理学における命題を表す式を意味する。具体的には「真」及び「偽」は論理式であり、命題変数は論理式であり、論理式の否定は論理式であり、論理式と論理式との論理積は論理式であり、論理式と論理式との論理和は論理式である。
sec:secはセキュリティパラメータ(sec∈Z, sec>0)を表す。
0*:0*は*個の0からなる列を表す。
1*:1*は*個の1からなる列を表す。
Fq:Fqは位数qの有限体を表す(第1実施形態と同一)。
0F: 0Fは有限体Fqの加法単位元を表す(第1実施形態と同一)。
1F:は有限体Fqの乗法単位元を表す(第1実施形態と同一)。
δ(i,j):δ(i,j)はクロネッカーのデルタ関数を表す。i=jの場合にδ(i,j)=1Fを満たし、i≠jの場合にδ(i,j)=0 Fを満たす。
楕円曲線E上の有理点からなる有限集合は位数p(p≧1)の部分群を持つ。例えば、楕円曲線E上の有理点からなる有限集合の要素数を#Eとし、pを#Eを割り切る大きい素数とした場合、楕円曲線Eのp等分点からなる有限集合E[p]は、楕円曲線E上の有理点からなる有限集合の部分群を構成する。なお、楕円曲線Eのp等分点とは、楕円曲線E上の点Aのうち、楕円曲線E上での楕円スカラー倍算値p・Aがp・A=Oを満たす点を意味する。
本形態では、巡回群G1, G2上で定義された演算を加法的に表現し、巡回群GT上で定義された演算を乗法的に表現する。例えば、χ∈Fq及びΩ∈G1に対するχ・Ω∈G1は、Ω∈G1に対して巡回群G1で定義された演算をχ回施すことを意味し、Ω1, Ω2∈G1に対するΩ1+Ω2∈G1は、Ω1∈G1とΩ2∈G1とを被演算子として巡回群G1で定義された演算を行うことを意味する。同様に、例えば、χ∈Fq及びΩ∈G2に対するχ・Ω∈G2は、Ω∈G2に対して巡回群G2で定義された演算をχ回施すことを意味し、Ω1, Ω2∈G2に対するΩ1+Ω2∈G2は、Ω1∈G2とΩ2∈G2とを被演算子として巡回群G2で定義された演算を行うことを意味する。一方、χ∈Fq及びΩ∈GTに対するΩχ∈GTは、例えば、Ω∈GTに対して巡回群GTで定義された演算をχ回施すことを意味し、Ω1,Ω2∈GTに対するΩ1・Ω2∈GTは、Ω1∈GTとΩ2∈GTとを被演算子として巡回群GTで定義された演算を行うことを意味する。
ψ:ψは0以上Ψ以下の整数ψ=0,...,Ψを表す。
λ:λは1以上Ψ以下の整数λ=1,...,Ψを表す。
n(ψ):n(ψ)は1以上の整数を表す。
ζ(ψ):ζ(ψ)は0以上の整数を表す。
G2 n(ψ)+ζ(ψ):G2 n(ψ)+ζ(ψ)はn(ψ)+ζ(ψ)個の巡回群G2の直積を表す。
g1, g2, gT:g1, g2, gTは巡回群G 1, G2, GTの生成元を表す。
V(ψ):V(ψ)はn(ψ)+ζ(ψ)個の巡回群G1の直積からなるn(ψ)+ζ(ψ)次元のベクトル空間を表す。
V*(ψ):V*(ψ)はn(ψ)+ζ(ψ)個の巡回群G2の直積からなるn(ψ)+ζ(ψ)次元のベクトル空間を表す。
eψ:G1 n(ψ)+ζ(ψ)×G2 n(ψ)+ζ(ψ)→GT …(32)
双線形写像eψは以下の性質を満たす。
[双線形性]双線形写像eψは、すべてのΓ1∈G1 n(ψ)+ζ(ψ),Γ2∈G2 n(ψ)+ζ(ψ)及びν,κ∈Fqについて以下の関係を満たす。
eψ(ν・Γ1,κ・Γ2)=eψ(Γ1,Γ2)ν・κ …(33)
[非退化性]双線形写像eψは、すべてのΓ1∈G1 n(ψ)+ζ(ψ),Γ2∈G2 n(ψ)+ζ(ψ)を巡回群GTの単位元に写す写像ではない。
[計算可能性]あらゆる
Γ1∈G1 n(ψ)+ζ(ψ),Γ2∈G2 n(ψ)+ζ(ψ) …(34)
についてeψ(Γ1,Γ2)を効率的に計算するアルゴリズムが存在する。
Pair:G1×G2→GT …(35)
本形態の双線形写像eψは、巡回群G1のn(ψ)+ζ(ψ)個の元γβ (β=1,...,n(ψ)+ζ(ψ))からなるn(ψ)+ζ(ψ)次元ベクトル(γ1,...,γn(ψ)+ζ(ψ))と、巡回群G2のn(ψ)+ζ(ψ)個の元γβ *(β=1,...,n(ψ)+ζ(ψ))からなるn(ψ)+ζ(ψ)次元ベクトル(γ1 *,...,γn(ψ)+ζ(ψ) *)との入力に対し、巡回群GTの1個の元を出力する。
eψ:Πβ=1 n(ψ)+ζ(ψ)Pair(γβ, γβ *) …(36)
双線形写像Pairは、巡回群G1の1個の元と巡回群G2の1個の元との組を入力とし、巡回群GTの1個の元を出力する。双線形写像Pairは、以下の性質を満たす。
[双線形性]双線形写像Pairは、すべてのΩ1∈G1,Ω2∈G2及びν,κ∈Fqについて以下の関係を満たす。
Pair(ν・Ω1,κ・Ω2)=Pair(Ω1,Ω2)ν・κ …(37)
[非退化性]双線形写像Pairは、すべての
Ω1∈G1,Ω2∈G2 …(38)
を巡回群GTの単位元に写す写像ではない。
[計算可能性]あらゆるΩ1∈G1,Ω2∈G2についてPair(Ω1,Ω2)を効率的に計算するアルゴリズムが存在する。
a1(ψ)=(κ1・g1,0,0,...,0)
a2(ψ)=(0,κ1・g1,0,...,0) …(39)
...
an(ψ)+ζ(ψ)(ψ)=(0,0,0,...,κ1・g1)
ここで、κ1は加法単位元0F以外の有限体Fqの元からなる定数であり、κ1∈Fqの具体例はκ1=1Fである。基底ベクトルai(ψ)は直交基底であり、巡回群G1のn(ψ)+ζ(ψ)個の元を要素とするすべてのn(ψ)+ζ(ψ)次元ベクトルは、n(ψ)+ζ(ψ)次元の基底ベクトルai(ψ)(i=1,...,n(ψ)+ζ(ψ))の線形和によって表される。すなわち、n(ψ)+ζ(ψ)次元の基底ベクトルai(ψ)は前述のベクトル空間V(ψ)を張る。
a1 *(ψ)=(κ2・g2,0,0,...,0)
a2 *(ψ)=(0,κ2・g2,0,...,0) …(40)
...
an(ψ)+ζ(ψ) *(ψ)=(0,0,0,...,κ2・g2)
ここで、κ2は加法単位元0F以外の有限体Fqの元からなる定数であり、κ2∈Fqの具体例はκ2=1Fである。基底ベクトルai *(ψ)は直交基底であり、巡回群G2のn(ψ)+ζ(ψ)個の元を要素とするすべてのn(ψ)+ζ(ψ)次元ベクトルは、n(ψ)+ζ(ψ)次元の基底ベクトルai *(ψ)(i=1,...,n(ψ)+ζ(ψ))の線形和によって表される。すなわち、n(ψ)+ζ(ψ)次元の基底ベクトルai *(ψ)は前述のベクトル空間V*(ψ)を張る。
eψ(ai(ψ), aj *(ψ))=gT τ・δ(i,j) …(41)
すなわち、i=jの場合には、式(36)(37)の関係から以下の関係が満たされる。
eψ(ai(ψ), aj *(ψ))
= Pair(κ1・g1,κ2・g2)・Pair(0, 0)・...・Pair(0, 0)
= Pair(g1, g2)κ1・κ2・Pair(g1, g2)0・0・...・Pair(g1, g2)0・0
= Pair(g1, g2)κ1・κ2=gT τ
上付き添え字κ1,κ2はそれぞれκ1,κ2を表す。
一方、i≠jの場合には、eψ(ai(ψ), aj *(ψ))=Πi=1 n(ψ)+ζ(ψ) Pair(ai(ψ), aj *(ψ))の右辺は、Pair(κ1・g1,κ2・g2)を含まず、Pair(κ1・g1,0)と Pair(0,κ2・g2)とPair(0,0)との積になる。さらに、式(37)の関係からPair(g1, 0)=Pair(0, g2)=Pair(g1, g2)0を満たす。そのため、i≠jの場合には、以下の関係を満たす。
eψ(ai(ψ), aj *(ψ))=eψ(g1, g2)0=gT 0
e(ai(ψ), aj *(ψ))=gT δ(i,j) …(42)
を満たす。gT 0=1は巡回群GTの単位元であり、gT 1=gTは巡回群GTの生成元である。基底ベクトルai(ψ)と基底ベクトルai *(ψ)とは双対正規直交基底であり、ベクトル空間V(ψ)とベクトル空間V*(ψ)とは、双線形写像を構成可能な双対ベクトル空間〔双対ペアリングベクトル空間(DPVS:Dual Paring Vector space)〕である。
χi →(ψ)=(χi,1(ψ),...,χi,n(ψ)+ζ(ψ)(ψ)) …(49)
χj →*(ψ)=(χj,1 *(ψ),...,χj,n(ψ)+ζ(ψ) *(ψ)) …(50)
すると、式(48)の関係から、n(ψ)+ζ(ψ)次元ベクトルχi →(ψ)とχj →*(ψ)との内積は、以下のようになる。
χi →(ψ)・χj →*(ψ)=τ'・δ(i,j) …(51)
bi(ψ)=Σj=1 n(ψ)+ζ(ψ)χi,j(ψ)・aj(ψ) …(52)
例えば、基底ベクトルaj(ψ)(j=1,...,n(ψ)+ζ(ψ))が式(39)によって表現される場合、基底ベクトルbi(ψ)の各要素をそれぞれ列挙して表現すると、以下のようになる。
bi(ψ)=(χi,1(ψ)・κ1・g1,χi,2(ψ)・κ1・g1,
...,χi,n(ψ)+ζ(ψ)(ψ)・κ1・g1) …(53)
巡回群G1のn(ψ)+ζ(ψ)個の元を要素とするすべてのn(ψ)+ζ(ψ)次元ベクトルは、n(ψ)+ζ(ψ)次元の基底ベクトルbi(ψ)(i=1,...,n(ψ)+ζ(ψ))の線形和によって表される。すなわち、n(ψ)+ζ(ψ)次元の基底ベクトルbi(ψ)は前述のベクトル空間V(ψ)を張る。
bi *(ψ)=Σj=1 n(ψ)+ζ(ψ)χi,j *(ψ)・aj *(ψ) …(54)
例えば、基底ベクトルaj *(ψ) (j=1,...,n(ψ)+ζ(ψ))が式(40)によって表現される場合、基底ベクトルbi *(ψ)の各要素をそれぞれ列挙して表現すると、以下のようになる。
bi *(ψ)=(χi,1 *(ψ)・κ2・g2 ,χi,2 *(ψ)・κ2・g2,
...,χi,n(ψ)+ζ(ψ) *(ψ)・κ2・g2) …(55)
eψ(bi(ψ), bj *(ψ))=gT τ・τ'・δ(i,j) …(56)
すなわち、式(36)(51)(53)(55)の関係から、以下の関係が満たされる。
eψ(bi(ψ), bj *(ψ))=gT δ(i,j) …(57)
基底ベクトルbi(ψ)と基底ベクトルbi *(ψ)とは、双対ペアリングベクトル空間(ベクトル空間V(ψ)とベクトル空間V*(ψ))の双対正規直交基底である。
式(56)の関係を満たすのであれば、式(39)(40)で例示したもの以外の基底ベクトルai(ψ)及びai *(ψ)や、式(52)(54)で例示したもの以外の基底ベクトルbi(ψ)及びbi *(ψ)を用いてもよい。
v(λ)→=(v1(λ),...,vn(λ)(λ))∈Fq n(λ) …(60)
vμ(λ):vμ(λ)はn(λ)次元ベクトルv(λ)→のμ(μ=1,...,n(λ))番目の要素を表す。
w(λ)→:w(λ)→は有限体Fqの元を要素とするn(λ)次元ベクトルを表す。
w(λ)→=(w1(λ),...,wn(λ)(λ))∈Fq n(λ) …(61)
wμ(λ):wμ(λ)はn(λ)次元ベクトルw(λ)→のμ(μ=1,...,n(λ))番目の要素を表す。
EncK(M):EncK(M)は、共通鍵Kを用い、共通鍵暗号関数Encに従って平文Mを暗号化して得られた暗号文を表す。
Dec:Decは、共通鍵暗号方式の復号処理を示す共通鍵復号関数を表す。
DecK(C):DecK(C)は、共通鍵Kを用い、共通鍵復号関数Decに従って暗号文Cを復号して得られた復号結果を表す。
次に、関数暗号方式の基本的な構成について説明する。
関数暗号方式とは、第1情報と第2情報との組み合わせによって定まる論理式の真理値が「真」となる場合に暗号文が復号される方式である。「第1情報」と「第2情報」の一方が暗号文に埋め込まれ、他方が鍵情報に埋め込まれる。例えば、「"Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products," with Amit Sahai and Brent Waters One of 4 papers from Eurocrypt 2008 invited to the Journal of Cryptology」(参考文献9)に開示された述語暗号方式は関数暗号方式の一種である。
上述した所定の論理式と階層的な秘密分散との関係を説明する。
前述したように、(N,N)しきい値秘密分散方式では、すべてのシェア情報share(1),...,share(N)が与えられれば秘密情報SEを復元できるが、任意のN-1個のシェア情報share(φ1),...,share(φN-1)が与えられても秘密情報SEの情報はまったく得られない。(Kt,N)しきい値秘密分散方式では、任意の相違なるKt個のシェア情報share(φ1),...,share(φKt)が与えられれば秘密情報SEを復元できるが、任意のKt-1個のシェア情報share(φ1),...,share(φKt-1)が与えられても秘密情報SEの情報はまったく得られない。
図16に例示する木構造データは複数のノードN1,...,N11を含む。ノードN1はノードN2,N6,N7の親ノードとされ、ノードN2はノードN3,N4,N5の親ノードとされ、ノードN7はノードN8,N11の親ノードとされ、ノードN8はノードN9,N10の親ノードとされ、親ノードの1つであるノードN1がルートノードとされ、ノードN3,N4,N5,N6,N9,N10,N11が葉ノードとされる。ノードN1には秘密情報SEに応じた値が対応し、ノードN1の子ノードN2,N6,N7には、秘密情報SEに応じた値が(1,3)しきい値秘密分散方式で秘密分散された各シェア情報SE,SE,SEに応じた値がそれぞれ対応する。ノードN2の子ノードN3,N4,N5には、シェア情報SEに応じた値が(2,3)しきい値秘密分散方式で秘密分散された各シェア情報(1,f(1)),(2,f(2)),(3,f(3))に応じた値がそれぞれ対応する。ノードN7の子ノードN8,N11には、シェア情報SEに応じた値が(2,2)しきい値秘密分散方式で秘密分散された各シェア情報SH4,SE-SH4に応じた値がそれぞれ対応する。ノードN8の子ノードN9,N10には、シェア情報SH4に応じた値が(1,2)しきい値秘密分散方式で秘密分散された各シェア情報SH4,SH4に応じた値がそれぞれ対応する。すなわち、葉ノードN3にはシェア情報share(1)=(1,f(1))に応じた値が対応し、葉ノードN4にはシェア情報share(2)=(2,f(2))に応じた値が対応し、葉ノードN5にはシェア情報share(3)=(3,f(3))に応じた値が対応し、葉ノードN6にはシェア情報share(4)=SEに応じた値が対応し、葉ノードN9にはシェア情報share(5)=SH4に応じた値が対応し、葉ノードN10にはシェア情報share(6)=SH4に応じた値が対応し、葉ノードN11にはシェア情報share(7)=SE-SH4に応じた値が対応する。また、葉ノードであるノードN3,N4,N5,N6,N9,N10,N11には標準形論理式(PRO(1)∧PRO(2))∨(PRO(2)∧PRO(3))∨(PRO(1)∧PRO(3))∨¬PRO(4)∨(¬PRO(5)∨PRO(6))∧PRO(7)を構成する各リテラルPRO(1),PRO(2), PRO(3),¬PRO(4),¬PRO(5),PRO(6),PRO(7)がそれぞれ対応し、各リテラルPRO(1),PRO(2), PRO(3),¬PRO(4),¬PRO(5),PRO(6),PRO(7)の真理値は第1情報と第2情報との組み合わせによって定まる。ここで、真理値が真となったリテラルに対応する葉ノードに対応するシェア情報に応じた値は得られるが、真理値が偽となったリテラルに対応する葉ノードに対応するシェア情報に応じた値は得られない。この場合、第1情報と第2情報との組み合わせが標準形論理式(PRO(1)∧PRO(2))∨(PRO(2)∧PRO(3))∨(PRO(1)∧PRO(3))∨¬PRO(4)∨(¬PRO(5)∨PRO(6))∧PRO(7)の真理値を真にする場合にのみ秘密情報SEに応じた値が復元される。
上述のように秘密情報を階層的に秘密分散して得られる木構造データによって所定の論理式を表現した場合、第1情報と第2情報との組み合わせに対して得られる葉ノードでのシェア情報に応じた値から秘密情報に応じた値を復元できるか否かによって、第1情報と第2情報との組み合わせによって定まる論理式の真理値が「真」となるか「偽」となるかを判定できる。以下、第1情報と第2情報との組み合わせによって定まる論理式の真理値が「真」となる場合に第1情報と第2情報との組み合わせを受け入れ、「偽」となる場合に第1情報と第2情報との組み合わせを拒絶する仕組みをアクセス構造と呼ぶ。
GV→=(gv1,...,gvCOL)∈Fq COL …(63)
CV→=(cv1,...,cvCOL)∈Fq COL …(64)
SE=GV→・(CV→)T …(65)
以下にCOL次元ベクトルGV→の具体例を示す。
GV→=(1F,...,1F)∈Fq COL …(66)
ただし、GV→=(1F,0F,...,0F)∈Fq COLなどのその他のCOL次元ベクトルがGV→であってもよい。
(share(1),...,share(Ψ))T=MT・(CV→)T …(67)
上述のように所定の論理式を表現した木構造データが定まれば、これら2つの要件を満たす行列MTを選択することは容易である。また、秘密情報SEやシェア情報share(λ)が変数であったとしても、これら2つの要件を満たす行列MTを選択することは容易である。すなわち、行列MTを定めた後で秘密情報SEやシェア情報share(λ)の値が定められてもよい。
TFV→=(tfv(1),...,tfv(Ψ)) …(68)
要素tfv(λ)は、内積v(λ)→・w(λ)→が0のときにtfv(λ)=1となり、0以外のときにtfv(λ)=0となる。
tfv(λ)=1 (PRO(λ)が真) if v(λ)→・w(λ)→=0 …(69)
tfv(λ)=0 (PRO(λ)が偽) if v(λ)→・w(λ)→≠0 …(70)
さらに、以下の論理式の真理値が「真」になるときLIT(λ)=1と表記し「偽」になるときLIT(λ)=0と表記する。
{(LAB(λ)=v(λ)→)∧(tfv(λ)=1)}∨{(LAB(λ)=¬v(λ)→)∧(tfv(λ)=0)}
…(71)
すなわち、識別子λに対応する葉ノードに対応するリテラルの真理値が「真」になるときLIT(λ)=1と表記し「偽」になるときLIT(λ)=0と表記する。すると、行列MTが含む行ベクトルのうちLIT(λ)=1となる行ベクトルmtλ →=(mtλ,1,...,mtλ,COL)のみからなる部分行列MTTFVは以下のように表記できる。
MTTFV=(MT)LIT(λ)=1 …(72)
受け入れ if GV→∈span<MTTFV>
拒絶 if ¬(GV→∈span<MTTFV>)
SE=Σμ∈SETconst(μ)・share(μ) …(73)
{const(μ)∈Fq|μ∈SET},SET⊆{1,...,λ|LIT(λ)=1}
以下では、アクセス構造を用いた関数暗号方式によって鍵カプセル化メカニズムKEM (Key Encapsulation Mechanisms)を構成する場合の基本方式を例示する。この基本方式はSetup(1sec,(Ψ;n(1),...,n(Ψ))),GenKey(PK,MSK,LMT(MT,LAB)),Enc(PK,M,{λ,v(λ)→|λ=1,...,Ψ})(v1(λ)=1F),Dec(PK,SKS,C)を含む。また、第2情報VSET2={λ,w(λ)→|λ=1,...,Ψ}の1番目の要素w1(λ)が1Fとされる。
−入力:1sec,(Ψ;n(1),...,n(Ψ))
−出力:マスター鍵情報MSK,公開パラメータPK
(Setup-1) 1secを入力としてセキュリティパラメータsecでの位数q、楕円曲線E、巡回群G1, G2,GT、双線形写像eψ(ψ=0,...,Ψ)が生成される(param=(q, E, G1, G2,GT, eψ))。
(Setup-2) τ'∈Fqが選択され、X*(ψ)=τ'・(X(ψ)-1)Tを満たす行列X(ψ),X*(ψ)が選択される。
(Setup-3) 基底ベクトルai(ψ) (i=1,...,n(ψ)+ζ(ψ))が式(52)に従って座標変換され、n(ψ)+ζ(ψ)次元の基底ベクトルbi(ψ) (i=1,...,n(ψ)+ζ(ψ))が生成される。基底ベクトルbi(ψ) (i=1,...,n(ψ)+ζ(ψ))を要素とするn(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列の行列B(ψ)が生成される。
(Setup-4) 基底ベクトルai *(ψ) (i=1,...,n(ψ)+ζ(ψ))が式(54)に従って座標変換され、n(ψ)+ζ(ψ)次元の基底ベクトルbi *(ψ)(i=1,...,n(ψ)+ζ(ψ))が生成される。基底ベクトルbi *(ψ) (i=1,...,n(ψ)+ζ(ψ))を要素とするn(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列の行列B*(ψ)が生成される。
(Setup-5) B*(ψ)^の集合{B*(ψ)^}ψ=0,...,Ψをマスター鍵情報MSK={B*(ψ)^}ψ=0,...,Ψとする。B(ψ)^の集合{B(ψ)^}ψ=0,...,Ψと1secとparamとを公開パラメータPKとする。ただし、B*(ψ)^は行列B*(ψ)又はその部分行列であり、B(ψ)^は行列B(ψ)又はその部分行列である。集合{B*(ψ)^}ψ=0,...,Ψは、少なくとも、b1 *(0),b1 *(λ) …,bn(λ) *(λ)(λ=1,...,Ψ)を含む。集合{B(ψ)^}ψ=0,...,Ψは、少なくとも、b1(0),b1(λ),…,bn(λ)(λ)(λ=1,...,Ψ)を含む。以下に一例を示す。
・n(0)+ζ(0)≧5, ζ(λ)=3・n(λ)
・B(0)^=(b1(0) b3(0) b5(0))T
・B(λ)^=(b1(λ) … bn(λ)(λ) b3・n(λ)+1(λ) … b4・n(λ)(λ))T
(λ=1,...,Ψ)
・B*(0)^=(b1 *(0) b3 *(0) b4 *(0))T
・B*(λ)^=(b1 *(λ) … bn(λ) *(λ) b2・n(λ)+1 *(λ) … b3・n(λ) *(λ))T
(λ=1,...,Ψ)
−入力:公開パラメータPK,マスター鍵情報MSK,第1情報VSET1={λ,v(λ)→|λ=1,...,Ψ}に対応するラベル付き行列LMT(MT,LAB)
−出力:鍵情報SKS
D*(0)=-SE・b1 *(0)+Σι=2 Icoefι(0)・bι *(0) …(74)
ただし、Iは2以上n(0)+ζ(0)以下の定数である。coefι(0)∈Fqは定数又は乱数である。「乱数」とは真性乱数や擬似乱数を意味する。以下にD*(0)の一例を示す。なお、式(75)のcoef4(0)は乱数である。
D*(0)=-SE・b1 *(0)+b3 *(0)+coef4(0)・b4 *(0) …(75)
LAB(λ)=v(λ)→となるλに対して、以下のD*(λ)が生成される。
D*(λ)=(share(λ)+coef(λ)・v1(λ))・b1 *(λ)
+Σι=2 n(λ)coef(λ)・vι(λ)・bι *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ)・bι *(λ) …(76)
LAB(λ)=¬v(λ)→となるλに対して、以下のD*(λ)が生成される。
D*(λ)=share(λ)・Σι=1 n(λ)vι(λ)・bι *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ)・bι *(λ) …(77)
ただしcoef(λ),coefι(λ)∈Fqは定数又は乱数である。以下に一例を示す。
LAB(λ)=v(λ)→となるλに対して、例えば以下のD*(λ)が生成される。
D*(λ)=(share(λ)+coef(λ)・v1(λ))・b1 *(λ)
+Σι=2 n(λ)coef(λ)・vι(λ)・bι *(λ)
+Σι=2・n(λ)+1 3・n(λ)coefι(λ)・bι *(λ) …(78)
LAB(λ)=¬v(λ)→となるλに対して、例えば以下のD*(λ)が生成される。
D*(λ)=share(λ)・Σι=1 n(λ)vι(λ)・bι *(λ)
+Σι=2・n(λ)+1 3・n(λ)coefι(λ)・bι *(λ) …(79)
なお、式(78)(79)のcoef(λ)及びcoefι(λ)は乱数である。
SKS=(LMT(MT,LAB),D*(0),D*(1),...,D(Ψ)) …(80)
−入力:公開パラメータPK,平文M,第2情報VSET2={λ,w(λ)→|λ=1,...,Ψ}(w1(λ)=1F)
−出力:暗号文C
C(0)=υ・b1(0)+Σι=2 Iυι(0)・bι(0) …(81)
C(λ)=υ・Σι=1 n(λ)wι(λ)・bι(λ)+Σι=n(λ)+1 n(λ)+ζ(λ)υι(λ)・bι(λ)
…(82)
ただし、υ,υι(ψ)∈Fq(ψ=0,...,Ψ)は定数又は乱数であり、以下の関係が満たされる。
(coef2(0),...,coefI(0))・(υ2(0),...,υI(0))=υ' …(83)
coefι(λ)・υι(λ)=0F (ι=n(λ)+1,...,n(λ)+ζ(λ)) …(84)
υ'の例はυ2(0),...,υI(0)の何れか1個である。例えば、υ,υ3(0),υ5(0),υ3・n(λ)+1(λ),...,υ4・n(λ)(λ)が乱数であり、ζ(λ)=3・n(λ)、I=5であり、以下の関係が満たされる。
(υ2(0),...,υI(0))=(0F,υ3(0),0F,υ5(0))
υ'=υ3(0)
(υn(λ)+1(λ),...,υ3・n(λ)(λ))=(0F,...,0F)
K=gT τ・τ'・υ'∈GT …(85)
が生成される。例えば、τ=τ'=1Fの場合、以下の関係が満たされる。
K=gT υ'∈GT …(86)
C(Ψ+1)=EncK(M) …(87)
共通鍵暗号方式Encは、例えば共通鍵Kを用いて暗号化可能に構成されたカメリア(Camellia)(登録商標)やAESや共通鍵と平文との排他的論理和などでよいが、その他の簡単な例として以下のようにEncK(M)を生成してもよい。ただし、式(88)の例ではM∈GTとされる。
C(Ψ+1)=gT υ'・M …(88)
C=(VSET2,C(0),{C(λ)}(λ,w(λ)→)∈VSET2,C(Ψ+1)) …(89)
ただし、下付き添え字の「w(λ)→」は「w(λ)→」を表す。
−入力:公開パラメータPK,鍵情報SKS,暗号文C
−出力:平文M'
(Dec-2) 暗号文Cが受け入れられると、SET⊆{1,...,λ|LIT(λ)=1}と式(73)を満たす係数const(μ)(μ∈SET)とが計算される。
M'=DecK(C(Ψ+1))=DecK(C(Ψ+1)) …(96)
例えば、式(88)に例示した共通鍵暗号方式の場合、以下のように平文M'が生成される。
M'=C(Ψ+1)/K …(97)
図17は、第2実施形態の秘密分散システムの全体構成を説明するためのブロック図である。
図17に例示するように、本形態の秘密分散システム6は、分散装置610と、Σα=1 Lh(α)個の分散管理装置〔PA(α,h(α))(α=1,...,L, L≧2, h(α)=1,...,H(α), H(α)≧2)〕620−α−h(α)と、取得装置630と、共有値生成装置640−1〜L,650とを有し、それらはネットワーク150を通じて通信可能である。説明を簡略化するため、本形態では、分散装置610及び取得装置630が1つずつ存在する構成を例示するが、分散装置610及び/又は取得装置630が2以上存在してもよい。同様な理由により、本形態では、Σα=1 Lh(α)個の分散管理装置〔PA(α,h(α))〕620−α−h(α)からなる集合が1つのみ存在する構成を例示するが、このような集合が複数存在していてもよい。
図18に例示するように、本形態の分散装置610は、一時記憶部111と、記憶部112と、制御部113と、秘密分散部614−α(α=1,...,L)と、送信部115とを有する。なお、本形態の分散装置610は、例えば、CPU、RAM、ROM等を備える公知のコンピュータに所定のプログラムが読み込まれて実行されることで構成される。
図19Aに例示するように、本形態の共有値生成装置640−αは、係数設定部641−αと送信部642−αとを有する。図19Bに例示するように、本形態の共有値生成装置650は記憶部651と共通情報生成部652,653と送信部654とを有する。
図20に例示するように、本形態の分散管理装置〔PA(α,h(α))〕620−α−h(α)は、一時記憶部121−α−h(α)と、記憶部122−α−h(α)と、制御部123−α−h(α)と、分散秘密値生成部621−α−h(α),622−α−h(α),623−α−h(α)と、選択部624−α−h(α)と、送信部125−α−h(α)と、受信部126−α−h(α)とを有する。なお、本形態の分散管理装置〔PA(α,h(α))〕620−α−h(α)は、例えば、CPU、RAM、ROM等を備える公知のコンピュータに所定のプログラムが読み込まれて実行されることで構成される。
図21に例示するように、本形態の取得装置630は、一時記憶部131と、記憶部132と、制御部133と、復元部634−α,636−α(α=1,...,L)と、合成部635,637と、受信部136とを有する。なお、本形態の取得装置630は、例えば、CPU、RAM、ROM等を備える公知のコンピュータに所定のプログラムが読み込まれて実行されることで構成される。
次に、本形態の秘密分散処理を説明する。
本形態では、第1実施形態を応用し、アクセス構造を用いた関数暗号方式のマスター鍵情報である基底ベクトルbi *(ψ)(式(55))を秘密分散し、それらのシェア情報に対する演算結果から鍵情報D*(ψ)を復元する。以下では式(74)(76)(77)のように一般化された鍵情報D*(ψ)を復元する例を示す。しかし、同様な処理が式(75)(78)(79)のように具体化された鍵情報D*(ψ)の場合にも適用可能なことはいうまでもない。
χi,β *(ψ)・κ2・g2∈G2(i=1,...,n(ψ)+ζ(ψ),β=1,...,n(ψ)+ζ(ψ))
…(98)
θ(ψ,i,β)・g2∈G2 …(99)
ただし、以下が満たされる。
θ(ψ,i,β)=χi,β *(ψ)・κ2∈Fq …(100)
すなわち、式(55)の基底ベクトルbi *(ψ)を以下のように表現する。
bi *=(ψ,θ(i,1)・g2,...,θ(ψ,i,n(ψ)+ζ(ψ))・g2)∈G2 n(ψ)+ζ(ψ)
…(101)
この式より、第1実施形態を多次元に拡張することで基底ベクトルbi *(ψ)を秘密分散できることが分かる。秘密情報はシェア情報の線形な演算によって復元されるため、多次元の秘密分散によって得られた各次元のシェア情報に対して線形な演算を施した結果をシェア情報とみなして復元処理を行うことも可能である。そのため、第1実施形態を多次元に拡張することで鍵情報D*(ψ)の復元処理が実行できることも分かる。
[事前処理]
本形態の秘密分散処理の事前処理として、各基底ベクトルbi *(ψ)の要素である秘密情報θ(ψ,i,β)・g2∈G2(i=1,...,n(ψ)+ζ(ψ),β=1,...,n(ψ)+ζ(ψ))を特定するための情報θ(ψ,i,β)∈Fqが分散装置610の記憶部112に格納される。共有値生成装置650の記憶部651に式(63)-(67)を満たす秘密情報SEとシェア情報share(λ)(λ=1,...,Ψ)とが格納される。式(60)のn(λ)次元ベクトルv(λ)→の集合{v(λ)→}λ=1,...,Ψである第1情報に対応するラベル付き行列LMT(MT,LAB)が、各分散管理装置620−α−h(α)の記憶部122−α−h(α)に、それぞれ格納される。なお、ラベル付き行列LMT(MT,LAB)は、すべての分散管理装置PA(α,h(α))620−α−h(α)に共通である。
図22及び図23は、第2実施形態の秘密分散処理の全体を説明するための図である。以下、図22及び図23用いて、本形態の秘密分散処理の全体を説明する。
本形態では、まず、分散装置610(図17)が、基底ベクトルbi *(ψ)の各要素θ(ψ,i,β)・g2に応じた値を、それぞれH(α)個の分散管理装置PA(α,1),...,PA(α,H(α))からなる部分集合SUB(α)ごとに独立に、所定の秘密分散方式に従って秘密分散し、各要素θ(ψ,i,β)・g2に応じた値のシェア情報SH(ψ,i,β,α,h(α))(h(α)=1,...,H(α))を生成する。本形態での基底ベクトルbi *(ψ)の各要素θ(ψ,i,β)・g2に応じた値はθ(ψ,i,β)であり、秘密分散する対象が複数であること以外、秘密分散の具体的な方法は第1実施形態の変形例1,2,4の何れかと同じである。本形態のすべてのθ(ψ,i,β)は第1実施形態の変形例1,2,4の何れかと同じ方法で秘密分散される。つまり、本形態では、第1実施形態の変形例1,2,4の何れかの秘密分散方法のθをθ(ψ,i,β)に置換した秘密分散方法が実行される。例えば、以下のようなシェア情報SH(ψ,i,β,α,h(α))(h(α)=1,...,H(α))が生成される。
SH(ψ,i,β,α,h(α))=(φ(h(α)), f(α,φ(h(α))))∈Fq
ただし、f(α,ω)=θ(ψ,i,β)を満たし、ω∈Fqは予め定められた有限体Fqの元である。
各シェア情報SH(ψ,i,β,α,h(α))は、それぞれ、ネットワーク150経由で各分散管理装置〔PA(α,h(α))〕620−α−h(α)(α=1,...,L)に分散して送信される(ステップS61及びS61’)。
SHbi *(0,α,h(α))=(SH(0,i,1,α,h(α)),...,SH(0,i,I,α,h(α)))
…(102)
DSH(0,α,h(α))
=-SE(α)・SHb1 *(0,α,h(α))・g2+Σι=2 Icoefι(0,α)・SHbι *(0,α,h(α))・g2 …(103)
SHbi *(λ,α,h(α))=(SH(λ,i,1,α,h(α)),...,SH(λ,i,n(λ)+ζ(λ),α,h(α))
…(104)
DSH(λ,α,h(α))
=(share(λ,α)+coef(λ,α)・v1(λ))・SHb1 *(λ,α,h(α))・g2
+Σι=2 n(λ) coef(λ,α)・vι(λ)・SHbι *(λ,α,h(α))・g2
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・SHbι *(λ,α,h(α))・g2 …(105)
DSH(λ,α,h(α))
=share(λ,α)・Σι=1 n(λ)vι(λ)・SHb1 *(λ,α,h(α))・g2
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・SHbι *(λ,α,h(α))・g2 …(106)
各分散管理装置〔PA(α,h(α))〕620−α−h(α)から出力された各分散秘密値DSH(ψ,α,h(α))は、それぞれ、ネットワーク150経由で取得装置630に送信される(ステップS62及びS62’)。
本形態の取得装置630は、例えば、以下のSUBSK(0,α)をψ=0に対応する秘密復元値とする。
SUBSK(0,α)=-SE(α)・b1 *(0)+Σι=2 Icoefι(0,α)・bι *(0) …(107)
本形態の取得装置630は、例えば、以下の式(108)又は(109)を各λ=1,...,Ψに対応する秘密復元値SUBSK(λ,α)とする。
SUBSK(λ,α)=(share(λ,α)+coef(λ,α)・v1(λ))・b1 *(λ)
+Σι=2 n(λ) coef(λ,α)・vι(λ)・bι *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・bι *(λ) …(108)
SUBSK(λ,α)=share(λ,α)・Σι=1 n(λ)vι(λ)・b1 *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・bι *(λ) …(109)
これらの処理は、分散秘密値DSH(ψ,α,h(α))の各次元(次数)に対して第1実施形態で示した復元処置を実行することで実現できる。すなわち、各分散秘密値DSH(ψ,α,h(α))はベクトルであるが、それらの各次元(次数)に対して第1実施形態で示した復元処理(ステップS134)をそれぞれ実行することで上述の復元処理が実現できる。例えば、この復元処理に利用されるベクトルである分散秘密値DSH(ψ,α,h(α))のι次元目の要素を以下のように表現する。
(φ1(α), dsh1(α))
・・・
(φR(α)(α), dshR(α)(α))
この場合に式(11)の演算が行われて各係数λρ(x)(ρ=1,...,R(α))が得られ、以下の計算が行われることでψに対応する秘密復元値SUBSK(ψ,α)のι次元目が得られる。
λ1(ω)・dsh1(α)+...+λR(α)(ω)・dshR(α)(α)
よって、各ψ及びιに対してそれぞれ同様な処理を行うことで秘密復元値SUBSK(ψ,α)が得られる(ステップS63及びS63’)。
例えば、取得装置630は、秘密復元値SUBSK(ψ,α)を線形結合して生成情報D*(ψ)を生成する。例えば、以下の式(110-1)(110-2)を満たすように秘密分散されていたのであれば、取得装置630は、以下の式(111)に従ってD*(ψ)(ψ=0,...,Ψ)を生成する(ステップS64及びS64’)。
FNC2(SUBSK(0,1),...,(SUBSK(0,α),..., (SUBSK(0,L)))
=SUBSK(0,1)+...+SUBSK(0,α)+...+SUBSK(0,L) …(110-1)
FNC2’(SUBSK(λ,1),...,(SUBSK(λ,α),..., (SUBSK(λ,L)))
=SUBSK(λ,1)+...+SUBSK(λ,α)+...+SUBSK(λ,L) …(110-2)
D*(ψ)=SUBSK(ψ,1)+...+SUBSK(ψ,α)+...+SUBSK(ψ,L) …(111)
図24は、第2実施形態の分散装置の処理を例示するための図である。以下、この図を用いて、分散装置610の処理の詳細を説明する。
まず、分散装置610(図18)の制御部113がψ=0に設定し、その設定内容を一時記憶部111に格納する(ステップS6101)。制御部113がα=1,β=1に設定し、その設定内容を一時記憶部111に格納する(ステップS6102)。次に、分散装置610の制御部113が、i=1に設定し、その設定内容を一時記憶部111に格納する(ステップS6103)。
次に、記憶部112から秘密情報θ(ψ,i,β)・g2∈G2(i=1,...,n(ψ)+ζ(ψ),β=1,...,n(ψ,)+ζ(ψ,))を特定するための情報θ(ψ,i,β)∈Fqがそれぞれ読み出され、秘密分散部614−α(α=1,...,L)に入力される。秘密分散部614−αは、各情報θ(ψ,i,β)∈Fqを秘密分散し、以下のように、情報θ(ψ,i,β)ごとに部分集合SUB(α)に対するH(α)個のシェア情報を生成して出力する(ステップS6104)。
SH(ψ,i,β,α,1),...,SH(ψ,i,β,α,H(α)) …(112)
例えば、情報θ(ψ,i,β)ごとに第1実施形態のステップS112の処理を実行することでステップS6104の処理が実行される。
SH(ψ,i,β,α,h(α)) (i=1,...,n(ψ)+ζ(ψ),β=1,...,n(ψ)+ζ(ψ))
…(113)
すなわち、各シェア情報SH(ψ,i,β,1,h(1))は分散管理装置〔PA(1,1)〕620−1−1に、各シェア情報SH(ψ,i,β,2,h(2))は分散管理装置〔PA(1,2)〕620−1−2に、・・・、シェア情報SH(ψ,i,β,L,H(L))は分散管理装置〔PA(L,H(L))〕620−L−H(L)に、それぞれ送信される。
各共有値生成装置640−α(α=1,...,L)(図19A)は、自らに対応する部分集合SUB(α)を構成する各分散管理装置〔PA(α,h(α))〕620−α−h(α)(h(α)=1,...,H(α))で共有する共通情報coefι(0,α), coef(λ,α), coefι(λ,α)を生成する。本形態では、共通情報生成部641−αから出力された乱数又は定数を共通情報coefι(0,α), coef(λ,α), coefι(λ,α)とし、送信部642−αが共通情報coefι(0,α), coef(λ,α), coefι(λ,α)を、部分集合SUB(α)を構成する各分散管理装置〔PA(α,h(α))〕620−α−h(α)(h(α)=1,...,H(α))に送信する。
FNC2-1(SE)→SE(1),...,SE(α),...,SE(L) …(114)
例えば、共通情報生成部652は、以下を満たすSE(1),...,SE(α),...,SE(L)を生成する。
SE=SE(1)+...+SE(α)+...+SE(L) …(115)
本形態では、共通情報生成部653が記憶部651に格納されたシェア情報share(λ)を用い、以下のようにshare(λ,1),...,share(λ,α),...,share(λ,L)を生成する。
FNC2’-1(share(λ))→share(λ,1),...,share(λ,α),...,share(λ,L) …(116)
例えば、共通情報生成部653は、以下の関係を満たすshare(λ,1),...,share(λ,α),...,share(λ,L)を生成する。
share(λ)=share(λ,1)+...+share(λ,α)+...+share(λ,L) …(117)
SE(α)及びshare(λ,α)(α=1,...,L,λ=1,...,Ψ)は送信部654に送られ、送信部654はSE(α)及びshare(λ,α)を、部分集合SUB(α)を構成する各分散管理装置〔PA(α,h(α))〕620−α−h(α)に送信する。
図25は、第2実施形態の分散管理装置〔PA(α,h(α))〕620−α−h(α)(α=1,...,L)の処理を例示するための図である。以下、この図を用いて、本形態の分散管理装置〔PA(α,h(α))〕620−α−h(α)の処理を説明する。
まず、分散管理装置〔PA(α,h(α))〕620−α−h(α)(図20)の受信部126−α−h(α)が、送信されたシェア情報SH(ψ,i,β,α,h(α))を受信し、それらを記憶部122−α−h(α)に格納する(ステップS6201)。なお、過去にステップステップS6201の処理が実行され、既にシェア情報SH(ψ,i,β,α,h(α))が分散管理装置〔PA(α,h(α))〕620−α−h(α)の記憶部122−α−h(α)に格納されているのであれば、ステップS6201の処理を省略してもよい。
図26は、第2実施形態の取得装置の処理を例示するための図である。
各分散管理装置PA(α,h(α))620−α−h(α)(α=1,...,L)から送信された分散秘密値DSH(0,α,h(α)),DSH(λ,α,h(α))(λ=1,...,Ψ)は、取得装置630(図21)の受信部136で受信され、記憶部132に格納される(ステップS6301)。
次に、制御部133は、一時記憶部131に格納されたλがΨであるか否かを判定する(ステップS6307)。ここで、λ=Ψでないと判定された場合、制御部133は、λ+1を新たなλとし、その設定内容を一時記憶部131に格納する(ステップS6308)。ステップS6308の後、ステップS6306に戻る。
一方、λ=Ψであると判定された場合、制御部133は、一時記憶部131に格納されたαがLであるか否かを判定する(ステップS6309)。ここで、α=Lでないと判定された場合、制御部133は、α+1を新たなαとし、その設定内容を一時記憶部131に格納する(ステップS6310)。ステップS6310の後、ステップS6304に戻る。
D*(0)=FNC2(SUBSK(0,1),...,SUBSK(0,α),...,SUBSK(0,L)) …(118)
例えば、ψ=0とした式(111)に従って鍵情報D*(0)が生成されて出力される(ステップS6311)。
D*(λ)=FNC2(SUBSK(λ,1),...,SUBSK(λ,α),...,SUBSK(λ,L)) …(119)
例えば、ψ=λ(λ=1,...,Ψ)とした式(111)に従って、鍵情報D*(λ)(λ=1,...,Ψ)が生成されて出力される(ステップS6312)。
第2実施形態の変形例1は、第2実施形態に第1実施形態の変形例1を適用したものである。すなわち、第2実施形態の変形例1での基底ベクトルbi *(ψ)の各要素θ(ψ,i,β)・g2に応じた値はθ(ψ,i,β)・g2であり、各分散管理装置〔PA(α,h(α))〕620−α−h(α)は、例えば、以下のDSH(0,α,h(α))をψ=0に対応する分散秘密値として生成する(FNC1)。
DSH(0,α,h(α))
=-SE(α)・SHb1 *(0,α,h(α))・g2+Σι=2 Icoefι(0,α)・SHbι *(0,α,h(α))
…(120)
さらに、本形態の各分散管理装置〔PA(α,h(α))〕620−α−h(α)は、例えば、以下の式(121)又は(122)に従って、以下のDSH(λ,α,h(α))(λ=1,...,Ψ)を各λに対応する分散秘密値として生成する(FNC1’)。
DSH(λ,α,h(α))
=(share(λ,α)+coef(λ,α)・v1(λ))・SHb1 *(λ,α,h(α))
+Σι=2 n(λ) coef(λ,α)・vι(λ)・SHbι *(λ,α,h(α))
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・SHbι *(λ,α,h(α)) …(121)
DSH(λ,α,h(α))
=share(λ,α)・Σι=1 n(λ)vι(λ)・SHb1 *(λ,α,h(α))
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・SHbι *(λ,α,h(α)) …(122)
その他は第2実施形態と同様である。
第2実施形態の変形例1では、ステップS6104の代わりに、記憶部112から情報θ(ψ,i,β)・g2∈G2(i=1,...,n(ψ)+ζ(ψ),β=1,...,n(ψ)+ζ(ψ))がそれぞれ読み出され、秘密分散部714−α(α=1,...,L)(図27)に入力される。秘密分散部714−αは、各情報θ(ψ,i,β)・g2∈G2を秘密分散し、情報θ(ψ,i,β)・g2∈G2ごとに、部分集合SUB(α)に対する以下のH(α)個のシェア情報を生成して出力する。
SH(ψ,i,β,α,1),...,SH(ψ,i,β,α,H(α)) …(123)
各情報θ(ψ,i,β)・g2∈G2の秘密分散方法は第1実施形態と同様である。すなわち、本形態では、第1実施形態の秘密分散方法のθ・gをθ(ψ,i,β)・g2に置換した秘密分散方法が実行される。例えば、以下のようなシェア情報SH(ψ,i,β,α,h(α))(h(α)=1,...,H(α))が生成される。
SH(ψ,i,β,α,h(α))=(φ(h(α)), f(α,φ(h(α))))・g2∈G2
ただし、f(α,ω)=θ(ψ,i,β)を満たし、ω∈Fqは予め定められた有限体Fqの元である(ステップS7104)。
その他、第2実施形態やその変形例1において、秘密分散方法や復元方法を例えば第1実施形態やその変形例3のように変形してもよい。
本発明は上述の各実施の形態に限定されるものではない。例えば、上述の有限体Fq上で定義された各演算を位数qの有限環Zq上で定義された演算に置換してもよい。有限体Fq上で定義された各演算を有限環Zq上で定義された演算に置換する方法の一例は、素数やそのべき乗値以外のqを許容する方法である。また、第2実施形態では生成情報として関数暗号の鍵情報を生成する処理を例示したが、それ以外の生成情報が生成されてもよい。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
110,210,410,510,610,710 分散装置
120〜720 分散管理装置
130,330,430,530,630 取得装置
140,640,650 共有値生成装置
Claims (33)
- 秘密分散システムであって、
分散装置とΣα=1 Lh(α)個の分散管理装置PA(α,h(α))(α=1,...,L, L≧2, h(α)=1,...,H(α), H(α)≧2)と取得装置とを有し、
前記分散装置は、
Ψを1以上の整数とし、ψを0以上Ψ以下の整数ψ=0,...,Ψとし、n(ψ)を1以上の整数とし、ζ(ψ)を0以上の整数とし、巡回群G2の生成元をg2とし、θ(ψ,i,β)(i=1,...,n(ψ)+ζ(ψ), β=1,...,n(ψ)+ζ(ψ), n(ψ)≧1)に対する前記巡回群G2のn(ψ)+ζ(ψ)個の元を要素とするn(ψ)+ζ(ψ)次元の基底ベクトルをbi *(ψ)=(θ(ψ,i,1)・g2,...,θ(ψ,i,n(ψ)+ζ(ψ))・g2)∈G2 n(ψ)+ζ(ψ)とした場合における、前記基底ベクトルbi *(ψ)の各要素θ(ψ,i,β)・g2に応じた値を、それぞれH(α)個の分散管理装置PA(α,1),...,PA(α,H(α))からなる部分集合SUB(α)ごとに独立に、所定の秘密分散方式に従って秘密分散し、各要素θ(ψ,i,β)・g2に応じた値のシェア情報SH(ψ,i,β,α,h(α))(h(α)=1,...,H(α))を生成する秘密分散部を含み、
前記分散管理装置PA(α,h(α))は、
前記部分集合SUB(α)ごとに共有される共通情報と、前記シェア情報SH(ψ,i,β,α,h(α))(h(α)=1,...,H(α))とに対し、前記部分集合SUB(α)ごとに共通の共通演算を行って分散秘密値DSH(ψ,α,h(α))を生成する分散秘密値生成部を含み、
前記取得装置は、
同一の前記部分集合SUB(α)に対応する複数の前記分散秘密値DSH(ψ,α,h(α))を用い、前記秘密分散方式に従った部分集合SUB(α)ごとの復元処理によって、当該部分集合SUB(α)ごとの秘密復元値SUBSK(ψ,α)を生成する復元部と、
前記秘密復元値SUBSK(ψ,α)を用いて生成情報D*(ψ)を生成する合成部とを含む、
秘密分散システム。 - 請求項1の秘密分散システムであって、
互いに異なる前記部分集合SUB(α)でそれぞれ共有される前記共通情報は、互いに独立である、秘密分散システム。 - 請求項1の秘密分散システムであって、
前記共通演算は、線形性を持った演算である、秘密分散システム。 - 請求項2の秘密分散システムであって、
前記共通演算は、線形性を持った演算である、秘密分散システム。 - 請求項1の秘密分散システムであって、
前記合成部は、前記秘密復元値SUBSK(ψ,α)を線形結合して前記生成情報D*(ψ)を生成する、秘密分散システム。 - 請求項2の秘密分散システムであって、
前記合成部は、前記秘密復元値SUBSK(ψ,α)を線形結合して前記生成情報D*(ψ)を生成する、秘密分散システム。 - 請求項3の秘密分散システムであって、
前記合成部は、前記秘密復元値SUBSK(ψ,α)を線形結合して前記生成情報D*(ψ)を生成する、秘密分散システム。 - 請求項4の秘密分散システムであって、
前記合成部は、前記秘密復元値SUBSK(ψ,α)を線形結合して前記生成情報D*(ψ)を生成する、秘密分散システム。 - 請求項1から8の何れかの秘密分散システムであって、
前記基底ベクトルbi *(ψ)の各要素θ(ψ,i,β)・g2に応じた値はθ(ψ,i,β)であり、
前記共通情報は、λを1以上Ψ以下の整数λ=1,...,Ψとした場合における、coefι(0,α), coef(λ,α), coefι(λ,α), SE(α), share(λ,α)を含み、
前記分散秘密値生成部は、
SHbi *(0,α,h(α))=(SH(0,i,1,α,h(α)),...,SH(0,i,I,α,h(α))
とし、Iを2以上n(0)+ζ(0)以下の定数とした場合における、
DSH(0,α,h(α))
=-SE(α)・SHb1 *(0,α,h(α))・g2+Σι=2 Icoefι(0,α)・SHbι *(0,α,h(α))・g2
をψ=0に対応する前記分散秘密値として生成し、さらに、
SHbi *(λ,α,h(α))=(SH(λ,i,1,α,h(α)),...,SH(λ,i,n(λ)+ζ(λ),α,h(α))
とし、v(λ)→=(v1(λ),...,vn(λ)(λ))をn(λ)次元ベクトルとした場合における、
DSH(λ,α,h(α))
=(share(λ,α)+coef(λ,α)・v1(λ))・SHb1 *(λ,α,h(α))・g2
+Σι=2 n(λ)coef(λ,α)・vι(λ)・SHbι *(λ,α,h(α))・g2
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・SHbι *(λ,α,h(α))・g2
又は、
DSH(λ,α,h(α))
=share(λ,α)・Σι=1 n(λ)vι(λ)・SHb1 *(λ,α,h(α))・g2
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・SHbι *(λ,α,h(α))・g2
を各λに対応する前記分散秘密値として生成する、
秘密分散システム。 - 請求項1から8の何れかの秘密分散システムであって、
前記基底ベクトルbi *(ψ)の各要素θ(ψ,i,β)・g2に応じた値はθ(ψ,i,β)・g2であり、
前記共通情報は、λを1以上Ψ以下の整数λ=1,...,Ψとした場合における、coefι(0,α), coef(λ,α), coefι(λ,α), SE(α), share(λ,α)を含み、
前記分散秘密値生成部は、
SHbi *(0,α,h(α))=(SH(0,i,1,α,h(α)),...,SH(0,i,I,α,h(α))
とし、Iを2以上n(0)+ζ(0)以下の定数とした場合における、
DSH(0,α,h(α))
=-SE(α)・SHb1 *(0,α,h(α))+Σι=2 Icoefι(0,α)・SHbι *(0,α,h(α))
をψ=0に対応する前記分散秘密値として生成し、さらに、
SHbi *(λ,α,h(α))=(SH(λ,i,1,α,h(α)),...,SH(λ,i,n(λ)+ζ(λ),α,h(α))
とし、v(λ)→=(v1(λ),...,vn(λ)(λ))をn(λ)次元ベクトルとした場合における、
DSH(λ,α,h(α))
=(share(λ,α)+coef(λ,α)・v1(λ))・SHb1 *(λ,α,h(α))
+Σι=2 n(λ)coef(λ,α)・vι(λ)・SHbι *(λ,α,h(α))
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・SHbι *(λ,α,h(α))
又は、
DSH(λ,α,h(α))
=share(λ,α)・Σι=1 n(λ)vι(λ)・SHb1 *(λ,α,h(α))
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・SHbι *(λ,α,h(α))
を各λに対応する前記分散秘密値として生成する、秘密分散システム。
- 請求項9の秘密分散システムであって、
前記復元部は、
SUBSK(0,α)=-SE(α)・b1 *(0)+Σι=2 Icoefι(0,α)・bι *(0)
をψ=0に対応する前記秘密復元値として生成し、
SUBSK(λ,α)=(share(λ,α)+coef(λ,α)・v1(λ))・b1 *(λ)
+Σι=2 n(λ)coef(λ,α)・vι(λ)・bι *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・bι *(λ)
又は、
SUBSK(λ,α)=share(λ,α)・Σι=1 n(λ)vι(λ)・b1 *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・bι *(λ)
を各λに対応する前記秘密復元値として生成する、秘密分散システム。 - 請求項10の秘密分散システムであって、
前記復元部は、
SUBSK(0,α)=-SE(α)・b1 *(0)+Σι=2 Icoefι(0,α)・bι *(0)
をψ=0に対応する前記秘密復元値として生成し、
SUBSK(λ,α)=(share(λ,α)+coef(λ,α)・v1(λ))・b1 *(λ)
+Σι=2 n(λ)coef(λ,α)・vι(λ)・bι *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・bι *(λ)
又は、
SUBSK(λ,α)=share(λ,α)・Σι=1 n(λ)vι(λ)・b1 *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・bι *(λ)
を各λに対応する前記秘密復元値として生成する、秘密分散システム。 - Ψを1以上の整数とし、ψを0以上Ψ以下の整数ψ=0,...,Ψとし、n(ψ)を1以上の整数とし、ζ(ψ)を0以上の整数とし、巡回群G2の生成元をg2とし、θ(ψ,i,β)(i=1,...,n(ψ)+ζ(ψ), β=1,...,n(ψ)+ζ(ψ), n(ψ)≧1)に対する前記巡回群G2のn(ψ)+ζ(ψ)個の元を要素とするn(ψ)+ζ(ψ)次元の基底ベクトルをbi *(ψ)=(θ(ψ,i,1)・g2,...,θ(ψ,i,n(ψ)+ζ(ψ))・g2)∈G2 n(ψ)+ζ(ψ)とした場合における、前記基底ベクトルbi *(ψ)の各要素θ(ψ,i,β)・g2に応じた値を、それぞれH(α)(α=1,...,L, L≧2, h(α)=1,...,H(α), H(α)≧2)個の分散管理装置PA(α,1),...,PA(α,H(α))からなる部分集合SUB(α)ごとに独立に、所定の秘密分散方式に従って秘密分散し、各要素θ(ψ,i,β)・g2に応じた値のシェア情報SH(ψ,i,β,α,h(α))(h(α)=1,...,H(α))を生成する分散装置。
- H(α)(α=1,...,L, L≧2, h(α)=1,...,H(α), H(α)≧2)個の分散管理装置PA(α,1),...,PA(α,H(α))からなる部分集合SUB(α)ごとに共有される共通情報と、Ψを1以上の整数とし、ψを0以上Ψ以下の整数ψ=0,...,Ψとし、n(ψ)を1以上の整数とし、ζ(ψ)を0以上の整数とし、巡回群G2の生成元をg2とし、θ(ψ,i,β)(i=1,...,n(ψ)+ζ(ψ), β=1,...,n(ψ)+ζ(ψ), n(ψ)≧1)に対する前記巡回群G2のn(ψ)+ζ(ψ)個の元を要素とするn(ψ)+ζ(ψ)次元の基底ベクトルをbi *(ψ)=(θ(ψ,i,1)・g2,...,θ(ψ,i,n(ψ)+ζ(ψ))・g2)∈G2 n(ψ)+ζ(ψ)とした場合における、前記基底ベクトルbi *(ψ)の各要素θ(ψ,i,β)・g2に応じた値をそれぞれ前記部分集合SUB(α)ごとに独立に秘密分散して得られた各要素θ(ψ,i,β)・g2に応じた値のシェア情報SH(ψ,i,β,α,h(α))(h(α)=1,...,H(α))とに対し、前記部分集合SUB(α)ごとに共通の共通演算を行って分散秘密値DSH(ψ,α,h(α))を生成する分散管理装置。
- Ψを1以上の整数とし、ψを0以上Ψ以下の整数ψ=0,...,Ψとし、H(α)(α=1,...,L, L≧2, h(α)=1,...,H(α), H(α)≧2)個の分散管理装置PA(α,1),...,PA(α,H(α))からなる部分集合をSUB(α)とした場合における、同一の前記部分集合SUB(α)に対応する複数の分散秘密値DSH(ψ,α,h(α))を用い、所定の秘密分散方式に従った部分集合SUB(α)ごとの復元処理によって、当該部分集合SUB(α)ごとの秘密復元値SUBSK(ψ,α)を生成する復元部と、
前記秘密復元値SUBSK(ψ,α)を用いて生成情報D*(ψ)を生成する合成部と、
を有し、
n(ψ)が1以上の整数であり、ζ(ψ)が0以上の整数であり、巡回群G 2 の生成元がg 2 であり、θ(ψ,i,β)(i=1,...,n(ψ)+ζ(ψ), β=1,...,n(ψ)+ζ(ψ), n(ψ)≧1)に対する前記巡回群G 2 のn(ψ)+ζ(ψ)個の元を要素とするn(ψ)+ζ(ψ)次元の基底ベクトルがb i * (ψ)=(θ(ψ,i,1)・g 2 ,...,θ(ψ,i,n(ψ)+ζ(ψ))・g 2 )∈G 2 n(ψ)+ζ(ψ) であり、λが1以上Ψ以下の整数λ=1,...,Ψであり、前記部分集合SUB(α)ごとに共有される共通情報がcoefι(0,α), coef(λ,α), coefι(λ,α), SE(α), share(λ,α)であり、v(λ) → =(v 1 (λ) ,..., v n(λ) (λ))がn(λ)次元ベクトルであり、Iが2以上n(0)+ζ(0)以下の定数であり、
前記復元部は、
SUBSK(0,α)=-SE(α)・b 1 * (0)+Σ ι=2 I coef ι (0,α)・b ι * (0)
をψ=0に対応する前記秘密復元値として生成し、
SUBSK(λ,α)=(share(λ,α)+coef(λ,α)・v 1 (λ))・b 1 * (λ)
+Σ ι=2 n(λ) coef(λ,α)・v ι (λ)・b ι * (λ)
+Σ ι=n(λ)+1 n(λ)+ζ(λ) coef ι (λ,α)・b ι * (λ)
又は、
SUBSK(λ,α)=share(λ,α)・Σ ι=1 n(λ) v ι (λ)・b 1 * (λ)
+Σ ι=n(λ)+1 n(λ)+ζ(λ) coef ι (λ,α)・b ι * (λ)
を各λに対応する前記秘密復元値として生成する取得装置。 - 分散装置とΣα=1 Lh(α)個の分散管理装置PA(α,h(α))(α=1,...,L, L≧2, h(α)=1,...,H(α), H(α)≧2)と取得装置とによって行われる秘密分散方法であって、
(A) 前記分散装置が、Ψを1以上の整数とし、ψを0以上Ψ以下の整数ψ=0,...,Ψとし、n(ψ)を1以上の整数とし、ζ(ψ)を0以上の整数とし、巡回群G2の生成元をg2とし、θ(ψ,i,β)(i=1,...,n(ψ)+ζ(ψ), β=1,...,n(ψ)+ζ(ψ), n(ψ)≧1)に対する前記巡回群G2のn(ψ)+ζ(ψ)個の元を要素とするn(ψ)+ζ(ψ)次元の基底ベクトルをbi *(ψ)=(θ(ψ,i,1)・g2,...,θ(ψ,i,n(ψ)+ζ(ψ))・g2)∈G2 n(ψ)+ζ(ψ)とした場合における、前記基底ベクトルbi *(ψ)の各要素θ(ψ,i,β)・g2に応じた値を、それぞれH(α)個の分散管理装置PA(α,1),...,PA(α,H(α))からなる部分集合SUB(α)ごとに独立に、所定の秘密分散方式に従って秘密分散し、各要素θ(ψ,i,β)・g2に応じた値のシェア情報SH(ψ,i,β,α,h(α))(h(α)=1,...,H(α))を生成するステップと、
(B) 前記分散管理装置PA(α,h(α))が、前記部分集合SUB(α)ごとに共有される共通情報と、前記シェア情報SH(ψ,i,β,α,h(α))(h(α)=1,...,H(α))とに対し、前記部分集合SUB(α)ごとに共通の共通演算を行って分散秘密値DSH(ψ,α,h(α))を生成するステップと、
(C) 前記取得装置が、同一の前記部分集合SUB(α)に対応する複数の前記分散秘密値DSH(ψ,α,h(α))を用い、前記秘密分散方式に従った部分集合SUB(α)ごとの復元処理によって、当該部分集合SUB(α)ごとの秘密復元値SUBSK(ψ,α)を生成するステップと、
(D) 前記取得装置が、前記秘密復元値SUBSK(ψ,α)を用いて生成情報D*(ψ)を生成するステップと、
を有する秘密分散方法。 - 請求項16の秘密分散方法であって、
互いに異なる前記部分集合SUB(α)でそれぞれ共有される前記共通情報は、互いに独立である、秘密分散方法。 - 請求項16の秘密分散方法であって、
前記共通演算は、線形性を持った演算である、秘密分散方法。 - 請求項17の秘密分散方法であって、
前記共通演算は、線形性を持った演算である、秘密分散方法。 - 請求項16の秘密分散方法であって、
前記ステップ(D)は、前記秘密復元値SUBSK(ψ,α)を線形結合して前記生成情報D*(ψ)を生成するステップを含む、秘密分散方法。 - 請求項17の秘密分散方法であって、
前記ステップ(D)は、前記秘密復元値SUBSK(ψ,α)を線形結合して前記生成情報D*(ψ)を生成するステップを含む、秘密分散方法。 - 請求項18の秘密分散方法であって、
前記ステップ(D)は、前記秘密復元値SUBSK(ψ,α)を線形結合して前記生成情報D*(ψ)を生成するステップを含む、秘密分散方法。 - 請求項19の秘密分散方法であって、
前記ステップ(D)は、前記秘密復元値SUBSK(ψ,α)を線形結合して前記生成情報D*(ψ)を生成するステップを含む、秘密分散方法。 - 請求項16から23の何れかの秘密分散方法であって、
前記基底ベクトルbi *(ψ)の各要素θ(ψ,i,β)・g2に応じた値はθ(ψ,i,β)であり、
前記共通情報は、λを1以上Ψ以下の整数λ=1,...,Ψとした場合における、coefι(0,α), coef(λ,α), coefι(λ,α), SE(α), share(λ,α)を含み、
前記ステップ(B)は、
(B-1) SHbi *(0,α,h(α))=(SH(0,i,1,α,h(α)),...,SH(0,i,I,α,h(α))
とし、Iを2以上n(0)+ζ(0)以下の定数とした場合における、
DSH(0,α,h(α))
=-SE(α)・SHb1 *(0,α,h(α))・g2+Σι=2 Icoefι(0,α)・SHbι *(0,α,h(α))・g2
をψ=0に対応する前記分散秘密値として生成するステップと、
(B-2) SHbi *(λ,α,h(α))=(SH(λ,i,1,α,h(α)),...,SH(λ,i,n(λ)+ζ(λ),α,h(α))
とし、v(λ)→=(v1(λ),...,vn(λ)(λ))をn(λ)次元ベクトルとした場合における、
DSH(λ,α,h(α))
=(share(λ,α)+coef(λ,α)・v1(λ))・SHb1 *(λ,α,h(α))・g2
+Σι=2 n(λ)coef(λ,α)・vι(λ)・SHbι *(λ,α,h(α))・g2
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・SHbι *(λ,α,h(α))・g2
又は、
DSH(λ,α,h(α))
=share(λ,α)・Σι=1 n(λ)vι(λ)・SHb1 *(λ,α,h(α))・g2
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・SHbι *(λ,α,h(α))・g2
を各λに対応する前記分散秘密値として生成するステップと、を含む、
秘密分散方法。 - 請求項16から23の何れかの秘密分散方法であって、
前記基底ベクトルbi *(ψ)の各要素θ(ψ,i,β)・g2に応じた値はθ(ψ,i,β)・g2であり、
前記共通情報は、λを1以上Ψ以下の整数λ=1,...,Ψとした場合における、coefι(0,α), coef(λ,α), coefι(λ,α), SE(α), share(λ,α)を含み、
前記ステップ(B)は、
(B-1) SHbi *(0,α,h(α))=(SH(0,i,1,α,h(α)),...,SH(0,i,I,α,h(α))
とし、Iを2以上n(0)+ζ(0)以下の定数とした場合における、
DSH(0,α,h(α))
=-SE(α)・SHb1 *(0,α,h(α))+Σι=2 Icoefι(0,α)・SHbι *(0,α,h(α))
をψ=0に対応する前記分散秘密値として生成するステップと、
(B-2) SHbi *(λ,α,h(α))=(SH(λ,i,1,α,h(α)),...,SH(λ,i,n(λ)+ζ(λ),α,h(α))
とし、v(λ)→=(v1(λ),...,vn(λ)(λ))をn(λ)次元ベクトルとした場合における、
DSH(λ,α,h(α))
=(share(λ,α)+coef(λ,α)・v1(λ))・SHb1 *(λ,α,h(α))
+Σι=2 n(λ)coef(λ,α)・vι(λ)・SHbι *(λ,α,h(α))
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・SHbι *(λ,α,h(α))
又は、
DSH(λ,α,h(α))
=share(λ,α)・Σι=1 n(λ)vι(λ)・SHb1 *(λ,α,h(α))
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・SHbι *(λ,α,h(α))
を各λに対応する前記分散秘密値として生成するステップと、を含む、
秘密分散方法。 - 請求項24の秘密分散方法であって、
前記ステップ(C)は、
(C-1) SUBSK(0,α)=-SE(α)・b1 *(0)+Σι=2 Icoefι(0,α)・bι *(0)
をψ=0に対応する前記秘密復元値として生成するステップと、
(C-2) SUBSK(λ,α)=(share(λ,α)+coef(λ,α)・v1(λ))・b1 *(λ)
+Σι=2 n(λ)coef(λ,α)・vι(λ)・bι *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・bι *(λ)
又は、
SUBSK(λ,α)=share(λ,α)・Σι=1 n(λ)vι(λ)・b1 *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・bι *(λ)
を各λに対応する前記秘密復元値として生成するステップと、を含む、
秘密分散方法。 - 請求項25の秘密分散方法であって、
前記ステップ(C)は、
(C-1) SUBSK(0,α)=-SE(α)・b1 *(0)+Σι=2 Icoefι(0,α)・bι *(0)
をψ=0に対応する前記秘密復元値として生成するステップと、
(C-2) SUBSK(λ,α)=(share(λ,α)+coef(λ,α)・v1(λ))・b1 *(λ)
+Σι=2 n(λ)coef(λ,α)・vι(λ)・bι *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・bι *(λ)
又は、
SUBSK(λ,α)=share(λ,α)・Σι=1 n(λ)vι(λ)・b1 *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・bι *(λ)
を各λに対応する前記秘密復元値として生成するステップと、を含む、
秘密分散方法。 - 請求項13の分散装置としてコンピュータを機能させるためのプログラム。
- 請求項14の分散管理装置としてコンピュータを機能させるためのプログラム。
- 請求項15の取得装置としてコンピュータを機能させるためのプログラム。
- 請求項13の分散装置としてコンピュータを機能させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
- 請求項14の分散管理装置としてコンピュータを機能させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
- 請求項15の取得装置としてコンピュータを機能させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012525441A JP5379914B2 (ja) | 2010-07-23 | 2011-07-22 | 秘密分散システム、分散装置、分散管理装置、取得装置、秘密分散方法、プログラム、及び記録媒体 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010166407 | 2010-07-23 | ||
JP2010166407 | 2010-07-23 | ||
PCT/JP2011/066693 WO2012011565A1 (ja) | 2010-07-23 | 2011-07-22 | 秘密分散システム、分散装置、分散管理装置、取得装置、秘密分散方法、プログラム、及び記録媒体 |
JP2012525441A JP5379914B2 (ja) | 2010-07-23 | 2011-07-22 | 秘密分散システム、分散装置、分散管理装置、取得装置、秘密分散方法、プログラム、及び記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2012011565A1 JPWO2012011565A1 (ja) | 2013-09-09 |
JP5379914B2 true JP5379914B2 (ja) | 2013-12-25 |
Family
ID=45496983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012525441A Active JP5379914B2 (ja) | 2010-07-23 | 2011-07-22 | 秘密分散システム、分散装置、分散管理装置、取得装置、秘密分散方法、プログラム、及び記録媒体 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8964988B2 (ja) |
EP (1) | EP2562736B1 (ja) |
JP (1) | JP5379914B2 (ja) |
KR (1) | KR101456579B1 (ja) |
CN (1) | CN103003857B (ja) |
WO (1) | WO2012011565A1 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5814880B2 (ja) * | 2012-07-31 | 2015-11-17 | 三菱電機株式会社 | 暗号システム、暗号方法、暗号プログラム及び復号装置 |
CN102855422B (zh) * | 2012-08-21 | 2015-03-04 | 飞天诚信科技股份有限公司 | 一种盗版加密锁的识别方法和装置 |
KR102084733B1 (ko) * | 2013-05-09 | 2020-03-05 | 삼성전자주식회사 | 파일 분산 관리 장치 및 제어 방법 |
US10074293B2 (en) * | 2014-01-17 | 2018-09-11 | Nippon Telegraph And Telephone Corporation | Secret calculation method, secret calculation system, sorting device, and program |
US9141814B1 (en) * | 2014-06-03 | 2015-09-22 | Zettaset, Inc. | Methods and computer systems with provisions for high availability of cryptographic keys |
EP3166094B1 (en) * | 2014-07-02 | 2018-12-26 | Mitsubishi Electric Corporation | Matrix generation device, matrix generation method, and matrix generation program |
US10091000B2 (en) * | 2014-09-24 | 2018-10-02 | Intel Corporation | Techniques for distributing secret shares |
US10097522B2 (en) * | 2015-05-21 | 2018-10-09 | Nili Philipp | Encrypted query-based access to data |
JP6034927B1 (ja) * | 2015-07-27 | 2016-11-30 | 日本電信電話株式会社 | 秘密計算システム、秘密計算装置、およびプログラム |
JP6799012B2 (ja) * | 2016-01-18 | 2020-12-09 | 日本電信電話株式会社 | 秘匿決定木計算システム、装置、方法及びプログラム |
US10158651B1 (en) * | 2016-04-20 | 2018-12-18 | Wells Fargo Bank, N.A. | Verifying secure transactions through distributed nodes |
CN110800034B (zh) * | 2017-07-05 | 2023-05-02 | 日本电信电话株式会社 | 秘密计算系统、秘密计算装置、秘密计算方法、程序以及记录介质 |
CN108712261B (zh) * | 2018-05-10 | 2021-02-26 | 杭州智块网络科技有限公司 | 一种基于区块链的密钥生成方法、装置及介质 |
JP7087965B2 (ja) * | 2018-11-29 | 2022-06-21 | 日本電信電話株式会社 | 暗号システム、暗号化装置、復号装置、暗号化方法、復号方法及びプログラム |
CN111049644B (zh) * | 2019-10-22 | 2021-03-23 | 贵州财经大学 | 一种基于混淆激励机制的理性公平秘密信息共享方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10198272A (ja) * | 1996-12-27 | 1998-07-31 | Canon Inc | 階層を有する鍵管理方法及び暗号システム、分散デジタル署名システム |
JP2008098894A (ja) * | 2006-10-11 | 2008-04-24 | Kddi Corp | 情報管理システム、情報管理方法、情報管理プログラム |
JP2010118968A (ja) * | 2008-11-13 | 2010-05-27 | Hiroshima Ichi | 秘密情報分散装置及び秘密情報復元装置 |
WO2010123114A1 (ja) * | 2009-04-24 | 2010-10-28 | 日本電信電話株式会社 | 秘密分散システム、分散装置、分散管理装置、取得装置、それらの処理方法、秘密分散方法、プログラム及び記録媒体 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5485474A (en) * | 1988-02-25 | 1996-01-16 | The President And Fellows Of Harvard College | Scheme for information dispersal and reconstruction |
JP3604737B2 (ja) * | 1994-07-29 | 2004-12-22 | キヤノン株式会社 | 複数の情報処理装置を有する通信システムにおける秘密情報処理方法及びその通信システム |
EP0695056B1 (en) * | 1994-07-29 | 2005-05-11 | Canon Kabushiki Kaisha | A method for sharing secret information, generating a digital signature, and performing certification in a communication system that has a plurality of information processing apparatuses and a communication system that employs such a method |
US6012159A (en) * | 1996-01-17 | 2000-01-04 | Kencast, Inc. | Method and system for error-free data transfer |
KR100373669B1 (ko) * | 1999-09-29 | 2003-02-26 | 가부시키가이샤 히타치세이사쿠쇼 | 비밀 정보의 처리 장치, 비밀 정보의 처리 프로그램을 기록한 기록 매체 및 처리 시스템 |
US7359507B2 (en) * | 2000-03-10 | 2008-04-15 | Rsa Security Inc. | Server-assisted regeneration of a strong secret from a weak secret |
JP4292835B2 (ja) * | 2003-03-13 | 2009-07-08 | 沖電気工業株式会社 | 秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム |
KR100518687B1 (ko) * | 2003-12-01 | 2005-10-05 | 한국전자통신연구원 | 합성수 차원을 가지는 유한체에서 정의된 타원곡선의상수배 연산 방법 및 그 프로그램을 기록한 컴퓨터로 읽을수 있는 기록매체 |
US7945784B1 (en) * | 2005-08-19 | 2011-05-17 | Adobe Systems Incorporated | Method and system to perform secret sharing |
JP4334582B2 (ja) * | 2007-06-26 | 2009-09-30 | 株式会社東芝 | 秘密分散装置、方法及びプログラム |
US8422681B2 (en) * | 2008-03-06 | 2013-04-16 | International Business Machines Corporation | Non-interactive hierarchical identity-based key-agreement |
-
2011
- 2011-07-22 WO PCT/JP2011/066693 patent/WO2012011565A1/ja active Application Filing
- 2011-07-22 JP JP2012525441A patent/JP5379914B2/ja active Active
- 2011-07-22 US US13/810,509 patent/US8964988B2/en active Active
- 2011-07-22 EP EP11809735.1A patent/EP2562736B1/en active Active
- 2011-07-22 KR KR1020137000486A patent/KR101456579B1/ko active IP Right Grant
- 2011-07-22 CN CN201180035311.6A patent/CN103003857B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10198272A (ja) * | 1996-12-27 | 1998-07-31 | Canon Inc | 階層を有する鍵管理方法及び暗号システム、分散デジタル署名システム |
JP2008098894A (ja) * | 2006-10-11 | 2008-04-24 | Kddi Corp | 情報管理システム、情報管理方法、情報管理プログラム |
JP2010118968A (ja) * | 2008-11-13 | 2010-05-27 | Hiroshima Ichi | 秘密情報分散装置及び秘密情報復元装置 |
WO2010123114A1 (ja) * | 2009-04-24 | 2010-10-28 | 日本電信電話株式会社 | 秘密分散システム、分散装置、分散管理装置、取得装置、それらの処理方法、秘密分散方法、プログラム及び記録媒体 |
Non-Patent Citations (4)
Title |
---|
CSNG200700990001; 川島 千種 他: '多重符号化を利用した階層的な秘密分散法の検討' 電子情報通信学会技術研究報告 Vol.107 No.209, 20070831, p.17-23, 社団法人電子情報通信学会 * |
JPN6011043359; 川島 千種 他: '多重符号化を利用した階層的な秘密分散法の検討' 電子情報通信学会技術研究報告 Vol.107 No.209, 20070831, p.17-23, 社団法人電子情報通信学会 * |
JPN6011043361; 川島 千種 他: '積符号化を利用した階層的な秘密分散法の検討' 2008年暗号と情報セキュリティシンポジウム CD-ROM , 20080122, 4F1-2, 電子情報通信学会 * |
JPN6011043362; 藤田 八郎 他: 'リード・ソロモン符号の連接に基づく複数グループ間マルチレベル秘密分散法' 電子情報通信学会技術報告 Vol.108 No.472, 20090302, p.65-70, 電子情報通信学会 * |
Also Published As
Publication number | Publication date |
---|---|
US8964988B2 (en) | 2015-02-24 |
EP2562736B1 (en) | 2016-06-29 |
WO2012011565A1 (ja) | 2012-01-26 |
CN103003857A (zh) | 2013-03-27 |
EP2562736A4 (en) | 2015-03-11 |
JPWO2012011565A1 (ja) | 2013-09-09 |
US20130114815A1 (en) | 2013-05-09 |
KR101456579B1 (ko) | 2014-10-31 |
CN103003857B (zh) | 2015-03-11 |
EP2562736A1 (en) | 2013-02-27 |
KR20130036044A (ko) | 2013-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5379914B2 (ja) | 秘密分散システム、分散装置、分散管理装置、取得装置、秘密分散方法、プログラム、及び記録媒体 | |
JP5562475B2 (ja) | 秘密分散システム、分散装置、分散管理装置、取得装置、それらの処理方法、秘密分散方法、プログラム | |
JP5466763B2 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法、プログラム、及び記録媒体 | |
JP5285778B2 (ja) | 関数暗号応用システム及び方法 | |
JP5291795B2 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法、セキュリティ方法、プログラム及び記録媒体 | |
JP5612494B2 (ja) | 関数暗号を用いた時限暗号システム、時限暗号方法、装置、プログラム | |
JP2012098570A (ja) | 代理計算システム、端末装置、代理計算装置、代理計算方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130709 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130821 |
|
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: 20130917 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130927 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5379914 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |