JP6228912B2 - ブラインド秘密鍵発行システム、ブラインドデータ検索システム、これらの方法、鍵生成サーバ、復号装置及びプログラム - Google Patents

ブラインド秘密鍵発行システム、ブラインドデータ検索システム、これらの方法、鍵生成サーバ、復号装置及びプログラム Download PDF

Info

Publication number
JP6228912B2
JP6228912B2 JP2014255694A JP2014255694A JP6228912B2 JP 6228912 B2 JP6228912 B2 JP 6228912B2 JP 2014255694 A JP2014255694 A JP 2014255694A JP 2014255694 A JP2014255694 A JP 2014255694A JP 6228912 B2 JP6228912 B2 JP 6228912B2
Authority
JP
Japan
Prior art keywords
key generation
generation server
blind
knowledge proof
key
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
JP2014255694A
Other languages
English (en)
Other versions
JP2016114901A (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 JP2014255694A priority Critical patent/JP6228912B2/ja
Publication of JP2016114901A publication Critical patent/JP2016114901A/ja
Application granted granted Critical
Publication of JP6228912B2 publication Critical patent/JP6228912B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報セキュリティ技術の応用技術に関する。
非特許文献1から3に記載された関数型暗号方式が知られている(例えば、非特許文献1から3参照。)。
プライバシー安全性を付加したデータ検索方式としては、キーワード検索のような単純な検索方式が従来から提案されている(例えば、非特許文献4参照。)。
M. Green and S. Hohenberger. Blind identity‐based encryption and simulatable oblivious transfer. ASIACRYPT, volume 4833 of Lecture Notes in Computer Science, pages 265-282. Springer, 2007. T. Okamoto and K. Takashima. Adaptively attribute‐hiding (hierarchical) inner product encryption. EUROCRYPT, volume 7237 of Lecture Notes in Computer Science, pages 591-608. Springer, 2012. T. Okamoto and K. Takashima. Fully secure unbounded inner‐product and attributebased encryption. ASIACRYPT 2012, volume 7658 of Lecture Notes in Computer Science, pages 349-366. Springer, 2012. W. Ogata and K. Kurosawa. Oblivious keyword search. J. Complexity, 20(2‐3):356-371, 2004.
従来から様々な関数型暗号方式が提案されているが、秘密鍵発行機能にプライバシー安全性を付加したブラインド秘密鍵発行機能をもつ関数型暗号方式は提案されていなかった。
また、プライバシー安全性を付加したデータ検索方式としては、キーワード検索のような単純な検索方式が従来から提案されていたが、より高度な論理関係を用いた検索方式(ここでは、そのような検索方式を関数型検索と呼ぶ。)では、プライバシー安全性を付加した関数型データ検索方式は提案されていなかった。
この発明は、プライバシー安全性を付加した、ブラインド秘密鍵発行システム、ブラインドデータ検索システム、これらの方法、鍵生成サーバ、復号装置及びプログラムを提供することを目的とする。
本発明の一態様によるブラインド内積暗号システムは、復号装置から依頼を受けた鍵生成サーバが、内積暗号方式に用いられる秘密鍵を発行するブラインド秘密鍵発行システムにおいて、qを素数とし、Fqを要素の数がq個の有限体とし、nを所定の正の整数とし、gを位数qの巡回加法群Gの要素とし、gTを位数qの巡回加法群GTの要素とし、I⊆[n]とし、秘密述語ベクトルをv=(v1,…,vn)∈Fq n s.t. vi≠0 for i∈Iとし、B*を内積暗号方式の基底とし、GL(n,Fq)を要素がFqのn×n正則行列の集合とし、X*:=ψ・(XT)-1 (ψ∈Fq,X=(χi,j)∈GL(4n+1,Fq))とし、(v1g,…,vLg)・(Mi,j)i,j=1,…,L=(Σi=1 LviMi,1g,…,Σi=1 LviMi,Lg)として、復号装置は、α,β,γ←UFq, v1 =(v1,1,…,v1,n),v2 =(v2,1,…,v2,n)←UFq n, v3 =(v3,1,…,v3,n):=γv-(v1 +v2 )として、(αg,βg,(αv1,ig)i=1,…,n, (βv2,ig)i=1,…,n, (v3,ig)i=1,…,n)を計算して復号装置に送信する第一計算部と、鍵生成サーバに対してゼロ知識証明ZKPoK{(α,β,(v1,i)i=1,…,n, (v2,i) i=1,…,n, (v3,i) i=1,…,n, (πi)∈I)| αg,βg, (αv1,ig)i=1,…,n, (βv2,ig)i=1,…,n, (v3,ig)i=1,…,n, πi(v1,i+v2,i+v3,i)g=g for i∈I}を行うゼロ知識証明部と、η-1η1 -1η2 3 として、skv→:=α-1k1 *-1k2 *+k3 *=(1,δγv,02n,0)B*を計算して、e(b0,skv→)=gT, e(bi,skv→)=e(b1,skv→)vi/v1(i=1,…,n), e(b4n+1,skv→)=1を満たす場合には、skv→を秘密述語ベクトルvに対する秘密鍵とする第二計算部と、を含み、鍵生成サーバは、δ←UFq, r1 =(r1,1,…,r1,n),r2 =(r2,1,…,r2,n),η1 =(η1,1,…,η1,n),η2 =(η2,1,…,η2,n),η3 =(η3,1,…,η3,n)←UFq nとして、以下に定義されるk1 *, k2 *, k3 *を計算して復号装置に送信する第一計算部を含む。
k1 *:=(0,αδv1 +αr1 , 02n, η1 , 0)B*=(0g, δ(αv1,1g)+r1,1(αg),…,δ(αv1,ng)+r1,n(αg), 02ng, η1,1g,…,η1,ng, 0g)・X*
k2 *:=(0,βδv2 +βr2 , 02n, η2 , 0)B*=(0g, δ(βv2,1g)+r2,1(βg),…,δ(βv2,ng)+r2,n(βg), 02ng, η2,1g,…,η2,ng, 0g)・X*
k3 *:=(1,δv3 -(r1 +r2 ), 02n, η3 , 0)B*=(1g, δ(v3,1g)+ (r1,1+r2,1)g,…, δ(v3,1g)+(r1,n+r2,n)g, 02ng, η3,1g,…,η3,ng, 0g)・X*
本発明の一態様によるブラインドデータ検索システムは、ベクトルv1 ,…,vk を保持する復号装置が、検索用ベクトルw1 ,…,wN 及びデータM1,…,MNを保持する鍵生成サーバに対してva ・wi =0(a=1,…,k)を満たすデータMiの検索を行うブラインドデータ検索システムにおいて、kを所定の正の整数とし、nを所定のk以上の正の整数とし、qを素数とし、Fqを要素の数がq個の有限体とし、gを位数qの巡回加法群Gの要素とし、gTを位数qの巡回加法群GTの要素とし、B,B*を内積暗号方式の基底とし、復号装置は、鍵生成サーバに対してゼロ知識証明ZKPoK{(χi,j)|bi=(χi,jg,…,χi,4n+2g)∈B^ (i=0,1,…,n,4n+1)} (B^:=(b0,…,bn,b4n+1))及びZKPoK{(ζii,wi i)|ci,1=(ζii,wi ,03ni)B^} for ci,1を行う第一ゼロ知識証明部と、a=1,…,k, α,β,γ←UFq, u1 :=(u1,1,…,u1,n), u2 :=(u2,1,…,u2,n)←UFq n, u3 :=(u3,1,…,u3,n):=γva -(u1 +u2 )として、(αg,βg,αu1 g,βu2 g,u3 g)∈G3n+2を計算して鍵生成サーバに送信する第一計算部と、a=1,…,kとして、鍵生成サーバに対してゼロ知識証明ZKPoK{(α,β,αu1 ,βu2 ,u3 ,(πp)p∈Ia)|(αg,βg,αu1 g,βu2 g,u3 g), πp(u1,p+u2,p+u3,p)=1 for p∈Ia⊆[n]}を行う第二ゼロ知識証明部と、k0 *:=α-1k1 *-1k2 *を計算する第二計算部と、a=1,…,k, j=1,…,n+1, ε=0,1, zj (ε), tj (ε), φj (ε)UFq, x(ε), xj →(ε)U{x∈Fq n|x・va =0}, yj →(ε)UFq n (j=1,…,n), yn+1 →(ε):=-Σj=1 nyj →(ε)として、ci,j (ε):=zj (ε)・(ci,1+(tj (ε),xj →(ε)+yj →(ε),03nj (ε))B)の計算を行い{ci,j (0)|j=1,…,n+1},{ci,j (1)|j=1,…,n+1}を鍵生成サーバに送信する第三計算部と、鍵生成サーバに対してゼロ知識証明ZKPoK{(0i-1,zj (ε),0N-i,zj (ε)・(tj (ε),xj →(ε)+yj (ε)),φj (ε))|ci,j (ε)=0・c1,1+…+zj (ε)・ci,1+…+0・cN,1+(zj (ε)・(tj (ε),xj →(ε)+yj →(ε)),03nj (ε))B} (ε=0,1, j=1,…,n,n+1)}を行う第三ゼロ知識証明部と、ε=0,1として、以下のKi (ε)を計算して、Ki (0)=Ki (1)を満たす場合には、Mi′:=ci,2/Ki (0)を計算して出力する第四計算部と、を含み、
Figure 0006228912
鍵生成サーバは、内積暗号のマスター公開鍵mpk及びマスター秘密鍵mskを生成してマスター公開鍵mpkを復号装置に送信する鍵生成部と、暗号文Ci:=(ci,1,ci,2):=Enc(mpk,wi ,Mi) (i=1,…,N)を生成し(C1,…,CN)を復号装置に送信する暗号文生成部と、δ←UFq, r1 ,r2 , η1 2 3 UFq nとして、以下に定義されるk1 *, k2 *, k3 *を計算してk1 *,k2 *を復号装置に送信する第一計算部と、
k1 *:=(0,αδu1 +αr1 ,02n1 ,0)B*
k2 *:=(0,βδu2 +βr2 ,02n2 ,0)B*
k3 *:=(1,δu3 -(r1 +r2 ),02n3 ,0)B*
gi,j (ε):=e(k3 *,ci,j (ε)) (ε=0,1, j=1,…,n,n+1)を計算して復号装置4に送信する第二計算部と、を含む。
プライバシー安全性が確保される。
ブラインド内積暗号システム及びブラインド秘密鍵発行システムの例の機能ブロック図。 ブラインド秘密鍵発行システムの鍵生成サーバの例の機能ブロック図。 ブラインド秘密鍵発行システムの復号装置の例の機能ブロック図。 ブラインドデータ検索システムの例の機能ブロック図。 ブラインドデータ検索システムの鍵生成サーバの例の機能ブロック図。 ブラインドデータ検索システムの復号装置の例の機能ブロック図。
以下、本発明の実施形態について説明する。
双線形写像を多重に用いて高次の線形空間を構成するDPVS(Dual Pairing Vector Space: 双対双線形ベクトル空間)という手法を用いて、従来より提案されていた岡本-高島内積暗号方式において新たな「ブラインド秘密鍵発行プロトコルBlindKeyGen」を考案した。このブラインド秘密鍵発行プロトコルBlindKeyGenでは、述語ベクトルをもつ復号装置4は、秘密鍵の発行者である鍵生成サーバ2に述語ベクトルを隠して(ブラインド化して)鍵発行を依頼し、鍵生成サーバ2はブラインド化された述語ベクトル情報に対して秘密鍵を作成し、それを受け取った復号装置4は、受け取った情報を復元する(アンブラインド化する)ことで、述語ベクトルに関する秘密鍵を得ることができる。
[記法]
まず、最初に以下の記述で用いる記号の説明をする。
Aが集合のとき、y←UAは、yが集合Aからランダムに選ばれることを意味する。Fqは、要素の数がq個の有限体を意味する。また、Fq\{0}(Fqから0を除いたもの)をFq ×と記す。xはFq上のベクトルを意味する。つまり、(x1,…,xn)∈Fq nである。2つのベクトルx=(x1,…,xn)とv=(v1,…,vn)の間の内積演算Σni=1 nxiviをx・vと記す。Xが行列のとき、XTはXの転置行列を意味する。
[双対双線形ベクトル空間: DPVS (Dual Pairing Vector Space)]
双対双線形ベクトル空間(DPVS)は、双線形写像群の上で構成される。そこで、まず双線形写像群について説明する。
[双線形写像群]
双線形写像群(q,G,GT,g,e)は、位数が素数qの巡回加法群Gと位数がqの巡回乗法群GTおよびその要素g≠0∈G、ならびに、双線形写像e:G×G→GTからなる。ここで、e(sg,tg)=e(g,g)stおよびe(g,g)≠1が成立する。e(g,g)=gTとする。Gbpgは、安全係数(パラメータサイズ)λを入力として双線形写像群のパラメータ(q,G,GT,g,e)を出力するアルゴリズムである。
[双対双線形ベクトル空間(DPVS)]
双線形写像群(q,G,GT,g,e)上の双対双線形ベクトル空間(q,V,GT,A,e)は、素数q,Fq上のN-次元のベクトル空間V(群Gの要素をN 個並べたもの)、
Figure 0006228912
位数がqの巡回群GT、Vの標準基底A:=(a1,…,aN)(ここで、
Figure 0006228912
)、および、双線形写像e:V×V→GTからなる。ここで、x:=(g1,…,gN)∈Vとy:=(H1,…,HN)∈Vの間の双線形写像eは、e(x,y):=Πi=1 Ne(gi,Hi)∈GTで定義される。このとき、以下が成立する。e(sx,ty)=e(x,y)st、e(ai,aj)=e(g,g)δ(i,j)、ここで、δ(i,j)は、いわゆるクロネッカーのデルタであり、i=jならばδ(i,j)=1であり、i≠jならばδ(i,j)=0である。
Gdpvsは、安全係数λと所定の整数である次元Nを入力として、双対双線形ベクトル空間(DPVS)のパラメータparamV:=(q,V,GT,A,e)を出力するアルゴリズムである。このアルゴリズムの内部で、Gbpgを利用する。
Vの基底B:=(b1,…,bN)と基底B*:=(b1 *,…,bN *)に関して、(x1,…,xN)B:=Σi=1 Nxibiおよび(y1,…,yN)B*:=Σi=1 Nxibi *と定義する。ここで、bi,bi *は、双対双線形ベクトル空間Vの要素とする。すなわち、bi,bi *∈Vである。GL(n,Fq)は、Fq上の次数がnの一般線形群(要素がFqのn×n正則行列の集合)を意味する。
[岡本・高島内積暗号]
今回の発明のベースとなる内積暗号(岡本・高島内積暗号)を説明する。この内積暗号は、後述する4つのアルゴリズム(セットアップSetup、秘密鍵生成KeyGen、暗号化Enc、復号Dec)から構成される。内積暗号システムは、図1に示すように、セットアップサーバ1、鍵生成サーバ2、暗号化装置3及び復号装置4を備えている。
内積暗号では、最初に、セットアップサーバ1が、セットアップSetupを用いて、マスター公開鍵(公開パラメータ)mpkとマスター秘密鍵mskを作成し、マスター公開鍵mpk をシステムパラメータとして公開する。
また、鍵生成サーバ2が、秘密鍵生成KeyGenを用いて、述語ベクトルvに対して秘密鍵skv→を作成する。生成された秘密鍵skv→は、復号装置4に送信される。
暗号化装置3が、平文mと属性ベクトルxに対してマスター公開鍵(公開パラメータ)mpkを用いて暗号化Encを行い暗号文cx→を作る。生成された暗号文cx→は、復号装置4に送信される。
復号装置4は、復号Decを用いて、暗号文cx→を秘密鍵skv→で復号する。
ここで、v・x=0(v・xはベクトルの内積を意味する)でありその時に限り、平文m が復号できるとする。
セットアップSetupは、以下の通りである。
Setup(1λ,n):
(paramV,B:=(b0,…,b4n+1),B*:=(b0 *,…,b4n+1 *))←Gob(1λ,4n+2),
B^:=(b0,…,bn,b4n+1),B^*:=(b0 *,…,bn *,b3n+1 *,…,b4n *),
return mpk:=(1λ,paramV,B^), msk:=B^*
秘密鍵生成KeyGenは、以下の通りである。
KeyGen(mpk, msk, v∈Fq n\{0}):σ←UFq,η←UFq n,
Figure 0006228912
return skv→:=k*
Gobは、以下のように定義される確率的アルゴリズムである。
Gob(1λ,N): param’V:=(q,V,GT,A,e)←RGdpvs(1λ,N), ψ←UFq ×, gT:=e(g,g)ψ,
X:=(χi,j)←UGL(N,Fq), (νi,j):=ψ・(XT)-1, paramV:=(param’V, gT),
bi:=Σj=1 Nχi,jaj, B:=(b1,…,bN), bi *:=Σj=1 Nνi,jaj, B*:=(b0 *,…,bN *),
return (paramV, B, B*)
暗号化Encは、以下の通りである。
Enc(mpk, 平文m∈GT,x∈Fq n\{0}): ω,φ,ζ←UFq,
Figure 0006228912
return ctx→:=(c1,c2)
復号Decは、以下の通りである。
Dec(mpk,skv→:=k*, ctx→:=(c1,c2)): m′:=c2/e(c1,k*), return m′
[ブラインド秘密鍵発行プロトコルBlindKeyGen]
「ブラインド秘密鍵発行プロトコルBlindKeyGen」の一例の説明を行う。このプロトコルでは、岡本・高島内積暗号の秘密鍵生成KeyGen の代わりにブラインド秘密鍵発行プロトコルBlindKeyGenを用いて秘密鍵生成が行われる。ブラインド秘密鍵発行プロトコルBlindKeyGenは、鍵生成サーバ2及び復号装置4から成るブラインド秘密鍵発行システムにより行われる。鍵生成サーバ2は、図2に示すように、第一計算部21を例えば備えている。復号装置4は、図3に示すように、第一計算部41、ゼロ知識証明部42及び第二計算部43を例えば備えている。
このブラインド秘密鍵発行プロトコルを用いたブラインド内積暗号方式Π=(Setup, BlindKeyGen, Enc, Dec)は、以下のように構成される。
KeyGen,Enc,Dec は、岡本・高島内積暗号と同じである。Setup は、以下の点を除いて、岡本・高島内積暗号のSetup と同じである。異なる点は、(mpk, msk) が岡本・高島内積暗号の(mpk, msk) に加えて更に以下の情報を含むことである。
mpkとして、{di *}i=1,…,2nを更に含む。ここで、di *:=(0,γi ,02ni ,0)B*(i=1,…,2n)、γi i ∈Fq nである。
mskとして、X*を更に含む。ここで、X*:=ψ・(XT)-1(ψ∈Fq,X=(χi,j)∈GL(4n+1,Fq))である。
以下、「ブラインド秘密鍵発行プロトコルBlindKeyGen」の説明をする。
<入力> 共通入力:秘密鍵発行者である鍵生成サーバ2と依頼者である復号装置4は、マスター公開鍵mpk=(1λ,paramV,B^,{di *}i=1,…,2n)及びインデックス集合I⊆[n]を共有する。ここで、[n]は、[n]={1,…,n}であり、1からnまでの整数の集合である。マスター公開鍵mpk=(1λ,paramV,B^,{di *}i=1,…,2n)は、セットアップサーバ1により生成されたものである。
秘密入力: 鍵生成サーバ2は、マスター秘密鍵msk:=(B^*,X*)を保有する。マスター秘密鍵msk:=(B^*,X*)は、セットアップサーバ1により生成されたものである。
復号装置4は、秘密述語ベクトルv=(v1,…,vn)∈Fq n s.t. vi≠0 for i∈Iを保持する。
<記号> 以下では、(v1g,…,vLg)・(Mi,j)i,j=1,…,L=(Σi=1 LviMi,1g,…,Σi=1 LviMi,Lg)とする。
<鍵生成フェーズ>鍵生成サーバ2と復号装置4は、以下のプロトコルを実行する。
1. 復号装置4は、以下の値を生成する。
α,β,γ←UFq, v1 ,v2 UFq n, v3 :=γv-(v1 +v2 )
復号装置4の第一計算部41は、以下の計算を行い、鍵生成サーバ2に送信する。
(αg,βg,(αv1,ig)i=1,…,n, (βv2,ig)i=1,…,n, (v3,ig)i=1,…,n)
2. 復号装置4のゼロ知識証明部42は、鍵生成サーバ2に対して以下のゼロ知識証明プロトコルZKPoKを実行する。ZKPoK は、5-ラウンドのゼロ知識証明プロトコルである。
ZKPoK{(α,β,(v1,i)i=1,…,n, (v2,i) i=1,…,n, (v3,i) i=1,…,n, (πi)∈I)| αg,βg, (αv1,ig)i=1,…,n, (βv2,ig)i=1,…,n, (v3,ig)i=1,…,n, πi(v1,i+v2,i+v3,i)g=g for i∈I}
ここで、上記証明πiは、i∈Iに対して、vi≠0 であることを保証する。もし、ZKPoKが受理されなければ、鍵生成サーバ2はプロトコルを中止する。
ゼロ知識証明プロトコルZKPoK{A|B}は、情報Bを用いて情報Aを知っていることを情報Aを明かさずに証明するプロトコルである。言い換えれば、ゼロ知識証明プロトコルZKPoK{A|B}は、条件Bを満たす情報Aを知っていることを情報Aを明かさずに証明するプロトコルである。
ゼロ知識証明プロトコルについては、例えば参考文献1を参照のこと。
〔参考文献1〕I.Damgard, “Practical and provably secure release of a secret and exchange of signatures”, In EUROCRYPT’93, pages 200-217, 1994
3. 鍵生成サーバ2は、鍵生成サーバ2の配下の以下の値を選ぶ。
δ←UFq, r1 ,r2 1 2 3 UFq n
つぎに鍵生成サーバ2の第一計算部21は、以下の値k1 *, k2 *, k3 *を計算し、復号装置4に送信する。
k1 *:=(0,αδv1 +αr1 , 02n, η1 , 0)B*=(0g, δ(αv1,1g)+r1,1(αg),…,δ(αv1,ng)+r1,n(αg), 02ng, η1,1g,…,η1,ng, 0g)・X*
k2 *:=(0,βδv2 +βr2 , 02n, η2 , 0)B*=(0g, δ(βv2,1g)+r2,1(βg),…,δ(βv2,ng)+r2,n(βg), 02ng, η2,1g,…,η2,ng, 0g)・X*
k3 *:=(1,δv3 -(r1 +r2 ), 02n, η3 , 0)B*=(1g, δ(v3,1g)+ (r1,1+r2,1)g,…, δ(v3,1g)+(r1,n+r2,n)g, 02ng, η3,1g,…,η3,ng, 0g)・X*
4. 復号装置4の第二計算部43は、以下の手順で秘密鍵skv→を計算する。ここで、η-1η1 -1η2 3 である。
skv→:=α-1k1 *-1k2 *+k3 *=(1,δγv,02n,0)B*,
復号装置4の第二計算部43は、以下の関係が満たされるかを確認する。もし、関係が満たされない場合には、プロトコルを中止する。
e(b0,skv→)=gT, e(bi,skv→)=e(b1,skv→)vi/v1(i=1,…,n), e(b4n+1,skv→)=1
<出力> 復号装置4は、ベクトルvに対する秘密鍵skv→を得る。
[ブラインドデータ検索方式]
内積述語の関数型データ検索方式であるブラインドデータ検索方式について説明する。このブラインドデータ検索方式とは、鍵生成サーバ5が保持する検索用ベクトルw1 ,…,wn ∈Fq nおよびデータM1,…,MNに対して、これを検索する復号装置6がベクトルv1 ,…,vk ∈Fq nを用いて検索を行う。ここで、kは所定の正の整数であり、Nは所定のk以上の正の整数である。
ブラインドデータ検索方式は、図4に例示する鍵生成サーバ5及び復号装置6から成るブラインドデータ検索システムにより行われる。鍵生成サーバ5は、図5に示すように、鍵生成部51、暗号文生成部52、第一計算部53及び第二計算部54を例えば備えている。復号装置6は、図6に示すように、第一ゼロ知識証明部61、第一計算部62、第二ゼロ知識証明部63、第二計算部64、第三計算部64、第三ゼロ知識証明部66及び第四計算部67を例えば備えている。
復号装置6は、内積述語関係を満足する、つまりva ・wi =0(a=1,…,k)を満たすデータMiのみを検索することができる。
<入力> 共有入力: 鍵生成サーバ5と復号装置6の共有情報は、インデックス集合Ia⊆[n](a=1,…,k)である。
固有入力: 鍵生成サーバ5の固有入力は、ベクトルw1 :=(w1,1,…,w1,n),…, wN :=(wN,1,…,wN,n)∈Fq nおよびデータM1,…,MNである。ここで、Mi∈G’⊆GT#G’/#GT<ε(λ)およびwi,n=1 (i=1,…,N)とする。#Aは、群Aの要素の数である。ε(λ)は、セキュリティパラメータλのネグリジブルな関数である。
復号装置6の固有入力Σは、ベクトルv1 :=(v1,1,…,v1,n),…,vk :=(vk,1,…,vk,n)∈Fq nである。ここで、va,i≠0 for a=1,…,k, i∈I
<初期フェーズ>
1. 鍵生成サーバ5の鍵生成部51は、前に示した岡本・高島内積暗号のセットアップSetupを用いて、(mpk, msk):=Setup(1λ,n)を生成し、マスター公開鍵mpkを復号装置6に送る。
2. 鍵生成サーバ5の暗号文生成部52は、暗号文Ci:=(ci,1,ci,2):=Enc(mpk,wi ,Mi) (i=1,…,N)を生成し、(C1,…,CN)を復号装置6に送る。
3. 証明者としての復号装置6及び検証者としての鍵生成サーバ5は、ゼロ知識証明プロトコルZKPoK{(χi,j)|bi=(χi,jg,…,χi,4n+2g)∈B^ (i=0,1,…,n,4n+1)} (B^:=(b0,…,bn,b4n+1))及びZKPoK{(ζii,wi i)|ci,1=(ζii,wi ,03ni)B^} for ci,1を実行する。もし、検証に失敗すれば、復号装置6はこのプロトコルの実行を中止する。
言い換えれば、復号装置6の第一ゼロ知識証明部61は、鍵生成サーバ5に対してゼロ知識証明ZKPoK{(χi,j)|bi=(χi,jg,…,χi,4n+2g)∈B^ (i=0,1,…,n,4n+1)} (B^:=(b0,…,bn,b4n+1))及びZKPoK{(ζii,wi i)|ci,1=(ζii,wi ,03ni)B^} for ci,1を行う。
<検索フェーズ>
鍵生成サーバ5及び復号装置6は、順次、以下の検索プロトコルをk回実行する。
そのa回目の検索プロトコル(1≦a≦k)で、鍵生成サーバ5は、va に対して、すべてのi(1≦i≦N)のCiとの間で検索(復号)プロトコルを実行する。
1. 復号装置6の第一計算部62は、乱数α,β,γ←UFq、ランダムベクトルu1 :=(u1,1,…,u1,n), u2 :=(u2,1,…,u2,n)←UFq nを選び、u3 :=(u3,1,…,u3,n):=γva -(u1 +u2 )とする。
復号装置6の第一計算部62は、(αg,βg,αu1 g,βu2 g,u3 g)∈G3n+2を計算し、それらを鍵生成サーバ5に送る。
2. 復号装置6の第二ゼロ知識証明部63は、鍵生成サーバ5に対して、知識(α,β,αu1 ,βu2 ,u3 ,(πp)p∈Ia)に関する、次の値に対するゼロ知識証明ZKPoKを実行する。
(αg,βg,αu1 g,βu2 g,u3 g)およびπp(u1,p+u2,p+u3,p)=1 for p∈Ia⊆[n]
すなわち、ゼロ知識証明ZKPoKは、ZKPoK{(α,β,αu1 ,βu2 ,u3 ,(πp)p∈Ia)|(αg,βg,αu1 g,βu2 g,u3 g), πp(u1,p+u2,p+u3,p)=1 for p∈Ia⊆[n]}である。
もし、ゼロ知識証明ZKPoKの検証に失敗すれば、鍵生成サーバ5は検索処理を中止する。
3. 鍵生成サーバ5の第一計算部53は、δ←UFqおよびr1 ,r2 , η1 2 3 UFq nを選び、以下の値k1 *, k2 *, k3 *を計算する。
k1 *:=(0,αδu1 +αr1 ,02n1 ,0)B*
k2 *:=(0,βδu2 +βr2 ,02n2 ,0)B*
k3 *:=(1,δu3 -(r1 +r2 ),02n3 ,0)B*
鍵生成サーバ5の第一計算部53は、k1 *とk2 *を復号装置4に送り、k3 *を秘密に保存する。
4. 復号装置6の第二計算部64は、以下の値k0 *を計算する。
k0 *:=α-1k1 *-1k2 *
5. 復号装置6が鍵であるベクトルva でCi(1≦i≦N)を復号しようとするときは、復号装置6の第三計算部65は、以下のci,j (ε)を計算する。
ci,j (ε):=zj (ε)・(ci,1+(tj (ε),xj →(ε)+yj →(ε),03nj (ε))B)
ここで、j=1,…,n+1, ε=0,1, zj (ε), tj (ε), φj (ε)UFq, x(ε), xj →(ε)U{x∈Fq n|x・va =0}, yj →(ε)UFq n (j=1,…,n), yn+1 →(ε):=-Σj=1 nyj →(ε)(つまり、Σj=1 n+1yj →(ε)=0)とする。
復号装置6の第三計算部65は、鍵生成サーバ5に以下を送る。
{ci,j (0)|j=1,…,n+1},{ci,j (1)|j=1,…,n+1}
また、復号装置6の第三ゼロ知識証明部66は、鍵生成サーバ5に対して以下のゼロ零知識証明ZKPoKを実行する。
ZKPoK{(0i-1,zj (ε),0N-i,zj (ε)・(tj (ε),xj →(ε)+yj (ε)),φj (ε))|ci,j (ε)=0・c1,1+…+zj (ε)・ci,1+…+0・cN,1+(zj (ε)・(tj (ε),xj →(ε)+yj →(ε)),03nj (ε))B} (ε=0,1, j=1,…,n,n+1)}
もし、ZKPoK の検証に失敗すれば、鍵生成サーバ5は検索処理を中止する。さもなければ、鍵生成サーバ5の第二計算部54は、gi,j (ε):=e(k3 *,ci,j (ε)) (ε=0,1, j=1,…,n,n+1)を計算し、それらを復号装置6に送る。
7. 復号装置6の第四計算部67は、以下の値を計算する。
Figure 0006228912
さらに、復号装置6の第四計算部67は、Ki (0)=Ki (1)をチェックして、満足しなければ処理を中止し、満足すれば、Mi′:=ci,2/Ki (0)を計算する。もし、Mi′∈G’ならば、復号装置6の第四計算部67はそれを出力する。さもなくば、処理を中止する旨の信号を出力する。
[変形例等]
上記装置及び方法において説明した処理は、記載の順にしたがって時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
また、上記各装置における各種の処理機能をコンピュータによって実現してもよい。その場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶部に格納する。そして、処理の実行時、このコンピュータは、自己の記憶部に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実施形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、プログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、コンピュータ上で所定のプログラムを実行させることにより、各装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (9)

  1. 復号装置から依頼を受けた鍵生成サーバが、内積暗号方式に用いられる秘密鍵を発行するブラインド秘密鍵発行システムにおいて、
    qを素数とし、Fqを要素の数がq個の有限体とし、nを所定の正の整数とし、gを位数qの巡回加法群Gの要素とし、gTを位数qの巡回加法群GTの要素とし、I⊆[n]とし、秘密述語ベクトルをv=(v1,…,vn)∈Fq n s.t. vi≠0 for i∈Iとし、B*を上記内積暗号方式の基底とし、GL(n,Fq)を要素がFqのn×n正則行列の集合とし、X*:=ψ・(XT)-1 (ψ∈Fq,X=(χi,j)∈GL(4n+1,Fq))とし、(v1g,…,vLg)・(Mi,j)i,j=1,…,L=(Σi=1 LviMi,1g,…,Σi=1 LviMi,Lg)として、
    上記復号装置は、α,β,γ←UFq, v1 =(v1,1,…,v1,n),v2 =(v2,1,…,v2,n)←UFq n, v3 =(v3,1,…,v3,n):=γv-(v1 +v2 )として、(αg,βg,(αv1,ig)i=1,…,n, (βv2,ig)i=1,…,n, (v3,ig)i=1,…,n)を計算して上記復号装置に送信する第一計算部と、上記鍵生成サーバに対してゼロ知識証明ZKPoK{(α,β,(v1,i)i=1,…,n, (v2,i) i=1,…,n, (v3,i) i=1,…,n, (πi)∈I)| αg,βg, (αv1,ig)i=1,…,n, (βv2,ig)i=1,…,n, (v3,ig)i=1,…,n, πi(v1,i+v2,i+v3,i)g=g for i∈I}を行うゼロ知識証明部と、η-1η1 -1η2 3 として、skv→:=α-1k1 *-1k2 *+k3 *=(1,δγv,02n,0)B*を計算して、e(b0,skv→)=gT, e(bi,skv→)=e(b1,skv→)vi/v1(i=1,…,n), e(b4n+1,skv→)=1を満たす場合には、skv→を上記秘密述語ベクトルvに対する秘密鍵とする第二計算部と、を含み、
    上記鍵生成サーバは、δ←UFq, r1 =(r1,1,…,r1,n),r2 =(r2,1,…,r2,n),η1 =(η1,1,…,η1,n),η2 =(η2,1,…,η2,n),η3 =(η3,1,…,η3,n)←UFq nとして、以下に定義されるk1 *, k2 *, k3 *を計算して上記復号装置に送信する第一計算部を含む、
    k1 *:=(0,αδv1 +αr1 , 02n, η1 , 0)B*=(0g, δ(αv1,1g)+r1,1(αg),…,δ(αv1,ng)+r1,n(αg), 02ng, η1,1g,…,η1,ng, 0g)・X*
    k2 *:=(0,βδv2 +βr2 , 02n, η2 , 0)B*=(0g, δ(βv2,1g)+r2,1(βg),…,δ(βv2,ng)+r2,n(βg), 02ng, η2,1g,…,η2,ng, 0g)・X*
    k3 *:=(1,δv3 -(r1 +r2 ), 02n, η3 , 0)B*=(1g, δ(v3,1g)+ (r1,1+r2,1)g,…, δ(v3,1g)+(r1,n+r2,n)g, 02ng, η3,1g,…,η3,ng, 0g)・X*
    ブラインド秘密鍵発行システム。
  2. 請求項1のブラインド秘密鍵発行システムの鍵生成サーバ。
  3. 請求項1のブラインド秘密鍵発行システムの復号装置。
  4. 復号装置から依頼を受けた鍵生成サーバが、内積暗号方式に用いられる秘密鍵を発行するブラインド秘密鍵発行方法において、
    qを素数とし、Fqを要素の数がq個の有限体とし、nを所定の正の整数とし、gを位数qの巡回加法群Gの要素とし、gTを位数qの巡回加法群GTの要素とし、I⊆[n]とし、秘密述語ベクトルをv=(v1,…,vn)∈Fq n s.t. vi≠0 for i∈Iとし、B*を上記内積暗号方式の基底とし、GL(n,Fq)を要素がFqのn×n正則行列の集合とし、X*:=ψ・(XT)-1 (ψ∈Fq,X=(χi,j)∈GL(4n+1,Fq))とし、(v1g,…,vLg)・(Mi,j)i,j=1,…,L=(Σi=1 LviMi,1g,…,Σi=1 LviMi,Lg)として、
    上記復号装置の第一計算部が、は、α,β,γ←UFq, v1 =(v1,1,…,v1,n),v2 =(v2,1,…,v2,n)←UFq n, v3 =(v3,1,…,v3,n):=γv-(v1 +v2 )として、(αg,βg,(αv1,ig)i=1,…,n, (βv2,ig)i=1,…,n, (v3,ig)i=1,…,n)を計算して上記復号装置に送信する第一計算ステップと、
    上記復号装置のゼロ知識証明部が、上記鍵生成サーバに対してゼロ知識証明ZKPoK{(α,β,(v1,i)i=1,…,n, (v2,i) i=1,…,n, (v3,i) i=1,…,n, (πi)∈I)| αg,βg, (αv1,ig)i=1,…,n, (βv2,ig)i=1,…,n, (v3,ig)i=1,…,n, πi(v1,i+v2,i+v3,i)g=g for i∈I}を行うゼロ知識証明ステップと、
    上記鍵生成サーバの第一計算部が、δ←UFq, r1 =(r1,1,…,r1,n),r2 =(r2,1,…,r2,n),η1 =(η1,1,…,η1,n),η2 =(η2,1,…,η2,n),η3 =(η3,1,…,η3,n)←UFq nとして、以下に定義されるk1 *, k2 *, k3 *を計算して上記復号装置に送信する第一計算ステップと、
    k1 *:=(0,αδv1 +αr1 , 02n, η1 , 0)B*=(0g, δ(αv1,1g)+r1,1(αg),…,δ(αv1,ng)+r1,n(αg), 02ng, η1,1g,…,η1,ng, 0g)・X*
    k2 *:=(0,βδv2 +βr2 , 02n, η2 , 0)B*=(0g, δ(βv2,1g)+r2,1(βg),…,δ(βv2,ng)+r2,n(βg), 02ng, η2,1g,…,η2,ng, 0g)・X*
    k3 *:=(1,δv3 -(r1 +r2 ), 02n, η3 , 0)B*=(1g, δ(v3,1g)+ (r1,1+r2,1)g,…, δ(v3,1g)+(r1,n+r2,n)g, 02ng, η3,1g,…,η3,ng, 0g)・X*
    上記復号装置の第二計算部が、η-1η1 -1η2 3 として、skv→:=α-1k1 *-1k2 *+k3 *=(1,δγv,02n,0)B*を計算して、e(b0,skv→)=gT, e(bi,skv→)=e(b1,skv→)vi/v1(i=1,…,n), e(b4n+1,skv→)=1を満たす場合には、skv→を上記秘密述語ベクトルvに対する秘密鍵とする第二計算ステップと、
    を含むブラインド秘密鍵発行方法。
  5. ベクトルv1 ,…,vk を保持する復号装置が、検索用ベクトルw1 ,…,wN 及びデータM1,…,MNを保持する鍵生成サーバに対してva ・wi =0(a=1,…,k)を満たすデータMiの検索を行うブラインドデータ検索システムにおいて、
    kを所定の正の整数とし、nを所定のk以上の正の整数とし、qを素数とし、Fqを要素の数がq個の有限体とし、gを位数qの巡回加法群Gの要素とし、gTを位数qの巡回加法群GTの要素とし、B,B*を上記内積暗号方式の基底とし、
    上記復号装置は、上記鍵生成サーバに対してゼロ知識証明ZKPoK{(χi,j)|bi=(χi,jg,…,χi,4n+2g)∈B^ (i=0,1,…,n,4n+1)} (B^:=(b0,…,bn,b4n+1))及びZKPoK{(ζii,wi i)|ci,1=(ζii,wi ,03ni)B^} for ci,1を行う第一ゼロ知識証明部と、a=1,…,k, α,β,γ←UFq, u1 :=(u1,1,…,u1,n), u2 :=(u2,1,…,u2,n)←UFq n, u3 :=(u3,1,…,u3,n):=γva -(u1 +u2 )として、(αg,βg,αu1 g,βu2 g,u3 g)∈G3n+2を計算して上記鍵生成サーバに送信する第一計算部と、a=1,…,kとして、上記鍵生成サーバに対してゼロ知識証明ZKPoK{(α,β,αu1 ,βu2 ,u3 ,(πp)p∈Ia)|(αg,βg,αu1 g,βu2 g,u3 g), πp(u1,p+u2,p+u3,p)=1 for p∈Ia⊆[n]}を行う第二ゼロ知識証明部と、k0 *:=α-1k1 *-1k2 *を計算する第二計算部と、a=1,…,k, j=1,…,n+1, ε=0,1, zj (ε), tj (ε), φj (ε)UFq, x(ε), xj →(ε)U{x∈Fq n|x・va =0}, yj →(ε)UFq n (j=1,…,n), yn+1 →(ε):=-Σj=1 nyj →(ε)として、ci,j (ε):=zj (ε)・(ci,1+(tj (ε),xj →(ε)+yj →(ε),03nj (ε))B)の計算を行い{ci,j (0)|j=1,…,n+1},{ci,j (1)|j=1,…,n+1}を上記鍵生成サーバに送信する第三計算部と、上記鍵生成サーバに対してゼロ知識証明ZKPoK{(0i-1,zj (ε),0N-i,zj (ε)・(tj (ε),xj →(ε)+yj (ε)),φj (ε))|ci,j (ε)=0・c1,1+…+zj (ε)・ci,1+…+0・cN,1+(zj (ε)・(tj (ε),xj →(ε)+yj →(ε)),03nj (ε))B} (ε=0,1, j=1,…,n,n+1)}を行う第三ゼロ知識証明部と、ε=0,1として、以下のKi (ε)を計算して、Ki (0)=Ki (1)を満たす場合には、Mi′:=ci,2/Ki (0)を計算して出力する第四計算部と、を含み、
    Figure 0006228912
    上記鍵生成サーバは、内積暗号のマスター公開鍵mpk及びマスター秘密鍵mskを生成して上記マスター公開鍵mpkを上記復号装置に送信する鍵生成部と、暗号文Ci:=(ci,1,ci,2):=Enc(mpk,wi ,Mi) (i=1,…,N)を生成し(C1,…,CN)を上記復号装置に送信する暗号文生成部と、δ←UFq, r1 ,r2 , η1 2 3 UFq nとして、以下に定義されるk1 *, k2 *, k3 *を計算してk1 *,k2 *を上記復号装置に送信する第一計算部と、
    k1 *:=(0,αδu1 +αr1 ,02n1 ,0)B*
    k2 *:=(0,βδu2 +βr2 ,02n2 ,0)B*
    k3 *:=(1,δu3 -(r1 +r2 ),02n3 ,0)B*
    gi,j (ε):=e(k3 *,ci,j (ε)) (ε=0,1, j=1,…,n,n+1)を計算して復号装置4に送信する第二計算部と、を含む、
    ブラインドデータ検索システム。
  6. 請求項5のブラインドデータ検索システムの鍵生成サーバ。
  7. 請求項5のブラインドデータ検索システムの復号装置。
  8. ベクトルv1 ,…,vk を保持する復号装置が、検索用ベクトルw1 ,…,wN 及びデータM1,…,MNを保持する鍵生成サーバに対してva ・wi =0(a=1,…,k)を満たすデータMiの検索を行うブラインドデータ検索システムにおいて、
    kを所定の正の整数とし、nを所定のk以上の正の整数とし、qを素数とし、Fqを要素の数がq個の有限体とし、gを位数qの巡回加法群Gの要素とし、gTを位数qの巡回加法群GTの要素とし、B,B*を上記内積暗号方式の基底とし、
    上記鍵生成サーバの鍵生成部が、内積暗号のマスター公開鍵mpk及びマスター秘密鍵mskを生成して上記マスター公開鍵mpkを上記復号装置に送信する鍵生成ステップと、
    上記鍵生成サーバの暗号文生成部が、暗号文Ci:=(ci,1,ci,2):=Enc(mpk,wi ,Mi) (i=1,…,N)を生成し(C1,…,CN)を上記復号装置に送信する暗号文生成ステップと、
    上記復号装置の第一ゼロ知識証明部が、上記鍵生成サーバに対してゼロ知識証明ZKPoK{(χi,j)|bi=(χi,jg,…,χi,4n+2g)∈B^ (i=0,1,…,n,4n+1)} (B^:=(b0,…,bn,b4n+1))及びZKPoK{(ζii,wi i)|ci,1=(ζii,wi ,03ni)B^} for ci,1を行う第一ゼロ知識証明ステップと、
    上記復号装置の第一計算部が、a=1,…,k, α,β,γ←UFq, u1 :=(u1,1,…,u1,n), u2 :=(u2,1,…,u2,n)←UFq n, u3 :=(u3,1,…,u3,n):=γva -(u1 +u2 )として、(αg,βg,αu1 g,βu2 g,u3 g)∈G3n+2を計算して上記鍵生成サーバに送信する第一計算ステップと、
    上記復号装置の第二ゼロ知識証明部が、a=1,…,kとして、上記鍵生成サーバに対してゼロ知識証明ZKPoK{(α,β,αu1 ,βu2 ,u3 ,(πp)p∈Ia)|(αg,βg,αu1 g,βu2 g,u3 g), πp(u1,p+u2,p+u3,p)=1 for p∈Ia⊆[n]}を行う第二ゼロ知識証明ステップと、
    上記鍵生成サーバの第一計算部が、δ←UFq, r1 ,r2 , η1 2 3 UFq nとして、以下に定義されるk1 *, k2 *, k3 *を計算してk1 *,k2 *を上記復号装置に送信する第一計算ステップと、
    k1 *:=(0,αδu1 +αr1 ,02n1 ,0)B*
    k2 *:=(0,βδu2 +βr2 ,02n2 ,0)B*
    k3 *:=(1,δu3 -(r1 +r2 ),02n3 ,0)B*
    上記復号装置の第二計算部が、k0 *:=α-1k1 *-1k2 *を計算する第二計算ステップと、
    上記復号装置の第三計算部が、a=1,…,k, j=1,…,n+1, ε=0,1, zj (ε), tj (ε), φj (ε)UFq, x(ε), xj →(ε)U{x∈Fq n|x・va =0}, yj →(ε)UFq n (j=1,…,n), yn+1 →(ε):=-Σj=1 nyj →(ε)として、ci,j (ε):=zj (ε)・(ci,1+(tj (ε),xj →(ε)+yj →(ε),03nj (ε))B)の計算を行い{ci,j (0)|j=1,…,n+1},{ci,j (1)|j=1,…,n+1}を上記鍵生成サーバに送信する第三計算ステップと、
    上記復号装置の第三ゼロ知識証明部が、上記鍵生成サーバに対してゼロ知識証明ZKPoK{(0i-1,zj (ε),0N-i,zj (ε)・(tj (ε),xj →(ε)+yj (ε)),φj (ε))|ci,j (ε)=0・c1,1+…+zj (ε)・ci,1+…+0・cN,1+(zj (ε)・(tj (ε),xj →(ε)+yj →(ε)),03nj (ε))B} (ε=0,1, j=1,…,n,n+1)}を行う第三ゼロ知識証明ステップと、
    上記鍵生成サーバの第二計算部が、gi,j (ε):=e(k3 *,ci,j (ε)) (ε=0,1, j=1,…,n,n+1)を計算して復号装置4に送信する第二計算ステップと、
    上記復号装置の第四計算部が、ε=0,1として、以下のKi (ε)を計算して、Ki (0)=Ki (1)を満たす場合には、Mi′:=ci,2/Ki (0)を計算して出力する第四計算ステップと、
    Figure 0006228912
    を含むブラインドデータ検索方法。
  9. 請求項2の鍵生成装置、請求項3の復号装置、請求項6の鍵生成装置又は請求項7の復号装置の各部としてコンピュータを機能させるためのプログラム。
JP2014255694A 2014-12-18 2014-12-18 ブラインド秘密鍵発行システム、ブラインドデータ検索システム、これらの方法、鍵生成サーバ、復号装置及びプログラム Active JP6228912B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014255694A JP6228912B2 (ja) 2014-12-18 2014-12-18 ブラインド秘密鍵発行システム、ブラインドデータ検索システム、これらの方法、鍵生成サーバ、復号装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014255694A JP6228912B2 (ja) 2014-12-18 2014-12-18 ブラインド秘密鍵発行システム、ブラインドデータ検索システム、これらの方法、鍵生成サーバ、復号装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2016114901A JP2016114901A (ja) 2016-06-23
JP6228912B2 true JP6228912B2 (ja) 2017-11-08

Family

ID=56141626

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014255694A Active JP6228912B2 (ja) 2014-12-18 2014-12-18 ブラインド秘密鍵発行システム、ブラインドデータ検索システム、これらの方法、鍵生成サーバ、復号装置及びプログラム

Country Status (1)

Country Link
JP (1) JP6228912B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11451372B2 (en) 2018-01-17 2022-09-20 Mitsubishi Electric Corporation Privacy-preserving analysis device, privacy-preserving analysis system, privacy-preserving analysis method, and computer readable medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001344214A (ja) * 2000-05-31 2001-12-14 Matsushita Electric Ind Co Ltd 端末の認証方法と暗号通信システム
JP2012256008A (ja) * 2011-05-19 2012-12-27 Nippon Telegr & Teleph Corp <Ntt> 評価対象情報自己評価システム、評価対象情報自己評価方法、装置、プログラム
JP5815754B2 (ja) * 2012-01-24 2015-11-17 日本電信電話株式会社 署名検証システム、署名装置、検証装置、署名検証方法
JP5836506B2 (ja) * 2013-01-12 2015-12-24 三菱電機株式会社 鍵生成装置、鍵生成プログラム、秘匿検索システム及び鍵配布方法
WO2014184894A1 (ja) * 2013-05-15 2014-11-20 三菱電機株式会社 暗号システム、暗号方法及び暗号プログラム

Also Published As

Publication number Publication date
JP2016114901A (ja) 2016-06-23

Similar Documents

Publication Publication Date Title
US20170353296A1 (en) Proxy computing system, computing apparatus, capability providing apparatus, proxy computing method, capability providing method, program, and recording medium
JP5905128B2 (ja) 暗号システム、再暗号化装置及び暗号方法
JP5814880B2 (ja) 暗号システム、暗号方法、暗号プログラム及び復号装置
JP2015031935A (ja) 情報処理方法及びプログラム
Jiang et al. Lattice‐based multi‐use unidirectional proxy re‐encryption
JP5099003B2 (ja) グループ署名システムおよび情報処理方法
JP5852551B2 (ja) 関数型暗号システム、鍵生成装置、暗号化装置、復号装置、関数型暗号方法、およびプログラム
JP5921410B2 (ja) 暗号システム
JP2013243441A (ja) 秘密分散システム、データ分散装置、データ復元装置、秘密分散方法、およびプログラム
WO2016199507A1 (ja) 鍵交換方法、鍵交換システム、鍵配送装置、通信装置、およびプログラム
JP6228912B2 (ja) ブラインド秘密鍵発行システム、ブラインドデータ検索システム、これらの方法、鍵生成サーバ、復号装置及びプログラム
WO2015125293A1 (ja) 暗号システム及び暗号プログラム
WO2020070973A1 (ja) 復号装置、暗号システム、復号方法及び復号プログラム
WO2019239776A1 (ja) 復号装置、暗号化装置及び暗号システム
JP5713947B2 (ja) プロキシ暗号システム,プロキシ暗号方法,委託装置,プロキシ装置
JP2011118387A (ja) 信号に関数を適用した結果を求めるための方法およびシステム
JP5314449B2 (ja) 電子署名検証システム、電子署名装置、検証装置、電子署名検証方法、電子署名方法、検証方法、電子署名プログラム、検証プログラム
JP5815754B2 (ja) 署名検証システム、署名装置、検証装置、署名検証方法
JP5227764B2 (ja) 電子署名検証システム、電子署名装置、検証装置、電子署名検証方法、電子署名方法、検証方法、電子署名プログラム、検証プログラム
JP5912281B2 (ja) 復号結果検証装置、方法、システム及びプログラム
WO2023007680A1 (ja) 準同型巡回演算システム、準同型巡回演算装置、準同型巡回演算方法および準同型巡回演算プログラム
Sato et al. Signcryption with quantum random oracles
JP6885325B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、プログラム
JP2010164897A (ja) 暗号化数値二進変換システム、暗号化数値二進変換方法、暗号化数値二進変換プログラム
JP2015136049A (ja) 代理署名装置、署名検証装置、鍵生成装置、代理署名システム、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170908

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171016

R150 Certificate of patent or registration of utility model

Ref document number: 6228912

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150