JP5486519B2 - 検索システム、判定装置、ベクトル構成装置、その方法及びプログラム - Google Patents
検索システム、判定装置、ベクトル構成装置、その方法及びプログラム Download PDFInfo
- Publication number
- JP5486519B2 JP5486519B2 JP2011010292A JP2011010292A JP5486519B2 JP 5486519 B2 JP5486519 B2 JP 5486519B2 JP 2011010292 A JP2011010292 A JP 2011010292A JP 2011010292 A JP2011010292 A JP 2011010292A JP 5486519 B2 JP5486519 B2 JP 5486519B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- search
- elements
- information
- predicate
- 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
Description
まず、各実施形態で使用される用語や記号を定義する。
(・)−1:(・)−1は・の逆行列を表す。
∧:∧は論理積を表す。
∨:∨は論理和を表す。
Z:Zは整数集合を表す。
sec:secはセキュリティパラメータ(sec∈Z,sec>0)を表す。
0F:0Fは有限体Fqの加法単位元(零元)を表す。一般化した加法単位元を0と表す。
1F:1Fは有限体Fqの乗法単位元を表す。一般化した乗法単位元を1と表す。
δ(i,j):δ(i,j)はクロネッカーのデルタ関数を表す。i=jの場合にδ(i,j)=1Fを満たし、i≠jの場合にδ(i,j)=0Fを満たす。
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乗根からなる有限集合である。
ζ:ζは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に写す非退化な双線形写像(bilinearmap)を表す。双線形写像eは、巡回群G1のn+ζ個の元γβ(β=1,…,n+ζ)と巡回群G2のn+ζ個の元γβ *(β=1,…,n+ζ)とを入力とし、巡回群GTの1個の元を出力する。
双線形写像eは以下の性質を満たす。
e(ν・Γ1,κ・Γ2)=e(Γ1,Γ2)ν・κ (2)
Γ1∈G1 n+ζ,Γ2∈G2 n+ζ (3)
についてe(Γ1,Γ2)を効率的に計算するアルゴリズムが存在する。
Pair:G1×G2→GT (4)
を用いて双線形写像eを構成する。本形態の双線形写像eは、巡回群G1のn+ζ個の元γβ(β=1,…,n+ζ)からなるn+ζ次元ベクトル(γ1,…,γn+ζ)と、巡回群G2のn+ζ個の元γβ *(β=1,…,n+ζ)からなるn+ζ次元ベクトル(γ1 *,…,γn+ζ *)との入力に対し、巡回群GTの1個の元
e=Πβ=1 n+ζPair(γβ,γβ *) (5)
を出力する。
Pair(ν・Ω1,κ・Ω2)=Pair(Ω1,Ω2)ν・κ (6)
Ω1∈G1,Ω2∈G2 (7)
を巡回群GTの単位元に写すものではない。
(参考文献1)Alfred. J. Menezes,"ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS, KLUWER ACADEMIC PUBLISHERS",ISBN0-7923-9368-6,pp. 61-81
(参考文献2)"RFC 5091: Identity-Based Cryptography Standard (IBCS) #1: Supersingular Curve Implementations of the BF and BB1 Cryptosystems"
ai(i=1,…,n+ζ):aiは巡回群G1のn+ζ個の元を要素とするn+ζ次元の基底ベクトルを表す。基底ベクトルaiの一例は、κ1・g1∈G1をi次元目の要素とし、残りのn個の要素を巡回群G1の単位元(加法的に「0」と表現)とするn+ζ次元の基底ベクトルである。この場合、n+ζ次元の基底ベクトルai(i=1,…,n+ζ)の各要素をそれぞれ列挙して表現すると、以下のようになる。
a2=(0,κ1・g1,0,…,0) (8)
…
an+ζ=(0,0,0,…,κ1・g1)
a2 *=(0,κ2・g2,0,…,0) (9)
…
an+ζ *=(0,0,0,…,κ2・g2)
e(ai,aj *)=gT τ・δ(i,j) (10)
を満たす。すなわち、i=jの場合には、式(5)(6)の関係から、
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 τ
を満たす。一方、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)との積になる。さらに、式(6)の関係から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) (11)
を満たす。ここで、gT 0=1は巡回群GTの単位元であり、gT 1=gTは巡回群GTの生成元である。この場合、基底ベクトルaiと基底ベクトルai *とは双対正規直交基底であり、ベクトル空間Vとベクトル空間V*とは、双線形写像を構成可能な双対ベクトル空間〔双対ペアリングベクトル空間(DPVS:Dual Paring Vectorspace)〕である。
χi →=(χi,1,…,χi,n+ζ) (18)
χj →*=(χj,1 *,…,χj,n+ζ *) (19)
を定義する。すると、式(17)の関係から、n+ζ次元ベクトルχi →とχj →*との内積は、
χi →・χj →*=δ(i,j) (20)
となる。
bi=Σj=1 n+ζχi,j・aj (21)
の演算によって得られる。例えば、基底ベクトルaj(j=1,…,n+ζ)が式(8)によって表現される場合、基底ベクトルbiの各要素をそれぞれ列挙して表現すると、以下のようになる。
巡回群G1のn+ζ個の元を要素とする全てのn+ζ次元ベクトルは、n+ζ次元の基底ベクトルbi(i=1,…,n+ζ)の線形和によって表される。すなわち、n+ζ次元の基底ベクトルbiは前述のベクトル空間Vを張る。
bi *=Σj=1 n+ζχi,j *・aj * (23)
の演算によって得られる。例えば、基底ベクトルaj *(j=1,…,n+ζ)が式(9)によって表現される場合、基底ベクトルbi *の各要素をそれぞれ列挙して表現すると、以下のようになる。
となる。巡回群G2のn+ζ個の元を要素とする全てのn+ζ次元ベクトルは、n+ζ次元の基底ベクトルbi *(i=1,…,n+ζ)の線形和によって表される。すなわち、n+ζ次元の基底ベクトルbi *は前述のベクトル空間V*を張る。
e(bi,bj *)=gT τ・δ(i,j) (25)
を満たす。すなわち、式(5)(20)(22)(24)の関係から、
e(bi,bj *)=gT δ(i,j) (26)
を満たす。この場合、基底ベクトルbiと基底ベクトルbi *とは、双対ペアリングベクトル空間(ベクトル空間Vとベクトル空間V*)の双対正規直交基底である。
次に、内積述語暗号方式について説明する。内積述語暗号方式とは、暗号文に対応するベクトルと復号鍵に対応するベクトルとの内積が0となるときに当該暗号文が当該復号鍵で復号可能となる暗号方式である。内積述語暗号方式では、内積が0となることと論理式の真理値が真となることとが等価である。
内積述語暗号では、論理和や論理積からなる論理式を多項式で表現する。
(x1-η1)・(x2-η2) (29)
という多項式で表現する。すると、各真理値と式(29)の関数値との関係は以下のようになる。
ι1・(x1-η1)+ι2・(x2-η2) (30)
という多項式で表現する。但し、ι1及びι2は乱数である。すると、真理値と式(30)の関数値とは以下の関係となる。
ι1・{(x1-η1)・(x2-η2)}+ι2・(x3-η3)+ι3・(x4-η4) (31)
で表現できる。以下、このように論理式を表現する多項式のことを述語多項式と呼ぶ。
内積述語暗号方式で鍵カプセル化メカニズムKEM(Key Encapsulation Mechanisms)を構成する例を示す。この構成はSetup,GenKey,Enc,Decを含む。
−入力:セキュリティパラメータsec
−出力:マスタ鍵情報MSK,公開パラメータPK
Setupの一例では、まず、セキュリティパラメータsecをnとして、n+ζ次元の基底ベクトルai(i=1,…,n+ζ)を要素とするn+ζ行n+ζ列の行列Aと、基底ベクトルai *(i=1,…,n+ζ)を要素とするn+ζ行n+ζ列の行列A*と、座標変換のためのn+ζ行n+ζ列の行列X,X*とが選択される。次に、式(21)に従って座標変換されたn+ζ次元の基底ベクトルbi(i=1,…,n+ζ)が算出され、式(23)に従って座標変換されたn+ζ次元の基底ベクトルbi *(i=1,…,n+ζ)が算出される。そして、基底ベクトルbi *(i=1,…,n+ζ)を要素とするn+ζ行n+ζ列の行列B*がマスタ鍵情報MSKとして出力され、ベクトル空間V,V*、基底ベクトルbi(i=1,…,n+ζ)を要素とするn+ζ行n+ζ列の行列B、セキュリティパラメータsec、有限体Fq、楕円曲線E、巡回群G1,G2,GT、生成元g1,g2,gT、双線形写像eなどが公開パラメータPKとして出力される。
−入力:マスタ鍵情報MSK,ベクトルv→
−出力:ベクトルv→に対応する復号鍵D*
GenKeyの一例では、まず、有限体Fqから元σ,σι−n∈Fqが選択される。そして、マスタ鍵情報MSKである行列B*を用い、ベクトルv→に対応する復号鍵
D*=σ・(Σμ=1 nvμ・bμ *)+Σι=n+1 n+ζ’σι-n・bι *∈G2 n+ζ’ (32)
が生成され、出力される。但し、σ,σι−nは乱数などの変数や定数などであり、ζ’≦ζである(例えばζ=3,ζ’=2)。またΣι=n+1 n+ζ’σι−nはシステムで共有される定数値とされる。以下では
Σι=n+1 n+ζ’σι-n=1F (33)
とされた例を説明する。これは本発明を限定しない。
−入力:公開パラメータPK,ベクトルw→,平文mes
−出力:暗号文(C1,C2)
Encの一例では、行列Bなどの公開パラメータPKと、有限体Fqの元である乱数υ0,υ1,…,υζと、ベクトルw→とを用い、暗号文
C1=υ0・(Σμ=1 nwμ・bμ)+Σμ=n+1 n+ζυμ-n・bμ∈G1 n+ζ (34)
が生成される。但し、
υ1=…=υζ’ (35)
を満たす(例えばζ’=2のときにはυ1=υ2)。また、gT τ・υ1を共通鍵Kとし、所定の共通鍵暗号方式(第2暗号方式)に則って平文mesの暗号文C2が生成される。暗号文C2の一例は、
C2=gT τ・υ1・mes(36)
である。添え字のυ1はυ1を意味する。前述のように定数τの一例はτ=1Fである。生成された暗号文(C1,C2)は出力される。
−入力:ベクトルv→に対応する復号鍵D*,暗号文(C1,C2)
−出力:復号値mes’
Decの一例では、まず、暗号文C1と復号鍵D*とが式(1)の双線形写像eに入力され、その演算結果を共通鍵K=e(C1,D*)とし、以下のように復号値mes’が求められる。
ここで、式(2)(25)(33)(35)の性質から、
階層的内積述語暗号方式は内積述語暗号方式の一種であり、暗号文に対応するベクトルと復号鍵に対応するベクトルとの内積が0となるときに当該暗号文が当該復号鍵で復号可能となる。さらに階層的内積述語暗号方式では階層的な処理によって復号鍵を生成できる。すなわち、階層的内積述語暗号方式では属性が階層化され、各階層までの属性に対応する鍵情報が存在するとともに、上位の階層に対応する鍵情報を用いて下位の階層に対応する鍵情報を生成できる。そして、このような階層的な処理によって生成された最終的な鍵情報が復号鍵となる。以下に階層的内積述語暗号方式の基本構成を例示する。以下では、階層的内積述語暗号方式を用いて鍵カプセル化メカニズムKEMを構成する場合の基本構成を例示する。但し、これは本発明を限定するものではない。
深さdの属性空間の階層フォーマットを以下の式によって定義する。但し、dは1以上n以下の整数である。
有限体Fqの元を要素とするξω−ξω−1(ω=1,…,d)次元のベクトル(零ベクトルを除く)を階層ωに対応するベクトル
−入力:セキュリティパラメータsec
−出力:階層フォーマットξ→,マスタ鍵情報MSK,公開パラメータmpk
Setupの一例では、セキュリティパラメータsecの単調増加関数値をnとし、階層フォーマットξ→=(n,d;ξ1,…,ξd)が定められる。また、この例ではζ=3とし、n+3次元の基底ベクトルai(i=1,…,n+3)を要素とするn+3行n+3列の行列Aと、基底ベクトルai *(i=1,…,n+3)を要素とするn+3行n+3列の行列A*と、座標変換のためのn+3行n+3列の行列X,X*とが選択される。次に、式(21)に従って座標変換されたn+3次元の基底ベクトルbi(i=1,…,n+3)が算出され、式(23)に従って座標変換されたn+3次元の基底ベクトルbi *(i=1,…,n+3)が算出される。
−入力:マスタ鍵情報MSK,公開パラメータmpk,ベクトル(v1 →,…,vm →)
−出力:ベクトル(v1 →,…,vm →)に対応する鍵情報km *
GenKeyの一例では、まず、有限体Fqから元σα,ω,Ψ,Φα∈Fq(α=0,…,m+1,ξm+1,…,n;ω=1,…,m)が任意に選択される。この例では、これらとマスタ鍵情報MSKである基底ベクトル(b1 *,…,bn *,bn+1 *,bn+2 *,bn+3 *)とベクトル(v1 →,…,vm →)とを用い、ベクトル(v1 →,…,vm →)に対応する鍵情報
−入力:公開パラメータmpk,鍵情報km’ *,ベクトルvm’+1 →
−出力:ベクトル(v1 →,…,vm’+1 →)に対応する鍵情報km’+1 *
階層的内積述語暗号方式では、マスタ鍵情報MSKを用いることなく、公開パラメータmpk,鍵情報km’ *,ベクトルvm’+1 →からベクトル(v1 →,…,vm’+1 →)に対応する鍵情報km’+1 *を生成できる。但し、m’=1,…,d−1である。
−入力:公開パラメータmpk,ベクトル(w1 →,…,wm →),平文mes
−出力:暗号文(C1,C2)
Encの一例では、まず、有限体Fqから任意の元υ1,…,υd,υn+3,υが選択される。そして、これらと公開パラメータmpkとベクトル(w1 →,…,wm →)とを用い、暗号文
C2=gT τ・υ・mes(52)
である。なお、前述のように定数τの一例はτ=1Fである。その後、以上のように生成された暗号文(C1,C2)が出力される。
−入力:公開パラメータmpk,ベクトル(v1 →,…,vm →)に対応する鍵情報km *,暗号文(C1,C2)
−出力:復号値mes’
Decの一例では、
mes’=C2/e(C1,km,0 *) (53)
によって復号値mes’を計算する。
e(C1,km,0 *)=gT τ・υ (55)
と変形できる。式(52)(53)(55)より、全てのω=1,…,mについて内積vω →・wω →=0Fである場合にmes’=mesとなり、正しく復号がなされることが分かる。
以下に説明する情報処理では、文字列を含む情報が暗号化の対象となるが、暗号処理の実際では、人間が意味内容を認識可能なテキスト情報である文字そのものが暗号化されるのではなく、例えば当該文字に割り当てられている文字コード情報(EUC-JP、Shift_JIS、UTF-8などのバイト表現)が暗号化の対象となる。従って、後述の説明において例えば変数Xに文字wを代入ないし設定する(X=w)とは、テキスト情報としての文字wを変数Xに代入ないし設定することではなく、文字コード情報としての文字wを変数Xに代入ないし設定することと理解するべきである。このことは暗号処理の常套手段であるから、その詳細な説明を省略する。また、この明細書では、ベクトルの表記として慣用的にベクトルであることを示す記号“→”を省略している場合がある。従って、或る記号がベクトルであるか否かは明細書全体の記載から合理的に理解されたい。
式(32)等で用いる述語ベクトルv→及び式(34)等で用いる属性ベクトルw→の構成方法が従来の方法と異なる。まず、従来技術の述語ベクトル及び属性ベクトルの構成方法について説明する。
2tr−ts+1≦n≦tr−ts+1Hts
である。但し、添え字のtr、tsはそれぞれtr、tsを意味し、tr−ts+1Htsはtr−ts+1個のものから重複してts個のものを選ぶ組み合わせの総数を表す。従来技術の上記式(61)を用いて、集合部分一致検索を実現しようとすると、検索用キーワードを構成する各文字「A」、「B」、「C」をそれぞれ、検索用キーワードとして、部分一致検索を行い、全ての検索においてヒットした登録用キーワードを検索結果とすると考えられる。登録用キーワードの文字の中に、検索用キーワードの文字が全て登場するか否かを一回の検証(内積)で判定することができず、演算時間が長くなる。
Y1=−(X1+X2+…+Xtr)
Y2=X1X2+X1X3+…+X1Xtr+X2X3+…+Xtr−1Xtr
…
Ytr=(−1)trX1X2…Xtr
である。なお、X1,…,Xtrの基本対称式の線形和とは、tr個のk次の基本対称式Ykの線形和である。本実施形態では、各単項式の値または定数1を要素とする属性ベクトルw→を構成し、各単項式の係数の値または定数1に対応する値a0を要素とする述語ベクトルv→を構成する。つまり、
w→=(1,X1,X2,…,Xtr,X1X2,…,X1X2…Xtr)
v→=(a0,a1,…,a(2^tr)−1)
である。但し、(C^D)はCのD乗を表す。よって、各ベクトルの次元は2tr次元である。内積述語暗号検索可能暗号の検索時間は
演算時間=各種暗号基本演算(ペアリング演算等)×ベクトルの次元×タグの数(文書数)
である。部分一致検索におけるベクトルの次元数n(但し、2tr−ts+1≦n≦tr−ts+1Hts)はtr−ts+1Htsに近い値をとることとなり、trの値が大きくなるにつれて、その傾向は顕著になると考えられ、本実施形態の次元数2trよりも大きくなる。そのため、trが大きくなるにつれて、本実施形態の検索システムのほうが、従来技術に比べ、検索時間が短くなる。
以下、図1を用いて第一実施形態に係る検索システム1を説明する。検索システム1は、上述の述語多項式ppm1を内積述語暗号に適用する(参考文献3及び4参照)。
(参考文献3):T. Okamoto and K. Takashima. "Hierarchical predicate encryption for inner-products", In ASIACRYPT, 2009, pp. 214-231,
(参考文献4):A. B. Lewko, T. Okamoto, A. Sahai, K. Takashima, and B. Waters. "Fullysecure functional encryption: Attribute-based encryption and (hierarchical)
inner product encryption", In EUROCRYPT, 2010, pp. 62-91
検索システム1は、暗号化されたデータベースの検索が可能な検索可能暗号システムである。この実施形態の検索システム1は、図1に示すように、属性ベクトル生成装置11と、述語ベクトル生成装置15と、判定装置16と、保管装置13とを少なくとも含んで構成される。これらの各装置は、例えばインターネットである通信網12を介して相互に通信可能とされている。
前述したSetupが実行され、マスタ鍵情報msk,公開パラメータmpkが定められる。マスタ鍵情報mskは、マスタ鍵格納部153に安全に格納され、属性ベクトル生成装置11、述語ベクトル生成装置15、判定装置16が、公開パラメータmpkを用いた処理が可能なように構成される。
まず、属性ベクトル生成装置11の暗号情報生成部111は、文字列を含む情報(以下「検索対象情報」という)Texttiを暗号化して暗号情報CT(Textti)を得る(ステップS2)。この暗号方式(Enc,Dec)に限定はない。この暗号方式として、例えば共通鍵暗号方式や公開鍵暗号方式を利用できる。共通鍵暗号方式の場合、検索対象情報Texttiは、属性ベクトル生成装置11と述語ベクトル生成装置15との間で共有される共通鍵で暗号化される。また、公開鍵暗号方式の場合、検索対象情報Texttiは述語ベクトル生成装置15の公開鍵で暗号化される。つまり、暗号情報CT(Textti)を得るための情報処理は、暗号化アルゴリズムEncに従う。
w→=(1,X1,X2,…,Xtr,X1X2,…,X1X2…Xtr) (64)
を生成する(ステップS3)。つまり、属性ベクトル生成装置11の属性ベクトル生成部113は、各単項式X1,X2,…,Xtr,X1X2,…,X1X2…Xtrに対し、具体的な登録用キーワードXの文字X1,…,Xtrを与え、各単項式の値を計算し、計算結果を求める。この計算結果と定数1を要素とする属性ベクトルを生成する。属性ベクトル生成部113は、生成した属性ベクトルw→を検索タグ生成部112へ出力する。
なお、式(34)において、乱数ν0,ν1,…,νζは、検索タグ生成部112内部の図示しない乱数生成部により生成する。なお式(34)において、n=2trである。
なお、式(36)において、mes=Xである。
述語ベクトル生成装置15は、検索用キーワードsを入力されると、述語ベクトル生成部151において、検索用キーワードsを表す述語ベクトルv→を以下の関係を満たすように生成する。なお、この述語ベクトルv→は検索において、文書等を検索するためのクエリの役割を持つ。
但し、乱数や定数等であるσ、σι-nは鍵生成部152において、生成されるか、または、予め鍵生成部152に記憶されているものとする。
判定装置16の受信部169は、復号鍵D*を受信する(ステップS10)。
mes’=C2/e(C1,D*)∈GT (37)
このような構成とすることで、複数の文字からなる検索用キーワードが登録用キーワード内に含まれるか否かを1回の検証により判定することができるという効果を奏する。
第一実施形態と異なる部分を主に説明する。
Y1=X1+X2+…+Xtr
Y2=X1X2+X1X3+…+X1Xtr+X2X3+…+Xtr−1Xtr
…
Ytr=X1X2…Xtr
である。また、
このような構成とすることで、属性ベクトル及び述語ベクトルの次元数をtr+1とすることができる。従来技術や第一実施形態に比べ、ベクトルの次元数を小さくすることができる。なお、trが大きくなるに従い、次元数の差は大きくなる。よって、演算時間が短くなるという効果が得られる。
第一実施形態と異なる部分を主に説明する。
このような構成とすることで、属性ベクトル及び述語ベクトルの生成や判定処理の計算量を減らすことができる。なお、集合部分一致検索を行うため、このような構成が可能となるのであって、従来の部分一致検索ではこのような構成とすることはできない。
集合部分一致検索が可能になる述語多項式ppm1を与える点がポイントである。よって、必ずしも暗号化されたデータベースの検索が可能な検索可能暗号システムに述語多項式ppm1を用いる必要はない。つまり、暗号化されていないデータベースの検索において、述語多項式ppm1を利用してもよい。この場合、属性ベクトル生成装置11には暗号情報生成部111や検索タグ生成部112は不要であり、述語ベクトル生成装置15には鍵生成部152や復号部156やマスタ鍵格納部153は不要である。保管装置13の記憶部131には暗号化されていない検索対象情報と、検索対象情報に対応する登録用キーワードから得られる属性ベクトルが記憶される。判定装置16は述語ベクトル生成装置15から述語ベクトルを受信し、保管装置13から属性ベクトルを受信する。そして、判定装置16の復号判定部161では属性ベクトルと述語ベクトルの内積が0か否かを判定し、内積が0となる属性ベクトルに対応する検索対象情報を検索結果として述語ベクトル構成装置に送信する。
w→=(1,-X1,-X2,X1X2)
v→=(rd1s1 2+rd2s2 2,rd1s1+rd2s2,rd1s1+rd2s2,rd1+rd2)
である。また、例えば、変形例1の場合は、式(74)よりfp(X1,…,Xtr)を−Xiのk次の基本対称式または定数とし、fp(s1,…,str)を各基本対称式の係数または定数に対するsiの冪乗と定数の積(rd1s1 2+rd2s2 2)とするので、P=3であり、例えば、f1(X1,X2)=1、f2(X1,X2)=X1+X2、f3(X1,X2)=X1X2であり、f1(s1,s2)=rd1s1 2+rd2s2 2、f2(s1,s2)=−rd1s1−rd2s2、f3(s1,s2)=rd1+rd2である。よって、
w→=(1,X1+X2,X1X2)
v→=(rd1s1 2+rd2s2 2,-rd1s1-rd2s2,rd1+rd2)
となる。また、例えば、fp(s1,…,str)をsi k(但し、0≦k≦tr)とし、fp(X1,…,Xtr)を各si kの係数とすると、P=6であり、例えば、f1(s1,s2)=s1 0、f2(s1,s2)=s2 0、f3(s1,s2)=s1、f4(s1,s2)=s2、f5(s1,s2)=s1 2、f6(s1,s2)=s2 2であり、f1(X1,X2)=rd1X1X2、f2(X1,X2)=rd2X1X2、f3(X1,X2)=−rd1X1−rd1X2、f4(X1,X2)=−rd2X1−rd2X2、f5(X1,X2)=−rd1、f6(X1,X2)=rd2である。よって、
w→=(rd1X1X2,rd2X1X2,-rd1X1-rd1X2,-rd2X1-rd2X2,rd1,rd2)
v→=(s1 0, s2 0,s1,s2,s1 2,s2 2)
となる。前述の通り、fp(X1,…,Xtr)及びfp(s1,…,str)は式(62)を満たすように適宜設定されるものであり、例えば、rdj等はfp(X1,…,Xtr)またはfp(s1,…,str)に含まれればよい。
<第二実施形態>
<検索システム2>
以下、図4を用いて第二実施形態に係る検索システム2を説明する。検索システム2は、上述の述語多項式ppm1を階層的内積述語暗号に適用する(参考文献3及び4参照)。検索システム1は、暗号化されたデータベースの検索が可能な検索可能暗号システムである。
図5Aは、実施形態の管理装置27−1の機能構成を説明するための図であり、図5Bは、実施形態の管理装置27−(m’+1)(m’=1,…,M−1)の機能構成を説明するための図である。
図6は、実施形態の属性ベクトル生成装置21−uの機能構成を説明するための図である。
図7は、実施形態の判定装置26の機能構成を説明するための図である。
図8Aは、実施形態の保管装置23の機能構成を説明するための図である。
図9は、実施形態の述語ベクトル生成装置25の機能構成を説明するための図である。
前述したSetupが実行され、階層フォーマットξ→,マスタ鍵情報msk,公開パラメータmpkが定められる。マスタ鍵情報mskは、管理装置27−1(図5A)のマスタ鍵格納部273−1に安全に格納され、管理装置27−m,属性ベクトル生成装置21,述語ベクトル生成装置25及び判定装置26が、公開パラメータmpkを用いた処理が可能なように構成される。また、管理装置27−m及び属性ベクトル生成装置21が階層フォーマットξ→に従った処理が可能なように構成される。
ユーザ登録では、管理装置27−mが登録ユーザの属性に対して設定されたベクトル(v1 →,…,vM →)に対応する鍵情報kM *を生成する。鍵情報kM *の生成方式は大きく分けて2通り存在する。
図7は、一括方式によって鍵情報kM *を生成する処理を説明するためのフローチャートである。
ATT1=(○○株式会社,○○部門) …(81)
ATT2=(○○課,○○担当,○○グループ) …(82)
である。
w1 →=(w1,w2) …(83)
に変換し、部分属性ATT2を「○○課」を表すw3、「○○担当」を表すw4、及び「○○グループ」を表すw5を要素とする3次元のベクトル
w2 →=(w3,w4,w5) …(84)
に変換し、属性ATTを表すベクトル(w1 →,w2 →)=(w1,w2,w3,w4,w5)を設定し、内積wω →・vω →=0Fとなるベクトル(v1 →,v2 →)=(v1,v2,v3,v4,v5)を属性ATTに対応するベクトルとする。なお、システム内で定められた規則に基づいて定められるのであれば、属性ATTを表すベクトル(w1 →,…,wM →)をどのように定めるかについては特に限定はなく、属性ATTごとにベクトル(w1 →,…,wM →)が定まるのであればどのような方法でもよい。
委託方式では、最も強い権限をもつm=1に対応する管理者の管理装置27−1が前述のGenKeyに従って鍵情報k1 *を生成し、上位階層の鍵情報を受け取った下位階層の管理者の管理装置27−(m’+1)が前述のDelegate(m’)に従って鍵情報を生成していき、最終的に鍵情報kM *が生成される。
登録ユーザは属性ベクトル生成装置21を用い、以下のようにデータベース登録を行うことができる。
登録ユーザは述語ベクトル生成装置25(図9)を用い、以下のように検索を行うことができる。
このような構成とすることで、階層的内積述語暗号において部分集合一致検索可能な検索システムを構成することができる。
上述した属性ベクトル生成装置、述語ベクトル生成装置、ベクトル構成装置及び判定装置は、コンピュータにより機能させることもできる。この場合はコンピュータに、目的とする装置(各種実施例で図に示した機能構成をもつ装置)として機能させるためのプログラム、またはその処理手順(各実施例で示したもの)の各過程をコンピュータに実行させるためのプログラムを、CD−ROM、磁気ディスク、半導体記憶装置などの記録媒体から、あるいは通信回線を介してそのコンピュータ内にダウンロードし、そのプログラムを実行させればよい。
属性ベクトル生成装置及び述語ベクトル生成装置を関数暗号方式を用いて暗号化されたデータベースの検索が可能な検索可能暗号システムにおいても用いてもよい(参考文献5参照)。
(参考文献5):Tatsuaki Okamoto, Katsuyuki Takashima, "Fully Secure Functional Encryption with General Relations from the Decisional Linear Assumption", Advances in Cryptology - CRYPTO 2010, 2010, p.191-208
11、21−u 属性ベクトル生成装置
12 通信網
13、23 保管装置
15、25 述語ベクトル生成装置
16、26 判定装置
Claims (10)
- 属性ベクトル生成装置と、述語ベクトル生成装置と、判定装置と、からなる検索システムであって、
Fqを位数qの有限体とし、検索対象情報に対応する登録用情報の要素の個数及び検索用情報の要素の個数を有限体Fqの元で表現されるtrとし、添え字trはtrを意味し、rd1,…,rdtrを乱数とし、検索対象情報に対応する登録用情報の要素をX1,…,Xtrとし、検索用情報の要素をs1,…,strとし、
前記属性ベクトル生成装置は検索対象情報に対応する登録用情報の要素の集合X1,…,Xtrを用いて、前記式(B)のfp(X1,…,Xtr)の値を要素とする属性ベクトルを生成し、
前記述語ベクトル生成装置は検索用情報の要素の集合s1,…,strを用いて、前記式(B)のfp(s1,…,str)の値を要素とする述語ベクトルを生成し、
前記判定装置は前記属性ベクトルと前記述語ベクトルとの内積が0のとき、前記検索対象情報に対応する登録用情報中に前記検索用情報が含まれると判定する、
検索システム。 - 請求項1または2記載の検索システムであって、
前記属性ベクトル生成装置は、検索対象情報に対応する登録用情報の要素の集合から重複する要素を削除して属性ベクトルを生成し、
前記述語ベクトル生成装置は、検索用情報の要素の集合から重複する要素を削除して述語ベクトルを生成する、
検索システム。 - 請求項1から3の何れかに記載の検索システムにおいて用いられる判定装置。
- 少なくとも属性ベクトルまたは述語ベクトルを生成するベクトル構成装置であって、
Fqを位数qの有限体とし、検索対象情報に対応する登録用情報の要素の個数及び検索用情報の要素の個数を有限体Fqの元で表現されるtrとし、添え字trはtrを意味し、rd1,…,rdtrを乱数とし、検索対象情報に対応する登録用情報の要素をX1,…,Xtrとし、検索用情報の要素をs1,…,strとし、
少なくとも検索対象情報に対応する登録用情報の要素の集合X1,…,Xtrを用いて、前記式(B)のfp(X1,…,Xtr)の値を要素とする属性ベクトルを生成するか、
前記述語ベクトル生成装置は検索用情報の要素の集合s1,…,strを用いて、前記式(B)のfp(s1,…,str)の値を要素とする述語ベクトルを生成する、
ベクトル構成装置。 - 請求項5または6記載のベクトル構成装置であって、
少なくとも、検索対象情報に対応する登録用情報の要素の集合から重複する要素を削除して属性ベクトルを生成するか、または、検索用情報の要素の集合から重複する要素を削除して述語ベクトルを生成する、
ベクトル構成装置。 - 属性ベクトル生成ステップと、述語ベクトル生成ステップと、判定ステップと、からなる検索方法であって、
Fqを位数qの有限体とし、検索対象情報に対応する登録用情報の要素の個数及び検索用情報の要素の個数を有限体Fqの元で表現されるtrとし、添え字trはtrを意味し、rd1,…,rdtrを乱数とし、検索対象情報に対応する登録用情報の要素をX1,…,Xtrとし、検索用情報の要素をs1,…,strとし、
前記属性ベクトル生成ステップにおいて、検索対象情報に対応する登録用情報の要素の集合X1,…,Xtrを用いて、前記式(B)のfp(X1,…,Xtr)の値を要素とする属性ベクトルを生成し、
前記述語ベクトル生成ステップにおいて、検索用情報の要素の集合s1,…,strを用いて、前記式(B)のfp(s1,…,str)の値を要素とする述語ベクトルを生成し、
前記判定ステップにおいて、前記属性ベクトルと前記述語ベクトルとの内積が0のとき、前記検索対象情報に対応する登録用情報中に前記検索用情報が含まれると判定する、
検索方法。 - 少なくとも属性ベクトルまたは述語ベクトルを生成するベクトル構成方法であって、
Fqを位数qの有限体とし、検索対象情報に対応する登録用情報の要素の個数及び検索用情報の要素の個数を有限体Fqの元で表現されるtrとし、添え字trはtrを意味し、rd1,…,rdtrを乱数とし、検索対象情報に対応する登録用情報の要素をX1,…,Xtrとし、検索用情報の要素をs1,…,strとし、
少なくとも検索対象情報に対応する登録用情報の要素の集合X1,…,Xtrを用いて、前記式(B)のfp(X1,…,Xtr)の値を要素とする属性ベクトルを生成するか、
前記述語ベクトル生成方法は検索用情報の要素の集合s1,…,strを用いて、前記式(B)のfp(s1,…,str)の値を要素とする述語ベクトルを生成する、
ベクトル構成方法。 - 請求項4から7の何れかに記載の判定装置またはベクトル構成装置としてコンピュータを機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011010292A JP5486519B2 (ja) | 2011-01-20 | 2011-01-20 | 検索システム、判定装置、ベクトル構成装置、その方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011010292A JP5486519B2 (ja) | 2011-01-20 | 2011-01-20 | 検索システム、判定装置、ベクトル構成装置、その方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012150732A JP2012150732A (ja) | 2012-08-09 |
JP5486519B2 true JP5486519B2 (ja) | 2014-05-07 |
Family
ID=46792904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011010292A Active JP5486519B2 (ja) | 2011-01-20 | 2011-01-20 | 検索システム、判定装置、ベクトル構成装置、その方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5486519B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3373504B1 (en) | 2016-01-18 | 2019-09-11 | Mitsubishi Electric Corporation | Encryption device, retrieval device, encryption program, retrieval program, encryption method, and retrieval method |
EP3605505B1 (en) * | 2017-05-18 | 2021-08-25 | Mitsubishi Electric Corporation | Search device, tag generator, query generator, secret search system, search program, tag generation program, and query generation program |
WO2020240816A1 (ja) * | 2019-05-31 | 2020-12-03 | 三菱電機株式会社 | 暗号システム、暗号方法および暗号プログラム |
-
2011
- 2011-01-20 JP JP2011010292A patent/JP5486519B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012150732A (ja) | 2012-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cui et al. | Efficient and expressive keyword search over encrypted data in cloud | |
Bösch et al. | A survey of provably secure searchable encryption | |
Baldimtsi et al. | Sorting and searching behind the curtain | |
Agrawal et al. | Simplifying design and analysis of complex predicate encryption schemes | |
JP2014126865A (ja) | 暗号処理装置および方法 | |
US20100020977A1 (en) | Key generation device, key derivation device, encryption device, decryption device, method and program | |
JP5400740B2 (ja) | 検索可能暗号システム、検索可能暗号方法、ストレージ装置、検索装置、及び登録者装置 | |
Lu et al. | Privacy-preserving cloud database querying. | |
Kissel et al. | Verifiable phrase search over encrypted data secure against a semi-honest-but-curious adversary | |
Najafi et al. | Efficient and dynamic verifiable multi-keyword searchable symmetric encryption with full security | |
Lai et al. | Privacy-enhanced attribute-based private information retrieval | |
Ruan et al. | New approach to set representation and practical private set-intersection protocols | |
Han et al. | Efficient KDM-CCA secure public-key encryption for polynomial functions | |
JP5486519B2 (ja) | 検索システム、判定装置、ベクトル構成装置、その方法及びプログラム | |
Bartusek et al. | Public-key function-private hidden vector encryption (and more) | |
Dayıoğlu | Secure database in cloud computing-cryptdb revisited | |
Bitansky et al. | On removing graded encodings from functional encryption | |
Takashima | New proof techniques for DLIN-based adaptively secure attribute-based encryption | |
Muhammad et al. | A secure data outsourcing scheme based on Asmuth–Bloom secret sharing | |
Dou et al. | Efficient private subset computation | |
JP5651609B2 (ja) | 検索可能暗号システム、検索装置、計算装置、及びプログラム | |
Xu et al. | Intrusion-resilient public auditing protocol for data storage in cloud computing | |
Al Etaiwi et al. | Structured encryption algorithm for text cryptography | |
Martin et al. | Efran (O):" Efficient Scalar Homomorphic Scheme on MapReduce for Data Privacy Preserving" | |
JP5400809B2 (ja) | 検索可能暗号システム、ストレージ装置、それを検索する装置、検索可能暗号方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121227 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131008 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131015 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131122 |
|
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: 20140212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140221 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5486519 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |