JP5524012B2 - マッチングシステム、方法、計算装置、クライアント装置及びプログラム - Google Patents

マッチングシステム、方法、計算装置、クライアント装置及びプログラム Download PDF

Info

Publication number
JP5524012B2
JP5524012B2 JP2010226557A JP2010226557A JP5524012B2 JP 5524012 B2 JP5524012 B2 JP 5524012B2 JP 2010226557 A JP2010226557 A JP 2010226557A JP 2010226557 A JP2010226557 A JP 2010226557A JP 5524012 B2 JP5524012 B2 JP 5524012B2
Authority
JP
Japan
Prior art keywords
conditions
function
condition
calculation
unit
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
JP2010226557A
Other languages
English (en)
Other versions
JP2012080492A (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 JP2010226557A priority Critical patent/JP5524012B2/ja
Publication of JP2012080492A publication Critical patent/JP2012080492A/ja
Application granted granted Critical
Publication of JP5524012B2 publication Critical patent/JP5524012B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、暗号技術、特に複数のデータ集合について非開示のまま集計を行う技術に関する。
非特許文献1に、複数のデータ集合について非開示のまま集計を行う技術が記載されている。以下、非特許文献1に記載された技術を簡単に説明する。
2個の計算装置P,Pがそれぞれデータ集合S及びSを保持している。データ集合Sに対する条件をC、データ集合Sに対する条件をCとする。データ集合Sを構成するレコードの中で条件Cを満たすものの集合をTとし、データ集合Sを構成するレコードの中で条件Cを満たすものの集合をTとする。非特許文献1は、集合Tを計算装置Pを含む外部に非開示にし、集合Tを計算装置Tを含む外部に非開示して、条件C及び条件Cの組を満たす要素の数、すなわちTかつTの集合の要素数|T∩T|を求める問題を扱っている。
関数fK1及びfK2を衝突困難かつ可換な鍵付き一方向性ハッシュ関数とする。すなわち、任意の入力x,y及び任意の鍵K,Kに対して無視できる確率を除き、x=y⇔fK1(fK2(x))=fK2(fK1(y))が成り立ち、fK1(x)からK及びxを求めることは困難であり、またfK2(y)からK及びyを求めることは困難であるとする。
第1計算装置Pは、全てのt∈TについてfK1(t)を計算して辞書順で第2計算装置Pに送信する。また、第1計算装置Pは、全てのt’∈TについてfK2(t’)を計算して辞書順で第1計算装置Pに送信する。
第1計算装置Pは、第2計算装置Pから受信したfK2(t’)を用いてfK1(fK2(t’))を計算して、辞書順でクライアント装置に送信する。第2計算装置Pは、第1計算装置Pから受信したfK1(t)を用いてfK2(fK1(t))を計算して、辞書順でクライアント装置に送信する。
ここで、fK1(fK2(t’))及びfK2(fK1(t))を「照合タグ」と呼ぶことにする。より詳細には、fK1(fK2(t’))を条件Cに対応する照合タグ、fK2(fK1(t))を条件Cに対応する照合タグと呼ぶことにする。
クライアント装置は、第1計算装置Pから受信した照合タグfK1(fK2(t’))と第2計算装置Pから受信した照合タグfK2(fK1(t))とで同じ値を持つものの数、すなわちfK1(fK2(t’))=fK2(fK1(t))となる(i,j)の組の数を計算する。この(i,j)の組の数が、無視できる確率を除いて|T∩T|となる。
このように、第1計算装置Pはtを関数fK1で暗号化した後にこれらの暗号化を外部に送信し、第2計算装置Pはt’を関数fK2で暗号化した後にこれらの暗号化を外部に送信する。このため、t及びt’を外部に秘匿にすることができる。
R.Agrawal, A.V.Evfimievski, and R.Srikant, "Information Sharing Across Private Databases", ACM SIGMOD 2003, pp.86-97, 2003
非特許文献1に記載された技術では、条件の組が複数あり、あるデータ集合に対する条件が重複している場合においても、計算装置P,Pはその重複する照合タグを生成してクライアント装置に送信していた。このため、照合タグを重複して生成して送信する点において効率が良くないという問題があった。
例えば、第一の条件の組がC∧Cであり、第二の条件の組がC∧Cであるとする。条件Cは、データ集合Sに対する条件である。この例では、条件Cが、第一の条件の組及び第二の条件の組において重複している。このとき、計算装置P,Pは、まず第一の条件の組を満たす要素の数を求めるためにCに対応する照合タグ及びCに対応する照合タグを生成しクライアント装置に送信する。次に、計算装置P,Pは、第二の条件の組を満たす要素の数を求めるためにCに対応する照合タグ及びCに対応する照合タグを生成しクライアント装置に送信していた。このように、条件Cについての照合タグを重複して生成して送信する点において効率が良くないという問題があった。
この発明は、従来よりも効率が良いマッチングシステム、方法、計算装置、クライアント装置及びプログラムを提供することを目的とする。
この発明のマッチングシステムは、Nは2以上の整数であり、n=1,2,…,Nとして、Sは第n計算装置に対応するデータ集合であり、S,S,…,Sについての条件から構成される条件の組が複数あり、関数f,f,…,fは衝突困難な一方向性関数であり互いに可換であり、n=1,2,…,Nとして、Sについての複数の条件から重複する条件を除いたSについての重複除去後条件を求める。n=1,2,…,Nとして、Sについての各重複除去後条件を満たすレコードを抽出する。各上記抽出されたレコードの識別子を上記関数fに入力した場合の出力値を計算し、また他の計算装置により計算された出力値を上記関数fに入力した場合の出力値を計算する。全ての上記関数f,f,…,fの演算が施された演算結果である照合タグを受け取り、各上記組を構成する条件と同じ重複除去後条件を満たすレコードに対する照合タグを参照することにより、その各組を構成する全ての条件に共通する照合タグの数又はその各組を構成する全ての条件に対する照合タグのユニーク数をカウントする。
重複する条件についての照合タグの生成及び送信を一回しか行わないことにより、従来よりも効率良くマッチングを行うことができる。
マッチングシステムの構成を説明するためのブロック図。 第n計算装置の構成を説明するためのブロック図。 データ集合Sを説明するためのフローチャート。 N=2の具体例を説明するための図。 N=2の具体例を説明するための図。 データ集合Sを説明するためのフローチャート。
以下、図面を参照してこの発明の一実施形態を説明する。
マッチングシステムは、図1に示すように、クライアント装置C、第1計算装置P,第2計算装置P,…,第N計算装置Pを例えば含む。クライアント装置Cは、重複除去後条件生成部1及びカウント部2を例えば含む。n=1,2,…,Nとして、第n計算装置Pは、図2に示すように、記憶部P1,レコード抽出部P2,関数値計算部P3を例えば含む。
Nは2以上の整数であり、n=1,2,…,Nとして、Sは第n計算装置Pに対応するデータ集合であり、S,S,…,Sについての条件から構成される条件の組が複数あり、関数f,f,…,fは衝突困難な一方向性関数であり互いに可換であるとする。
n=1,2,…,Nとして、第n計算装置Pは、データ集合Sを管理する。データ集合Sは、例えば第n計算装置Pの記憶部P1に記憶されている。データ集合Sは、図3に例示するように、複数のレコードt_(n,1),t_(n,2),…,t_(n,3),…,t_(n,N)から構成される。Nは、データ集合Sを構成するレコードの総数である。
レコードt_(n,N)は、そのレコードを示す識別子id_{n,N}と、少なくとも1つの属性値a_{n,N,1},a_{n,N,2},…,a_{n,N,k},…,a_{n,N,k}とから構成される。kは、レコードを構成する属性値の総数である。識別子id_{n,N}は、“12345678”や“ABCDEFG”等の、対象を一意に表す数値や文字列である。対象とは、例えば人間である。同一の対象には、異なる複数のデータ集合において同じ識別子が割り振られているものとする。属性値a_{n,N,k}は、属性A_{n,k}の値である。例えば、属性A_{1,1}が性別を表す属性である場合には、A_{1,1}={“男性”,“女性”}となり、A_{1,1}の属性値a_{1,N,1}は“男性”と“女性”の何れかとなる。また、属性A_{1,1}が性別を表す属性であり、属性A_{1,2}が年齢を表す属性であり、A_{1,3}が既婚か未婚かを表す属性である場合には、例えばレコードt_(1,N)=(id_{1,N},a_{1,N,1},a_{1,N,2},a_{1,N,3})=(“12345678”,“男性”,“35歳”,“既婚”)となる。
重複除去後条件生成部1には、S,S,…,Sについての条件から構成される条件の組が複数入力される。n=1,2,…,Nとして、重複除去後条件生成部1は、Sについての複数の条件から重複する条件を除いたSについての重複除去後条件を求める(ステップS1)。n=1,2,…,Nとして、Sについての重複除去後条件は、第n計算装置Pに送信される。
N=2であり、第1計算装置P及び第2計算装置Pでクロス集計を行う場合を例に挙げて説明をする。例えば、図4に示すように、第一の条件の組がC∧Cであり、第二の条件の組がC∧Cであり、第三の条件の組がC∧Cであり、第四の条件の組がC∧Cであるとする。この場合、Sについての条件はC,C,C,Cの4個であり、Cの部分で重複している。したがって、重複除去後条件生成部1は、重複する条件Cを1つ除いて、条件C,C,Cを重複除去後条件として出力する。SNnについてのLNn個の重複除去後条件をd_{N,1},d_{N,2},…,d_{N,LNn}と表記すると、図4に示すように、重複除去後条件d_{1,1}=Cであり、重複除去後条件d_{1,2}=Cであり、重複除去後条件d_{1,3}=Cである。
また、Sについての条件はC,C,C,Cの4個であり、Cの部分で重複している。したがって、重複除去後条件生成部1は、重複する条件Cを1つ除いて、条件C,C,Cを重複除去後条件として出力する。すなわち、重複除去後条件d_{2,1}=Cであり、重複除去後条件d_{2,2}=Cであり、重複除去後条件d_{2,3}=Cである。
n=1,2,…,Nとして、第n計算装置Pのレコード抽出部P2は、記憶部P1を参照して、Sについての各重複除去後条件を満たすレコードを抽出する(ステップS2)。抽出されたレコードは、関数値計算部P3に送られる。
上記の具体例だと、図4に示すように、第1計算装置Pは、Sを構成するレコードの中で、3つの重複除去後条件d_{1,1},d_{1,2},d_{1,3}のそれぞれを満たすレコードを抽出する。例えば、重複除去後条件d_{1,1}=Cを満たすレコードの識別子がid_{1,1},id_{1,5}であり、重複除去後条件d_{1,2}=Cを満たすレコードの識別子がid_{1,2},id_{1,6},id_{1,7}であり、重複除去後条件d_{1,3}=Cを満たすレコードの識別子がid_{1,3},id_{1,4}であるとする。重複除去後条件d_{N,L}を満たすレコードの識別子から構成されるグループをG_{N,L}と表記すると、G_{1,1}=(id_{1,1},id_{1,5})であり、G_{1,2}=(id_{1,2},id_{1,6},id_{1,7})であり、G_{1,3}=(id_{1,3},id_{1,4})である。
また、第2計算装置Pは、3つの重複除去後条件d_{2,1},d_{2,2},d_{2,3}のそれぞれを満たすレコードを抽出する。例えば、重複除去後条件d_{2,1}=Cを満たすレコードの識別子がid_{2,2},id_{2,5},id_{2,6}であり、重複除去後条件d_{2,2}=Cを満たすレコードの識別子がid_{2,1},id_{2,7}であり、重複除去後条件d_{2,3}=Cを満たすレコードの識別子がid_{2,3},id_{2,4}であるとする。すなわち、G_{2,1}=(id_{2,2},id_{2,5},id_{2,6})であり、G_{2,2}=(id_{2,1},id_{2,7})であり、G_{2,3}=(id_{2,3},id_{2,4})であるとする。
n=1,2,…,Nとして、第n計算装置Pの関数値計算部P3は、まず各抽出されたレコードの識別子を関数fに入力した場合の出力値を計算する(ステップS3)。計算された出力値は、第n計算装置P以外の他の計算装置に送信される。例えば、第n+1計算装置Pn+1に送信される。n=Nの場合には、第1計算装置Pに送信される。
関数f,f,…,fは、上記したように衝突困難な一方向性関数であり互いに可換な関数である。すなわち、n及びnを1≦n<n≦Nを満たす整数として、任意の入力・に対して、例えばfn1(fn2(・))=fn2(fn1(・))であるとする。gを生成元とした位数qの巡回群をGとして、n=1,2,…,Nとして、Kを1以上q以下のランダムな整数であるとする。このとき、関数fはf(・)=(・)Kn∈Gと例えば定義される。このようなべき乗の関数を用いる場合には、n=1,2,…,Nとして、第n計算装置PはKを生成する乱数生成部P5を有していても良い。
上記の具体例だと、図5に示すように、第1計算装置Pは、3つのグループG_{1,1},G_{1,2},G_{1,3}のそれぞれを構成する各識別子を関数fに入力した場合の出力値を計算する。すなわち、f(id_{1,1}),f(id_{1,5}),f(id_{1,2}),f(id_{1,6}),f(id_{1,7}),f(id_{1,3}),f(id_{1,4})を計算する。計算された出力値は、第2計算装置Pに送信される。
また、第2計算装置Pは、3つのグループG_{2,1},G_{2,2},G_{2,3}のそれぞれを構成する各識別子を関数2に入力した場合の出力値を計算する。すなわち、f(id_{2,2}),f(id_{2,5}),f(id_{2,6}),f(id_{2,1}),f(id_{2,7}),f(id_{2,3}),f(id_{2,4})を計算する。計算された出力値は、第1計算装置Pに送信される。
次に、n=1,2,…,Nとして、第n計算装置Pの関数値計算部P3は、他の計算装置により計算された出力値を関数fに入力した場合の出力値を計算する(ステップS4)。計算された出力値は、まだ関数fn’の処理が施されていない第n’計算装置Pn’に送信される。例えば、第n+1計算装置Pn+1に送信される。n=Nの場合には、第1計算装置Pに送信される。n=1,2,…,Nとして、第n計算装置Pの関数値計算部P3は、各識別子に全ての関数f,f,…,fの演算が施されるまでこの処理を行う。識別子に全ての関数f,f,…,fの演算が施された演算結果を「照合タグ」と呼ぶ。照合タグは、カウント部2に送信される。関数f,f,…,fが可換であることを考慮すると、ある識別子idに対応する照合タグの値は、f(f(…(f(id))))と等しい。
上記の具体例だと、図5に示すように、第1計算装置Pは、第2計算装置Pから受信した出力値f(id_{2,2}),f(id_{2,5}),f(id_{2,6}),f(id_{2,1}),f(id_{2,7}),f(id_{2,3}),f(id_{2,4})のそれぞれを関数fに入力した場合の出力値f(f(id_{2,2})),f(f(id_{2,5})),f(f(id_{2,6})),f(f(id_{2,1})),f(f(id_{2,7})),f(f(id_{2,3})),f(f(id_{2,4}))を計算する。この例では、N=2であるため、これらの出力値のそれぞれが照合タグとなる。
また、第2計算装置Pは、第1計算装置Pから受信した出力値f(id_{1,1}),f(id_{1,5}),f(id_{1,2}),f(id_{1,6}),f(id_{1,7}),f(id_{1,3}),f(id_{1,4})のそれぞれを関数f2に入力した場合の出力値f(f(id_{1,1})),f(f(id_{1,5})),f(f(id_{1,2})),f(f(id_{1,6})),f(f(id_{1,7})),f(f(id_{1,3})),f(f(id_{1,4}))を計算する。この例では、N=2であるため、これらの出力値のそれぞれが照合タグとなる。
グループG_{n,L}から生成された照合タグの集合をW_{n,L}とすると、図5に示すように、W_{1,1}=(f(f(id_{1,1})),f(f(id_{1,5}))),W_{1,2}=(f(f(id_{1,2})),f(f(id_{1,6})),f(f(id_{1,7}))),W_{1,3}=(f(f(id_{1,3})),f(f(id_{1,4}))),W_{2,1}=(f(f(id_{2,2})),f(f(id_{2,5})),f(f(id_{2,6}))),W_{2,2}=(f(f(id_{2,1})),f(f(id_{2,7}))),W_{2,3}=(f(f(id_{2,3})),f(f(id_{2,4})))となる。
クライアント装置Cのカウント部2は、第1,2,…,N計算装置P,P,…,Pから照合タグを受け取り、各条件の組を構成する条件と同じ重複除去後条件を満たすレコードに対する照合タグを参照することにより、その各組を構成する全ての条件に共通する照合タグの数をカウントする(ステップS5)。
上記の具体例だと、第一の条件の組C∧Cを構成する条件はC及びCである。したがって、図5に例示するように、カウント部2は、Cに対応する照合タグの集合W_{1,1}と、Cに対応する照合タグの集合W_(2,1)とを参照して、2つの集合W_{1,1},W_(2,1)に共通する照合タグの数をカウントする。すなわち、2つの集合W_{1,1},W_(2,1)の積集合の要素の数|W_{1,1}∩W_(2,1)|をカウントする。条件と照合タグの対応関係については、図4及び図5を参照のこと。関数f及びfが可換であり、同じ対象には異なる複数のデータ集合Sにおいて同じ識別子が割り当てられていることを考慮すると、この例だと、W_{1,1}の照合タグf(f(id_{1,5}))と、W_(2,1)の照合タグf(f(id_{2,5}))とが一致する。したがって、第一の条件の組C∧Cに対応するカウント数は1となる。他の条件の組についても同様にカウントを行う。
このように、重複する条件についての照合タグの生成及び送信を一回しか行わないことにより、従来よりも効率良くマッチングを行うことができる。
[変形例等]
上記の例では、n=1,2,…,Nとして、関数値計算部P3は、識別子を関数fに入力した場合の出力値を計算したが、Hを衝突困難な一方向性ハッシュ関数として、識別子のハッシュ値H(識別子)を関数fに入力した場合の出力値を計算してもよい。この場合、第1,2,…,N計算装置P,P,…,Pにより計算される、ある識別子に対応する照合タグは、f(f(…(f(H(識別子)))))となる。識別子の代わりに識別子のハッシュ値を用いることにより、安全性が増す。
n=1,2,…,Nとして、第n計算装置Pは、関数値計算部P3により計算された出力値を辞書順やランダムな順序等の所定の並替方法で並び替えて出力する並替部P4を有していてもよい。並替方法は、元の順番を隠せればどのような方法でも良い。並替部P4は、グループGごとに並び替えを行う。
図5の例だと、第1計算部Pの並替部P4は、関数値計算部P3が計算したグループG_{1,1}に対応する出力値f(id_{1,1}),f(id_{1,5})を所定の並替方法で並び替えて第2計算装置Pに送信し、関数値計算部P3が計算したグループG_{1,2}に対応する出力値f(id_{1,2}),f(id_{1,6}),f(id_{1,7})を所定の並替方法で並び替えて第2計算装置Pに送信し、関数値計算部P3が計算したグループG_{1,3}に対応する出力値f(id_{1,3}),f(id_{1,4})を所定の並替方法で並び替えて第2計算装置Pに送信してもよい。
同様に、第1計算部Pの並替部P4は、関数値計算部P3が計算したグループG_{2,1}に対応する出力値f(f(id_{2,2})),f(f(id_{2,5})),f(f(id_{2,6}))を所定の並替方法で並び替えてカウント部2に送信し、関数値計算部P3が計算したグループG_{2,2}に対応する出力値f(f(id_{2,1})),f(f(id_{2,7}))を所定の並替方法で並び替えてカウント部2に送信し、関数値計算部P3が計算したグループG_{2,3}に対応する出力値f(f(id_{2,3})),f(f(id_{2,4}))を所定の並替方法でカウント部2に送信してもよい。
このように、グループごとに所定の並替方法で並び替えて出力することにより、安全性が増す。より具体的には、後述するように、カウント部2が計算装置の何れかに設けられている場合には、並び替えずに出力値を送信すると、他の計算装置が有するレコードの識別子についての情報をその計算装置が知ることができる可能性がある。グループごとに所定の並替方法で並び替えて出力することにより、カウント部2が計算装置の何れかに設けられている場合であっても、他の計算装置が有するレコードの識別子についての情報をその計算装置に対して秘匿化することができる。
クライアント装置Cを構成する重複除去後条件生成部1及びカウント部2のそれぞれは、計算装置の何れかに設けられていてもよい。
カウント部2は、各条件の組を構成する全ての条件に対する照合タグのユニーク数をカウントしてもよい。換言すれば、各条件の組を構成する全ての条件に対する照合タグの集合の和集合の要素の数をカウントしてもよい。ユニーク数は、重複を除いた要素の数である。例えば、集合{1,2,2,3,3,3,4}のユニーク数は4である。
また、カウント部2は、条件の組を構成する全ての条件に共通する照合タグの数又はユニーク数をカウントした後に、それらの数をその条件の組を構成する何れかの条件に対応する照合タグの数で割った値を計算して出力してもよい。
n=1,2,…,Nとして、第n計算装置Pの各部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。
クライアント装置C、第n計算装置の構成をコンピュータによって実現する場合、これらの装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
その他、この発明は上述の実施形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、上記の変形例を互いに組み合わせてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
C クライアント装置
1 重複除去後条件生成部
2 カウント部
第n計算装置
1 記憶部
2 レコード抽出部
3 関数値計算部
4 並替部
5 乱数生成部

Claims (10)

  1. Nは2以上の整数であり、n=1,2,…,Nとして、Sは第n計算装置に対応するデータ集合であり、S,S,…,Sについての条件から構成される条件の組が複数あり、関数f,f,…,fは衝突困難な一方向性関数であり互いに可換であり、
    n=1,2,…,Nとして、Sについての複数の条件から重複する条件を除いたSについての重複除去後条件を求める重複除去後条件生成部と、
    n=1,2,…,Nとして、Sについての各重複除去後条件を満たすレコードを抽出するレコード抽出部と、各上記抽出されたレコードの識別子を上記関数fに入力した場合の出力値を計算し、また 他の計算装置により計算された出力値を上記関数fに入力した場合の出力値を計算する関数値計算部と、を含む第n計算装置と、
    全ての上記関数f,f,…,fの演算が施された演算結果である照合タグを上記第1,2,…,N計算装置から受け取り、各上記組を構成する条件と同じ重複除去後条件を満たすレコードに対する照合タグを参照することにより、その各組を構成する全ての条件に共通する照合タグの数又はその各組を構成する全ての条件に対する照合タグのユニーク数をカウントするカウント部と、
    を含むマッチングシステム。
  2. 請求項1に記載のマッチングシステムにおいて、
    上記第1,2,…,N計算装置の少なくとも1つは、各重複除去後条件に対応する出力値が複数ある場合には、これらの出力値を並び替えて他の計算装置に送信する並替部を更に含む、
    マッチングシステム。
  3. 請求項1又は2に記載のマッチングシステムにおいて、
    上記関数値計算部は、各上記抽出されたレコードの識別子のハッシュ値を上記関数fに入力した場合の出力値を計算する、
    マッチングシステム。
  4. Nは2以上の整数であり、n=1,2,…,Nとして、Sは第n計算装置に対応するデータ集合であり、S,S,…,Sについての条件から構成される条件の組が複数あり、関数f,f,…,fは衝突困難な一方向性関数であり互いに可換であり、
    n=1,2,…,Nとして、Sについての複数の条件から重複する条件を除いたものをSについての重複除去後条件として、Sについての各重複除去後条件を満たすレコードを抽出するレコード抽出部と、各上記抽出されたレコードの識別子を上記関数fに入力した場合の出力値を計算し、また他の計算装置により計算された出力値を上記関数fに入力した場合の出力値を計算する関数値計算部と、を含むマッチングシステムの計算装置。
  5. 請求項4に記載の計算装置において、
    n=1,2,…,Nとして、Sについての重複除去後条件を生成する重複除去後条件生成部を更に含む、
    計算装置。
  6. 請求項4又は5に記載の計算装置において、
    上記計算装置は、各重複除去後条件に対応する出力値が複数ある場合には、これらの出力値を並び替えて他の計算装置に送信する並替部を更に含む、
    計算装置。
  7. Nは2以上の整数であり、n=1,2,…,Nとして、Sは第n計算装置に対応するデータ集合であり、S,S,…,Sについての条件から構成される条件の組が複数あり、関数f,f,…,fは衝突困難な一方向性関数であり互いに可換であり、
    n=1,2,…,Nとして、Sについての複数の条件から重複する条件を除いたSについての重複除去後条件を求める重複除去後条件生成部と、
    全ての関数f,f,…,fの演算が施された演算結果である最終出力値を受け取り、各上記組を構成する条件と同じ重複除去後条件を満たすレコードに対する最終出力値を参照することにより、その各組を構成する全ての条件に共通する最終出力値の数又はその各組を構成する全ての条件に対する最終出力値のユニーク数をカウントするカウント部と、
    を含むマッチングシステムのクライアント装置。
  8. Nは2以上の整数であり、n=1,2,…,Nとして、Sは第n計算装置に対応するデータ集合であり、S,S,…,Sについての条件から構成される条件の組が複数あり、関数f,f,…,fは衝突困難な一方向性関数であり互いに可換であり、
    クライアント装置の重複除去後条件生成部、n=1,2,…,Nとして、Sについての複数の条件から重複する条件を除いたSについての重複除去後条件を求める重複除去後条件生成ステップと、
    n=1,2,…,Nとして、上記クライアント装置とは異なる第n計算装置が、Sについての各重複除去後条件を満たすレコードを抽出するレコード抽出ステップと、各上記抽出されたレコードの識別子を上記関数fに入力した場合の出力値を計算し、また他の計算装置により計算された出力値を上記関数fに入力した場合の出力値を計算する関数値計算ステップとを行う第n計算ステップと、
    上記クライアント装置のカウント部が、上記第n計算ステップで生成された全ての上記関数f,f,…,fの演算が施された演算結果である照合タグを上記第1,2,…,N計算装置から受け取り、各上記組を構成する条件と同じ重複除去後条件を満たすレコードに対する照合タグを参照することにより、その各組を構成する全ての条件に共通する照合タグの数又はその各組を構成する全ての条件に対する照合タグのユニーク数をカウントするカウントステップと、
    を含むマッチング方法。
  9. 請求項4から6の何れかに記載の計算装置の各部としてコンピュータを機能させるためのプログラム。
  10. 請求項7のクライアント装置の各部としてコンピュータを機能させるためのプログラム。
JP2010226557A 2010-10-06 2010-10-06 マッチングシステム、方法、計算装置、クライアント装置及びプログラム Active JP5524012B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010226557A JP5524012B2 (ja) 2010-10-06 2010-10-06 マッチングシステム、方法、計算装置、クライアント装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010226557A JP5524012B2 (ja) 2010-10-06 2010-10-06 マッチングシステム、方法、計算装置、クライアント装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2012080492A JP2012080492A (ja) 2012-04-19
JP5524012B2 true JP5524012B2 (ja) 2014-06-18

Family

ID=46240176

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010226557A Active JP5524012B2 (ja) 2010-10-06 2010-10-06 マッチングシステム、方法、計算装置、クライアント装置及びプログラム

Country Status (1)

Country Link
JP (1) JP5524012B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11625363B2 (en) * 2018-03-26 2023-04-11 Nippon Telegraph And Telephone Corporation Secret deduplication filter generation system, secret deduplication system, method for these, secret calculation apparatus, and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002288214A (ja) * 2001-03-28 2002-10-04 Hitachi Ltd 検索システムおよび検索サービス
US7290150B2 (en) * 2003-06-09 2007-10-30 International Business Machines Corporation Information integration across autonomous enterprises
JP2009211603A (ja) * 2008-03-06 2009-09-17 Fuji Xerox Co Ltd 文書検索システム

Also Published As

Publication number Publication date
JP2012080492A (ja) 2012-04-19

Similar Documents

Publication Publication Date Title
CN110032891B (zh) 一种基于联盟区块链的智能电网分布式密文检索方法和系统模型
US20170242924A1 (en) Masking query data access pattern in encrypted data
Nourdin et al. Noncentral convergence of multiple integrals
Liu et al. SMC: A practical schema for privacy-preserved data sharing over distributed data streams
Barsoum et al. Integrity verification of multiple data copies over untrusted cloud servers
JP2019500645A (ja) 暗号プロトコルを用いたsqlベースのデータベースの保護
EP2951945B1 (en) Method and system for providing encrypted data for searching of information therein and a method and system for searching of information on encrypted data
US9755823B2 (en) Cryptographic system, cryptographic method, and computer readable medium
CN106776904A (zh) 一种不可信云计算环境中支持动态验证的模糊查询加密方法
CN110413652B (zh) 一种基于边缘计算的大数据隐私化检索方法
WO2019225401A1 (ja) 秘密集約関数計算システム、秘密計算装置、秘密集約関数計算方法、およびプログラム
JP5524012B2 (ja) マッチングシステム、方法、計算装置、クライアント装置及びプログラム
Wei et al. Secure extended wildcard pattern matching protocol from cut-and-choose oblivious transfer
Khurram et al. SFour: a protocol for cryptographically secure record linkage at scale
JP5961571B2 (ja) 秘密表除算装置及び方法
CN109670827B (zh) 基于对称密钥池的抗量子计算区块链交易方法
Zarezadeh et al. Efficient secure pattern matching with malicious adversaries
JP5486519B2 (ja) 検索システム、判定装置、ベクトル構成装置、その方法及びプログラム
JP5689845B2 (ja) 秘密計算装置、秘密計算方法、およびプログラム
Han et al. Public integrity auditing of shared encrypted data within cloud storage group
Mancuhan et al. Decision tree classification on outsourced data
Al Etaiwi et al. Structured encryption algorithm for text cryptography
Guo et al. A privacy preserving Markov model for sequence classification
Shuguo et al. Multi-party privacy-preserving decision trees for arbitrarily partitioned data
Chen et al. A post‐quantum provable data possession protocol in cloud

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140307

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140409

R150 Certificate of patent or registration of utility model

Ref document number: 5524012

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150