JP5562475B2 - 秘密分散システム、分散装置、分散管理装置、取得装置、それらの処理方法、秘密分散方法、プログラム - Google Patents

秘密分散システム、分散装置、分散管理装置、取得装置、それらの処理方法、秘密分散方法、プログラム Download PDF

Info

Publication number
JP5562475B2
JP5562475B2 JP2013133392A JP2013133392A JP5562475B2 JP 5562475 B2 JP5562475 B2 JP 5562475B2 JP 2013133392 A JP2013133392 A JP 2013133392A JP 2013133392 A JP2013133392 A JP 2013133392A JP 5562475 B2 JP5562475 B2 JP 5562475B2
Authority
JP
Japan
Prior art keywords
secret
information
distributed
value
elements
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
JP2013133392A
Other languages
English (en)
Other versions
JP2013178589A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013133392A priority Critical patent/JP5562475B2/ja
Publication of JP2013178589A publication Critical patent/JP2013178589A/ja
Application granted granted Critical
Publication of JP5562475B2 publication Critical patent/JP5562475B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus 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
    • 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
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public 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/3073Public 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)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (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)

Description

本発明は、秘密分散技術に関する。
秘密情報を保管する場合、秘密情報の紛失や破壊のリスクと盗難のリスクとがある。紛失や破壊のリスクは秘密情報を複数保管しておくことで低減できる。しかし、この場合には盗難のリスクが増加する。これらのリスクを共に解決する方法の一つとして、秘密分散法(SSS: Secret Sharing Scheme)がある(例えば、非特許文献1,2参照)。
秘密分散法とは、秘密情報MSKから複数のシェア情報SH(1),...,SH(N)を生成し、これらを複数の分散管理装置PA(1),...,PA(N)に分散して管理させ、これらのシェア情報SH(1),...,SH(N)のうち所定数以上のシェア情報を得ることができた場合にのみ、秘密情報MSKが復元できる方式である。以下に、秘密分散法の代表的な方式を示す。
〔(N,N)しきい値秘密分散法〕
(N,N)しきい値秘密分散法は、すべてのシェア情報SH(1),...,SH(N)が与えられれば秘密情報MSKを復元できるが、任意のN-1個のシェア情報SH(φ1),...,SH(φN-1)が与えられても秘密情報MSKの情報はまったく得られない方式である。以下に、その一例を示す。
・SH1,...,SHN-1をランダムに選択する。
・SHN=MSK-(SH1+...+SHN-1)の計算を行う。
・各シェア情報SH1,...,SHNを複数の分散管理装置PA(1),...,PA(N)に分散して管理させる。
・すべてのシェア情報SH1,...,SHNが与えられれば、MSK=SH1+...+SHNの復元処理によって秘密情報MSKを復元できる。
なお、シェア情報SH1,...,SHNから秘密情報MSKするための演算MSK=SH1+...+SHNは線形である。そのため、各シェア情報SH(1),...,SH(N)と値σとを被演算子とし、シェア情報ごとに同一の線形演算CALCを行った結果を各シェア情報SH'(1),...,SH'(N)として復元処理を行った場合、秘密情報MSKと値σとを被演算子として当該線形演算CALCを行った結果が得られる。例えば、SH'(1)=σ・SH(1),..,SH'(N)=σ・SH(N)を各シェア情報SH'(1),...,SH'(N)として復元処理が実行された場合、
σ・SH(1)+...+σ・SH(N)
=σ・(SH(1)+ ...+SH(N))
=σ・MSK …(1)
が得られる。
一方、各シェア情報SH(1),...,SH(N)と、互いに独立な値σ(1),...,σ(N)とを被演算子とし、シェア情報ごとに同一の線形演算CALCを行った結果を各シェア情報SH'(1),...,SH'(N)として復元処理が実行された場合には、通常、秘密情報MSKを被演算子とした演算結果を得ることはできない。例えば、SH'(1)=σ(1)・SH(1),..,SH'(N)=σ(N)・SH(N)を各シェア情報SH'(1),...,SH'(N)として復元処理が実行された場合、
σ(1)・SH(1)+...+σ(N)・SH(N) …(2)
が得られる。
〔(K,N)しきい値秘密分散法〕
(K,N)しきい値秘密分散法は、任意の相違なるK個のシェア情報SH(φ1),...,SH(φK)が与えられれば秘密情報MSKを復元できるが、任意のK-1個のシェア情報SH(φ1),...,SH(φK-1)が与えられても秘密情報MSKの情報はまったく得られない方式である。以下にその一例を示す。
・f(0)=MSKを満たすK-1次の多項式f(x)=ξ01・x+ξ2・x2+...+ξK-1・xK-1をランダムに選ぶ。すなわち、ξ0=MSKとし、ξ1,..., ξK-1をランダムに選ぶ。シェア情報をSHρ=(ρ, f(ρ))(ρ=1,...,N)とする。
・任意の相違なるK個のシェア情報SH(φ1),...,SH(φK)((φ1,...,φK)⊂(1,...,N))が得られた場合、例えば、ラグランジェ(Lagrange)の補間公式を用い、以下のような復元処理によって秘密情報MSKを復元できる。
MSK=f(0)=λ1・f(φ1)+...+λK・f(φK) …(3)
Figure 0005562475
は先頭からρ番目の被演算子〔分母の要素(φρρ)、分子の要素(x-φρ)〕が存在しないことを意味する。すなわち、式(4)の分母は、
ρ1)・...・(φρρ-1)・(φρρ+1)・...・(φρK)
であり、式(4)の分子は
(x-φ1)・...・(x-φρ-1)・(x-φρ+1)・...・(x-φK)
である。これらの関係は体上でも成立する。
また、式(3)の演算は線形である。そのため、各シェア情報SH(φ1),...,SH(φK)と値σとを被演算子とし、シェア情報ごとに同一の線形演算CALCを行った結果を各シェア情報SH'(φ1),...,SH'(φK)として復元された値は、秘密情報MSKと値σとを被演算子として線形演算CALCを行った結果と等しくなる。一方、各シェア情報SH(φ1),...,SH(φK)と、互いに独立な値σ(φ1),...,σ(φK)とを被演算子とし、シェア情報ごとに同一の線形演算CALCを行った結果を各シェア情報SH'(φ1),...,SH'(φK)として復元処理が実行された場合には、通常、秘密情報MSKを被演算子とした演算結果を得ることはできない。
黒沢馨、尾形わかは、"現代暗号の基礎数理 (電子情報通信レクチャーシリーズ)"、コロナ社 、2004年3月、p.116-119 A. Shamir, "How to Share a Secret", Communications of the ACM, November 1979, Volume 22, Number 11, pp.612-613.
以下の条件を満たす方式を想定する。
(条件1)分散装置が秘密情報MSKを秘密分散して複数のシェア情報SH(1),...,SH(N)を生成し、これらを複数の分散管理装置PA(1),...,PA(N)に分散して管理させる。
(条件2)各分散管理装置PA(1),...,PA(N)がそれぞれ何らかの演算を実行する。
(条件3)取得装置は、秘密情報MSKを得ることはできないが、所定数以上の分散管理装置で生成された演算結果が与えられた場合に、秘密情報MSKと任意な値σとを被演算子に含む演算の結果と同一の生成情報SKを得ることができる。
しかし、このような方式を実現することは容易ではない。すなわち、各分散管理装置PA(1),...,PA(N)がそれぞれ互いに独立な値σ(1),...,σ(N)を用いて演算を実行したのでは、取得装置は各分散管理装置の演算結果をシェア情報とした復元処理によって生成情報SKを生成することができない。一方、値σは生成情報SKを推測するための情報となり得るため、すべての分散管理装置PA(1),...,PA(N)が値σそのものを共有することは、安全性の観点から好ましくない。
本発明はこのような点に鑑みてなされたものであり、上記条件1〜3を満たす方式を安全に実現することを目的とする。
本発明では、まず、分散装置において、Σα=1 Lh(α)個の分散管理装置PA(α,h(α))(α=1,...,L, L≧2, h(α)=1,...,H(α), H(α)≧2)からなる集合に属するH(α)個の分散管理装置PA(α,1),...,PA(α,H(α))からなる部分集合SUB(α)ごとに独立に秘密情報を秘密分散してシェア情報SH(α,h(α))を生成し、当該シェア情報SH(α,h(α))を出力する。次に、分散管理装置PA(α,h(α))において、部分集合SUB(α)ごとに共有される共有値σ(α)を含む共通情報と、シェア情報SH(α,h(α))とを用い、共通演算を行って分散秘密値DSH(α,h(α))を生成し、当該分散秘密値DSH(α,h(α))を出力する。なお、同一の前記部分集合SUB(α)に属する分散管理装置PA(α,h(α))の分散秘密値生成部がそれぞれ用いる共通情報は互いに同一であり、同一の部分集合SUB(α)に属する分散管理装置PA(α,h(α))の分散秘密値生成部がそれぞれ行う共通演算は互いに同一である。
次に、取得装置において、同一の部分集合SUB(α)に対応する複数の分散秘密値DSH(α,h(α))を用い、部分集合SUB(α)ごとの復元処理によって秘密復元値SUBSK(α)を生成し、当該部分集合SUB(α)ごとの秘密復元値SUBSK(α)を出力する。そして、取得装置において、秘密復元値SUBSK(α)を用いて生成情報SKを生成し、当該生成情報SKを出力する。
ここで、本発明では、部分集合SUB(α)ごとに独立に秘密情報を秘密分散し、部分集合SUB(α)ごとに共有される共有値σ(α)を含む共通情報を用い、分散秘密値DSH(α,h(α))を生成する。この場合、部分集合SUB(α)ごとの復元処理によって得られる秘密復元値SUBSK(α)は、秘密情報と共有値σ(α)を含む共通情報とを被演算子に含む演算の結果と同一となる。よって、復元後の秘密復元値SUBSK(α)を用いて生成される生成情報SKは、秘密情報と任意の値σとを被演算子に含む演算の結果と同一となる。また、本発明では、すべての分散管理装置PA(α,h(α))が当該任意の値σを共有しないため、安全性が高い。
以上のように、本発明では、上記条件1〜3を満たす方式を安全に実現することができる。
図1は、第1実施形態の秘密分散システムの全体構成を説明するためのブロック図である。 図2は、図1の分散装置の構成を説明するためのブロック図である。 図3Aは、第1実施形態の分散管理装置の構成を説明するためのブロック図である。図3Bは、第1実施形態の共有値生成装置の構成を説明するためのブロック図である。 図4は、第1実施形態の取得装置の構成を説明するためのブロック図である。 図5Aは、図2の秘密分散部の詳細を説明するためのブロック図である。図5Bは、図3Aの分散秘密値生成部の詳細を説明するためのブロック図である。 図6は、図4の復元部の詳細を説明するためのブロック図である。 図7は、第1実施形態の秘密分散処理の全体を説明するための図である。 図8Aは、第1実施形態の分散装置の処理を例示するための図である。図8Bは、ステップS112の処理の詳細を例示するための図である。 図9Aは、第1実施形態の分散管理装置の処理を例示するための図である。図9Bは、ステップS124の処理の詳細を例示するための図である。 図10Aは、第1実施形態の取得装置の処理を例示するための図である。図10Bは、ステップS134の処理を例示するための図である。 図11Aは、第1実施形態における変形例1の秘密分散部の構成を説明するための図である。図11Bは、第1実施形態における変形例1の分散秘密値生成部の構成を説明するための図である。 図12Aは、第1実施形態における変形例2の分散秘密値生成部の構成を説明するための図である。図12Bは、第1実施形態における変形例2の復元部の構成を説明するための図である。 図13Aは、第1実施形態における変形例3の秘密分散部の構成を説明するための図である。図13Bは、第1実施形態における変形例3の分散秘密値生成部の構成を説明するための図である。図13Cは、第1実施形態における変形例3の復元部の構成を説明するための図である。 図14Aは、第1実施形態における変形例4の秘密分散部の構成を説明するための図である。図14Bは、第1実施形態における変形例4の分散秘密値生成部の構成を説明するための図である。図14Cは、第1実施形態における変形例4の復元部の構成を説明するための図である。 図15は、第2実施形態の分散装置の構成を説明するためのブロック図である。 図16は、第2実施形態の分散管理装置の構成を説明するためのブロック図である。 図17は、第2実施形態の取得装置の構成を説明するためのブロック図である。 図18は、図17の合成部の構成を説明するためのブロック図である。 図19は、第2実施形態の秘密分散処理の全体を説明するための図である。 図20は、第2実施形態の分散装置の処理を例示するための図である。 図21は、第2実施形態の分散管理装置の処理を例示するための図である。 図22は、第2実施形態の取得装置の処理を例示するための図である。
以下、図面を参照して本発明の実施形態を説明する。
〔第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」に開示されている。
0F:0Fは有限体Fqの加法単位元を表す。
1F:1Fは有限体Fqの乗法単位元を表す。
E:Eは有限体Fq上で定義された楕円曲線を表す。Eはアフィン(affine)座標版のWeierstrass方程式
y2+a1・x・y+a3・y=x3+a2・x2+a4・x+a6
(ただし、a1,a2,a3,a4,a6∈Fq)を満たすx,y∈Fqからなる点(x,y)の集合に無限遠点と呼ばれる特別な点Oを付加したもので定義される。楕円曲線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の具体例は、楕円曲線Eのp等分点からなる有限集合E[p]、その部分群、剰余群などである。なお、本形態では、巡回群G上で定義された演算を加法的に表現する。例えば、χ∈Fq及びΩ∈Gに対するχ・Ω∈Gは、Ω∈G1に対して巡回群Gで定義された演算をχ回施すことを意味し、Ω1, Ω2∈Gに対するΩ12∈Gは、Ω1∈GとΩ2∈Gとを被演算子として巡回群Gで定義された演算を行うことを意味する。
g:gは巡回群Gの生成元を表す。
<全体構成>
図1は、第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−αがそれぞれ対応する。
<分散装置110>
図2は、図1の分散装置110の構成を説明するためのブロック図である。また、図5Aは、図2の秘密分散部114−αの詳細を説明するためのブロック図である。
図2に例示するように、本形態の分散装置110は、一時記憶部111と、記憶部112と、制御部113と、秘密分散部114−α(α=1,...,L)と、送信部115とを有する。また、図5Aに例示するように、本形態の秘密分散部114−αは、関数選択部114a−αと、インデックス生成部114b−αと、分散処理部114c−αとを有する。
本形態の分散装置110は、例えば、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read-Only Memory)等を備える公知又は専用のコンピュータと特別なプログラムとを含む特別な装置である。具体的には、一時記憶部111及び記憶部112は、例えば、RAM、レジスタ、キャッシュメモリ、集積回路内の素子若しくはハードディスク等の補助記憶装置、又は、これらの少なくとも一部の結合からなる記憶領域である。また、制御部113及び秘密分散部114−α(α=1,...,L)は、例えば、CPUが所定のプログラムを実行することで構成される処理部である。なお、制御部113及び秘密分散部114−α(α=1,...,L)の少なくとも一部が特別な集積回路で構成されてもよい。また、送信部115は、例えば、モデム、LAN(Local Area Network)カード等の通信装置である。
また、分散装置110は、制御部113の制御のもと各処理を実行する。また、以下では説明を簡略化するが、各処理部から出力されたデータは、逐一、一時記憶部111又は記憶部112に格納される。一時記憶部111又は記憶部112に格納されたデータは、必要に応じて読み出され、各処理部に入力されてその処理に利用される。
<分散管理装置〔PA(α,h(α))〕120−α−h(α)>
図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(α)とを有する。
分散管理装置〔PA(α,h(α))〕120−α−h(α)は、例えば、CPU、RAM、ROM等を備える公知又は専用のコンピュータと特別なプログラムとを含む特別な装置である。具体的には、一時記憶部121−α−h(α)及び記憶部122−α−h(α)は、例えば、RAM、レジスタ、キャッシュメモリ、集積回路内の素子若しくはハードディスク等の補助記憶装置、又は、これらの少なくとも一部の結合からなる記憶領域である。また、制御部123−α−h(α)及び分散秘密値生成部124−α−h(α)は、例えば、CPUが所定のプログラムを実行することで構成される処理部である。なお、制御部123−α−h(α)及び分散秘密値生成部124−α−h(α)の少なくとも一部が特別な集積回路で構成されてもよい。また、送信部125−α−h(α)や受信部126−α−h(α)は、例えば、モデム、LANカード等の通信装置である。
また、分散管理装置〔PA(α,h(α))〕120−α−h(α)は、制御部123−α−h(α)の制御のもと各処理を実行する。また、以下では説明を簡略化するが、各処理部から出力されたデータは、逐一、一時記憶部121−α−h(α)又は記憶部122−α−h(α)に格納される。一時記憶部121−α−h(α)又は記憶部122−α−h(α)に格納されたデータは、必要に応じて読み出され、各処理部に入力されてその処理に利用される。
<共有値生成装置140−α>
図3Bは、第1実施形態の共有値生成装置140−αの構成を説明するためのブロック図である。
図3Bに例示するように、本形態の共有値生成装置140−αは、乱数生成部141−α及び送信部142−αを有する。本形態の共有値生成装置140−αは、例えば、CPU、RAM、ROM等を備える公知又は専用のコンピュータと特別なプログラムとを含む特別な装置であるが、乱数生成部141−αが特別な集積回路で構成されてもよい。
<取得装置130>
図4は、第1実施形態の取得装置130の構成を説明するためのブロック図である。また、図6は、図4の復元部134−αの詳細を説明するためのブロック図である。
図4に例示するように、本形態の取得装置130は、一時記憶部131と、記憶部132と、制御部133と、復元部134−α(α=1,...,L)と、合成部137と、送信部135と、受信部136とを有する。また、図6に例示するように、復元部134−αは、係数算出部134a−αと、多項式演算部134b−αとを有する。
本形態の取得装置130は、例えば、CPU、RAM、ROM等を備える公知又は専用のコンピュータと特別なプログラムとを含む特別な装置である。具体的には、一時記憶部131及び記憶部132は、例えば、RAM、レジスタ、キャッシュメモリ、集積回路内の素子若しくはハードディスク等の補助記憶装置、又は、これらの少なくとも一部の結合からなる記憶領域である。また、制御部133、復元部134−α(α=1,...,L)及び合成部137は、例えば、CPUが所定のプログラムを実行することで構成される処理部である。なお、制御部133、復元部134−α(α=1,...,L)及び合成部137の少なくとも一部が特別な集積回路で構成されてもよい。また、送信部135や受信部136は、例えば、モデム、LANカード等の通信装置である。
また、取得装置130は、制御部133の制御のもと各処理を実行する。また、以下では説明を簡略化するが、各処理部から出力されたデータは、逐一、一時記憶部131又は記憶部132に格納される。一時記憶部131又は記憶部132に格納されたデータは、必要に応じて読み出され、各処理部に入力されてその処理に利用される。
<秘密分散処理>
次に、本形態の秘密分散処理を説明する。
[事前処理]
本形態の秘密分散処理の事前処理として、秘密情報θ・g∈Gを特定するための情報θ∈Fqが分散装置110の記憶部112に格納される。
[秘密分散処理の全体]
図7は、第1実施形態の秘密分散処理の全体を説明するための図である。以下、図7を用いて、本形態の秘密分散処理の全体を説明する。
本形態では、まず、分散装置110(図1)が、部分集合SUB(α)ごとに独立に、秘密情報θ・g∈Gを秘密分散してシェア情報SH(α,h(α))を生成し、当該シェア情報SH(α,h(α))を出力する(ステップS11)。各シェア情報SH(α,h(α))は、それぞれ、ネットワーク150経由で各分散管理装置〔PA(α,h(α))〕120−α−h(α)に分散して送信される。
各シェア情報SH(α,h(α))が送信された各分散管理装置〔PA(α,h(α))〕120−α−h(α)は、それぞれ、そのシェア情報SH(α,h(α))と、部分集合SUB(α)ごとに共有される共有値σ(α)を含む共通情報とを用い、所定の共通演算を行って分散秘密値DSH(α,h(α))を生成し、当該分散秘密値DSH(α,h(α))を出力する(ステップS12)。
本形態の場合、互いに異なる部分集合SUB(α)でそれぞれ共有される共有値σ(α)は互いに独立である。また、同一の部分集合SUB(α)に属する分散管理装置〔PA(α,h(α))〕120−α−h(α)がそれぞれ用いる「共通情報」は互いに同一である。特に、本形態で例示する「共通情報」は、共有値σ(α)と、取得装置130から提供されたすべての分散管理装置PA(α,h(α))120−α−h(α)に共通の提供情報wとを含む。また、同一の部分集合SUB(α)に属する分散管理装置〔PA(α,h(α))〕120−α−h(α)がそれぞれ行う「共通演算」は互いに同一である。本形態では、すべての「共通演算」が同一であるものとする。また、本形態の「共通演算」は、線形性を持った演算である。
各分散管理装置〔PA(α,h(α))〕120−α−h(α)から出力された各分散秘密値DSH(α,h(α))は、それぞれ、ネットワーク150経由で取得装置130に送信される。取得装置130は、同一の部分集合SUB(α)に対応する複数の分散秘密値DSH(α,h(α))を用い、部分集合SUB(α)ごとの復元処理によって秘密復元値SUBSK(α)を生成する(ステップS13)。
次に、取得装置130は、各部分集合SUB(α)についてそれぞれ生成された秘密復元値SUBSK(α)を用いて生成情報SKを生成し、当該生成情報SKを出力する(ステップS14)。なお、本形態では、取得装置130が秘密復元値SUBSK(α)を線形結合して生成情報SKする。
[分散装置の処理(ステップS11)]
図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)。
《ステップS112の詳細》
本形態の秘密分散部114−αは、各部分集合SUB(α)に対し、(R(α),H(α))しきい値秘密分散法(但し、R(α)は、2≦R(α)<H(α)を満たす定数)を用い、秘密情報を秘密分散したシェア情報SH(α,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が得られている場合には、ステップS112の処理は省略されてもよい。
次に、分散処理部114c−αが、多項式f(α,x)∈Fqとインデックスφ(h(α))∈Fqとを用い、シェア情報
SH(α,h(α))=(φ(h(α)), f(α,φ(h(α)))・g∈G) …(5)
を生成して出力する(ステップS112c/《ステップS112の詳細》の説明終わり)。
次に、制御部113は、一時記憶部111に格納されたαがLであるか否かを判定する(ステップS113)。ここで、α=Lでないと判定された場合、制御部113は、α+1を新たなαとし、その設定内容を一時記憶部111に格納し(ステップS114)、新たなαによってステップS112の処理を実行させる。一方、ステップS113でα=Lであると判定された場合、各秘密分散部114−αから出力された各シェア情報SH(α,h(α))が送信部115に送られる。送信部115は、各シェア情報SH(α,h(α))を、それぞれ、ネットワーク150経由で分散管理装置〔PA(α,h(α))〕120−α−h(α)に送信する(ステップS115)。すなわち、シェア情報SH(1,1)は分散管理装置〔PA(1,1)〕120−1−1に、シェア情報SH(1,2)は分散管理装置〔PA(1,2)〕120−1−2に、・・・シェア情報SH(L,H(L))は分散管理装置〔PA(L,H(L))〕120−L−H(L)に、それぞれ送信される。
[共有値生成装置の処理]
各共有値生成装置140−α(図3B)は、自らに対応する部分集合SUB(α)を構成する各分散管理装置〔PA(α,h(α))〕120−α−h(α)で共有する共有値σ(α)を生成する。本形態では、乱数生成部141−αが生成した乱数を共有値σ(α)とし、送信部142−αが共有値σ(α)を部分集合SUB(α)を構成する各分散管理装置〔PA(α,h(α))〕120−α−h(α)に送信する。
[分散管理装置の処理(ステップS12)]
図9Aは、第1実施形態の分散管理装置〔PA(α,h(α))〕120−α−h(α)の処理を例示するための図であり、図9Bは、ステップS124の処理の詳細を例示するための図である。以下、これらの図を用いて、本形態の分散管理装置〔PA(α,h(α))〕120−α−h(α)の処理を説明する。
まず、分散管理装置〔PA(α,h(α))〕120−α−h(α)(図3A)の受信部126−α−h(α)が、送信されたシェア情報SH(α,h(α))を受信し、それを記憶部122−α−h(α)に格納する(ステップS121)。なお、過去にステップS121の処理が実行され、既にシェア情報SH(α,h(α))が分散管理装置〔PA(α,h(α))〕120−α−h(α)の記憶部122−α−h(α)に格納されているのであれば、ステップS121の処理を省略してもよい。
また、分散管理装置〔PA(α,h(α))〕120−α−h(α)の受信部126−α−h(α)は、共有値生成装置140−αから送信された共有値σ(α)を受信し、それを記憶部122−α−h(α)に格納する(ステップS122)。
また、本形態では、取得装置130(図4)の記憶部132から読み出された提供情報wが送信部135からネットワーク150経由で各分散管理装置〔PA(α,h(α))〕120−α−h(α)に送信される。この提供情報wは、すべての分散管理装置PA(α,h(α))120−α−h(α)に共通である。提供情報wは、分散管理装置〔PA(α,h(α))〕120−α−h(α)(図3A)の受信部126−α−h(α)で受信され、記憶部122−α−h(α)に格納される(ステップS123)。
次に、分散秘密値生成部124−α−h(α)が、記憶部122−α−h(α)からシェア情報SH(α,h(α))と共有値σ(α)と提供情報wとを読み込む。分散秘密値生成部124−α−h(α)は、共有値σ(α)と提供情報wとを含む共通情報と、シェア情報SH(α,h(α))とを用い、共通演算FNC1を行って分散秘密値DSH(α,h(α))を生成し、当該分散秘密値DSH(α,h(α))を出力する(ステップS124)。
《ステップS124の詳細》
同一の部分集合SUB(α)に属する分散管理装置PA(α,h(α))120−α−h(α)の分散秘密値生成部124−α−h(α)がそれぞれ用いる共通情報は互いに同一であり、同一の部分集合SUB(α)に属する分散管理装置PA(α,h(α))120−α−h(α)の分散秘密値生成部124−α−h(α)がそれぞれ行う共通演算は互いに同一である。また、本形態のシェア情報は式(5)に示すものである。
図9Bに例示するように、まず、本形態の分散秘密値生成部124−α−h(α)の線形演算部124a−α−h(α)に、共有値σ(α)と提供情報wとシェア情報SH(α,h(α))=(φ(h(α)), f(α,φ(h(α)))・g)のf(α,φ(h(α)))・gとが入力される。線形演算部124a−α−h(α)は、
dsh(α,φ(h(α)))=σ(α)・w・f(α,φ(h(α)))・g∈G …(6)
の演算を行い、その演算結果dsh(α,φ(h(α)))を出力する(ステップS124a)。
出力された演算結果dsh(α,φ(h(α)))は、分散秘密値合成部124b−α−h(α)に入力される。分散秘密値合成部124b−α−h(α)には、さらにシェア情報SH(α,h(α))=(φ(h(α)), f(α,φ(h(α)))・g)のインデックスφ(h(α))が入力され、分散秘密値合成部124b−α−h(α)は、
DSH(α,h(α))=(φ(h(α)),dsh(α,φ(h(α)))) …(7)
の演算によって分散秘密値DSH(α,h(α))を生成して出力する(ステップS124b/《ステップS124の詳細》の説明終わり)。
生成された分散秘密値DSH(α,h(α))は送信部125−α−h(α)に送られる。送信部125−α−h(α)は、分散秘密値DSH(α,h(α))をネットワーク150経由で取得装置130に送信する(ステップS125)。
[取得装置の処理(ステップS13,S14)]
図10Aは、第1実施形態の取得装置の処理を例示するための図であり、図10Bは、ステップS134の処理を例示するための図である。
各分散管理装置PA(α,h(α))120−α−h(α)から送信された分散秘密値DSH(α,h(α))は、取得装置130(図4)の受信部136で受信され、記憶部132に格納される(ステップS131)。
次に、制御部133が、必要数以上の分散秘密値DSH(α,h(α))が記憶部132に格納されたか否かを判定する(ステップS132)。本形態の場合、各α=1,...,Lについて、それぞれ、相違なるR(α)(2≦R(α)<H(α))個以上の分散秘密値DSH(α,h(α))が記憶部132に格納されたか否かを判定する。ここで、必要数以上の分散秘密値DSH(α,h(α))が記憶部132に格納されていないと判定された場合には、ステップS131の処理に戻される。
一方、必要数以上の分散秘密値DSH(α,h(α))が記憶部132に格納されたと判定された場合、制御部133が、α=1に設定し、その設定内容を一時記憶部131に格納する(ステップS133)。次に、記憶部132から部分集合SUB(α)に対応する必要数分の分散秘密値DSH(α,h(α))が読み出され、復元部134−αに入力される。復元部134−αは、入力された分散秘密値DSH(α,h(α))を用い、部分集合SUB(α)ごとの復元処理によって秘密復元値SUBSK(α)を生成し、当該部分集合SUB(α)ごとの秘密復元値SUBSK(α)を出力する(ステップS134)。
《ステップS134の詳細》
本形態の分散秘密値DSH(α,h(α))は式(7)に示すものである。また、復元部134−α(図6)には、αごとにR(α)個ずつの相違なる分散秘密値DSH(α,h(α))が入力される。以下では、復元部134−αに入力される各αに対応する分散秘密値DSH(α,h(α))を以下のように表現する。
DSH(α,φ1(α))=(φ1(α),dsh(α,φ1(α)))
・・・ …(8)
DSH(α,φR(α)(α))=(φR(α)(α),dsh(α,φR(α)(α))
ただし、
1(α),...,φR(α)(α))⊂(φ(1),...,φ(H(α))) …(9)
(dsh1(α),...,dshR(α)(α))⊂(dsh(α,φ(1)),...,dsh(α,φ(H(α)))) …(10)
である。
まず、図10Bに例示するように、式(8)に示すDSH(α,φ1(α)),...,DSH(α,φR(α)(α))の各インデックスφ1(α),...,φR(α)(α)が係数算出部134a−αに入力され、係数算出部134a−αは、各ρ=1,...,R(α)について、それぞれ、
Figure 0005562475
の演算を行い、各係数λρ(x)(ρ=1,...,R(α))を生成して出力する(ステップS134a)。
次に、生成された各係数λρ(x)と、式(8)に示すDSH(α,φ1(α)),...,DSH(α,φR(α)(α))のdsh1(α),...,dshR(α)(α)とが、多項式演算部134b−αに入力される。多項式演算部134b−αは、
SUBSK(α)=λ1(ω)・dsh1(α)+...+λR(α)(ω)・dshR(α)(α)∈G …(12)
の演算によって、部分集合SUB(α)の秘密復元値SUBSK(α)を生成して出力する(ステップS134b/《ステップS134の詳細》の説明終わり)。
次に、制御部133は、一時記憶部131に格納されたαがLであるか否かを判定する(ステップS135)。ここで、α=Lでないと判定された場合、制御部133は、α+1を新たなαとし、その設定内容を一時記憶部131に格納し(ステップS136)、新たなαによってステップS134の処理を実行させる。
一方、ステップS135でα=Lであると判定された場合、各復元部134−αから出力された各秘密復元値SUBSK(α)が合成部137に送られる。合成部137は、各部分集合SUB(α)についてそれぞれ生成された各秘密復元値SUBSK(α)を用いて生成情報
SK=FNC2(SUBSK(1),...,SUBSK(L)) …(13)
を生成し、当該生成情報SKを出力する(ステップS141)。
《ステップS141の詳細》
以下に式(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の詳細》の説明終わり)。
<第1実施形態の特徴>
本形態では、分散装置110が部分集合SUB(α)ごとに独立に秘密情報θ・g∈Gを秘密分散してシェア情報SH(α,h(α))を生成し、各分散管理装置PA(α,h(α))120−α−h(α)が、共有値σ(α)と提供情報wを含む共通情報とシェア情報SH(α,h(α))とを用い、共通演算を行って分散秘密値DSH(α,h(α))を生成し、取得装置13が、同一の部分集合SUB(α)に対応する複数の分散秘密値DSH(α,h(α))を用い、部分集合SUB(α)ごとの復元処理によって秘密復元値SUBSK(α)を生成し、秘密復元値SUBSK(α)を用いて生成情報SKを生成することとした。
このように部分集合SUB(α)ごとに共有される共有値σ(α)を用い、部分集合SUB(α)ごとに秘密分散、共通演算、復元処理を行うため、これらの処理の実行は可能である。また、すべての分散管理装置PA(α,h(α))120−α−h(α)が値σを共有するのではなく、部分集合SUB(α)ごとに独立に共有値σ(α)を共有するため、安全性が高い。特に、本形態では、互いに異なる部分集合SUB(α)でそれぞれ共有される共有値σ(α)は、互いに独立なものとした。これにより、高い安全性を確保できる。
また、本形態では、分散管理装置PA(α,h(α))120−α−h(α)(α=1,...,L)がすべて同一の共通演算FNC1を行うこととした。また、本形態の共通演算FNC1は、線形性を持った演算である。よって、本形態では、秘密復元値SUBSK(α)を線形結合して生成情報SKを生成することにより、各秘密復元値SUBSK(α)を用いて生成された生成情報SKを、秘密情報θ・gと或る値σとを被演算子として共通演算FNC1を行った結果と同一にすることができる。
また、本形態では、(R(α),H(α))しきい値秘密分散法を用い、部分集合SUB(α)ごとに秘密情報θ・g∈Gを秘密分散した。この構成は、例えば、シェア情報SH(α,h(α))が、有限体Fqの元からなる変数をxとし、予め定められた有限体Fqの元ω∈Fqに対してf(α,ω)=θを満たすR(α)-1次の多項式をf(α,x)∈Fqとし、h(α)に対応するインデックスをφ(h(α))とした場合における、巡回群Gの元f(α,φ(h(α)))・g∈Gを含む構成とすることで可能である。このように巡回群の元である秘密情報θ・g∈Gを秘密分散することで、たとえ、シェア情報SH(α,h(α))から復元された秘密情報θ・gが外部に漏洩したとしても、巡回群Gでの離散対数問題の求解が困難であるとの前提のもとでは、θが外部に漏洩することはない。これにより、高い安全性を確保できる。
〔第1実施形態の変形例1〕
次に、第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では、図5Aの秘密分散部114−αが秘密分散部214−αに置換され、図5Bの分散秘密値生成部124−α−h(α)が分散秘密値生成部224−α−h(α)に置換される。その他の構成は、第1実施形態と同様である。
《第1実施形態の変形例1におけるステップS112の変形》
第1実施形態の変形例1では、図8Bに示したステップS112の処理が以下のように変形される。
まず、図8Bに示したステップS112a及びS112bが実行される。次に、ステップS112cの代わりに、秘密分散部214−αの分散処理部214c−α(図11A)が、多項式f(α,x)∈Fqとインデックスφ(h(α))∈Fqとを用い、シェア情報
SH(α,h(α))=(φ(h(α)), f(α,φ(h(α)))) …(16)
を生成して出力する(《第1実施形態の変形例1におけるステップS112の変形》の説明終わり)。
《第1実施形態の変形例1におけるステップS124の変形》
第1実施形態の変形例1では、図9Bに示したステップS124の処理が以下のように変形される。
まず、ステップS124aの代わりに、線形演算部224a−α−h(α)(図11B)に、共有値σ(α)と提供情報wとシェア情報SH(α,h(α))=(φ(h(α)), f(α,φ(h(α))))のf(α,φ(h(α)))とが入力され、線形演算部224a−α−h(α)は、
dsh(α,φ(h(α)))=σ(α)・w・f(α,φ(h(α)))・g∈G …(17)
の演算を行い、その演算結果dsh(α,φ(h(α)))∈Gを出力する。演算結果dsh(α,φ(h(α)))∈Gは分散秘密値DSH(α,h(α))の一部の情報となる。その後、図9Bに示したステップS124bの処理を実行する(《第1実施形態の変形例1におけるステップS124の変形》の説明終わり)。その他の処理は、第1実施形態と同様である。
〔第1実施形態の変形例2〕
次に、第1実施形態の変形例2を説明する。
第1実施形態の変形例2でも有限体Fqの元θ∈Fqを秘密分散する。第1実施形態の変形例1との相違点は、演算結果dsh(α,φ(h(α)))が巡回群Gの元ではなく、有限体Fqの元である点である。
図12Aは、第1実施形態における変形例2の分散秘密値生成部324−α−h(α)の構成を説明するための図であり、図12Bは、第1実施形態における変形例2の復元部334−αの構成を説明するための図である。なお、これらの図において、第1実施形態と共通する部分については、第1実施形態と同じ符号を付した。
第1実施形態の変形例2では、図5Bの分散秘密値生成部124−α−h(α)が分散秘密値生成部324−α−h(α)に置換され、図6の復元部134−αが復元部334−αに置換される。また、第1実施形態の変形例1と同様、図5Aの分散処理部114c−αが分散処理部214c−αに置換される。その他の構成は、第1実施形態と同様である。
《第1実施形態の変形例2におけるステップS112の変形》
第1実施形態の変形例1におけるステップS112の変形と同一である。
《第1実施形態の変形例2におけるステップS124の変形》
第1実施形態の変形例2では、図9Bに示したステップS124の処理が以下のように変形される。
まず、ステップS124aの代わりに、線形演算部324a−α−h(α)(図12A)に、共有値σ(α)と提供情報wとシェア情報SH(α,h(α))=(φ(h(α)), f(α,φ(h(α))))のf(α,φ(h(α)))とが入力され、線形演算部324a−α−h(α)が、
dsh(α,φ(h(α)))=σ(α)・w・f(α,φ(h(α)))∈Fq …(18)
の演算を行い、その演算結果dsh(α,φ(h(α)))∈Fqを出力する。演算結果dsh(α,φ(h(α)))∈Fqは分散秘密値DSH(α,h(α))の一部の情報となる。その後、図9Bに示したステップS124bの処理を実行する。
《第1実施形態の変形例2におけるステップS134の変形》
まず、図10Bに示したステップS134aの処理が実行される。次に、10Bに示したステップS134bの処理の代わりに、各係数λρ(x)と、式(8)に示すDSH(α,φ1(α)),...,DSH(α,φR(α)(α))のdsh1(α),...,dshR(α)(α)とが、多項式演算部334b−α(図12B)に入力され、多項式演算部334b−αが、
SUBSK(α)={λ1(ω)・dsh1(α)+...+λR(α)(ω)・dshR(α)(α)}・g∈G …(19)
の演算によって、部分集合SUB(α)の秘密復元値SUBSK(α)を生成して出力する(《第1実施形態の変形例2におけるステップS134の変形》の説明終わり)。その他の処理は、第1実施形態と同様である。
〔第1実施形態の変形例3〕
第1実施形態の変形例3は、(R(α),H(α))しきい値秘密分散法の代わりに(H(α),H(α))しきい値秘密分散法を用いて秘密情報を秘密分散する変形例である。
図13Aは、第1実施形態における変形例3の秘密分散部414−αの構成を説明するための図であり、図13Bは、第1実施形態における変形例3の分散秘密値生成部424−α−h(α)の構成を説明するための図であり、図13Cは、第1実施形態における変形例3の復元部434−αの構成を説明するための図である。
第1実施形態の変形例3では、図5Aの秘密分散部114−αが秘密分散部414−αに置換され、図5Bの分散秘密値生成部124−α−h(α)が分散秘密値生成部424−α−h(α)に置換され、図6の復元部134−αが復元部434−αに置換される。その他の構成は、第1実施形態と同様である。
《第1実施形態の変形例3におけるステップS112の変形》
第1実施形態の変形例3では、図8Bに示したステップS112の処理が以下のように変形される。
まず、秘密分散部414−α(図13A)の乱数生成部414a−αにおいて、H(α)-1個の巡回群Gの元
SH(α,1),...,SH(α,H(α)-1)∈G …(20)
をランダムに選択し、これらを出力する。
次に、逆元演算部414b−αに、秘密情報θ・g∈Gと、H(α)-1個の巡回群Gの元SH(α,1),...,SH(α,H(α)-1)∈Gとが入力される。逆元演算部414b−αは、
SH(α,h(α))=θ・g -{SH(α,1)+...+SH(α,H(α)-1)}∈G …(21)
の演算によって、SH(α,h(α))を生成して出力する。
そして、秘密分散部414−αは、
SH(α,1),...,SH(α,H(α))∈G
を部分集合SUB(α)のシェア情報として出力する。これらのシェア情報は、
SH(α,1)+SH(α,2)+...+SH(α,H(α))=θ・g∈G …(22)
を満たす(《第1実施形態の変形例3におけるステップS112の変形》の説明終わり)。
《第1実施形態の変形例3におけるステップS124の変形》
第1実施形態の変形例3では、図9Bに示したステップS124の処理が以下のように変形される。
まず、分散秘密値生成部424−α−h(α)(図13B)に、共有値σ(α)と提供情報wとシェア情報SH(α,1),...,SH(α,H(α))とが入力される。分散秘密値生成部424−α−h(α)は、
DSH(α,h(α))=σ(α)・w・SH(α,h(α))∈G …(23)
の演算によって、分散秘密値DSH(α,h(α))を生成して出力する(《第1実施形態の変形例3におけるステップS124の変形》の説明終わり)。
《第1実施形態の変形例3におけるステップS132の変形》
第1実施形態の変形例3では、図10Aに示したステップS132の処理が以下のように変形される。
この変形例3でも、制御部133が、必要数以上の分散秘密値DSH(α,h(α))が記憶部132に格納されたか否かを判定するが、変形例3での「必要数」はH(α)個である。つまり、この変形例3の場合、各α=1,...,Lについて、それぞれ、すべての分散秘密値DSH(α,h(α))が記憶部132に格納されたか否かが判定される。
《第1実施形態の変形例3におけるステップS134の変形》
第1実施形態の変形例3では、図10Bに示したステップS134の処理が以下のように変形される。
この変形例3の分散秘密値DSH(α,h(α))は式(23)に示すものである。また、復元部434−α(図13C)には、αに対応するすべての分散秘密値DSH(α,h(α))(h(α)=1,...,H(α))が入力される。そして、復元部434−αは、
SUBSK(α)=DSH(α,1)+...+DSH(α,H(α))∈G …(24)
の演算によって、部分集合SUB(α)の秘密復元値SUBSK(α)を生成して出力する(《第1実施形態の変形例3におけるステップS134の変形》の説明終わり)。その他の処理は、第1実施形態と同様である。
〔第1実施形態の変形例4〕
第1実施形態の変形例4も、(R(α),H(α))しきい値秘密分散法の代わりに(H(α),H(α))しきい値秘密分散法を用いて秘密情報を秘密分散する変形例である。変形例3との相違点は、有限体Fqの元である秘密情報θ∈Fqを秘密分散する点である。
図14Aは、第1実施形態における変形例4の秘密分散部514−αの構成を説明するための図であり、図14Bは、第1実施形態における変形例4の分散秘密値生成部524−α−h(α)の構成を説明するための図であり、図14Cは、第1実施形態における変形例4の復元部534−αの構成を説明するための図である。
第1実施形態の変形例4では、図5Aの秘密分散部114−αが秘密分散部514−αに置換され、図5Bの分散秘密値生成部124−α−h(α)が分散秘密値生成部524−α−h(α)に置換され、図6の復元部134−αが復元部534−αに置換される。その他の構成は、第1実施形態と同様である。
《第1実施形態の変形例4におけるステップS112の変形》
第1実施形態の変形例4では、図8Bに示したステップS112の処理が以下のように変形される。
まず、秘密分散部514−α(図14A)の乱数生成部514a−αにおいて、H(α)-1個の有限体Fqの元
SH(α,1),...,SH(α,H(α)-1)∈Fq …(25)
をランダムに選択し、これらを出力する。
次に、逆元演算部514b−αに、秘密情報θ∈Fqと、H(α)-1個の有限体Fqの元
SH(α,1),...,SH(α,H(α)-1)∈Fqとが入力される。逆元演算部514b−αは、
SH(α,h(α))=θ -{SH(α,1)+...+SH(α,H(α)-1)}∈Fq …(26)
の演算によって、SH(α,h(α))を生成して出力する。
そして、秘密分散部514−αは、
SH(α,1),...,SH(α,H(α))∈Fq …(27)
を部分集合SUB(α)のシェア情報として出力する。これらのシェア情報は、
SH(α,1)+SH(α,2)+...+SH(α,H(α))=θ∈Fq …(28)
を満たす(《第1実施形態の変形例4におけるステップS112の変形》の説明終わり)。
《第1実施形態の変形例4におけるステップS124の変形》
第1実施形態の変形例4では、図9Bに示したステップS124の処理が以下のように変形される。
まず、分散秘密値生成部524−α−h(α)(図14B)に、共有値σ(α)と提供情報wとシェア情報SH(α,1),...,SH(α,H(α))とが入力される。分散秘密値生成部524−α−h(α)は、
DSH(α,h(α))=σ(α)・w・SH(α,h(α))∈Fq …(29)
の演算によって、分散秘密値DSH(α,h(α))を生成して出力する(《第1実施形態の変形例4におけるステップS124の変形》の説明終わり)。
《第1実施形態の変形例4におけるステップS132の変形》
第1実施形態の変形例3と同じである。
《第1実施形態の変形例4におけるステップS134の変形》
第1実施形態の変形例4では、図10Bに示したステップS134の処理が以下のように変形される。
この変形例4の分散秘密値DSH(α,h(α))は式(29)に示すものである。また、復元部534−α(図14C)には、αに対応するすべての分散秘密値DSH(α,h(α))(h(α)=1,...,H(α))が入力される。そして、復元部534−αは、
SUBSK(α)={DSH(α,1)+...+DSH(α,H(α))}・g∈G …(30)
の演算によって、部分集合SUB(α)の秘密復元値SUBSK(α)を生成して出力する(《第1実施形態の変形例4におけるステップS134の変形》の説明終わり)。その他の処理は、第1実施形態と同様である。
〔第1実施形態のその他の変形例〕
その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。例えば、第1実施形態の変形例4の式(29)の代わりに
DSH(α,h(α))=σ(α)・w・SH(α,h(α))∈Fq …(31)
の演算を行い、式(30)の代わりに式(24)の演算を行ってもよい。また、秘密復元値SUBSK(α)が有限体Fqの元となる構成であってもよい。
また、本形態では、各部分集合SUB(α)に対してそれぞれ同一の秘密分散法を用いて秘密分散を行ったが、互いに異なる各部分集合SUBに対して互いに異なる秘密分散法を用いてもよい。
また、本形態では、各部分集合SUB(α)ごとに共有値生成装置140−αを設けたが、各部分集合SUB(α)の何れかの分散管理装置が共有値生成装置の機能を持っていてもよい。この場合には、共有値生成装置140−αは不要となる。
また、本形態では、共有値σ(α)と提供情報wとを含む共通情報と、シェア情報SH(α,h(α))とを用い、共通演算FNC1を行って分散秘密値DSH(α,h(α))を生成することとした。しかし、提供情報wを用いることなく、共有値σ(α)を共通情報として分散秘密値DSH(α,h(α))を生成してもよい。また、共通情報が、共有値σ(α)と提供情報wとその他の情報とを含むこととしてもよい。
また、分散秘密値DSH(α,h(α))を求めるための共通演算は、部分集合SUB(α)ごとに統一する必要はあるが、必ずしも、互いに異なる部分集合SUB(α)間で同一の共通演算を行う必要はない。
〔第2実施形態〕
次に、本発明の第2実施形態を説明する。本形態は第1実施形態を内積述語暗号の鍵生成に応用した形態である。
〔定義〕
まず、本形態で使用する用語や記号を定義する。
行列:「行列」とは演算が定義された集合の元を矩形に並べたものを表す。環の元を要素とするものだけではなく、群の元を要素とするものも「行列」と表現する。
(・)T:(・)Tは・の転置行列を表す。
(・)-1:(・)-1は・の逆行列を表す。
∧:∧は論理積を表す。
∨:∨は論理和を表す。
Z:Zは整数集合を表す。
k:kはセキュリティパラメータ(k∈Z, k>0)を表す。
Fq:Fqは位数qの有限体を表す。位数qは1以上の整数であり、例えば、素数や素数のべき乗値を位数qとする。すなわち、有限体Fqの例は素体やそれを基礎体とした拡大体である。
0F:0Fは有限体Fqの加法単位元を表す。
1F:1Fは有限体Fqの乗法単位元を表す。
δ(i,j):δ(i,j)はクロネッカーのデルタ関数を表す。i=jの場合にδ(i,j)=1Fを満たし、i≠jの場合にδ(i,j)=0 Fを満たす。
E:Eは有限体Fq上で定義された楕円曲線を表す。
G1, G2,GT:G1, G2, GTは位数qの巡回群を表す。巡回群G1, G2の具体例は、楕円曲線Eのp等分点からなる有限集合E[p]やその部分群である。G1=G2であってもよいしG1≠G2であってもよい。また、巡回群GTの具体例は、有限体Fqを基礎体とする拡大体を構成する有限集合である。その一例は、有限体Fqの代数閉包における1のp乗根からなる有限集合である。
なお、本形態では、巡回群G1, G2上で定義された演算を加法的に表現し、巡回群GT上で定義された演算を乗法的に表現する。例えば、χ∈Fq及びΩ∈G1に対するχ・Ω∈G1は、Ω∈G1に対して巡回群G1で定義された演算をχ回施すことを意味し、Ω1, Ω2∈G1に対するΩ12∈G1は、Ω1∈G1とΩ2∈G1とを被演算子として巡回群G1で定義された演算を行うことを意味する。例えば、χ∈Fq及びΩ∈G2に対するχ・Ω∈G2は、Ω∈G2に対して巡回群G2で定義された演算をχ回施すことを意味し、Ω1, Ω2∈G2に対するΩ12∈G2は、Ω1∈G2とΩ2∈G2とを被演算子として巡回群G2で定義された演算を行うことを意味する。例えば、χ∈Fq及びΩ∈GTに対するΩχ∈GTは、Ω∈GTに対して巡回群GTで定義された演算をχ回施すことを意味し、Ω12∈GTに対するΩ1・Ω2∈GTは、Ω1∈GTとΩ2∈GTとを被演算子として巡回群GTで定義された演算を行うことを意味する。
n:nは1以上の整数を表す。
ζ:ζは1以上の整数を表す。ζの一例は2又は3である。
G1 n+ζ:G1 n+ζはn+ζ個の巡回群G1の直積を表す。
G2 n+ζ:G2 n+ζはn+ζ個の巡回群G2の直積を表す。
g1, g2,gT:g1, g2, gTは巡回群G, G1, G2, GTの生成元を表す。
V:Vはn+ζ個の巡回群G1の直積からなるn+ζ次元のベクトル空間を表す。
V*:V*はn+ζ個の巡回群G2の直積からなるn+ζ次元のベクトル空間を表す。
e:eは直積G1 n+ζと直積G2 n+ζとの直積G1 n+ζ×G2 n+ζを巡回群GTに写す非退化な双線形写像(bilinear map)を計算するための関数(「双線形関数」と呼ぶ)を表す。双線形関数eは、巡回群G1のn+ζ個の元γβ(β=1,...,n+ζ)と巡回群G2のn+ζ個の元γβ *(β=1,...,n+ζ)とを入力とし、巡回群GTの1個の元を出力する。
e:G1 n+ζ×G2 n+ζ→GT …(32)
双線形関数eは以下の性質を満たす。
[双線形性]すべてのΓ1∈G1 n+ζ,Γ2∈G2 n+ζ及びν,κ∈Fqについて以下の関係を満たす。
e(ν・Γ1,κ・Γ2)=e(Γ12)ν・κ …(33)
[非退化性]すべてのΓ1∈G1 n+ζ,Γ2∈G2 n+ζを巡回群GTの単位元に写す関数ではない。
[計算可能性]あらゆる
Γ1∈G1 n+ζ,Γ2∈G2 n+ζ …(34)
についてe(Γ12)を効率的に計算するアルゴリズムが存在する。
本形態では、巡回群G1と巡回群G2との直積G1×G2を巡回群GTに写す非退化な双線形写像を計算するための関数
Pair:G1×G2→GT …(35)
を用いて双線形関数eを構成する。本形態の双線形関数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個の元を出力する関数であり、以下の性質を満たす。
[双線形性]すべてのΩ1∈G1,Ω2∈G2及びν,κ∈Fqについて以下の関係を満たす。
Pair(ν・Ω1,κ・Ω2)=Pair(Ω12)ν・κ …(37)
[非退化性]すべての
Ω1∈G1,Ω2∈G2 …(38)
を巡回群GTの単位元に写す関数ではない。
[計算可能性]あらゆるΩ1∈G1,Ω2∈G2についてPair(Ω12)を効率的に計算するアルゴリズムが存在する。
なお、双線形関数Pairの具体例は、WeilペアリングやTateペアリングなどのペアリング演算を行うための関数である(例えば、参考文献4「Alfred. J. Menezes,ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS, KLUWER ACADEMIC PUBLISHERS, ISBN0-7923-9368-6,pp. 61-81」等参照)。また、楕円曲線Eの種類に応じ、Tateペアリングなどのペアリング演算を行うための関数と所定の関数phiを組み合わせた変更ペアリング関数e(Ω1,phi(Ω2))(Ω1∈G1,Ω2∈G2)を双線形関数Pairとして用いてもよい(例えば、参考文献2等参照)。また、ペアリング演算をコンピュータ上で行うためのアルゴリズムとしては、周知のMiller のアルゴリズム(参考文献5「V. S. Miller, “Short Programs for functions on Curves,” 1986,インターネット<http://crypto.stanford.edu/miller/miller.pdf>」などが存在する。また、ペアリング演算を効率的に行うための楕円曲線や巡回群の構成方法はよく知られている(例えば、参考文献2、参考文献5「A. Miyaji, M. Nakabayashi, S.Takano, "New explicit conditions of elliptic curve Traces for FR-Reduction," IEICE Trans. Fundamentals, vol. E84-A, no05, pp. 1234-1243, May 2001」、参考文献6「P.S.L.M. Barreto, B. Lynn, M. Scott, "Constructing elliptic curves with prescribed embedding degrees," Proc. SCN '2002, LNCS 2576, pp.257-267, Springer-Verlag. 2003」、参考文献7「R. Dupont, A. Enge, F. Morain, "Building curves with arbitrary small MOV degree over finite prime fields," http://eprint.iacr.org/2002/094/」等参照)。
ai(i=1,...,n+ζ):aiは巡回群G1のn+ζ個の元を要素とするn+ζ次元の基底ベクトルを表す。基底ベクトルaiの一例は、κ1・g1∈G1をi次元目の要素とし、残りのn個の要素を巡回群G1の単位元(加法的に「0」と表現)とするn+ζ次元の基底ベクトルである。この場合、n+ζ次元の基底ベクトルai(i=1,...,n+ζ)の各要素をそれぞれ列挙して表現すると、以下のようになる。
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を張る。
ai *(i=1,...,n+ζ):巡回群G2のn+ζ個の元を要素とするn+ζ次元の基底ベクトルを表す。基底ベクトルai *の一例は、κ2・g2∈G2をi次元目の要素とし、残りのn個の要素を巡回群G2の単位元(加法的に「0」と表現)とするn+ζ次元の基底ベクトルである。この場合、基底ベクトルai *(i=1,...,n+ζ)の各要素をそれぞれ列挙して表現すると、以下のようになる。
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*を張る。
なお、基底ベクトルaiと基底ベクトルai *とは、0Fを除く有限体Fqの元τ=κ1・κ2について
e(ai, aj *)=gT τ・δ(i,j) …(41)
を満たす。すなわち、i=jの場合には、式(36)(37)の関係から、
e(ai, aj *)= Pair(κ1・g12・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 τ
を満たす。一方、i≠jの場合には、e(ai, aj *)=Πi=1 n+ζ Pair(ai, aj *)の右辺は、Pair(κ1・g12・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
を満たす。
特に、τ=κ1・κ2=1Fである場合(例えば、κ12=1Fの場合)、
e(ai, aj *)=gT δ(i,j) …(42)
を満たす。ここで、gT 0=1は巡回群GTの単位元であり、gT 1= gTは巡回群GTの生成元である。この場合、基底ベクトルaiと基底ベクトルai *とは双対正規直交基底であり、ベクトル空間Vとベクトル空間V*とは、双線形写像を構成可能な双対ベクトル空間〔双対ペアリングベクトル空間(DPVS:Dual Paring Vector space)〕である。
A:基底ベクトルai(i=1,...,n+ζ)を要素とするn+ζ行n+ζ列の行列を表す。例えば、基底ベクトルai(i=1,...,n+ζ)が式(39)によって表現される場合、行列Aは、
Figure 0005562475

となる。
A*:基底ベクトルai *(i=1,...,n+ζ)を要素とするn+ζ行n+ζ列の行列を表す。例えば、基底ベクトルai *(i=1,...,n+ζ)が式(40)によって表現される場合、行列A*は、
Figure 0005562475

となる。
X:有限体Fqの元を要素とするn+ζ行n+ζ列の行列を表す。基底ベクトルaiの座標変換に用いられる。行列Xのi行j列(i=1,...,n+ζ,j=1,...,n+ζ)の要素をχi,j∈Fqとすると、行列Xは、
Figure 0005562475

となる。なお、行列Xの各要素χi,jを変換係数と呼ぶ。
X *:X *は行列Xの逆行列の転置行列X*=(X-1)Tを表す。基底ベクトルai *の座標変換に用いられる。行列X*のi行j列の要素をχi,j *∈Fqとすると、行列X*は、
Figure 0005562475

となる。なお、行列X*の各要素χi,j *を変換係数と呼ぶ。
この場合、n+ζ行n+ζ列の単位行列をIとするとX・(X*)T=Iを満たす。すなわち、単位行列
Figure 0005562475

に対し、
Figure 0005562475

を満たす。ここで、n+ζ次元ベクトル
χi =(χi,1,...,χi,n+ζ) …(49)
χj →*=(χj,1 *,...,χj,n+ζ *) …(50)
を定義する。すると、式(48)の関係から、n+ζ次元ベクトルχi とχj →*との内積は、
χi ・χj →*=δ(i,j) …(51)
となる。
bi:biは巡回群G1のn+ζ個の元を要素とするn+ζ次元の基底ベクトルを表す。行列Xを用いて基底ベクトルai(i=1,...,n+ζ)を座標変換することで得られる。具体的には、基底ベクトルbiは、
bij=1 n+ζχi,j・aj …(52)
の演算によって得られる。例えば、基底ベクトルaj(j=1,...,n+ζ)が式(39)によって表現される場合、基底ベクトルbiの各要素をそれぞれ列挙して表現すると、以下のようになる。
bi=(χi,1・κ1・g1i,2・κ1・g1 ,...,χi,n+ζ・κ1・g1) …(53)
巡回群G1のn+ζ個の元を要素とするすべてのn+ζ次元ベクトルは、n+ζ次元の基底ベクトルbi(i=1,...,n+ζ)の線形和によって表される。すなわち、n+ζ次元の基底ベクトルbiは前述のベクトル空間Vを張る。
bi *:bi *は巡回群G2のn+ζ個の元を要素とするn+ζ次元の基底ベクトルを表す。行列X*を用いて基底ベクトルai *(i=1,...,n+ζ)を座標変換することで得られる。具体的には、基底ベクトルbi *は、
bi *j=1 n+ζχi,j *・aj * …(54)
の演算によって得られる。例えば、基底ベクトルaj *(j=1,...,n+ζ)が式(40)によって表現される場合、基底ベクトルbi *の各要素をそれぞれ列挙して表現すると、以下のようになる。
bi *=(χi,1 *・κ2・g2i,2 *・κ2・g2 ,...,χi,n+ζ *・κ2・g2) …(55)
となる。巡回群G2のn+ζ個の元を要素とするすべてのn+ζ次元ベクトルは、n+ζ次元の基底ベクトルbi *(i=1,...,n+ζ)の線形和によって表される。すなわち、n+ζ次元の基底ベクトルbi *は前述のベクトル空間V*を張る。
なお、基底ベクトルbiと基底ベクトルbi *とは、0Fを除く有限体Fqの元τ=κ1・κ2について
e(bi, bj *)=gT τ・δ(i,j) …(56)
を満たす。すなわち、式(36)(51)(53)(55)の関係から、
Figure 0005562475
を満たす。特に、τ=κ1・κ2=1Fである場合(例えば、κ12=1Fの場合)、
e(bi, bj *)=gT δ(i,j) …(57)
を満たす。この場合、基底ベクトルbiと基底ベクトルbi *とは、双対ペアリングベクトル空間(ベクトル空間Vとベクトル空間V*)の双対正規直交基底である。
なお、式(56)の関係を満たすのであれば、式(39)(40)で例示したもの以外の基底ベクトルai及びai *や、式(52)(54)で例示したもの以外の基底ベクトルbi及びbi *を用いてもよい。
B:Bは基底ベクトルbi(i=1,...,n+ζ)を要素とするn+ζ行n+ζ列の行列。B=X・Aを満たす。例えば、基底ベクトルbiが式(53)によって表現される場合、行列Bは、
Figure 0005562475

となる。
B*:B*は基底ベクトルbi *(i=1,...,n+ζ)を要素とするn+ζ行n+ζ列の行列を表す。B*=X*・A*を満たす。例えば、基底ベクトルbi *(i=1,...,n+ζ)が式(55)によって表現される場合、行列B*は、
Figure 0005562475
となる。
w:wは有限体Fqの元を要素とするn次元ベクトルを表す。
w=(w1,...,wn)∈Fq n …(60)
wμ:wμはn次元ベクトルのμ(μ=1,...,n)番目の要素を表す。
v:vは有限体Fqの元を要素とするn次元ベクトルを表す。
v=(v1,...,vn)∈Fq n …(61)
vμ:vμはn次元ベクトルのμ(μ=1,...,n)番目の要素を表す。
〔内積述語暗号〕
次に、内積述語暗号の基本的な構成について説明する。
<述語暗号>
述語暗号(「関数暗号」と呼ぶ場合もある)とは、「属性情報」と呼ばれる情報と「述語情報」と呼ばれる情報との組み合わせが所定の論理式を「真」にする場合に暗号文が復号できる方式である。「属性情報」と「述語情報」の一方が暗号文に埋め込まれ、他方が鍵情報に埋め込まれる。従来の述語暗号の構成は、例えば、参考文献8「"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」等に開示されている。
<内積述語暗号>
内積述語暗号は、属性情報や述語情報としてベクトルを用い、それらの内積が0となる場合に暗号文が復号される述語暗号である。内積述語暗号では、内積が0となることと論理式が「真」となることとが等価である。
[論理式と多項式との関係]
内積述語暗号では、論理和や論理積からなる論理式を多項式で表現する。
まず、「xがη1である」という命題1と「xがη2である」という命題2との論理和 (x=η1)∨(x=η2)を
(x-η1)・(x-η2) …(62)
という多項式で表現する。すると、各真理値と式(62)の関数値との関係は以下のようになる。
Figure 0005562475
[表1]から分かるように、論理和(x=η1)∨(x=η2)が真である場合、式(62)の関数値は0になり、論理和(x=η1)∨(x=η2)が偽である場合、式(62)の関数値は0以外の値となる。すなわち、論理和(x=η1)∨(x=η2)が真であることと、式(62)の関数値が0となることとは等価である。よって、論理和は式(62)で表現できる。
また、「xがη1である」という命題1と「xがη2である」という命題2との論理積 (x=η1)∧(x=η2)を
ι1・(x-η1)+ι2・(x-η2) …(63)
という多項式で表現する。ただし、ι1及びι2は乱数である。すると、真理値と式(63)の関数値とは以下の関係となる。
Figure 0005562475
[表2]から分かるように、論理積 (x=η1)∧(x=η2)が真である場合、式(63)の関数値は0になり、論理積 (x=η1)∧(x=η2)が偽である場合、式(63)の関数値は0以外の値となる。すなわち、論理積 (x=η1)∧(x=η2)が真であることと、式(63)の関数値が0となることとは等価である。よって、論理積は式(63)で表現できる。
以上のように、式(62)と式(63)とを用いることで論理和や論理積からなる論理式を多項式f(x)で表現できる。例えば、論理式{(x=η1)∨(x=η2)∨(x=η3)}∧(x=η4)∧(x=η5)は、多項式
f(x)=ι1・{(x-η1)・(x-η2)・(x-η3)}+ι2・(x-η4)+ι3・(x-η5) …(64)
で表現できる。
なお、式(62)では、1つの不定元xを用いて論理和を表現したが、複数の不定元を用いて論理和を表現することも可能である。例えば、2つの不定元x0及びx1を用い、「x0がη0である」という命題1と「x1がη1である」という命題2との論理和 (x00)∨(x11)を
(x00)・(x11)
という多項式で表現することも可能であり、3つ以上の不定元を用い、論理和を多項式で表現することも可能である。
また、式(63)では、1つの不定元xを用いて論理積を表現したが、複数の不定元を用いて論理積を表現することも可能である。例えば、また、「x0がη0である」という命題1と「x1がη1である」という命題2との論理積 (x00)∧(x11)を
ι0・(x00)+ι1・(x11)
という多項式で表現することも可能であり、3つ以上の不定元を用い、論理積を多項式で表現することも可能である。
論理和及び/又は論理積を含む論理式をH(H≧1)種類の不定元x0,...,xH-1を用いて表現した多項式をf(x0,...,xH-1)と表現する。また、各不定元x0,...,xH-1に対応する命題を「xhがηhである」とする。ただし、ηh(h=0,...H-1)は命題ごとに定まる定数である。この場合、当該論理式を示す多項式f(x0,...,xH-1)は、不定元xhと定数ηhとの差をとる多項式によって当該不定元xhが当該定数ηhであるという命題を表現し、命題をそれぞれ表現する多項式の積によって当該命題の論理和を表現し、命題又は命題の論理和をそれぞれ表現する多項式の線形和によって当該命題又は命題の論理和の論理積を表現し、それによって論理式を表現した多項式となる。例えば、5つの不定元x0,...,x4を用い、論理式{(x00)∨(x11)∨(x22)}∧(x33)∧(x44)を多項式で表現すると、
f(x0,...,x4)=ι0・{(x00)・(x11)・(x22)}+ι1・(x33)+ι2・(x44)
となる。
[多項式と内積の関係]
論理式を示す多項式f(x0,...,xH-1)は、2つのn次元ベクトルの内積で表現できる。すなわち、多項式f(x0,...,xH-1)は、当該多項式f(x0,...,xH-1)の各項の不定元成分を各要素とするベクトル
v=(v1,...,vn)
と、当該多項式f(x0,...,xH-1)の各項の係数成分を各要素とするベクトル
w=(w1,...,wn)
との内積
f(x0,...,xH-1)=w・v
に等しい。すなわち、論理式を示す多項式f(x0,...,xH-1)が0であるか否かと、多項式f(x0,...,xH-1)の各項の不定元成分を各要素とするベクトルvと、多項式f(x0,...,xH-1)の各項の係数成分を各要素とするベクトルwとの内積が0であるか否かとは等価である。
f(x0,...,xH-1)=0 ←→ w・v=0
例えば、1つの不定元xで表現された多項式f(x)=θ0・x01・x+...+θn-1・xn-1は、2つのn次元ベクトル
w=(w1,...,wn)=(θ0,...,θn-1) …(65)
v=(v1,...,vn)=(x0 ,...,xn-1) …(66)
の内積
f(x)= w・v …(67)
で表現できる。すなわち、論理式を示す多項式f(x)が0であるか否かと、式(67)の内積が0であるか否かとは等価である。
f(x)=0 ←→ w・v=0 …(68)
また、多項式f(x0,...,xH-1)の各項の不定元成分を各要素とするベクトルを
w=(w1,...,wn)
とし、多項式f(x0,...,xH-1)の各項の係数成分を各要素とするベクトル
v=(v1,...,vn)
としても、論理式を示す多項式f(x0,...,xH-1)が0であるか否かと、ベクトルwとベクトルvとの内積が0であるか否かとは等価である。
例えば、式(65)(66)の代わりに
w=(w1,...,wn)=(x0 ,...,xn-1) …(69)
v=(v1,...,vn)=(θ1,...,θn-1) …(70)
としても、論理式を示す多項式f(x)が0であるか否かと、式(67)の内積が0であるか否かとは等価である。
内積述語暗号では、ベクトルv=(v0,...,vn-1)及びw=(w0,...,wn-1)の何れか一方を属性情報とし、他方を述語情報とし、属性情報と述語情報の一方が暗号文に埋め込まれ、他方が鍵情報に埋め込まれる。例えば、n次元ベクトル(θ0,...,θn-1)が述語情報とされ、n次元ベクトル(x0 ,...,xn-1)が属性情報とされ、属性情報と述語情報の一方が暗号文に埋め込まれ、他方が鍵情報に埋め込まれる。なお、以下では、鍵情報に埋め込まれるn次元ベクトルをw=(w1,...,wn)とし、暗号文に埋め込まれるn次元ベクトルをv=(v1,...,vn)とする。例えば、
述語情報:w=(w1,...,wn)=(θ0,...,θn-1)
属性情報:v=(v1,...,vn)=(x0 ,...,xn-1)
であるか、
述語情報:v=(v1,...,vn)=(θ0,...,θn-1)
属性情報:w=(w1,...,wn)=(x0 ,...,xn-1)
である。
[内積述語暗号の基本構成]
以下では、内積述語暗号を用いて鍵カプセル化メカニズムKEM (Key Encapsulation Mechanisms)を構成する場合の基本構成を例示する。この構成はSetup(1k),GenKey(MSK,w),Enc(PA,v),Dec(SKw,C2)を含む。
《Setup(1k):セットアップ》
−入力:セキュリティパラメータk
−出力:マスター鍵情報MSK,公開パラメータPK
Setup(1k)の一例では、まず、セキュリティパラメータkをnとして、n+ζ次元の基底ベクトルai(i=1,...,n+ζ)を要素とするn+ζ行n+ζ列の行列Aと、基底ベクトルai *(i=1,...,n+ζ)を要素とするn+ζ行n+ζ列の行列A*と、座標変換のためのn+ζ行n+ζ列の行列X,X*とが選択される。次に、式(52)に従って座標変換されたn+ζ次元の基底ベクトルbi(i=1,...,n+ζ)が算出され、式(54)に従って座標変換されたn+ζ次元の基底ベクトルbi *(i=1,...,n+ζ)が算出される。そして、基底ベクトルbi *(i=1,...,n+ζ)を要素とするn+ζ行n+ζ列の行列B*がマスター鍵情報MSKとして出力され、ベクトル空間V, V*、基底ベクトルbi(i=1,...,n+ζ)を要素とするn+ζ行n+ζ列の行列B、セキュリティパラメータk、有限体Fq、楕円曲線E、巡回群G1, G2, GT、生成元g1, g2, gT、双線形関数eなどが公開パラメータPKとして出力される。
《GenKey(MSK,w):鍵情報生成》
−入力:マスター鍵情報MSK,ベクトルw
−出力:ベクトルwに対応する鍵情報D*
GenKey(MSK,w)の一例では、まず、有限体Fqから元σ∈Fqが選択される。そして、マスター鍵情報MSKである行列B*を用い、ベクトルwに対応する鍵情報
D*=σ・(Σμ=1 nwμ・bμ *)+bn+1 *∈G2 n+1 …(71)
が生成され、出力される。なお、巡回群G2上での離散対数問題の求解が困難である場合、鍵情報D*からbμ *の成分を分離抽出することは困難である。
《Enc(PA,v):暗号化》
−入力:公開パラメータPK,ベクトルv
−出力:暗号文C2,共通鍵K
Enc(PA,v)の一例では、まず、共通鍵Kと有限体Fqの元である乱数υ0とが生成される。そして、行列Bなどの公開パラメータPKと、有限体Fqの元υ1,...,υζと、ベクトルvと、乱数υ0とを用い、暗号文
C20・(Σμ=1 nvμ・bμ)+Σμ=n+1 n+ζυμ-n・bμ∈G1 n+ζ …(72)
が生成される。そして、暗号文C2と共通鍵Kとが出力される。共通鍵Kの一例はK=gT τ・υ1∈GTである。ここで、添え字のυ1はυ1を意味する。また、前述のようにτの一例はτ=1Fである。なお、巡回群G1上での離散対数問題の求解が困難である場合、暗号文C2からbμの成分を分離抽出することは困難である。
《Dec(SKw,C2):復号・鍵共有》
−入力:ベクトルwに対応する鍵情報D1 *,暗号文C2
−出力:共通鍵K
Dec(SKw,C2)の一例では、まず、暗号文C2と鍵情報D1 *とが式(32)の双線形関数eに入力される。すると、式(33)(56)の性質から、
Figure 0005562475
を満たす。
ここで、内積w・v=0であれば、式(73)は、
Figure 0005562475

と変形できる。この結果から共通鍵Kが生成され出力される。共通鍵Kの一例はK=gT τ・υ1∈GTである。
<全体構成>
図15は、第2実施形態の分散装置810の構成を説明するためのブロック図である。また、図16は、第2実施形態の分散管理装置〔PA(α,h(α))〕820−α−h(α)の構成を説明するためのブロック図である。図17は、第2実施形態の取得装置830の構成を説明するためのブロック図である。図18は、図17の合成部835の構成を説明するためのブロック図である。なお、これらの図において第1実施形態と共通する部分については、第1実施形態と同じ符号を付して説明を簡略化する。
本形態の秘密分散システムは、図1の分散装置110が分散装置810に置換され、分散管理装置〔PA(α,h(α))〕120−α−h(α)が分散管理装置〔PA(α,h(α))〕820−α−h(α)に置換され、取得装置130が取得装置830に置換されたものである。
<分散装置810>
図15に例示するように、本形態の分散装置810は、一時記憶部111と、記憶部112と、制御部113と、秘密分散部814−α(α=1,...,L)と、送信部115とを有する。なお、本形態の分散装置810は、例えば、CPU、RAM、ROM等を備える公知のコンピュータに所定のプログラムが読み込まれて実行されることで構成される。
<分散管理装置〔PA(α,h(α))〕820−α−h(α)>
図16に例示するように、本形態の分散管理装置〔PA(α,h(α))〕820−α−h(α)は、一時記憶部121−α−h(α)と、記憶部122−α−h(α)と、制御部123−α−h(α)と、分散秘密値生成部824−α−h(α)と、送信部125−α−h(α)と、受信部126−α−h(α)とを有する。なお、本形態の分散管理装置〔PA(α,h(α))〕820−α−h(α)は、例えば、CPU、RAM、ROM等を備える公知のコンピュータに所定のプログラムが読み込まれて実行されることで構成される。
<共有値生成装置140−α>
第1実施形態と同様である。
<取得装置830>
図17に例示するように、本形態の取得装置830は、一時記憶部131と、記憶部132と、制御部133と、復元部834−α(α=1,...,L)と、合成部835と、送信部135と、受信部136とを有する。また、図18に例示するように、合成部835は、第1演算部835aと第2演算部835bとを有する。なお、本形態の取得装置830は、例えば、CPU、RAM、ROM等を備える公知のコンピュータに所定のプログラムが読み込まれて実行されることで構成される。
<秘密分散処理>
次に、本形態の秘密分散処理を説明する。
本形態では、第1実施形態を応用し、内積述語暗号のマスター鍵情報MSKである行列B*(式(59))を秘密分散し、式(71)に例示したような鍵情報D*を復元する。以下では、式(71)の鍵情報D*を生成情報
SK=σ(α)・{Σμ=1 nwμ・bμ *}+Σμ=n+1 n+ζbμ *∈Gn+ζ …(75)
に一般化して説明する。式(71)はζ=1の例である。
まず、式(55)に示した行列B*を構成する各要素
χi,β・κ2・g2∈G2 (i=1,...,n+ζ,β=1,...,n+ζ) …(76)

θ(i,β)・g2∈G2 …(77)
θ(i,β)=χi,β・κ2∈Fq …(78)
と表現する。すなわち、式(55)の基底ベクトルbi *
bi *=(θ(i,1)・g2,...,θ(i,n+ζ)・g2)∈G2 n+ζ …(79)
と表現する。すると、第1実施形態又はその変形例を多次元に拡張することで、行列B*の秘密分散や生成情報SKの復元を実行できることが分かる。
以下では、第1実施形態及びその変形例との相違点を中心に説明し、それらと共通する事項については説明を省略する。
[事前処理]
本形態の秘密分散処理の事前処理として、各基底ベクトルbi *の要素である秘密情報θ(i,β)・g2∈G2(i=1,...,n+ζ,β=1,...,n+ζ)を特定するための情報θ(i,β)∈Fqが分散装置810の記憶部112に格納される。
[秘密分散処理の全体]
図19は、第2実施形態の秘密分散処理の全体を説明するための図である。以下、図19を用いて、本形態の秘密分散処理の全体を説明する。
本形態では、まず、分散装置810(図15)が、部分集合SUB(α)ごとに独立に、各基底ベクトルbi *の要素である秘密情報θ(i,β)・g2∈G2を秘密分散してシェア情報SH(i,β,α,h(α))を生成し、当該シェア情報SH(i,β,α,h(α))を出力する(ステップS81)。なお、秘密分散の具体的な方法は第1実施形態と同様である。また、シェア情報SH(i,β,α,h(α))∈G2(i=1,...,n+ζ,β=1,...,n+ζ)の集合をシェア情報SH(α,h(α))と呼ぶ。各シェア情報SH(α,h(α))は、それぞれ、ネットワーク150経由で各分散管理装置〔PA(α,h(α))〕820−α−h(α)に分散して送信される。
各シェア情報SH(α,h(α))が送信された各分散管理装置〔PA(α,h(α))〕820−α−h(α)は、それぞれ、シェア情報SH(α,h(α))を構成するシェア情報SH(i,β,α,h(α))と、部分集合SUB(α)ごとに共有される共有値σ(α)と、有限体Fqの元を要素wμ(μ=1,...,n)とするn次元ベクトルw=(w1,...,wn)とを用い、分散秘密値DSH(α,h(α))を生成する(ステップS82)。本形態の分散秘密値DSH(α,h(α))は、n+ζ個のシェア情報SH(i,1,α,h(α)),...,SH(i,n+ζ,α,h(α))を要素とするn+ζ次元のシェア基底ベクトル
SHbi *(α,h(α))=(SH(i,1,α,h(α)),...,SH(i,n+ζ,α,h(α))∈Gn+ζ …(80)
に対する、
DSH(α,h(α))
=σ(α)・{Σμ=1 nwμ・SHbμ *(α,h(α))}+Σμ=n+1 n+ζSHbμ *(α,h(α))∈Gn+ζ …(81)
である。本形態の場合、互いに異なる部分集合SUB(α)でそれぞれ共有される共有値σ(α)は互いに独立である。
各分散管理装置〔PA(α,h(α))〕820−α−h(α)から出力された各分散秘密値DSH(α,h(α))は、それぞれ、ネットワーク150経由で取得装置830に送信される。取得装置830は、同一の部分集合SUB(α)に対応する複数の分散秘密値DSH(α,h(α))を用い、部分集合SUB(α)ごとの復元処理によって秘密復元値
SUBSK(α)=σ(α)・{Σμ=1 nwμ・bμ *}+Σμ=n+1 n+ζbμ *∈Gn+ζ …(82)
を生成する(ステップS83)。この処理は、分散秘密値DSH(α,h(α))の次元μごとに第1実施形態又はその変形例で示した復元処置を実行することで実現できる。
次に、取得装置830は、各部分集合SUB(α)についてそれぞれ生成された秘密復元値SUBSK(α)を用いて生成情報SKを生成し、当該生成情報SKを出力する(ステップS84)。 なお、本形態では、取得装置830が秘密復元値SUBSK(α)を線形結合して生成情報SKを生成する。生成情報の具体例は、
SK={(σ(1)+...+σ(L))/L}・{Σμ=1 nwμ・bμ *}+Σμ=n+1 n+ζbμ *∈Gn+ζ …(83)
である。
[分散装置の処理(テップS81)]
図20は、第2実施形態の分散装置の処理を例示するための図である。以下、この図を用いて、分散装置810の処理の詳細を説明する。
まず、分散装置810(図15)の制御部113が、α=1,β=1に設定し、その設定内容を一時記憶部111に格納する(ステップS811)。次に、分散装置810の制御部113が、i=1に設定し、その設定内容を一時記憶部111に格納する(ステップS812)。
次に、記憶部112から秘密情報θ(i,β)・g2∈G2(i=1,...,n+ζ,β=1,...,n+ζ)を特定するための情報θ(i,β)∈Fqそれぞれ読み出され、秘密分散部814−αに入力される。秘密分散部814−αは、各情報θ(i,β)∈Fqを用いて各秘密情報θ(i,β)・g2を秘密分散し、部分集合SUB(α)に対するH(α)個のシェア情報
SH(i,β,α,1),...,SH(i,β,α,H(α)) …(84)
を生成して出力する(ステップS813)。この処理は、第1実施形態のステップS112又はその変形と同様な方法で実行できる。
次に、制御部113は、一時記憶部111に格納されたβがn+ζであるか否かを判定する(ステップS814)。ここで、β=n+ζでないと判定された場合、制御部113は、β+1を新たなβとし、その設定内容を一時記憶部111に格納し(ステップS815)、新たなβによってステップS813の処理を実行させる。
一方、ステップS814でβ=n+ζであると判定された場合、制御部113は、β=1に設定し、その設定内容を一時記憶部111に格納する(ステップS816)。そして次に、制御部113は、一時記憶部111に格納されたiがn+ζであるか否かを判定する(ステップS817)。ここで、i=n+ζでないと判定された場合、制御部113は、i+1を新たなiとし、その設定内容を一時記憶部111に格納し(ステップS818)、新たなiによってステップS813の処理を実行させる。
一方、ステップS817でi=n+ζであると判定された場合、制御部113は、一時記憶部111に格納されたαがLであるか否かを判定する(ステップS113)。ここで、α=Lでないと判定された場合、制御部113は、α+1を新たなαとし、その設定内容を一時記憶部111に格納し(ステップS114)、新たなαによってステップS812の処理を実行させる。
一方、ステップS113でα=Lであると判定された場合、各秘密分散部814−αから出力された各シェア情報SH(α,h(α))が送信部115に送られる。送信部115は、ネットワーク150経由で、(n+ζ)2個ずつのシェア情報
SH(i,β,α,h(α)) (i=1,...,n+ζ,β=1,...,n+ζ) …(85)
をそれぞれ分散管理装置〔PA(α,h(α))〕820−α−h(α)に送信する(ステップS819)。すなわち、(n+ζ)2個のシェア情報SH(i,β,1,1)(i=1,...,n+ζ,β=1,...,n+ζ)からなるシェア情報SH(1,1)は分散管理装置〔PA(1,1)〕820−1−1に、(n+ζ)2個のシェア情報SH(i,β,1,2)(i=1,...,n+ζ,β=1,...,n+ζ)からなるシェア情報SH(1,2)は分散管理装置〔PA(1,2)〕820−1−2に、・・・、(n+ζ)2個のシェア情報SH(i,β, L, H(L))(i=1,...,n+ζ,β=1,...,n+ζ)からなるシェア情報SH(L,H(L))は分散管理装置〔PA(L,H(L))〕820−L−H(L)に、それぞれ送信される。
[共有値生成装置の処理]
各共有値生成装置140−α(図3B)は、自らに対応する部分集合SUB(α)を構成する各分散管理装置〔PA(α,h(α))〕820−α−h(α)で共有する共有値σ(α)を生成する。本形態では、乱数生成部141−αが生成した乱数を共有値σ(α)とし、送信部142−αが共有値σ(α)を、部分集合SUB(α)を構成する各分散管理装置〔PA(α,h(α))〕820−α−h(α)に送信する。
[分散管理装置の処理(ステップS82)]
図21は、第2実施形態の分散管理装置〔PA(α,h(α))〕820−α−h(α)の処理を例示するための図である。以下、この図を用いて、本形態の分散管理装置〔PA(α,h(α))〕820−α−h(α)の処理を説明する。
まず、分散管理装置〔PA(α,h(α))〕820−α−h(α)(図16)の受信部126−α−h(α)が、送信された(n+ζ)2個のシェア情報SH(i,β,α,h(α))(i=1,...,n+ζ,β=1,...,n+ζ)からなるシェア情報SH(α, h(α))を受信し、それを記憶部122−α−h(α)に格納する(ステップS821)。なお、過去にステップS821の処理が実行され、既にシェア情報SH(α,h(α))が分散管理装置〔PA(α,h(α))〕820−α−h(α)の記憶部122−α−h(α)に格納されているのであれば、ステップS821の処理を省略してもよい。
また、分散管理装置〔PA(α,h(α))〕820−α−h(α)の受信部126−α−h(α)は、共有値生成装置140−αから送信された共有値σ(α)を受信し、それを記憶部122−α−h(α)に格納する(ステップS122)。
また、本形態では、取得装置830(図17)の記憶部132から読み出された提供情報であるn次元ベクトルw=(w1,...,wn)が、送信部135から、ネットワーク150経由で各分散管理装置〔PA(α,h(α))〕820−α−h(α)に送信される。このn次元ベクトルw=(w1,...,wn)は、すべての分散管理装置PA(α,h(α))820−α−h(α)に共通である。n次元ベクトルw=(w1,...,wn)は、分散管理装置〔PA(α,h(α))〕820−α−h(α)(図16)の受信部126−α−h(α)で受信され、記憶部122−α−h(α)に格納される(ステップS823)。
次に、分散秘密値生成部824−α−h(α)が、記憶部122−α−h(α)からシェア情報SH(α,h(α))と共有値σ(α)とn次元ベクトルw=(w1,...,wn)とを読み込む。分散秘密値生成部824−α−h(α)は、共有値σ(α)とw=(w1,...,wn)とを含む共通情報と、シェア情報SH(α,h(α))とを用い、式(81)に示す分散秘密値DSH(α,h(α))を生成し、当該分散秘密値DSH(α,h(α))を出力する(ステップS824)。
生成された分散秘密値DSH(α,h(α))は送信部125−α−h(α)に送られる。送信部125−α−h(α)は、分散秘密値DSH(α,h(α))をネットワーク150経由で取得装置830に送信する(ステップS125)。
[取得装置の処理(ステップS83,S84)]
図22は、第2実施形態の取得装置の処理を例示するための図である。
各分散管理装置PA(α,h(α))820−α−h(α)から送信された分散秘密値DSH(α,h(α))は、取得装置830(図17)の受信部136で受信され、記憶部132に格納される(ステップS131)。
次に、制御部133が、必要数以上の分散秘密値DSH(α,h(α))が記憶部132に格納されたか否かを判定する(ステップS132)。ここで、必要数以上の分散秘密値DSH(α,h(α))が記憶部132に格納されていないと判定された場合には、ステップS131の処理に戻される。
一方、必要数以上の分散秘密値DSH(α,h(α))が記憶部132に格納されたと判定された場合、制御部133が、α=1に設定し、その設定内容を一時記憶部131に格納する(ステップS133)。次に、記憶部132から部分集合SUB(α)に対応する必要数分の分散秘密値DSH(α,h(α))が読み出され、復元部834−αに入力される。復元部834−αは、入力された分散秘密値DSH(α,h(α))を用い、部分集合SUB(α)ごとの復元処理によって式(82)に示す秘密復元値SUBSK(α)を生成し、当該部分集合SUB(α)ごとの秘密復元値SUBSK(α)を出力する(ステップS834)。
次に、制御部133は、一時記憶部131に格納されたαがLであるか否かを判定する(ステップS135)。ここで、α=Lでないと判定された場合、制御部133は、α+1を新たなαとし、その設定内容を一時記憶部131に格納し(ステップS136)、新たなαによってステップS834の処理を実行させる。
一方、ステップS135でα=Lであると判定された場合、各復元部134−αから出力された各秘密復元値SUBSK(α)が合成部835に送られる。合成部835の第1演算部835a(図18)は、線形和
SUBSK(1)+...+SUBSK(L)
=(σ(1)+...+σ(L))・{Σμ=1 nwμ・bμ *}+L・Σμ=n+1 n+ζbμ *∈Gn+ζ …(86)
を生成して出力する(ステップS841)。
線形和SUBSK(1)+...+SUBSK(L)は、第2演算部835bに入力される。第2演算部835bは、生成情報
SK={(σ(1)+...+σ(L))/L}・{Σμ=1 nwμ・bμ *}+Σμ=n+1 n+ζbμ *∈Gn+ζ …(87)
を生成し、当該生成情報SKを出力する(ステップS842)。
<第2実施形態の変形例>
本形態でも、第1実施形態の各変形例を適用できる。
〔その他の変形例等〕
本発明は上述の各実施の形態に限定されるものではない。例えば、上述の有限体Fq上で定義された各演算を位数qの有限環Zq上で定義された演算に置き換えてもよい。有限体Fq上で定義された各演算を有限環Zq上で定義された演算に置き換える方法の一例は、素数やそのべき乗値以外のqを許容する方法である。
また、式(71)の代わりに
D*=σ・(Σμ=1 nwμ・bμ *)+Σι=n+1 n+ζυι・bι *∈G2 n+ζ
を用いてもよい。ただし、υιは定数や変数(乱数など)などである。
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
1 秘密分散システム
110,810 分散装置
120,820 分散管理装置
130,830 取得装置
140 共有値生成装置

Claims (13)

  1. 分散装置と、Σα=1 Lh(α)個の分散管理装置PA(α,h(α))(α=1,...,L, L≧2, h(α)=1,...,H(α), H(α)≧2)と、取得装置と、を有し、
    前記分散装置は、
    或る秘密分散方式を用い、H(α)個の分散管理装置PA(α,1),...,PA(α,H(α))からなる部分集合SUB(α)ごとに独立に秘密情報を秘密分散してシェア情報SH(α,h(α))を生成し、当該シェア情報SH(α,h(α))を出力するように構成された秘密分散部を含み、
    前記分散管理装置PA(α,h(α))は、
    前記部分集合SUB(α)ごとに共有される共有値σ(α)を含む共通情報と、前記シェア情報SH(α,h(α))とを用い、共通演算を行って分散秘密値DSH(α,h(α))を生成し、当該分散秘密値DSH(α,h(α))を出力するように構成された分散秘密値生成部を含み、
    同一の前記部分集合SUB(α)に属する前記分散管理装置PA(α,h(α))がそれぞれ用いる前記共通情報は互いに同一であり、
    同一の前記部分集合SUB(α)に属する前記分散管理装置PA(α,h(α))がそれぞれ行う前記共通演算は互いに同一であり、
    前記取得装置は、
    同一の前記部分集合SUB(α)に対応する複数の前記分散秘密値DSH(α,h(α))を用い、部分集合SUB(α)ごとの復元処理によって秘密復元値SUBSK(α)を生成し、当該部分集合SUB(α)ごとの前記秘密復元値SUBSK(α)を得るように構成され、前記復元処理が前記秘密分散方式に従った処理である、復元部と、
    前記秘密復元値SUBSK(α)を用いて生成情報SKを生成し、当該生成情報SKを出力するように構成された合成部と、を含み、
    前記秘密情報は、巡回群Gの生成元をgとし、θ(i,β)(i=1,...,n+ζ, β=1,...,n+ζ, n≧1, ζ≧1)を有限体Fqの元とし、前記巡回群Gのn+ζ個の元を要素とするn+ζ次元の基底ベクトルをbi *=(θ(i,1)・g,...,θ(i,n+ζ)・g)∈Gn+ζとした場合における、当該基底ベクトルbi *の集合(b1 *,...,bn+ζ *)であり、
    前記秘密分散部は、各基底ベクトルbi *の要素θ(i,β)・g∈Gをそれぞれ前記部分集合SUB(α)ごとに独立に秘密分散したシェア情報SH(i,β,α,h(α))∈Gを生成するように構成され、前記シェア情報SH(α,h(α))は、前記シェア情報SH(i,β,α,h(α))∈G (i = 1, ..., n + z, b = 1, ..., n + z)の集合であり、
    前記分散秘密値生成部は、前記シェア情報SH(i,β,α,h(α)) (i = 1, ..., n + z, b = 1, ..., n + z)と前記共有値σ(α)と前記有限体Fqの元を要素wμ(μ=1,...,n)とするn次元ベクトルw=(w1,...,wn)とを用い、前記分散秘密値DSH(α,h(α))を生成し、前記分散秘密値DSH(α,h(α))は、n+ζ個のシェア情報SH(i,1,α,h(α)),...,SH(i,n+ζ,α,h(α))を要素とするn+ζ次元のシェア基底ベクトルSHbi *(α,h(α))=(SH(i,1,α,h(α)),...,SH(i,n+ζ,α,h(α))∈Gn+ζに対する、DSH(α,h(α))=σ(α)・{Σμ=1 nwμ・SHbμ *(α,h(α))}+Σμ=n+1 n+ζSHbμ *(α,h(α))∈Gn+ζであり、
    前記秘密復元値SUBSK(α)は、SUBSK(α)=σ(α)・{Σμ=1 nwμ・bμ *}+Σμ=n+1 n+ζbμ *∈Gn+ζである、秘密分散システム。
  2. 請求項1の秘密分散システムであって、
    前記合成部は、前記生成情報SK={(σ(1)+...+σ(L))/L}・{Σμ=1 nwμ・bμ *}+Σμ=n+1 n+ζbμ *を算出するように構成される、秘密分散システム。
  3. 秘密情報を入力とし、H(α)(α=1,...,L, L≧2, h(α)=1,...,H(α), H(α)≧2)個の分散管理装置PA(α,1),...,PA(α,H(α))からなる部分集合SUB(α)ごとに独立に前記秘密情報を秘密分散してシェア情報SH(α,h(α))を生成し、当該シェア情報SH(α,h(α))を出力するように構成された秘密分散部を有し、
    前記秘密情報は、巡回群Gの生成元をgとし、θ(i,β)(i=1,...,n+ζ, β=1,...,n+ζ, n≧1, ζ≧1)を有限体Fqの元とし、前記巡回群Gのn+ζ個の元を要素とするn+ζ次元の基底ベクトルをbi *=(θ(i,1)・g,...,θ(i,n+ζ)・g)∈Gn+ζとした場合における、当該基底ベクトルbi *の集合(b1 *,...,bn+ζ *)であり、
    前記秘密分散部は、各基底ベクトルbi *の要素θ(i,β)・g∈Gをそれぞれ前記部分集合SUB(α)ごとに独立に秘密分散したシェア情報SH(i,β,α,h(α))∈Gを生成するように構成され、前記シェア情報SH(α,h(α))は、前記シェア情報SH(i,β,α,h(α))∈G (i=1,...,n+z, b=1,...,n+z)の集合である、分散装置。
  4. H(α)(α=1,...,L, L≧2, h(α)=1,...,H(α), H(α)≧2)個の分散管理装置PA(α,1),...,PA(α,H(α))からなる部分集合SUB(α)ごとに共有される共有値σ(α)を含む共通情報と、前記部分集合SUB(α)ごとに独立に秘密情報を秘密分散して得られたシェア情報SH(α,h(α))とを用い、共通演算を行って分散秘密値DSH(α,h(α))を生成し、当該分散秘密値DSH(α,h(α))を出力するように構成された分散秘密値生成部を有し、
    同一の前記部分集合SUB(α)に属する前記分散管理装置PA(α,h(α))がそれぞれ用いる前記共通情報は互いに同一であり、
    同一の前記部分集合SUB(α)に属する前記分散管理装置PA(α,h(α))がそれぞれ行う前記共通演算は互いに同一であり、
    前記提供情報は、有限体Fqの元を要素wμ(μ=1,...,n)とするn次元ベクトルw=(w1,...,wn)であり、
    前記分散秘密値生成部は、前記シェア情報SH(i,β,α,h(α))と前記共有値σ(α)と有限体Fqの元を要素wμ(μ=1,...,n)とするn次元ベクトルw=(w1,...,wn)とを用い、前記分散秘密値DSH(α,h(α))を生成し、前記分散秘密値DSH(α,h(α))は、n+ζ個(ζ≧1)のシェア情報SH(i,1,α,h(α)),...,SH(i,n+ζ,α,h(α))を要素とするn+ζ次元のシェア基底ベクトルSHbi *(α,h(α))=(SH(i,1,α,h(α)),...,SH(i,n+ζ,α,h(α))∈Gn+ζに対する、DSH(α,h(α))=σ(α)・{Σμ=1 nwμ・SHbμ *(α,h(α))}+Σμ=n+1 n+ζSHbμ *(α,h(α))∈Gn+ζである、分散管理装置。
  5. H(α)(α=1,...,L, L≧2, h(α)=1,...,H(α), H(α)≧2)個の分散管理装置PA(α,1),...,PA(α,H(α))からなる部分集合をSUB(α)とした場合における、同一の前記部分集合SUB(α)に対応する複数の分散秘密値DSH(α,h(α))を用い、当該部分集合SUB(α)ごとの復元処理によって秘密復元値SUBSK(α)を生成し、当該部分集合SUB(α)ごとの前記秘密復元値SUBSK(α)を得るように構成され、前記復元処理が或る秘密分散方式に従った処理である、復元部と、
    前記秘密復元値SUBSK(α)を用いて生成情報SKを生成し、当該生成情報SKを出力するように構成された合成部と、有し、
    前記秘密復元値SUBSK(α)は、前記部分集合SUB(α)ごとに共有される共有値をσ(α)とし、巡回群Gの生成元をgとし、θ(i,β)(i=1,...,n+ζ, β=1,...,n+ζ, n≧1, ζ≧1)を有限体Fqの元とし、前記巡回群Gのn+ζ個の元を要素とするn+ζ次元の基底ベクトルをbi *=(θ(i,1)・g,...,θ(i,n+ζ)・g)∈Gn+ζとし、有限体Fqの元を要素wμ(μ=1,...,n)とするn次元ベクトルをw=(w1,...,wn)とした場合における、SUBSK(α)=σ(α)・{Σμ=1 nwμ・bμ *}+Σμ=n+1 n+ζbμ *∈Gn+ζである、取得装置。
  6. 請求項5の取得装置であって、
    前記合成部は、前記生成情報SK={(σ(1)+...+σ(L))/L}・{Σμ=1 nwμ・bμ *}+Σμ=n+1 n+ζbμ *を算出するように構成される、取得装置。
  7. (a) 分散装置において、或る秘密分散方式を用い、Σα=1 L h(α)個の分散管理装置PA(α,h(α))(α=1,...,L, L≧2, h(α)=1,...,H(α), H(α)≧2)からなる集合に属するH(α)個の分散管理装置PA(α,1),...,PA(α,H(α))からなる部分集合SUB(α)ごとに独立に秘密情報を秘密分散してシェア情報SH(α,h(α))を生成し、当該シェア情報SH(α,h(α))を出力するステップと、
    (b) 前記分散管理装置PA(α,h(α))において、前記シェア情報SH(α,h(α))と、前記部分集合SUB(α)ごとに共有される共有値σ(α)を含む共通情報とを用い、共通演算を行って分散秘密値DSH(α,h(α))を生成し、当該分散秘密値DSH(α,h(α))を出力するステップと、
    (c) 取得装置において、同一の前記部分集合SUB(α)に対応する複数の前記分散秘密値DSH(α,h(α))を用い、部分集合SUB(α)ごとの復元処理によって秘密復元値SUBSK(α)を生成し、当該部分集合SUB(α)ごとの前記秘密復元値SUBSK(α)を得、前記復元処理が前記秘密分散方式に従った処理である、ステップと、
    (d) 前記取得装置において、前記秘密復元値SUBSK(α)を用いて生成情報SKを生成し、当該生成情報SKを出力するステップと、を有し、
    前記ステップ(b)において、同一の前記部分集合SUB(α)に属する前記分散管理装置PA(α,h(α))がそれぞれ用いる前記共通情報は互いに同一であり、同一の前記部分集合SUB(α)に属する前記分散管理装置PA(α,h(α))がそれぞれ行う前記共通演算は互いに同一であり、
    前記秘密情報は、巡回群Gの生成元をgとし、θ(i,β)(i=1,...,n+ζ, β=1,...,n+ζ, n≧1, ζ≧1)を有限体Fqの元とし、前記巡回群Gのn+ζ個の元を要素とするn+ζ次元の基底ベクトルをbi *=(θ(i,1)・g,...,θ(i,n+ζ)・g)∈Gn+ζとした場合における、当該基底ベクトルbi *の集合(b1 *,...,bn+ζ *)であり、
    前記ステップ(a)は、各基底ベクトルbi *の要素θ(i,β)・g∈Gをそれぞれ前記部分集合SUB(α)ごとに独立に秘密分散したシェア情報SH(i,β,α,h(α))∈Gを生成するステップであり、
    前記シェア情報SH(α,h(α))は、前記シェア情報SH(i,β,α,h(α))∈G (i=1,...,n+z, b=1,...,n+z)の集合であり、
    前記ステップ(b)は、前記シェア情報SH(i,β,α,h(α)) (i = 1, ..., n + z, b = 1, ..., n + z)と前記共有値σ(α)と前記有限体Fqの元を要素wμ(μ=1,...,n)とするn次元ベクトルw=(w1,...,wn)とを用い、前記分散秘密値DSH(α,h(α))を生成するステップであり、
    前記分散秘密値DSH(α,h(α))は、n+ζ個のシェア情報SH(i,1,α,h(α)),...,SH(i,n+ζ,α,h(α))を要素とするn+ζ次元のシェア基底ベクトルSHbi *(α,h(α))=(SH(i,1,α,h(α)),...,SH(i,n+ζ,α,h(α))∈Gn+ζに対する、DSH(α,h(α))=σ(α)・{Σμ=1 nwμ・SHbμ *(α,h(α))}+Σμ=n+1 n+ζSHbμ *(α,h(α))∈Gn+ζであり、
    前記秘密復元値SUBSK(α)は、SUBSK(α)=σ(α)・{Σμ=1 nwμ・bμ *}+Σμ=n+1 n+ζbμ *∈Gn+ζである、秘密分散方法。
  8. 分散装置の処理方法であって、
    (a)秘密情報が分散装置に入力されるステップと、
    (b)前記分散装置の第1手段において、H(α)(α=1,...,L, L≧2, h(α)=1,...,H(α), H(α)≧2)個の分散管理装置PA(α,1),...,PA(α,H(α))からなる部分集合SUB(α)ごとに独立に前記秘密情報を秘密分散してシェア情報SH(α,h(α))を生成するステップと、
    (c)前記分散装置の第2手段において、前記シェア情報SH(α,h(α))を出力するステップと、を有し、
    前記秘密情報は、巡回群Gの生成元をgとし、θ(i,β)(i=1,...,n+ζ, β=1,...,n+ζ, n≧1, ζ≧1)を有限体Fqの元とし、前記巡回群Gのn+ζ個の元を要素とするn+ζ次元の基底ベクトルをbi *=(θ(i,1)・g,...,θ(i,n+ζ)・g)∈Gn+ζとした場合における、当該基底ベクトルbi *の集合(b1 *,...,bn+ζ *)であり、
    前記ステップ(b)は、各基底ベクトルbi *の要素θ(i,β)・g∈Gをそれぞれ前記部分集合SUB(α)ごとに独立に秘密分散したシェア情報SH(i,β,α,h(α))∈Gを生成するステップであり、
    前記シェア情報SH(α,h(α))は、前記シェア情報SH(i,β,α,h(α))∈G (i = 1, ..., n + z, b = 1, ..., n + z)の集合である、処理方法。
  9. 分散管理装置の処理方法であって、
    (a)前記分散管理装置の第1手段において、H(α)(α=1,...,L, L≧2, h(α)=1,...,H(α), H(α)≧2)個の分散管理装置PA(α,1),...,PA(α,H(α))からなる部分集合SUB(α)ごとに共有される共有値σ(α)を含む共通情報と、前記部分集合SUB(α)ごとに独立に秘密情報を秘密分散して得られたシェア情報SH(α,h(α))とを用い、共通演算を行って分散秘密値DSH(α,h(α))を生成するステップと、
    (b)前記分散管理装置の第2手段において、前記分散秘密値DSH(α,h(α))を出力するステップと、を有し、
    同一の前記部分集合SUB(α)に属する前記分散管理装置PA(α,h(α))がそれぞれ用いる前記共通情報は互いに同一であり、同一の前記部分集合SUB(α)に属する前記分散管理装置PA(α,h(α))がそれぞれ行う前記共通演算は互いに同一であり、
    前記提供情報は、有限体Fqの元を要素wμ(μ=1,...,n)とするn次元ベクトルw=(w1,...,wn)であり、
    前記ステップ(b)は、前記シェア情報SH(i,β,α,h(α))と前記共有値σ(α)と有限体Fqの元を要素wμ(μ=1,...,n)とするn次元ベクトルw=(w1,...,wn)とを用い、前記分散秘密値DSH(α,h(α))を生成するステップであり、
    前記分散秘密値DSH(α,h(α))は、n+ζ個(ζ≧1)のシェア情報SH(i,1,α,h(α)),...,SH(i,n+ζ,α,h(α))を要素とするn+ζ次元のシェア基底ベクトルSHbi *(α,h(α))=(SH(i,1,α,h(α)),...,SH(i,n+ζ,α,h(α))∈Gn+ζに対する、DSH(α,h(α))=σ(α)・{Σμ=1 nwμ・SHbμ *(α,h(α))}+Σμ=n+1 n+ζSHbμ *(α,h(α))∈Gn+ζである、処理方法。
  10. 取得装置の処理方法であって、
    前記取得装置の第1手段において、H(α)(α=1,...,L, L≧2, h(α)=1,...,H(α), H(α)≧2)個の分散管理装置PA(α,1),...,PA(α,H(α))からなる部分集合をSUB(α)とした場合における、同一の前記部分集合SUB(α)に対応する複数の分散秘密値DSH(α,h(α))を用い、当該部分集合SUB(α)ごとの復元処理によって秘密復元値SUBSK(α)を生成し、当該部分集合SUB(α)ごとの前記秘密復元値SUBSK(α)を得、前記復元処理が或る秘密分散方式に従った処理である、ステップと、
    前記取得装置の第2手段において、前記秘密復元値SUBSK(α)を用いて生成情報SKを生成し、当該生成情報SKを出力するステップと、
    を有し、
    前記秘密復元値SUBSK(α)は、前記部分集合SUB(α)ごとに共有される共有値をσ(α)とし、巡回群Gの生成元をgとし、θ(i,β)(i=1,...,n+ζ, β=1,...,n+ζ, n≧1, ζ≧1)を有限体Fqの元とし、前記巡回群Gのn+ζ個の元を要素とするn+ζ次元の基底ベクトルをbi *=(θ(i,1)・g,...,θ(i,n+ζ)・g)∈Gn+ζとし、有限体Fqの元を要素wμ(μ=1,...,n)とするn次元ベクトルをw=(w1,...,wn)とした場合における、SUBSK(α)=σ(α)・{Σμ=1 nwμ・bμ *}+Σμ=n+1 n+ζbμ *∈Gn+ζである、処理方法。
  11. 請求項3の分散装置としてコンピュータを機能させるためのプログラム。
  12. 請求項4の分散管理装置としてコンピュータを機能させるためのプログラム。
  13. 請求項5の取得装置としてコンピュータを機能させるためのプログラム。
JP2013133392A 2009-04-24 2013-06-26 秘密分散システム、分散装置、分散管理装置、取得装置、それらの処理方法、秘密分散方法、プログラム Active JP5562475B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013133392A JP5562475B2 (ja) 2009-04-24 2013-06-26 秘密分散システム、分散装置、分散管理装置、取得装置、それらの処理方法、秘密分散方法、プログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009106031 2009-04-24
JP2009106031 2009-04-24
JP2013133392A JP5562475B2 (ja) 2009-04-24 2013-06-26 秘密分散システム、分散装置、分散管理装置、取得装置、それらの処理方法、秘密分散方法、プログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2011510381A Division JP5337238B2 (ja) 2009-04-24 2010-04-23 秘密分散システム、分散装置、分散管理装置、取得装置、それらの処理方法、秘密分散方法、プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2013178589A JP2013178589A (ja) 2013-09-09
JP5562475B2 true JP5562475B2 (ja) 2014-07-30

Family

ID=43011228

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2011510381A Active JP5337238B2 (ja) 2009-04-24 2010-04-23 秘密分散システム、分散装置、分散管理装置、取得装置、それらの処理方法、秘密分散方法、プログラム及び記録媒体
JP2013133392A Active JP5562475B2 (ja) 2009-04-24 2013-06-26 秘密分散システム、分散装置、分散管理装置、取得装置、それらの処理方法、秘密分散方法、プログラム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2011510381A Active JP5337238B2 (ja) 2009-04-24 2010-04-23 秘密分散システム、分散装置、分散管理装置、取得装置、それらの処理方法、秘密分散方法、プログラム及び記録媒体

Country Status (7)

Country Link
US (1) US8549290B2 (ja)
EP (1) EP2423904B1 (ja)
JP (2) JP5337238B2 (ja)
KR (1) KR101344353B1 (ja)
CN (1) CN102396012B (ja)
ES (1) ES2532332T3 (ja)
WO (1) WO2010123114A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602005010039D1 (de) * 2004-12-23 2008-11-13 Hewlett Packard Development Co Verbesserungen in der Anwendung von bilinearen Abbildungen bei kryptographischen Anwendungen
EP2242032B1 (en) * 2008-01-21 2013-10-02 Nippon Telegraph and Telephone Corporation Secure computing system, secure computing method, secure computing apparatus and program therefor
JP5424974B2 (ja) 2010-04-27 2014-02-26 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
KR101456579B1 (ko) * 2010-07-23 2014-10-31 니폰 덴신 덴와 가부시끼가이샤 비밀 분산 시스템, 분산 장치, 분산 관리 장치, 취득 장치, 비밀 분산 방법, 프로그램, 및 기록 매체
JP5826934B2 (ja) * 2012-07-05 2015-12-02 日本電信電話株式会社 秘密分散システム、データ分散装置、分散データ変換装置、秘密分散方法、およびプログラム
US9432188B2 (en) * 2012-07-05 2016-08-30 Nippon Telegraph And Telephone Corporation Secret sharing system, data distribution apparatus, distributed data transform apparatus, secret sharing method and program
KR101379848B1 (ko) * 2013-02-15 2014-04-04 서울대학교산학협력단 일정 수 이상의 파일 쉐어로 복구 가능한 파일 분산 관리 장치 및 그 방법
WO2015107951A1 (ja) * 2014-01-17 2015-07-23 日本電信電話株式会社 秘密計算方法、秘密計算システム、ソート装置及びプログラム
US10013682B2 (en) 2015-02-13 2018-07-03 International Business Machines Corporation Storage and recovery of digital data based on social network
JP5968484B1 (ja) * 2015-03-18 2016-08-10 日本電信電話株式会社 シェア復旧システム、シェア復旧方法、およびプログラム
EP3675090B1 (en) * 2017-08-22 2023-04-26 Nippon Telegraph And Telephone Corporation Share generating device, reconstructing device, secure computation system, share generation method, reconstruction method, program, and recording medium
FR3080927B1 (fr) * 2018-05-03 2024-02-02 Proton World Int Nv Authentification d'un circuit electronique
TWI667909B (zh) * 2018-07-31 2019-08-01 國立高雄科技大學 數值資料保護方法與電腦程式產品
US11316673B2 (en) 2020-09-11 2022-04-26 Seagate Technology Llc Privacy preserving secret sharing from novel combinatorial objects
US11362816B2 (en) 2020-09-11 2022-06-14 Seagate Technology Llc Layered secret sharing with flexible access structures

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07334080A (ja) * 1994-06-13 1995-12-22 Nippon Telegr & Teleph Corp <Ntt> ディジタル情報保護装置及びその方法
US6363481B1 (en) * 1998-08-03 2002-03-26 Nortel Networks Limited Method and apparatus for secure data storage using distributed databases
JP4292835B2 (ja) * 2003-03-13 2009-07-08 沖電気工業株式会社 秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム
JP4300838B2 (ja) * 2003-03-25 2009-07-22 沖電気工業株式会社 分散計算装置及び分散計算システム
US7653199B2 (en) * 2004-07-29 2010-01-26 Stc. Unm Quantum key distribution
JP2006129340A (ja) * 2004-11-01 2006-05-18 Oki Electric Ind Co Ltd 秘密情報管理装置、秘密情報管理システム、及び秘密情報管理方法
WO2006118092A1 (ja) * 2005-04-27 2006-11-09 Matsushita Electric Industrial Co., Ltd. 情報セキュリティ装置及び楕円曲線演算装置
US7983415B2 (en) * 2006-12-19 2011-07-19 King Fahd University Of Petroleum And Minerals Method for performing iterative scalar multiplication which is protected against address bit attack
JP2008250931A (ja) * 2007-03-30 2008-10-16 Toshiba Corp 分散情報復元システム、情報利用装置、および、検証装置

Also Published As

Publication number Publication date
EP2423904B1 (en) 2015-01-07
CN102396012A (zh) 2012-03-28
US8549290B2 (en) 2013-10-01
WO2010123114A1 (ja) 2010-10-28
EP2423904A1 (en) 2012-02-29
JPWO2010123114A1 (ja) 2012-10-25
JP5337238B2 (ja) 2013-11-06
ES2532332T3 (es) 2015-03-26
EP2423904A4 (en) 2013-06-26
CN102396012B (zh) 2014-05-07
KR20120034156A (ko) 2012-04-10
KR101344353B1 (ko) 2013-12-24
US20120030464A1 (en) 2012-02-02
JP2013178589A (ja) 2013-09-09

Similar Documents

Publication Publication Date Title
JP5562475B2 (ja) 秘密分散システム、分散装置、分散管理装置、取得装置、それらの処理方法、秘密分散方法、プログラム
JP5379914B2 (ja) 秘密分散システム、分散装置、分散管理装置、取得装置、秘密分散方法、プログラム、及び記録媒体
JP5256342B2 (ja) 情報生成装置、方法、プログラム及びその記録媒体
JP5466763B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、プログラム、及び記録媒体
JP5291795B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、セキュリティ方法、プログラム及び記録媒体
US8938068B2 (en) Functional encryption applied system, information output apparatus, information processing apparatus, encryption protocol execution method, information output method, information processing method, program and recording medium
WO2012132136A1 (ja) 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
CN104718566B (zh) 密码系统
Lee et al. Anonymous HIBE with short ciphertexts: full security in prime order groups
EP2675107A1 (en) Encryption processing system, key generation device, encryption device, decryption device, key delegation device, encryption processing method, and encryption processing program
JP5506633B2 (ja) 代理計算システム、端末装置、代理計算装置、代理計算方法、及びプログラム
JP5366755B2 (ja) データ編集システム、書込み装置、読取装置及びデータ編集方法
Singh FIFE: A Framework for Investigating Functional Encryption

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130626

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140523

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: 20140603

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140610

R150 Certificate of patent or registration of utility model

Ref document number: 5562475

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150