JP6381128B2 - 検索システム、クライアント、サーバ、検索プログラムおよび検索方法 - Google Patents
検索システム、クライアント、サーバ、検索プログラムおよび検索方法 Download PDFInfo
- Publication number
- JP6381128B2 JP6381128B2 JP2015021572A JP2015021572A JP6381128B2 JP 6381128 B2 JP6381128 B2 JP 6381128B2 JP 2015021572 A JP2015021572 A JP 2015021572A JP 2015021572 A JP2015021572 A JP 2015021572A JP 6381128 B2 JP6381128 B2 JP 6381128B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- client
- polynomial
- server
- attribute name
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
前記所定の条件は、前記クライアントへの入力が前記属性名の値と一致することであってもよい。
前記クライアントへの入力は2つの値で定められる範囲であり、前記所定の条件は、前記範囲に前記属性名の値が含まれることであってもよい。
前記属性名の範囲は2つの値で定められ、前記所定の条件は、前記範囲に前記クライアントへの入力が含まれることであってもよい。
I.完全性:
クライアント1の出力Tはf(a,b)である。
II.安全性:
(1)クライアント1の安全性:入力aをサーバ2に知られてはならない。
(2)サーバ2の安全性:入力bや、出力f(a,b)から計算できる情報以外をクライアント1に知られてはならない。
クライアント1は、述語Pa1(x1)が真(つまり入力a1が属性名x1の値と一致)であり、かつ、述語Pa2(x2)が真(つまり入力a2が属性名x2の値と一致)となるインデックスiにおけるデータdiを、サーバ2から取得する。(例えば、v21=a1かつv22=a2である場合、クライアント1はサーバ2からデータd2を取得できる。)
(1)クライアント1の安全性:入力a1,a2をサーバ2に知られてはならない。なお、検索の述語が結合が「AND」であることは関数fの定義に含まれているので、知られてもよい。
(2)サーバ2の安全性:行列bの属性値v11,・・・,vnkをクライアント1に知られてはならない。また、上記述語Paが真にならないインデックスjにおけるデータdjをクライアント1に知られてはならない。
まずは図6を用いて論理式Pについて説明する。説明の簡略化のために属性は1つでありその属性名はxのみであるとする。
P=Pa(x1) AND Pb(x2)
と表される。そして、2つの論理式Pa(x1),Pb(x2)がともに真である場合に論理式Pが真となる。
P=Pa(x1) OR Pb(x2)
と表される。そして、2つの論理式Pa(x1),Pb(x2)の少なくとも一方が真である場合に論理式Pが真となる。
P=(Pa(x1) AND Pb(x2))OR
(Pa(x1) AND Pc(x3))
と表される。そして、「2つの論理式Pa(x1),Pb(x2)がともに真」および「2つの論理式Pa(x1),Pc(x3)がともに真」の少なくとも一方が真である場合に論理式Pが真となる。
続いて、図5を用いて戻り値Yについて説明する。
また、インデックスの数が複数ある場合でも、インデックスのそれぞれに対して検索を行えばよいだけなので、以下ではインデックスの数を1つとする。
・Enc−1は復号処理(Decryption)であり、復号用の秘密情報を持つクライアント1は暗号値Enc(p)を復号して値pをEnc−1{Enc(p)}=pと復元できるが、サーバ2は復元できない。
・Encは加法準同型性(Additively Homomorphic Property)を有し、任意の値p,q,rに対して下記(1)〜(3)式を満たす。
g(Enc(p),Enc(q))=Enc(p+q) ・・・(1)
h(r,Enc(p))=Enc(rp) ・・・(2)
i(Enc(p),Enc(q))=Enc(p−q) ・・・(3)
すなわち、2つの暗号値Enc(p),Enc(q)から所定の関数gを用いて暗号値Enc(p+q)を算出できる。また、1つの定数rおよび1つの暗号値Enc(p)から所定の関数hを用いて暗号値Enc(rp)を算出できる。これらのことから、2つの暗号値Enc(p),Enc(q)から所定の関数iを用いて暗号値Enc(p−q)を算出できるのは明らかである。ただし、2つの暗号値Enc(p),Enc(q)からEnc(pq)やEnc(p/q)を算出することはできない。関数g,h,iは暗号化方式に応じて定まる関数であり、クライアント1もサーバ2も知っている。
加法準同型性を有する暗号として、Lifted ElGamal暗号、Paillier暗号、Damgard−Jurik暗号などが知られている。
Y=Enc{r(v−a)+(d||0,0,・・・,0)} ・・・(4)
この(4)式は、上記(1)式によれば、Enc(r(v−a))およびEnc(d||0,0,・・・,0)から算出できる。
ここでEnc(r(v−a))は上記(1),(3)式によれば下記のように変形できる。
Enc(r(v−a))=g(r,i(Enc(v),Enc(a)))
クライアント1は受信した暗号値Yを解読し、下記(5)式に示す解読結果Enc−1(Y)を出力Tとして得る。
T=Enc−1(Y)=r(v−a)+(d||0,0,・・・,0) ・・・(5)
ここで、入力aと属性値vとが一致する場合、解読結果Enc−1(Y)は下記(6)式のように変形できる。
T=Enc−1(Y)=d||0,0,・・・,0 ・・・(6)
P(x)=x−a ・・・(7)
Enc(P(v))=Enc(v−a)
=i(Enc(v),Enc(a)) ・・・(8)
ここで、多項式P(x)を用いると、上記(4)式および(5)式は下記(9)式および(10)式のようにそれぞれ表される。
R=Y=Enc{rP(v)+(d||0,0,・・・,0)} ・・・(9)
T=Enc−1(Y)=rP(v)+(d||0,0,・・・,0) ・・・(10)
このような多項式P(x)を利用することで、結合Cが「None」の場合のみならず「OR」である場合にも拡張でき、汎用性があることを説明する。
クライアント1は、属性名xの値vが入力aまたはbと一致した場合に0となる多項式P(x)を下記(11)式のように定義する。
P(x)=(x−a)(x−b)=x2−(a+b)x+ab ・・・(11)
Y=Enc(P(v))=Enc{v2−(a+b)v+ab}
=g{i{Enc(v2),h(v,Enc(a+b)},Enc(ab)}
・・・(12)
サーバ2のデータベース3は、サーバへの入力b、すなわち各属性名xiの値viと、データdiとを関連付けて記憶している。
暗号化状態処理手段21は、
(2)データベース3に記憶されたdと、チェックサムであるm個の0とを連結した値(d||0,・・・,0)と、
の和の暗号化値を演算し、下記(14)式に示す暗号値Yを生成する。この暗号値はクライアント1に送信される。
Y=Enc{rP(v1,・・・,vk)+(d||0,・・・,0)} ・・・(14)
この暗号化方式はクライアント1と同様であり、演算にあたって加法準同型性が利用される。
クライアント1の復号手段13は、上記(14)式に示す暗号値Yを解読して、下記(15)式に示す解読結果Tを得る。
Enc−1(Y)=rP(v1,・・・,vk)+(d||0,・・・,0)
・・・(15)
データ取得手段14は解読結果に基づいて以下のようにデータdを取得する。
P(x1,x2)=r1P1(x1,x2)+r2P2(x1,x2) ・・・(16)
図16は、結合Cが「AND」である場合の検索手法を説明する図であり、サーバ2側で「AND」に相当する処理を行う手法2を示している。
Y=Enc{r1P1(v1,v2)+r2P2(v1,v2)
+(d||0,・・・,0)} ・・・(17)
図13〜図16で説明したことに基づけば、「AND」と「OR」の任意に組み合わせに適用できることは明らかである。
P(X2,X3,X4)=(X3−5)(X3−6)(X4−14) ・・・(18)
多項式生成手段11は、各条件を満たす場合に0となる下記(19)式に示す3つの多項式P1(X3),P2(X3),P3(X4)を生成する。
P1(X3)=X3−5
P2(X3)=X3−6
P3(X4)=X4−14 ・・・(19)
このような条件は、
(X2=0 OR X2=0)OR
(X3=5 OR X3=6)OR
(X4=14 OR X4=0)
と表現できる。よって、多項式生成手段11は、上記(18)式に代えて、下記(18’)式に示す多項式P(X2,X3,X4)を生成するのが望ましい。
P(X2,X3,X4)=
(X2−0)(X2−0)(X3−5)(X3−6)(X4−14)(X4−0)
・・・(18’)
また、多項式生成手段11は、上記(19)式に代えて、下記(19’)式に示す6個の多項式を生成するのが望ましい。
P1(X2)=X2−0
P2(X2)=X2−0
P3(X3)=X3−5
P4(X3)=X3−6
P5(X4)=X4−14
P6(X4)=X4−0 ・・・(19’)
なお、図18の各欄の上段はクライアント1からサーバ2への通信量であり、下段はサーバ2からクライアント1への通信量である。
P(X2,X3,X4)
=(X2−0)(X2−0)(X3−5)(X3−6)(X4−14)(X4−0)
P(X2,X3,X4)
=(X2−a1)(X2−a2)(X3−b1)(X3−b2)(X4−c1)(X4−c2)
={X22−(a1+a2)X2+a1a2}{X32−(b1+b2)X3+b1b2}{X42−(c1+c2)X4+c1c2}
=Σqi,j,kX2iX3jX4k
一方、手法1によればサーバ2からクライアント1への通信量のオーダーは1である(図13参照)。
P1(X2)=(X2−0)(X2−0)
P2(X3)=(X3−5)(X3−6)
P3(X4)=(X4−14)(X3−0)
より一般的には、下式となる。
P1(X2)=(X2−a1)(X2−a2)=X22−(a1+a2)X2+a1a2
P2(X3)=(X3−b1)(X3−b2)=X32−(b1+b2)X3+b1b2
P3(X4)=(X4−c1)(X4−c2)=X42−(c1+c2)X4+c1c2
一方、クライアント1からサーバ2への通信量のオーダーは、多項式の数(すなわちレベル数)から、log2Rと見積もられる。
P1(X2)=X2−0
P2(X2)=X2−0
P3(X3)=X3−5
P4(X3)=X3−6
P5(X4)=X4−14
P6(X4)=X3−0
一方、サーバ2からクライアント1への通信量のオーダーは、多項式の数から、2log2Rと見積もられる。
Q1:(X12=s11 OR X12=s12)OR
(X13=s13 OR X12=s14)OR
(X14=s15 OR X12=s16)
である。同様に、「属性名xjの値vjがaj以上bj以下」に対応する条件をQjとすると、上記の条件Qは、
Q:Q1 AND ・・・ AND Qk
一方、手法1によればサーバ2からクライアント1への通信量のオーダーは1である(図15参照)。
Q:{f1(X12) OR g1(X13) OR h1(X14)}AND
{f2(X22) OR g2(X23) OR h2(X24)}AND
・・・
{fk(Xk2) OR gk(Xk3) OR hk(Xk4)}={f1(X12) AND f2(X22) ・・・ AND fk(Xk2)}OR
{g1(X13) AND g2(X23) ・・・ AND gk(Xk3)}OR
{h1(X14) AND h2(X24) ・・・ AND hk(Xk4)}
・・・(20)
一方、クライアント1からサーバ2への通信量のオーダーは、多項式の数から(log2R)kと見積もられる。
Q:{(X12−s11)・・・OR・・・(X14−s16)}・・・AND・・・
{(Xk2−sk1)・・・OR・・・(Xk4−sk6)}
={(X12−s11)・・・AND・・・(Xk2−sk1)}OR
{(X13−s12)・・・AND・・・(Xk3−sk2)}OR
{(X14−s13)・・・AND・・・(Xk4−sk3)}
・・・(21)
一方、サーバ2からクライアント1への通信量のオーダーは、多項式の数から(2log2R)kと見積もられる。
一方、サーバ2からクライアント1への通信量のオーダーは、多項式の数から(2log2R)kと見積もられる。
以上により、図23に示すように、OR1は手法1で行い、OR2は手法2で行い、ANDは手法2で行うのが最も効率的であり、望ましい。
(X2=3 OR X2’=3)OR
(X3=6 OR X3’=6)OR
(X4=12 OR X4’=12)
という条件が満たされる場合に真となる多項式P(X2,X2’,X3,X3’,X4,X4’)を多項式生成手段11は生成する。
続いて、論理式Pが「Range/Range intersect」である場合について説明する。
上記の条件は、「
uがa以上b以下、または、
vがa以上b以下、または、
aがu以上v以下、または、
bがu以上v以下
」と言い換えることができる。このそれぞれに対応して条件Q1〜Q4を
Q1:[a,b]∋u
Q2:[a,b]∋v
Q3:a∈[u,v]
Q4:b∈[u,v]
2 サーバ
3 データベース
11 多項式生成手段
12 暗号化手段
13 復号手段
14 データ取得手段
21 暗号化状態処理手段
Claims (21)
- クライアントおよびサーバから構成され、前記クライアントへの入力と、前記サーバへの入力に含まれる属性名の値とが所定の関係を満たす場合に、前記属性名に関連付けられたデータを前記クライアントが前記サーバから取得可能な検索システムであって、
前記クライアントは、
前記クライアントへの入力と前記属性名の値とが前記所定の関係を満たす場合に0となる、前記属性名を変数とする多項式を生成する多項式生成手段と、
加法準同型性を有し、前記クライアントは解読できるが前記サーバは解読できない所定の公開鍵暗号方式で前記多項式の係数を暗号化してクライアント側暗号値を生成する暗号化手段と、を有し、
前記サーバは、前記所定の公開鍵暗号方式の加法準同型性を利用して、前記クライアント側暗号値を用い、前記多項式の係数が暗号化された状態で、前記多項式における変数を前記属性名の値で置き換えた値とランダム値との積と、前記データと予め定めたチェックサムとを連結した値と、の和の暗号化値であるサーバ側暗号値を生成する暗号化状態処理手段を有し、
前記クライアントは、さらに、
前記サーバ側暗号値を解読する復号手段と、
解読結果に前記チェックサムが含まれる場合に、前記解読結果から前記データを取得するデータ取得手段と、を有する、検索システム。 - 前記所定の条件は、前記クライアントへの入力と前記属性名の値とが第1条件および第2条件の少なくとも一方を満たすことであり、
前記多項式生成手段は、前記第1条件を満たす場合に0となる第1多項式と、前記第2条件を満たす場合に0となる第2多項式と、を生成し、前記第1多項式および前記第2多項式を乗じて、前記多項式を生成する、請求項1に記載の検索システム。 - 前記所定の条件は、前記クライアントへの入力と前記属性名の値とが第1条件および第2条件の一方のみを満たすことであり、
前記多項式生成手段は、前記多項式として、前記第1条件を満たす場合に0となる第1多項式と、前記第2条件を満たす場合に0となる第2多項式と、を生成し、
前記暗号化手段は、前記クライアント側暗号値として、前記第1多項式の係数および前記第2多項式の係数を暗号化して第1クライアント側暗号値および第2クライアント側暗号値をそれぞれ生成し、
前記暗号化状態処理手段は、
前記第1クライアント側暗号値を用い、前記第1多項式における変数を前記属性名の値で置き換えた値と第1ランダム値との積と、前記データと予め定めたチェックサムとを連結した値と、の和の暗号化値である第1サーバ側暗号値を生成するとともに、
前記第2クライアント側暗号値を用い、前記第2多項式における変数を前記属性名の値で置き換えた値と第2ランダム値との積と、前記データと予め定めたチェックサムとを連結した値と、の和の暗号化値である第2サーバ側暗号値を生成し、
前記第1サーバ側暗号値および前記第2サーバ側暗号値をシャッフルして、これらを前記サーバ側暗号値とする、請求項1に記載の検索システム。 - 前記所定の条件は、前記クライアントへの入力と前記属性名の値とが第1条件および第2条件の両方を満たすことであり、
前記多項式生成手段は、前記第1条件を満たす場合に0となる第1多項式と、前記第2条件を満たす場合に0となる第2多項式と、を生成し、前記第1多項式と第1ランダム値との積と、前記第2多項式と第2ランダム値との積とを加えて前記多項式を生成する、請求項1に記載の検索システム。 - 前記所定の条件は、前記クライアントへの入力と前記属性名の値とが第1条件および第2条件の両方を満たすことであり、
前記多項式生成手段は、前記多項式として、前記第1条件を満たす場合に0となる第1多項式と、前記第2条件を満たす場合に0となる第2多項式と、を生成し、
前記暗号化手段は、前記クライアント側暗号値として、前記第1多項式の係数および前記第2多項式の係数を暗号化して第1クライアント側暗号値および第2クライアント側暗号値をそれぞれ生成し、
前記暗号化状態処理手段は、前記第1クライアント側暗号値および前記第2クライアント側暗号値を用い、
前記第1多項式における変数を前記属性名の値で置き換えた値と第1ランダム値との積と、
前記第2多項式における変数を前記属性名の値で置き換えた値と第2ランダム値との積と、
前記データと予め定めたチェックサムとを連結した値と、
の和の暗号化値を前記サーバ側暗号値として生成する、請求項1に記載の検索システム。 - 前記サーバへの入力には、複数のインデックスに対応する複数の前記属性名の値が含まれ、
前記暗号化状態処理手段は、前記複数のインデックスのそれぞれに対して、前記データを所定の仮想値とする前記サーバ側暗号値を生成し、
前記復号手段は、前記サーバ側暗号値のそれぞれを解読し、
前記データ取得手段は、前記データが前記所定の仮想値である解読結果の数に基づいて、前記所定の関係を満たすインデックスの数を算出する、請求項1乃至5の何れかに記載の検索システム。 - 前記所定の条件は、前記クライアントへの入力が前記属性名の値と一致することである、請求項1乃至5のいずれかに記載の検索システム。
- 前記クライアントへの入力は2つの値で定められる範囲であり、
前記所定の条件は、前記範囲に前記属性名の値が含まれることである、請求項1乃至5のいずれかに記載の検索システム。 - 前記2つの値および属性名がとり得る値の数はn個(nは2以上の整数)であり、
前記多項式生成手段は、レベル数が(log2n+1)以上の最小の整数である2分木であって、各ノードにはユニークなノード名が割り当てられており、最下位レベルにおけるノードのそれぞれが前記クライアントへの入力がとり得る値のそれぞれに対応付けられる2分木において、前記範囲をカバーするノードのノード名が、前記属性名の値に基づく所定のノード名と一致する場合に0となる前記多項式を生成し、
前記暗号化状態処理手段は、前記多項式生成手段の2分木と同じ構造の2分木であって、最下位レベルにおけるノードのそれぞれが前記属性名が取り得る値のそれぞれに対応付けられる2分木において、前記最下位レベルにおける前記属性名の値に対応付けられたノードに到達するまでに経由されるノードのノード名で、前記多項式における変数を置き換えた値から前記サーバ側暗号値を生成する、請求項8に記載の検索システム。 - 前記多項式生成手段は、前記範囲をカバーするノードをレベルごとに特定し、特定されたノードが2つ未満であるレベルについては、ノード名として用いられていないダミーのノード名を用いて各ノードの変数を2つずつとして、前記多項式を生成する、請求項9に記載の検索システム。
- 前記属性名の範囲は2つの値で定められ、
前記所定の条件は、前記範囲に前記クライアントへの入力が含まれることである、請求項1乃至5のいずれかに記載の検索システム。 - 前記クライアントへの入力および前記2つの値がとり得る値の数はn個(nは2以上の整数)であり、
前記多項式生成手段は、レベル数が(log2n+1)以上の最小の整数である2分木であって、各ノードにはユニークなノード名が割り当てられており、最下位レベルにおけるノードのそれぞれが前記クライアントへの入力がとり得る値のそれぞれに対応付けられる2分木において、前記最下位レベルにおける前記属性名の値に対応付けられたノードに到達するまでに経由されるノードのノード名が、前記範囲に基づく所定のノード名と一致する場合に0となる前記多項式を生成し、
前記暗号化状態処理手段は、前記多項式生成手段の2分木と同じ構造の2分木であって、最下位レベルにおけるノードのそれぞれが前記属性名が取り得る値のそれぞれに対応付けられる2分木において、前記範囲をカバーするノードのノード名で、前記多項式における変数を置き換えた値から前記サーバ側暗号値を生成する、請求項11に記載の検索システム。 - 前記クライアントへの入力は第1入力値および第2入力値で定められる第1範囲であり、
前記属性の範囲は第1属性値および第2属性値で定められる第2範囲であり、
前記所定の条件は、前記第1範囲および前記第2範囲の少なくとも一部が重複することである、請求項1乃至5のいずれかに記載の検索システム。 - 前記多項式生成手段は、
前記第1入力値が前記第2範囲に含まれること、
前記第2入力値が前記第2範囲に含まれること、
前記第1属性値が前記第1範囲に含まれること、および、
前記第2属性値が前記第1範囲に含まれること、
の少なくとも1つが満たされる場合に0となる前記多項式を生成する、請求項13に記載の検索システム。 - 前記クライアントへの入力は前記サーバには知られない、請求項1乃至14のいずれかに記載の検索システム。
- 前記所定の関係を満たさない場合、前記データは前記クライアントには知られない、請求項1乃至15に記載の検索システム。
- クライアントおよびサーバから構成され、前記クライアントへの入力と、前記サーバへの入力に含まれる属性名の値とが所定の関係を満たす場合に、前記属性名に関連付けられたデータを前記クライアントが前記サーバからデータを取得可能な検索システムにおけるクライアントであって、
前記クライアントへの入力と前記属性名の値とが前記所定の関係を満たす場合に0となる、前記属性名を変数とする多項式を生成する多項式生成手段と、
加法準同型性を有し、前記クライアントは解読できるが前記サーバは解読できない所定の公開鍵暗号方式で前記多項式の係数を暗号化してクライアント側暗号値を生成する暗号化手段と、
前記サーバが、前記所定の公開鍵暗号方式の加法準同型性を利用して、前記クライアント側暗号値を用い、前記多項式の係数が暗号化された状態で生成した、前記多項式における変数を前記属性名の値で置き換えた値とランダム値との積と、前記データと予め定めたチェックサムとを連結した値と、の和の暗号化値であるサーバ側暗号値を解読する復号手段と、
解読結果に前記チェックサムが含まれる場合に、前記解読結果から前記データを取得するデータ取得手段と、を有する、クライアント。 - クライアントおよびサーバから構成され、前記クライアントへの入力と、前記サーバへの入力に含まれる属性名の値とが所定の関係を満たす場合に、前記属性名に関連付けられたデータを前記クライアントが前記サーバから取得可能な検索システムにおけるクライアントを、
前記クライアントへの入力と前記属性名の値とが前記所定の関係を満たす場合に0となる、前記属性名を変数とする多項式を生成する多項式生成手段と、
加法準同型性を有し、前記クライアントは解読できるが前記サーバは解読できない所定の公開鍵暗号方式で前記多項式の係数を暗号化してクライアント側暗号値を生成する暗号化手段と、
前記サーバが、前記所定の公開鍵暗号方式の加法準同型性を利用して、前記クライアント側暗号値を用い、前記多項式の係数が暗号化された状態で生成した、前記多項式における変数を前記属性名の値で置き換えた値とランダム値との積と、前記データと予め定めたチェックサムとを連結した値と、の和の暗号化値であるサーバ側暗号値を解読する復号手段と、
解読結果に前記チェックサムが含まれる場合に、前記解読結果から前記データを取得するデータ取得手段と、として機能させる、検索プログラム。 - クライアントおよびサーバから構成され、前記クライアントへの入力と、前記サーバへの入力に含まれる属性名の値とが所定の関係を満たす場合に、前記属性名に関連付けられたデータを前記クライアントが前記サーバから取得可能な検索システムにおけるサーバであって、
前記クライアントへの入力と前記属性名の値とが前記所定の関係を満たす場合に0となる、前記属性名を変数とする多項式の係数を、加法準同型性を有し、前記クライアントは解読できるが前記サーバは解読できない所定の公開鍵暗号方式で前記クライアントが暗号化したクライアント側暗号値を用い、前記所定の公開鍵暗号方式の加法準同型性を利用して、前記多項式の係数が暗号化された状態で、前記多項式における変数を前記属性名の値で置き換えた値とランダム値との積と、前記データと予め定めたチェックサムとを連結した値と、の和の暗号化値であるサーバ側暗号値を生成する暗号化状態処理手段を有する、サーバ。 - クライアントおよびサーバから構成され、前記クライアントへの入力と、前記サーバへの入力に含まれる属性名の値とが所定の関係を満たす場合に、前記属性名に関連付けられたデータを前記クライアントが前記サーバから取得可能な検索システムにおけるサーバを、
前記クライアントへの入力と前記属性名の値とが前記所定の関係を満たす場合に0となる、前記属性名を変数とする多項式の係数を、加法準同型性を有し、前記クライアントは解読できるが前記サーバは解読できない所定の公開鍵暗号方式で前記クライアントが暗号化したクライアント側暗号値を用い、前記所定の公開鍵暗号方式の加法準同型性を利用して、前記多項式の係数が暗号化された状態で、前記多項式における変数を前記属性名の値で置き換えた値とランダム値との積と、前記データと予め定めたチェックサムとを連結した値と、の和の暗号化値であるサーバ側暗号値を生成する暗号化状態処理手段として機能させる、検索プログラム。 - クライアントおよびサーバから構成され、前記クライアントへの入力と、前記サーバへの入力に含まれる属性名の値とが所定の関係を満たす場合に、前記属性名に関連付けられたデータを前記クライアントが前記サーバから取得可能な検索方法であって、
前記クライアントが、前記クライアントへの入力と前記属性名の値とが前記所定の関係を満たす場合に0となる、前記属性名を変数とする多項式を生成し、
前記クライアントが、加法準同型性を有し、前記クライアントは解読できるが前記サーバは解読できない所定の公開鍵暗号方式で前記多項式の係数を暗号化してクライアント側暗号値を生成し、
前記サーバが、前記所定の公開鍵暗号方式の加法準同型性を利用して、前記クライアント側暗号値を用い、前記多項式の係数が暗号化された状態で、前記多項式における変数を前記属性名の値で置き換えた値とランダム値との積と、前記データと予め定めたチェックサムとを連結した値と、の和の暗号化値であるサーバ側暗号値を生成し、
前記クライアントが、前記サーバ側暗号値を解読し、
前記クライアントが、解読結果に前記チェックサムが含まれる場合に、前記解読結果から前記データを取得する、検索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015021572A JP6381128B2 (ja) | 2015-02-05 | 2015-02-05 | 検索システム、クライアント、サーバ、検索プログラムおよび検索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015021572A JP6381128B2 (ja) | 2015-02-05 | 2015-02-05 | 検索システム、クライアント、サーバ、検索プログラムおよび検索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016143048A JP2016143048A (ja) | 2016-08-08 |
JP6381128B2 true JP6381128B2 (ja) | 2018-08-29 |
Family
ID=56570496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015021572A Active JP6381128B2 (ja) | 2015-02-05 | 2015-02-05 | 検索システム、クライアント、サーバ、検索プログラムおよび検索方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6381128B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017122326A1 (ja) | 2016-01-14 | 2017-07-20 | 三菱電機株式会社 | 秘匿検索システム、秘匿検索方法及び秘匿検索プログラム |
US11005645B2 (en) | 2016-01-15 | 2021-05-11 | Mitsubishi Electric Corporation | Encryption device, encryption method, computer readable medium, and storage device |
JP6522263B2 (ja) | 2017-01-18 | 2019-05-29 | 三菱電機株式会社 | 準同型演算装置、暗号システム及び準同型演算プログラム |
WO2018198192A1 (ja) | 2017-04-25 | 2018-11-01 | 三菱電機株式会社 | 検索装置、検索システム、検索方法及び検索プログラム |
JP6775231B2 (ja) * | 2017-08-24 | 2020-10-28 | Kddi株式会社 | 計算システム、計算方法及び計算プログラム |
WO2019220531A1 (ja) * | 2018-05-15 | 2019-11-21 | 三菱電機株式会社 | 秘匿検索装置および秘匿検索方法 |
US10972252B2 (en) * | 2019-06-18 | 2021-04-06 | International Business Machines Corporation | Compressible (F)HE with applications to PIR |
CN114726522B (zh) * | 2022-04-24 | 2024-02-20 | 中国传媒大学 | 一种保护双方隐私的不经意可搜索加密方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7987201B2 (en) * | 2005-05-19 | 2011-07-26 | Ntt Docomo, Inc. | Method and apparatus for communication efficient private information retrieval and oblivious transfer |
JP5400809B2 (ja) * | 2011-01-11 | 2014-01-29 | 日本電信電話株式会社 | 検索可能暗号システム、ストレージ装置、それを検索する装置、検索可能暗号方法、及びプログラム |
US9002007B2 (en) * | 2011-02-03 | 2015-04-07 | Ricoh Co., Ltd. | Efficient, remote, private tree-based classification using cryptographic techniques |
US10027486B2 (en) * | 2012-06-22 | 2018-07-17 | Commonwealth Scientific And Industrial Research Organisation | Homomorphic encryption for database querying |
-
2015
- 2015-02-05 JP JP2015021572A patent/JP6381128B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016143048A (ja) | 2016-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6381128B2 (ja) | 検索システム、クライアント、サーバ、検索プログラムおよび検索方法 | |
Cui et al. | Efficient and expressive keyword search over encrypted data in cloud | |
WO2021208690A1 (zh) | 数据加解密方法、装置、设备及存储介质 | |
Ahmad et al. | Bijective S-boxes method using improved chaotic map-based heuristic search and algebraic group structures | |
Bost et al. | Forward and backward private searchable encryption from constrained cryptographic primitives | |
Van Liesdonk et al. | Computationally efficient searchable symmetric encryption | |
Abadi et al. | O-PSI: delegated private set intersection on outsourced datasets | |
Bellare et al. | Message-locked encryption and secure deduplication | |
CN104620533B (zh) | 用于数据库查询的同态加密 | |
JP6180177B2 (ja) | プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム | |
Noura et al. | A new efficient lightweight and secure image cipher scheme | |
US20100250969A1 (en) | Privacy-Enhanced Searches Using Encryption | |
JP2010237653A (ja) | 第1の信号と第2の信号との間の類似性を検証するための方法及びシステム | |
CN114826703A (zh) | 基于区块链的数据搜索细粒度访问控制方法及系统 | |
Sokouti et al. | Medical image encryption: an application for improved padding based GGH encryption algorithm | |
Brakerski et al. | Multi-input functional encryption in the private-key setting: Stronger security from weaker assumptions | |
CN111431705A (zh) | 一种适用于可搜索加密的密码逆向防火墙方法 | |
Ma et al. | Efficient public key encryption with outsourced equality test for cloud-based IoT environments | |
Yagoub et al. | An adaptive and efficient fully homomorphic encryption technique | |
CN113132345B (zh) | 具有可搜索功能的代理隐私集合求交方法 | |
KR100951034B1 (ko) | 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법 | |
Hayata et al. | Generic construction of adaptively secure anonymous key-policy attribute-based encryption from public-key searchable encryption | |
Carbunar et al. | Joining privately on outsourced data | |
Yousefipoor et al. | A secure attribute based keyword search scheme against keyword guessing attack | |
CN118520024B (zh) | 结合盲签名和不经意传输扩展实现的隐私信息检索方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20170107 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170914 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180620 |
|
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: 20180717 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180730 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6381128 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |