JP2012150379A - Matching system, matching system method, coupling device and program - Google Patents

Matching system, matching system method, coupling device and program Download PDF

Info

Publication number
JP2012150379A
JP2012150379A JP2011010549A JP2011010549A JP2012150379A JP 2012150379 A JP2012150379 A JP 2012150379A JP 2011010549 A JP2011010549 A JP 2011010549A JP 2011010549 A JP2011010549 A JP 2011010549A JP 2012150379 A JP2012150379 A JP 2012150379A
Authority
JP
Japan
Prior art keywords
sets
ext
order
data
decoding
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.)
Granted
Application number
JP2011010549A
Other languages
Japanese (ja)
Other versions
JP5498406B2 (en
Inventor
Koji Senda
浩司 千田
Hiroki Hamada
浩気 濱田
Masaru Igarashi
大 五十嵐
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 JP2011010549A priority Critical patent/JP5498406B2/en
Publication of JP2012150379A publication Critical patent/JP2012150379A/en
Application granted granted Critical
Publication of JP5498406B2 publication Critical patent/JP5498406B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a matching technology which outputs the data coupling tuples of data of which key columns coincide with each other while concealing the coinciding key columns with respect to data recorded in n table storage units.SOLUTION: For all k (k=1,2,...,n), data ext(v) of all or some tuples including coincided data vare obtained in a predetermined order and then a set of ext(v) (k=1,2,...,n) of vof the same order is obtained. A mix-net processing including encryption and permutation by an encryption function having homomorphism and the rearrangement by the predetermined order are performed on the obtained values and each coefficient of a predetermined polynomial, to output the data coupling tuples of data of which key columns coincide with each other.

Description

この発明は、複数の表形式のデータについて非開示のまま必要なデータを結合する技術に関する。   The present invention relates to a technique for combining necessary data without disclosing a plurality of tabular data.

非特許文献1に、複数の表形式のデータについて非開示のまま必要なデータを結合する技術が記載されている。以下、非特許文献1に記載された技術でできることを簡単に説明する(例えば、非特許文献1参照。)。   Non-Patent Document 1 describes a technique for combining necessary data in a non-disclosed manner for a plurality of tabular data. Hereinafter, what can be done with the technique described in Non-Patent Document 1 will be briefly described (see Non-Patent Document 1, for example).

図6に示すように、第1テーブル及び第2テーブルがあるとする。非特許文献1の技術により、第1テーブルのキーカラムのデータと、第2テーブルのキーカラムのデータとで一致するものを特定し、その一致するデータを含むタプル(行)のデータを結合して取得することができる。   As shown in FIG. 6, it is assumed that there are a first table and a second table. By using the technique of Non-Patent Document 1, the key column data of the first table and the data of the key column of the second table are identified, and the tuple (row) data including the matching data is combined and acquired. can do.

図6の例だと、第1テーブルのキーカラム及び第2テーブルのキーカラムは、014及び034のデータが共に含む。したがって、取得することができる結合データは、データ014と第1テーブルの014のデータを含むタプルのデータxxxと第2テーブルの014のデータを含むタプルのデータbbbとを結合したデータ、及び、データ034と第1テーブルの034のデータを含むタプルのデータzzzと第2テーブルの034のデータを含むタプルのデータcccとを結合したデータとなる。   In the example of FIG. 6, the key column of the first table and the key column of the second table include both 014 and 034 data. Therefore, the combined data that can be acquired includes data obtained by combining the data 014, the tuple data xxx including the data 014 of the first table, and the tuple data bbb including the data 014 of the second table, and data 034 and the tuple data zzz including the data 034 of the first table and the tuple data ccc including the data 034 of the second table are combined.

R.Agrawal, A.V.Evfimievski, and R.Srikant, “Information Sharing Across Private Databases”, ACM SIGMOD 2003, pp.86-97, 2003R.Agrawal, A.V.Evfimievski, and R.Srikant, “Information Sharing Across Private Databases”, ACM SIGMOD 2003, pp.86-97, 2003

しかしながら、非特許文献1の技術では、キーカラムの一致するデータを含むタプルのデータを結合したデータのみならず、キーカラムの一致するデータ自体が分かってしまう。図6の例では、データ014及び034において、一致するということが分かってしまう。   However, according to the technique of Non-Patent Document 1, not only data obtained by combining tuple data including data that matches key columns but also data that matches key columns is known. In the example of FIG. 6, it can be seen that the data 014 and 034 match.

この発明は、キーカラムの一致するデータの情報を秘匿化したマッチングシステム、方法、結合装置及びプログラムを提供することを目的とする。   An object of the present invention is to provide a matching system, a method, a coupling device, and a program in which information of data that matches key columns is concealed.

この発明の第一の態様であるマッチングシステムは、nを2以上の整数、kを1以上n以下の整数として、i=1,…,k−1,k+1,…,nとし、第iテーブルの予め定められたキーカラムVのデータをvとし、tを所定の数として、f(x)=tΠv∈Vi(x−v)=Σj=0 Ji−1i,jで定義される多項式f(x)の各係数ai,jを準同型性を持つ暗号関数Eで暗号化したE(ai,j)を計算する第i結合装置と、rを整数の乱数とし、第kテーブルの予め定められたキーカラムVのデータvを含むタプルの全部又は一部のデータをext(v)として、キーカラムVの各データvについて、E(ai,j)を用いて、c=E(Σi∈{1,2,…,n}−{k}(v)r)=Σi∈{1,2,…,n}−{k}E(ai,j)vを計算し、d=E(ext(v))を計算し、cとdとの組(d,c)を生成する関数値計算部と、複数の組(d,c)を再暗号化して置換πにより置換した複数の組(d’π,c’π)を生成する第一ミックスネット演算部と、E’を準同型性を持つ暗号関数として、複数の組(d’π,c’π)のそれぞれについて、c’πの復号結果cπ=0である場合にはb=1とし、c’πの復号結果cπ=0でない場合にはb=0として、そのc’πの組(d’π,c’π)のd’ πとE’(b)πとの組(d’π,E’(b)π)を生成するフラグ付与部と、複数の組(d’π,E’(b)π)を再暗号化して置換πの逆置換により置換した複数の組(d’’,E’’(b))(j=1,2,…,J)を生成する第二ミックスネット演算部と、複数の組(d’’,E’’(b))のそれぞれについて、E’’(b)を用いて、順序e’’=E’’(Σk=1 )=Σk=1 E’’(b)を計算して、計算された順序e’’を組(d’’,E’’(b))に追加した組(d’’,E’’(b),e’’)を生成する順序付与部と、複数の組(d’’,E’’(b),e’’)を再暗号化して置換πにより置換した複数の組(dπ*(j)’’’,E’’’(bπ*(j)),eπ*(j)’’’)を生成する第三ミックスネット演算部と、E’’’(bπ*(j))を復号したbπ*(j)=1となる組(dπ*(j)’’’,E’’’(bπ*(j)),eπ*(j)’’’)のeπ*(j)’’’を復号して順序eπ*(j)を生成する順序復号部と、順序eπ*(j)で組(dπ*(j)’’’,E’’’(bπ*(j)),eπ*(j)’’’)のdπ*(j)’’’を出力する並替部と、を含む。 In the matching system according to the first aspect of the present invention, n is an integer of 2 or more, k is an integer of 1 to n, i = 1,..., K−1, k + 1,. The data of a predetermined key column V i of v is v, t is a predetermined number, and f i (x) = tΠ vεVi (x−v) = Σ j = 0 Ji−1 a i, j x j An i-th coupling device that calculates E (a i, j ) obtained by encrypting each coefficient a i, j of the polynomial f i (x) defined by the above with a cryptographic function E having homomorphism, and r i is an integer of the random number, all or part of the data tuple including data v key column V k a predetermined k-th table as ext k (v), for each data v key column V k, E (a i, with j), c = E (Σ i∈ {1,2, ..., n} - {k} f i (v) r i = Σ i∈ {1,2, ..., n} - {k} E (a i, j) v calculates the j r i, computes the d = E (ext k (v )), and c and d A function value calculation unit for generating a pair (d, c) of the first and a plurality of pairs (d ′ π , c ′ π ) generated by re-encrypting the plurality of pairs (d, c) and replacing with a replacement π In the case where the decryption result c π of c ′ π is 0 for each of a plurality of pairs (d ′ π , c ′ π ), with one mix net operation unit and E ′ as a cryptographic function having homomorphism If b = 1 and the decoding result of c ′ π is not c π = 0, then b = 0 and d ′ π and E ′ (b) π of the set of c ′ π (d ′ π , c ′ π ) A flag assigning unit for generating a pair (d′ π , E ′ (b) π ) and a plurality of pairs (d′ π , E ′ (b) π ) by re-encrypting and substituting by reverse replacement of the replacement π A plurality of pairs (d j ″, E ″ (b j )) (j = 1, 2, .., J k ), and for each of the plurality of sets (d j ″, E ″ (b j )), E ″ (b j ) is used for the order e. j ″ = E ″ (Σ k = 1 j b k ) = Σ k = 1 j E ″ (b k ) is calculated, and the calculated order e j ″ is set to a pair (d j ″, E ″ (b j )) added to the order (d j ″, E ″ (b j ), e j ″) to generate a pair, and a plurality of pairs (d j ″, E ′ '(B j ), e j ″) are re-encrypted and replaced with a replacement π * ( dπ * (j) ′ ″, E ′ ″ (b π * (j) ), e a pair (d π * ) where b π * (j) = 1 obtained by decoding E ′ '' (b π * (j) ) and a third mix net operation unit that generates π * (j) ''') (J) Decoding e π * (j) '''of''', E '''(b π * (j) ), e π * (j) ''') to obtain the order e π * (j to generate a) D of the order decoder, the order e π * (j) a set (d π * (j) ' '',E''' (b π * (j)), e π * (j) ''') a rearrangement unit that outputs π * (j) ′ ″.

キーカラムの一致するデータの情報を秘匿化することができる。   It is possible to conceal information on data that matches the key column.

マッチングシステムの例を説明するためのブロック図。The block diagram for demonstrating the example of a matching system. 第一ミックスネット演算部の変形例を説明するためのブロック図。The block diagram for demonstrating the modification of a 1st mixnet calculating part. 第二ミックスネット演算部の変形例を説明するためのブロック図。The block diagram for demonstrating the modification of a 2nd mixnet calculating part. 第三ミックスネット演算部の変形例を説明するためのブロック図。The block diagram for demonstrating the modification of a 3rd mix net calculating part. マッチングシステムの方法の例を説明するためのプログラム。A program for explaining an example of a method of a matching system. 従来のマッチングシステムの概要を説明するための図。The figure for demonstrating the outline | summary of the conventional matching system.

以下、図面を参照してこの発明の実施形態を説明する。   Embodiments of the present invention will be described below with reference to the drawings.

[第一実施形態]
第一実施形態のマッチングシステムは、図1に示すように、第1結合装置1、第2結合装置2、…、第k結合装置k、…、第n結合装置n、テーブル記憶部11,21,…,k1,n1、第一ミックスネット演算部a,フラグ付与部b、第二ミックスネット演算部c、順序付与部d、第三ミックスネット演算部e、順序復号部f、並替部g、制御部iを例えば備える。nは2以上の整数である。
[First embodiment]
As shown in FIG. 1, the matching system of the first embodiment includes a first coupling device 1, a second coupling device 2,..., A k-th coupling device k,. ,..., K1, n1, first mix net operation unit a, flag assignment unit b, second mix net operation unit c, order assignment unit d, third mix net operation unit e, order decoding unit f, rearrangement unit g. For example, a control unit i is provided. n is an integer of 2 or more.

第1結合装置1は、第1テーブルTを保有する。第1テーブルTはテーブル記憶部11に記憶されている。同様にして、i=2,3,…,nとして、第i結合装置iは、第iテーブルTを保有する。第iテーブルTはテーブル記憶部i1に記憶されている。 First coupling device 1 possesses a first table T 1. The first table T 1 is stored in the table storage unit 11. Similarly, assuming that i = 2, 3,..., N, the i-th coupling device i has an i-th table T i . The i table T i is stored in the table storage unit i1.

各テーブルTは、カラム(列)及びタプル(行)で構成される。マッチングシステムは、すべてのテーブルT(i=1,2,…,n)の所定のカラムにおいて一致するデータを特定し、その一致するデータv(以下、一致データvと呼ぶ。)を含むタプルの全部又は一部のデータext(v)を結合したデータを取得する。一致するデータを特定する対象となるカラムをキーカラムと呼ぶことにする。各テーブルTのキーカラムVは予め定められているものとする。 Each table Ti includes a column and a tuple. The matching system identifies matching data in a predetermined column of all the tables T i (i = 1, 2,..., N), and the matching data v * (hereinafter referred to as matching data v * ). Data that combines all or part of the data ext k (v * ) of the included tuples is acquired. A column for which matching data is specified is called a key column. It is assumed that the key column V i of each table T i is predetermined.

制御部iは、kを1からnまでの何れかの数であって、まだ設定されていない数に設定する(ステップS1)。例えば、k=1とする。   The control unit i sets k to any number from 1 to n and not yet set (step S1). For example, k = 1.

以下のステップS2からステップS10の処理により、所定の順序で並んだ、テーブルTの一致データvを含むタプルの全部又は一部のデータext(v)を取得することができる。制御部iがkを異なる値に順次変えてステップS2からステップS10の処理を繰り返すことにより、各テーブルT(k=1,2,…,n)の一致データvを含むタプルの全部又は一部のデータext(v)を取得することができる。各kに対応して求まったデータは、共通する所定の順序、例えば一致データvの辞書順で並んでいる。したがって、同一の順序のvのext(v)(k=1,2,…,n)の集合を取得することにより、同一の一致データvについてのext(v)の集合、すなわち(ext(v),ext(v),…,ext(v))を取得することができる。 Through the processing from step S2 to step S10 below, it is possible to acquire all or part of the data ext k (v * ) of the tuples including the matching data v * of the table T k arranged in a predetermined order. The controller i sequentially changes k to a different value and repeats the processing from step S2 to step S10, so that all the tuples including the matching data v * of each table T k (k = 1, 2,..., N) or Some data ext k (v * ) can be acquired. Data obtained corresponding to each k is arranged in a common predetermined order, for example, in the dictionary order of the matching data v * . Therefore, by obtaining a set of ext k (v * ) (k = 1, 2,..., N) of v * in the same order, a set of ext k (v * ) for the same matching data v *. That is, (ext 1 (v * ), ext 2 (v * ),..., Ext n (v * )) can be acquired.

i=1,…,k−1,k+1,…,nとして、各第i結合装置は、f(x)=tΠv∈Vi(x−v)=Σj=0 Ji−1i,jで定義される多項式f(x)の各係数ai,jを準同型性を持つ暗号関数Eで暗号化したE(ai,j)を計算する(ステップS2)。 As i = 1,..., k−1, k + 1,..., n, each i-th coupling device is expressed as f i (x) = tΠvεVi (x−v) = Σ j = 0 Ji−1 a i, E (a i, j ) obtained by encrypting each coefficient a i, j of the polynomial f i (x) defined by j x j with a cryptographic function E having homomorphism is calculated (step S2).

ここで、tは所定の数である。tは、例えば1であってもよいし、乱数であってもよい。Jiは、キーカラムVを構成するデータvの数である。上記の多項式f(x)の式の中の下付きのViは、キーカラムVを意味する。E(ai,j)は、第一ミックスネット演算部aに送信される。 Here, t is a predetermined number. For example, t may be 1 or a random number. Ji is the number of data v constituting the key column V i . The subscript Vi in the above equation of the polynomial f i (x) means the key column V i . E (a i, j ) is transmitted to the first mix net operation unit a.

関数値計算部hは、キーカラムVの各データvについて、上記E(ai,j)を用いて、c=E(Σi∈{1,2,…,n}−{k}(v)r)=Σi∈{1,2,…,n}−{k}E(ai,j)vを計算し、d=E(ext(v))を計算し、上記cとdとの組(d,c)を生成する(ステップS3)。rは、整数の乱数である。ext(v)は、キーカラムVのデータvを含むタプルの全部又は一部のデータである。キーカラムVのデータvの数をJk個とすると、Jk個の組(d,c)が生成される。生成された組(d,c)は、第一ミックスネット演算部aに所定の順序で送信される。所定の順序とは、例えば辞書順である。以下、単に所定の順序といった場合には、この所定の順序を意味する。 The function value calculation unit h uses the above E (a i, j ) for each data v of the key column V k and c = E (Σ iε {1, 2,..., N} − {k} f i. (V) r i ) = Σ i∈ {1, 2,..., N} − {k} E (a i, j ) v j r i is calculated, and d = E (ext k (v)) is calculated. Then, a set (d, c) of c and d is generated (step S3). r i is an integer random number. ext k (v) is data of all or part of the tuple including the data v of the key column V k . When the number of key columns V k of the data v and Jk pieces, Jk number of pairs (d, c) is generated. The generated set (d, c) is transmitted to the first mix net operation unit a in a predetermined order. The predetermined order is, for example, a dictionary order. Hereinafter, when the predetermined order is simply referred to, this predetermined order is meant.

暗号関数Eは準同型性の性質を持つため、加法的に記載すれば、E(αβ)=E(β+β+…+β)=E(β)+E(β)+…+E(β)=αE(β)となる。このため、E(Σi∈{1,2,…,n}−{k}(v)r)=Σi∈{1,2,…,n}−{k}E(ai,j)vとなるのである。 Since the cryptographic function E has the property of homomorphism, E (αβ) = E (β + β +... + Β) = E (β) + E (β) +... + E (β) = αE (β ) Therefore, E (Σ i∈ {1,2, ..., n} - {k} f i (v) r i) = Σ i∈ {1,2, ..., n} - {k} E (a i , is to become a j) v j r i.

関数値計算部hは、図1に示すように第k結合装置kの中に設けられている。このため、ステップS1の処理において、第1結合装置1から第n結合装置nで第k結合装置kとして選択される可能性がある結合装置は、関数計算部hを備えていることになる。なお、関数値計算部hは、第k結合装置kの外部に設けられていてもよい。   The function value calculation unit h is provided in the k-th coupling device k as shown in FIG. For this reason, in the process of step S1, a coupling device that may be selected as the k-th coupling device k from the first coupling device 1 to the n-th coupling device n includes the function calculation unit h. Note that the function value calculation unit h may be provided outside the k-th coupling device k.

第一ミックスネット演算部aは、複数の組(d,c)を再暗号化して置換πにより置換した複数の組(d’π,c’π)を生成する(ステップS4)。置換πは位数Jkの対称群の元である。複数の組(d’π,c’π)は、フラグ付与部bに送信される。複数の組(d,c)の数がJkあるため、組(d’π,c’π)の数もJkである。 The first mix net operation unit a re-encrypts the plurality of sets (d, c) and generates a plurality of sets (d ′ π , c ′ π ) that are replaced by the replacement π (step S4). The substitution π is an element of a symmetric group of order Jk. A plurality of sets (d ′ π , c ′ π ) are transmitted to the flag assigning unit b. Since the number of the plurality of sets (d, c) is Jk, the number of the sets (d ′ π , c ′ π ) is also Jk.

例えば組(d,c)の数が3つであり、それぞれ組(d,c)、組(d,c)及び組(d,c)であるとする。このとき、これらの3つの組(d,c)のそれぞれを暗号化して、組(d’,c’)、組(d’,c’)及び組(d’,c’)とする。置換π:{1,2,3}→{1,2,3}は1をπ(1)に写し、2をπ(2)に写し、3をπ(3)に写す全単射の写像であり、例えばπ(1)=2、π(2)=3、π(3)=1であるとする。この場合、これらの組(d’,c’)、組(d’,c’)及び組(d’,c’)を置換πで置換すると、組(dπ(3)’,cπ(3)’)、組(dπ(1)’,cπ(1)’)及び組(dπ(2)’,cπ(2)’)となる。 For example, it is assumed that the number of sets (d, c) is three, and each is set (d 1 , c 1 ), set (d 2 , c 2 ), and set (d 3 , c 3 ). At this time, each of these three sets (d, c) is encrypted, and the set (d 1 ′, c 1 ′), the set (d 2 ′, c 2 ′), and the set (d 3 ′, c 3). '). Permutation π: {1, 2, 3} → {1, 2, 3} is a bijective mapping that maps 1 to π (1), 2 to π (2), and 3 to π (3) For example, it is assumed that π (1) = 2, π (2) = 3, and π (3) = 1. In this case, when the set (d 1 ′, c 1 ′), the set (d 2 ′, c 2 ′), and the set (d 3 ′, c 3 ′) are replaced with a substitution π, the set (d π (3 ) ′, C π (3) ′), pair (d π (1) ′, c π (1) ′) and pair (d π (2) ′, c π (2) ′).

フラグ付与部bは、複数の組(d’π,c’π)のそれぞれについて、c’πの復号結果cπ=0である場合にはb=1とし、c’πの復号結果cπ=0でない場合にはb=0として、そのc’πの組(d’π,c’π)のd’πとE’(b)πとの組(d’π,E’(b)π)を生成する(ステップS5)。複数の組(d’π,c’π)の数がJkであるため、組(d’π,E’(b)π)の数もJk個となる。生成された複数の組(d’π,E’(b)π)は、第二ミックスネット演算部cに送信される。 Flag imparting unit b, for each of a plurality of pairs (d 'π, c' π ), c ' when a decoding result c [pi = 0 for [pi is a b = 1, c' the decoding result of the [pi c [pi = a b = 0 if not zero, the c 'set of π (d' π, c ' π) of d' [pi and E '(b) a set of the π (d' π, E ' (b) π ) is generated (step S5). Since the number of the plurality of sets (d ′ π , c ′ π ) is Jk, the number of sets (d ′ π , E ′ (b) π ) is also Jk. The plurality of generated sets (d ′ π , E ′ (b) π ) are transmitted to the second mix net operation unit c.

vが一致データvである場合にはcπ=0となりb=1となり、vが一致データvでない場合にはcπ≠0の場合にはb=0となる。 When v is the coincidence data v * , = 0 and b = 1, and when v is not the coincidence data v * , b = 0 when ≠ 0.

c’πの復号は、図1に例示するフラグ付与部bの復号部b1により行われる。また、bの暗号化は、フラグ付与部bの暗号化部b2により行われる。E’は、準同型性を持つ暗号関数である。 decoding of c '[pi is performed by the decoding unit b1 of the flag imparting unit b illustrated in FIG. The encryption of b is performed by the encryption unit b2 of the flag assigning unit b. E ′ is a cryptographic function having homomorphism.

第一ミックスネット演算部aによるミックスネットの処理で、置換πに基づいて複数の組(d,c)の順序が入れ替わるため、置換πを知らないフラグ付与部bは、任意の組(d’π,c’π)が一致データvに対応するかどうかを知ることができるが、その組(d’π,c’π)がどのデータvに対応するものであるのかを知ることができない。このように、組(d’π,c’π)とデータvとの対応関係をフラグ付与部bに秘匿化するために、第一ミックスネット演算部aによるミックスネットの処理を行っている。なお、第一ミックスネット演算部aによるミックスネットの処理で入れ替わった複数の組(d,c)及び複数の組(d’π,E’(b)π)の順番は、以下の第二ミックスネット演算部bによるミックスネットの処理で元の順番、すなわち関数値計算部hのステップS3の処理で説明をした「所定の順番」に戻る。 In the processing of the mix net by the first mix net operation unit a, the order of the plurality of sets (d, c) is changed based on the replacement π. [pi, 'but [pi) can be known whether corresponding to the matched data v *, the set (d' c π, c ' π) can not know whether it corresponds to what data v . As described above, in order to conceal the correspondence between the pair (d ′ π , c ′ π ) and the data v to the flag assigning unit b, the mix net processing by the first mix net operation unit a is performed. In addition, the order of the plurality of sets (d, c) and the plurality of sets (d′ π , E ′ (b) π ) replaced by the processing of the mix net by the first mix net calculation unit a is as follows. The processing returns to the original order in the mix net processing by the net operation unit b, that is, the “predetermined order” described in step S3 of the function value calculation unit h.

第二ミックスネット演算部cは、複数の組(d’π,E’(b)π)を再暗号化して置換πの逆置換π−1により置換した複数の組(d’’,E’’(b))(j=1,…,J)を生成する(ステップS6)。組(d’π,E’(b)π)の数がJk個とであるため、組(d’’,E’’(b))の数もJk個となる。組(d’’,E’’(b))は、「所定の順序」におけるj番目の組(d’’,E’’(b))を意味する。生成された複数の組(d’’,E’’(b))は、順序付与部dに送信される。ある値xについてのE(x)の再暗号化により生成されたE’’(x)は、その値xを暗号関数E’’に入力したときの出力値と見ることができる。この場合の暗号関数E’’は、準同型性を持つとする。 The second mix net computation unit c re-encrypts the plurality of pairs (d ′ π , E ′ (b) π ) and replaces them with the reverse substitution π −1 of the substitution π (d j ″, E '' (B j )) (j = 1,..., J k ) is generated (step S6). Since the number of the sets (d ′ π , E ′ (b) π ) is Jk, the number of the sets (d j ″, E ″ (b j )) is also Jk. The set (d j ″, E ″ (b j )) means the j-th set (d ″, E ″ (b)) in the “predetermined order”. The plurality of generated sets (d j ″, E ″ (b j )) are transmitted to the order assigning unit d. E ″ (x) generated by re-encrypting E (x) for a certain value x can be regarded as an output value when the value x is input to the encryption function E ″. The cryptographic function E ″ in this case is assumed to have homomorphism.

置換πの逆置換π−1は、π・π−1が恒等置換となるような置換のことである。例えば、置換π:{1,2,3}→{1,2,3}を1をπ(1)に写し、2をπ(2)に写し、3をπ(3)に写す全単射の写像であり、π(1)=2、π(2)=3、π(3)=1であるとした場合の逆置換π−1:{1,2,3}→{1,2,3}は、1をπ−1(1)に写し、2をπ−1(2)に写し、3をπ−1(3)に写す全単射の写像であり、π−1(1)=2、π−1(2)=1、π−1(3)=2である。 The reverse substitution π −1 of the substitution π is a substitution such that π · π −1 becomes an identity substitution. For example, permutation π: {1,2,3} → {1,2,3} is a bijection that copies 1 to π (1), 2 to π (2), and 3 to π (3) a mapping, π (1) = 2, π (2) = 3, π (3) = 1 in the case where as the reverse replacement π -1: {1,2,3} → { 1,2, 3}, a copy of the 1 [pi -1 (1), copy the 2 [pi -1 (2), a mapping bijective View daylight 3 to π -1 (3), π -1 (1) = 2, π −1 (2) = 1, π −1 (3) = 2.

順序付与部dは、複数の組(d’’,E’’(b))のそれぞれについて、E’’(b)を用いて、順序e’’=E’’(Σk=1 )=Σk=1 E’’(b)を計算して、計算された順序e’’を組(d’’,E’’(b))に追加した組(d’’,E’’(b),e’’)を生成する(ステップS7)。組(d’’,E’’(b))の数がJkであるため、組(d’’,E’’(b),e’’)の数もJkとなる。 The sequencing unit d has a plurality of pairs (d j '', E ' ' (b j)) for each, E '' with (b j), the sequence e j '' = E '' (Σ k = 1 j b k ) = Σ k = 1 j E ″ (b k ) is calculated, and the calculated order e j ″ is added to the pair (d j ″, E ″ (b j )) The set (d j ″, E ″ (b j ), e j ″) is generated (step S7). Since the number of pairs (d j ″, E ″ (b j )) is Jk, the number of pairs (d j ″, E ″ (b j ), e j ″) is also Jk.

先に述べたように、vが一致データvである場合にはcπ=0となりb=1となり、vが一致データvでない場合にはcπ≠0の場合にはb=0となる。このため、順序e’’は、一致データvを所定の順序で並べたときの順序を暗号関数E’’で暗号化したものとなる。 As described above, when v is the coincidence data v * , c π = 0 and b = 1, and when v is not the coincidence data v * , b = 0 when c π ≠ 0. Become. Therefore, the order e j ″ is obtained by encrypting the order when matching data v * is arranged in a predetermined order with the cryptographic function E ″.

第三ミックスネット演算部eは、複数の組(d’’,E’’(b),e’’)を再暗号化して置換πにより置換した複数の組(dπ*(j)’’’,E’’’(bπ*(j)),eπ*(j)’’’)を生成する(ステップS8)。 The third mix net operation unit e re-encrypts a plurality of sets (d j ″, E ″ (b j ), e j ″) and replaces them with a replacement π * (d π * ( j) ''',E''' ( bπ * (j) ), eπ * (j) ''') are generated (step S8).

置換πは、位数Jkの対称群の元である。複数の組(dπ*(j)’’’,E’’’(bπ*(j)),eπ*(j)’’’)は、順序復号部fに送信される。複数の組(d’’,E’’(b),e’’)の数がJkであるため、組(dπ*(j)’’’,E’’’(bπ*(j)),eπ*(j)’’’)の数もJkである。 The substitution π * is an element of a symmetric group of order Jk. A plurality of sets ( dπ * (j) ′ ″, E ′ ″ ( bπ * (j) ), eπ * (j) ′ ″) are transmitted to the order decoding unit f. Since the number of the plurality of pairs (d j ″, E ″ (b j ), e j ″) is Jk, the pair (d π * (j) ′ ″, E ′ ″ (b π * The number of (j) ), eπ * (j) ′ ″) is also Jk.

第三ミックスネット演算部eによるミックスネットの処理で、置換πに基づいて複数の組(d’’,E’’(b),e’’)の順番が入れ替わる。これにより、置換πを知らない順序復号部fは、任意の組(dπ*(j)’’’,E’’’(bπ*(j)),eπ*(j)’’’)が「所定の順序」における何番目の一致データvかを知ることができるが、その組(dπ*(j)’’’,E’’’(bπ*(j)),eπ*(j)’’’)がどのデータvに対応するものなのかを知ることはできない。このように、組(dπ*(j)’’’,E’’’(bπ*(j)),eπ*(j)’’’)とデータvとの対応関係を順序復号部fに秘匿化するために、第三ミックスネット演算部eによるミックスネットの処理を行っている。 In the mix net processing by the third mix net calculation unit e, the order of the plurality of pairs (d j ″, E ″ (b j ), e j ″) is switched based on the substitution π * . As a result, the order decoding unit f that does not know the permutation π * can perform arbitrary combinations (d π * (j) ′ ″, E ″ ′ (b π * (j) ), e π * (j) ″ It is possible to know the number of matching data v * in the “predetermined order”, and the pair ( dπ * (j) ′ ″, E ′ ″ ( bπ * (j) ), e π * (j) ''') cannot know which data v corresponds to. Thus, the correspondence between the pair ( dπ * (j) ′ ″, E ′ ″ ( bπ * (j) ), eπ * (j) ′ ″) and the data v is represented as an order decoding unit. In order to conceal it to f, the mix net processing is performed by the third mix net computing unit e.

順序復号部fは、E’’’(bπ*(j))を復号したbπ*(j)=1となる組(dπ*(j)’’’,E’’’(bπ*(j)),eπ*(j)’’’)のeπ*(j)’’’を復号して順序eπ*(j)を生成する(ステップS9)。生成された順序eπ*(j)及び順序eπ*(j)に対応するdπ*(j)’’’は、並替部gに送信される。 The order decoding unit f decodes E ′ ″ (b π * (j) ) and sets (d π * (j) ′ ″, E ′ ″ (b π ) where b π * (j) = 1. * (J) ), eπ * (j) ′ ″) of eπ * (j) ′ ″ is decoded to generate the order eπ * (j) (step S9). The generated order e π * (j) and d π * (j) ′ ″ corresponding to the order e π * (j) are transmitted to the rearrangement unit g.

並替部gは、順序eπ*(j)で組(dπ*(j)’’’,E’’’(bπ*(j)),eπ*(j)’’’)のdπ*(j)’’’を出力する(ステップS10)。このdπ*(j)’’’が、一致データvのを含むタプルの全部又は一部のデータext(v)に対応する。一致データvの個数だけdπ*(j)’’’が出力される。 The rearrangement part g is in the order e π * (j) in pairs (d π * (j) ′ ″, E ′ ″ (b π * (j) ), e π * (j) ′ ″). d π * (j) '''is output (step S10). This dπ * (j) ′ ″ corresponds to all or part of the data ext k (v * ) of the tuple including the coincidence data v * . Dπ * (j) ′ ″ is output as many as the number of the matching data v * .

制御部iは、1からnまでのすべての整数がkに設定されたかどうか判定する(ステップS11)。設定されていない場合には、ステップS1に戻り、制御部iは、1からnまでの何れかの数であってまだ設定されていない数をkに設定する。1からnまでのすべての整数がkに設定されたたと判定された場合には、マッチングシステムの処理を終了する。   The control unit i determines whether all integers from 1 to n are set to k (step S11). If not set, the process returns to step S1, and the control unit i sets any number from 1 to n and not yet set to k. If it is determined that all the integers from 1 to n are set to k, the processing of the matching system is terminated.

このようにして、ステップS2からステップS10の処理を繰り返すことにより、各テーブルT(k=1,2,…,n)の一致データvを含むタプルの全部又は一部のデータext(v)を取得することができる。 In this way, by repeating the processing from step S2 to step S10, all or a part of the tuple data ext k (including matching data v * of each table T k (k = 1, 2,..., N)). v * ) can be obtained.

[第二実施形態]
第二実施形態のマッチングシステム及び方法は、関数値計算部h、第一ミックスネット演算部a、フラグ付与部bにおいて第一実施形態のマッチングシステム及び方法と異なる。以下、第一実施形態と異なる部分を中心に説明する。同様の部分については説明を省略する。
[Second Embodiment]
The matching system and method of the second embodiment are different from the matching system and method of the first embodiment in the function value calculation unit h, the first mix net operation unit a, and the flag assignment unit b. Hereinafter, a description will be given centering on differences from the first embodiment. Explanation of similar parts is omitted.

第二実施形態の関数値計算部hは、rを整数の乱数とし、第kテーブルの予め定められたキーカラムVのデータvを含むタプルの全部又は一部のデータをext(v)とし、ext(v)に対応するビット列を検査符号t(v)として,キーカラムVの各データvについて、E(ai,j)を用いて、c=E((Σi∈{1,2,…,n−1}−{k}(v)r)+(ext(v)||t(v)))=(Σi∈{1,2,…,n−1}−{k}E(ai,j)v)+E((ext(v)||t(v)))を計算する(ステップS3)。 The function value calculation unit h of the second embodiment uses r i as an integer random number, and ext k (v) all or part of the tuple including the data v of the predetermined key column V k in the k-th table. And a bit string corresponding to ext k (v) is a check code t k (v), and for each data v of the key column V k , using E (a i, j ), c = E ((Σ i∈ { 1, 2,..., N-1}-{k} f i (v) r i ) + (ext k (v) || t k (v))) = (Σ i∈ {1, 2,... n-1} - {k} E (a i, j) v j r i) + E ((ext k (v) || t k (v))) to calculate the (step S3).

第一実施形態とは、cの定義が異なる。また、第一実施形態では組(d,c)が送信されるのに対して、第二実施形態ではcだけが第一ミックスネット演算部aに所定の順序で送信される。   The definition of c is different from the first embodiment. In the first embodiment, the set (d, c) is transmitted, whereas in the second embodiment, only c is transmitted to the first mix net operation unit a in a predetermined order.

ここで、||はビット結合を表わす。検査符号t(v)は、ext(v)に対応するビット列である。例えば、検査符号t(v)は、vに依存しない00…0等の一定のビット列であってもよいし、vに依存するビット列、例えばext(v)のハッシュ値であってもよい。 Here, || represents a bit combination. The check code t k (v) is a bit string corresponding to ext k (v). For example, the check code t k (v) may be a fixed bit string such as 00... 0 that does not depend on v, or may be a bit string that depends on v, for example, a hash value of ext k (v). .

第一ミックスネット演算部aは、所定の順序で並んだ複数のcを置換πにより置換した複数のcπを生成する。順序が並び替えられた複数のcπは、フラグ付与部bに送信される。 The first mix net operation unit a generates a plurality of c π by replacing a plurality of c arranged in a predetermined order with a replacement π. Multiple c [pi the order has been rearranged is transmitted to the flag addition module b.

フラグ付与部b3は、E’を準同型性を持つ暗号関数として、複数のcπのそれぞれについて、cπの復号結果=ext(v)であると判定された場合にはb=1とし、cπの復号結果=ext(v)でないと判定された場合にはb=0として、そのcπに対応するE’(b)πとdπ’=E(ext(v))の組(d’π,E’(b)π)を生成するフラグ付与部と、
c’πの復号は、図1に例示するフラグ付与部bの復号部b1により行われる。また、bの暗号化は、フラグ付与部bの暗号化部b2により行われる。さらに、cπの復号結果=ext(v)であるかどうかの判断は、判定部b3により行われる。
Flag addition module b3 as cryptographic function with homomorphism of E ', for each of a plurality of c [pi, when it is determined that the decoded result of the c [pi = a ext k (v) is set to b = 1 , C π decoding result = ext k (v), b = 0, and E ′ (b) π and d π ′ = E (ext k (v)) corresponding to c π A flag assigning unit for generating a pair (d ′ π , E ′ (b) π ) of
decoding of c '[pi is performed by the decoding unit b1 of the flag imparting unit b illustrated in FIG. The encryption of b is performed by the encryption unit b2 of the flag assigning unit b. Moreover, the decoding result of the c [pi = determination of whether an ext k (v) is performed by the determination unit b3.

判定部b3は、復号部b1によるcπの復号結果のビット列のうちt(v)に対応するビット列が、関数値計算部hがビット結合したt(v)と一致する場合にはそのcπの復号結果=ext(v)であり、一致しない場合にはそのcπの復号結果=ext(v)でないと判断する。 When the bit sequence corresponding to t k (v) in the bit sequence of the decoding result of c π by the decoding unit b1 matches t k (v) bit-combined by the function value calculation unit h, the determination unit b3 If the decoding result of c π = ext k (v) and they do not match, it is determined that the decoding result of c π is not ext k (v).

πの復号結果=ext(v)でない場合には、cπの復号結果のビット列のうちt(v)に対応するビット列は、関数値計算部hがext(v)に対してビット結合したt(v)と一致しない可能性が非常に高い。このため、復号部b1によるcπの復号結果のビット列のうちt(v)に対応するビット列が、関数値計算部hがビット結合したt(v)と一致する場合にはそのcπの復号結果=ext(v)と判断できるのである。 フラグ付与部bは、上記の一致の判定をする必要があるため、検査符号t(v)についての情報を事前に知っているとする。検査符号t(v)がvに依存するビット列である場合には、フラグ付与部bは置換πについての情報を知っており、cπに対応する検査符号t(v)をわかっているものとする。 If the decoding result of cπ is not ext k (v), the bit value corresponding to t k (v) among the bit strings of the decoding result of c π is calculated by the function value calculation unit h with respect to ext k (v). It is very likely that the bit combination t k (v) does not match. For this reason, when the bit string corresponding to t k (v) in the bit string of the decoding result of c π by the decoding unit b 1 matches t k (v) bit-connected by the function value calculation unit h, the c π It is possible to determine that the decoding result of the above = ext k (v). It is assumed that the flag assigning unit b knows information about the check code t k (v) in advance because it is necessary to determine the above match. When the check code t k (v) is a bit string depending on v, the flag assigning unit b knows information about the permutation π and knows the check code t k (v) corresponding to c π . Shall.

このように、フラグ付与部bが検査符号t(v)を用いてcπの復号結果=ext(v)であるかを判定可能とすることにより、フラグ付与部bに対してext(v)を秘匿化することができる。 Thus, by flag addition module b is to be determined whether the decoding result of the c [pi = a ext k (v) using the check code t k (v), ext k with respect to the flag imparting unit b (V) can be concealed.

他の処理は第一実施形態と同様である。   Other processes are the same as those in the first embodiment.

[変形例等]
暗号関数E,E’,E’’E’’’は、準同型性の性質を持つ確率暗号であってもよい。これにより、安全性が増す。
[Modifications, etc.]
The cryptographic functions E, E ′, E ″ E ′ ″ may be probabilistic ciphers having homomorphic properties. This increases safety.

第一ミックスネット演算部aは、図2に例示するように、第1結合装置1に設けられた第一ミックスネット構成部a1、第2結合装置2に設けられた第一ミックスネット演算部a2、…、第k結合装置kに設けられた第一ミックスネット構成部ak、…、第n結合装置nに設けられた第一ミックスネット構成部anにより構成されてもよい。この場合、これらのn個の第一ミックスネット構成部ai(i=1,2,…,n)が共同して処理を行うことにより、第一ミックスネット演算部aの処理を実現する。   As illustrated in FIG. 2, the first mix net calculation unit a includes a first mix net configuration unit a 1 provided in the first coupling device 1 and a first mix net calculation unit a 2 provided in the second coupling device 2. ,..., A first mix net configuration unit ak provided in the kth coupling device k,..., And a first mix net configuration unit an provided in the nth coupling device n. In this case, these n first mix net components ai (i = 1, 2,..., N) jointly perform processing, thereby realizing processing of the first mix net arithmetic unit a.

例えば、再暗号化関数が多重暗号又は閾値関数であるとして、順次i=k+1,k+2,…,n,1,2,…,k−1として、第一ミックスネット構成部aiが、複数の組(d,c)を再暗号化して予め定められた順序で入れ替えて、第一ミックスネット構成部ai+1(i=nである場合には、第一ミックスネット構成部a1)に送信する。   For example, assuming that the re-encryption function is a multiple cipher or a threshold function, the first mix net configuration unit ai sequentially sets i = k + 1, k + 2,..., N, 1, 2,. (D, c) are re-encrypted, exchanged in a predetermined order, and transmitted to the first mix net configuration unit ai + 1 (if i = n, the first mix net configuration unit a1).

また、この際に、各第一ミックスネット構成部ai(i=1,2,…,n)が、dのみを再暗号化して、cについては部分的な復号を行ってもよい。各第一ミックスネット構成部ai(i=1,2,…,n)がcについての部分的な復号を行うことにより、cが復元される。すなわち、第一ミックスネット構成部ai(i=1,2,…,n)により構成される第一ミックスネット演算部aが、ミックスネットの処理と同時に、復号部b1の処理を行ってもよい。   At this time, each first mix net configuration unit ai (i = 1, 2,..., N) may re-encrypt only d and perform partial decryption on c. Each first mix net configuration unit ai (i = 1, 2,..., N) performs partial decoding on c to restore c. That is, the first mix net operation unit a configured by the first mix net configuration unit ai (i = 1, 2,..., N) may perform the processing of the decoding unit b1 simultaneously with the processing of the mix net. .

同様にして、第二ミックスネット構成部cが、図4に例示するように、第1結合装置1に設けられた第二ミックスネット構成部c1、第2結合装置2に設けられた第二ミックスネット演算部c2、…、第k結合装置kに設けられた第二ミックスネット構成部ck、…、第n結合装置nに設けられた第二ミックスネット構成部cnにより構成されてもよい。この場合、順次i=k−1,k−2,…,1,n,n−1,…,k+1として、第二ミックスネット構成部ciが、複数の組(d’π,E’(b)π)を再暗号化して予め定められた順序で入れ替えて、第二ミックスネット構成部ai+1(i=nである場合には、第一ミックスネット構成部a1)に送信する。 Similarly, as illustrated in FIG. 4, the second mix net component c is provided in the first coupler 1, the second mix net component c 1 provided in the first coupler 1, and the second mix provided in the second coupler 2. .., A second mix net configuration unit ck provided in the k-th coupling device k, and a second mix net configuration unit cn provided in the n-th coupling device n. In this case, the second mix net configuration unit ci is sequentially set to a plurality of sets (d ′ π , E ′ (b) as i = k−1, k−2,..., 1, n, n−1,. ) Π ) is re-encrypted and replaced in a predetermined order, and transmitted to the second mix net configuration unit ai + 1 (if i = n, the first mix net configuration unit a1).

同様にして、第三ミックスネット構成部eが、図5に例示するように、第1結合装置1に設けられた第三ミックスネット構成部e1、第2結合装置2に設けられた第三ミックスネット演算部e2、…、第k結合装置kに設けられた第三ミックスネット構成部ek、…、第n結合装置nに設けられた第三ミックスネット構成部enにより構成されてもよい。   Similarly, as illustrated in FIG. 5, the third mix net component e is provided in the first coupler 1, the third mix net e 1 provided in the first coupler 1, and the third mix provided in the second coupler 2. .., A third mix net configuration unit ek provided in the k-th coupling device k, and a third mix net configuration unit en provided in the n-th coupling device n.

また、この際に、各第三ミックスネット構成部ei(i=1,2,…,n)が、d’’及びe’’を再暗号化して、E’’(b)については部分的な復号を行ってもよい。各第三ミックスネット構成部ei(i=1,2,…,n)がE’’(b)についての部分的な復号を行うことにより、bπ*(j)が復元される。すなわち、第三ミックスネット構成部ei(i=1,2,…,n)により構成される第三ミックスネット演算部eが、ミックスネットの処理と同時に、E’’’(bπ*(j))の復号を行ってもよい。 At this time, each third mix net component ei (i = 1, 2,..., N) re-encrypts d j ″ and e j ″ to obtain E ″ (b j ). May perform partial decoding. Each third mix net component ei (i = 1, 2,..., N) performs partial decoding on E ″ (b j ), thereby restoring b π * (j) . That is, the third mix net operation unit e configured by the third mix net configuration unit ei (i = 1, 2,..., N) simultaneously performs E ′ ″ (b π * (j ) ) May be decrypted.

マッチングシステムは、並替部gにより出力されたdπ*(j)’’’を復号して、ext(v)を生成する最終復号部を有していてもよい。 The matching system may include a final decoding unit that decodes d π * (j) ′ ″ output by the rearrangement unit g to generate ext k (v * ).

なお、上記の実施形態では、マッチングシステムの各部間でデータは直接送受信されていたが、データは図示されていない記憶部を介してやり取りされてもよい。   In the above embodiment, data is directly transmitted and received between the respective units of the matching system. However, the data may be exchanged via a storage unit (not shown).

第i結合装置i(i=1,2,…,n)をコンピュータによって実現する場合、第i結合装置iの各部の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、第i結合装置iの各部の処理機能がコンピュータ上で実現される。   When the i-th coupling device i (i = 1, 2,..., N) is realized by a computer, the processing content of each part of the i-th coupling device i is described by a program. Then, by executing this program on a computer, the processing functions of each part of the i-th coupling device i are realized on the computer.

これらのプログラムのそれぞれは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。   Each of these programs can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.

この発明は上記の実施形態及び変形例に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。   The present invention is not limited to the above embodiments and modifications. For example, the various processes described above are not only executed in time series according to the description, but may also be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes.

また、上記の実施形態及び変形例を互いに組み合わせてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。   Moreover, you may combine said embodiment and a modification. Needless to say, other modifications are possible without departing from the spirit of the present invention.

Claims (6)

nを2以上の整数、kを1以上n以下の整数として、
i=1,…,k−1,k+1,…,nとし、第iテーブルの予め定められたキーカラムVのデータをvとし、tを所定の数として、f(x)=tΠv∈Vi(x−v)=Σj=0 Ji−1i,jで定義される多項式f(x)の各係数ai,jを準同型性を持つ暗号関数Eで暗号化したE(ai,j)を計算する第i結合装置と、
を整数の乱数とし、第kテーブルの予め定められたキーカラムVのデータvを含むタプルの全部又は一部のデータをext(v)として、キーカラムVの各データvについて、上記E(ai,j)を用いて、c=E(Σi∈{1,2,…,n}−{k}(v)r)=Σi∈{1,2,…,n}−{k}E(ai,j)vを計算し、d=E(ext(v))を計算し、上記cとdとの組(d,c)を生成する関数値計算部と、
上記複数の組(d,c)を再暗号化して置換πにより置換した複数の組(d’π,c’π)を生成する第一ミックスネット演算部と、
E’を準同型性を持つ暗号関数として、上記複数の組(d’π,c’π)のそれぞれについて、c’πの復号結果cπ=0である場合にはb=1とし、c’πの復号結果cπ=0でない場合にはb=0として、そのc’πの組(d’π,c’π)のd’ πとE’(b)πとの組(d’π,E’(b)π)を生成するフラグ付与部と、
上記複数の組(d’π,E’(b)π)を再暗号化して上記置換πの逆置換により置換した複数の組(d’’,E’’(b))(j=1,2,…,J)を生成する第二ミックスネット演算部と、
上記複数の組(d’’,E’’(b))のそれぞれについて、E’’(b)を用いて、順序e’’=E’’(Σk=1 )=Σk=1 E’’(b)を計算して、計算された順序e’’を組(d’’,E’’(b))に追加した組(d’’,E’’(b),e’’)を生成する順序付与部と、
上記複数の組(d’’,E’’(b),e’’)を再暗号化して置換πにより置換した複数の組(dπ*(j)’’’,E’’’(bπ*(j)),eπ*(j)’’’)を生成する第三ミックスネット演算部と、
E’’’(bπ*(j))を復号したbπ*(j)=1となる組(dπ*(j)’’’,E’’’(bπ*(j)),eπ*(j)’’’)のeπ*(j)’’’を復号して順序eπ*(j)を生成する順序復号部と、
上記順序eπ*(j)で組(dπ*(j)’’’,E’’’(bπ*(j)),eπ*(j)’’’)のdπ*(j)’’’を出力する並替部と、
を含むマッチングシステム。
n is an integer of 2 or more, k is an integer of 1 to n,
where i = 1,..., k-1, k + 1,..., n, v is the data of a predetermined key column V i in the i-th table, t is a predetermined number, and f i (x) = tΠvε vi (x-v) = Σ j = 0 Ji-1 a i, j x each coefficient of j defined in the polynomial f i (x) a i, is encrypted with an encryption function E with homomorphism the j An i-th coupling device for calculating E (a i, j );
For each data v of the key column V k , where r i is an integer random number and all or part of the tuple including the data v of the predetermined key column V k in the k-th table is ext k (v) Using E (a i, j ), c = E (Σ iε {1, 2,..., N} − {k} f i (v) r i ) = Σ iε {1, 2,. n}-{k} E (a i, j ) v j r i is calculated, d = E (ext k (v)) is calculated, and the pair (d, c) of c and d is generated. A function value calculator,
A first mixnet operation unit that re-encrypts the plurality of sets (d, c) and generates a plurality of sets (d ′ π , c ′ π ) that are replaced by a replacement π;
Assuming that E ′ is an encryption function having homomorphism, for each of the plurality of sets (d ′ π , c ′ π ), if c ′ π decryption result c π = 0, then b = 1, c 'as b = 0 and when not, the decoded result c [pi = 0 for [pi, the c' set of π (d 'π, c' π) of d '[pi and E' (b) a set of the [pi (d ' π , E ′ (b) π ), a flag assigning unit;
A plurality of sets (d j ″, E ″ (b j )) (j == reciphering the plurality of sets (d ′ π , E ′ (b) π )) 1, 2,..., J k )
For each of the plurality of sets (d j ″, E ″ (b j )), using E ″ (b j ), the order e j ″ = E ″ (Σ k = 1 j b k ) = Σ k = 1 j E '' ( the calculated b k), calculated in the order e j 'set the' (d j '', E '' (b j)) added pairs to (d j '', E '' (b j ), e j ″),
A plurality of sets (d π * (j) ′ ″, E ′ obtained by re-encrypting the plurality of sets (d j ″, E ″ (b j ), e j ″) and replacing them with a replacement π *. '' (B π * (j) ), e π * (j) '''),
E '''(b π * (j)) b π * decoding the (j) = 1 and comprising a set (d π * (j)' '', E '''(b π * (j)), an order decoding unit that decodes e π * (j) ′ ″ of e π * (j) ′ ″ ) to generate the order e π * (j) ;
D [pi * (j of the order e π * (j) a set (d π * (j) ' '',E''' (b π * (j)), e π * (j) ''') ) Sorting section that outputs''',
Including matching system.
nを3以上の整数、kを1以上n以下の整数として、
i=1,…,k−1,k+1,…,nとし、第iテーブルの予め定められたキーカラムVのデータをvとし、tを所定の数として、f(x)=tΠv∈Vi(x−v)=Σj=0 Ji−1i,jで定義される多項式f(x)の各係数ai,jを準同型性を持つ暗号関数Eで暗号化したE(ai,j)を計算する第i結合装置と、
を整数の乱数とし、第kテーブルの予め定められたキーカラムVのデータvを含むタプルの全部又は一部のデータをext(v)とし、||をビット結合とし、ext(v)に対応するビット列を検査符号t(v)として,キーカラムVの各データvについて、上記E(ai,j)を用いて、c=E((Σi∈{1,2,…,n}−{k}(v)r)+(ext(v)||t(v)))=(Σi∈{1,2,…,n}−{k}E(ai,j)v)+E((ext(v)||t(v)))を計算する関数値計算部と、
所定の順序で並んだ上記複数のcを置換πにより置換した複数のcπを生成する第一ミックスネット演算部と、
各上記cπの復号結果のビット列のうちt(v)に対応するビット列が上記t(v)と一致する場合にはそのcπの復号結果=ext(v)であり、一致しない場合にはそのcπの復号結果=ext(v)でないと判断する判定部と、
E’を準同型性を持つ暗号関数として、上記複数のcπのそれぞれについて、cπの復号結果=ext(v)であると判定された場合にはb=1とし、cπの復号結果=ext(v)でないと判定された場合にはb=0として、そのcπに対応するE’(b)πとdπ’=E(ext(v))の組(d’π,E’(b)π)を生成するフラグ付与部と、
上記複数の組(d’π,E’(b)π)を再暗号化して上記置換πの逆置換により置換した複数の組(d’’,E’’(b))(j=1,2,…,J)を生成する第二ミックスネット演算部と、
上記複数の組(d’’,E’’(b))のそれぞれについて、E’’(b)を用いて、順序e’’=E’’(Σk=1 )=Σk=1 E’’(b)を計算して、計算された順序e’’を組(d’’,E’’(b))に追加した組(d’’,E’’(b),e’’)を生成する順序付与部と、
上記複数の組(d’’,E’’(b),e’’)を再暗号化して置換πにより置換した複数の組(dπ*(j)’’’,E’’’(bπ*(j)),eπ*(j)’’’)を生成する第三ミックスネット演算部と、
E’’’(bπ*(j))を復号したbπ*(j)=1となる組(dπ*(j)’’’,E’’’(bπ*(j)),eπ*(j)’’’)のeπ*(j)’’’を復号して順序eπ*(j)を生成する順序復号部と、
上記順序eπ*(j)で組(dπ*(j)’’’,E’’’(bπ*(j)),eπ*(j)’’’)のdπ*(j)’’’を出力する並替部と、
を含むマッチングシステム。
n is an integer of 3 or more, k is an integer of 1 to n,
where i = 1,..., k-1, k + 1,..., n, v is the data of a predetermined key column V i in the i-th table, t is a predetermined number, and f i (x) = tΠvε vi (x-v) = Σ j = 0 Ji-1 a i, j x each coefficient of j defined in the polynomial f i (x) a i, is encrypted with an encryption function E with homomorphism the j An i-th coupling device for calculating E (a i, j );
r i is an integer random number, all or part of the tuple including data v of a predetermined key column V k in the k-th table is ext k (v), || is a bit combination, and ext k ( v) the bit string corresponding to the as check code t k (v), for each data v key column V k, using the above E (a i, j), c = E ((Σ i∈ {1,2, .., N} − {k} f i (v) r i ) + (ext k (v) || t k (v))) = (Σ i∈ {1, 2,..., N} − {k} E (a i, j ) v j r i ) + E ((ext k (v) || t k (v)));
A first mix net calculator for generating a plurality of c [pi substituted by replacing the plurality of c aligned in a predetermined order [pi,
If the bit string corresponding to t k (v) among the bit strings of the decoding results of c π matches the above t k (v), the decoding result of c π = ext k (v), which does not match In this case, the determination unit determines that the decoding result of c π is not ext k (v),
The E 'as a cryptographic function with homomorphism, for each of said plurality of c [pi, and the b = 1 when it is determined that the decoding result of the c [pi = a ext k (v), the decoding of the c [pi result = ext k (v) not equal as b = 0 If it is determined, E corresponding to the c π '(b) π and d π' = E (ext k (v)) of the set (d ' π , E ′ (b) π ), a flag assigning unit;
A plurality of sets (d j ″, E ″ (b j )) (j == reciphering the plurality of sets (d ′ π , E ′ (b) π )) 1, 2,..., J k )
For each of the plurality of sets (d j ″, E ″ (b j )), using E ″ (b j ), the order e j ″ = E ″ (Σ k = 1 j b k ) = Σ k = 1 j E '' ( the calculated b k), calculated in the order e j 'set the' (d j '', E '' (b j)) added pairs to (d j '', E '' (b j ), e j ″),
A plurality of sets (d π * (j) ′ ″, E ′ obtained by re-encrypting the plurality of sets (d j ″, E ″ (b j ), e j ″) and replacing them with a replacement π *. '' (B π * (j) ), e π * (j) '''),
E '''(b π * (j)) b π * decoding the (j) = 1 and comprising a set (d π * (j)' '', E '''(b π * (j)), an order decoding unit that decodes e π * (j) ′ ″ of e π * (j) ′ ″ ) to generate the order e π * (j) ;
D [pi * (j of the order e π * (j) a set (d π * (j) ' '',E''' (b π * (j)), e π * (j) ''') ) Sorting section that outputs''',
Including matching system.
nを2以上の整数、kを1以上n以下の整数として、
i=1,…,k−1,k+1,…,nとし、第iテーブルの予め定められたキーカラムVのデータをvとし、tを所定の数として、f(x)=tΠv∈Vi(x−v)=Σj=0 Ji−1i,jで定義される多項式f(x)の各係数ai,jを準同型性を持つ暗号関数Eで暗号化したE(ai,j)を計算する第i結合ステップと、
を整数の乱数とし、第kテーブルの予め定められたキーカラムVのデータvを含むタプルの全部又は一部のデータをext(v)として、キーカラムVの各データvについて、上記E(ai,j)を用いて、c=E(Σi∈{1,2,…,n}−{k}(v)r)=Σi∈{1,2,…,n}−{k}E(ai,j)vを計算し、d=E(ext(v))を計算し、上記cとdとの組(d,c)を生成する関数値計算ステップと、
上記複数の組(d,c)を再暗号化して置換πにより置換した複数の組(d’π,c’π)を生成する第一ミックスネット演算ステップと、
E’を準同型性を持つ暗号関数として、上記複数の組(d’π,c’π)のそれぞれについて、c’πの復号結果cπ=0である場合にはb=1とし、c’πの復号結果cπ=0でない場合にはb=0として、そのc’πの組(d’π,c’π)のd’ πとE’(b)πとの組(d’π,E’(b)π)を生成するフラグ付与ステップと、
上記複数の組(d’π,E’(b)π)を再暗号化して上記置換πの逆置換により置換した複数の組(d’’,E’’(b))(j=1,2,…,J)を生成する第二ミックスネット演算ステップと、
上記複数の組(d’’,E’’(b))のそれぞれについて、E’’(b)を用いて、順序e’’=E’’(Σk=1 )=Σk=1 E’’(b)を計算して、計算された順序e’’を組(d’’,E’’(b))に追加した組(d’’,E’’(b),e’’)を生成する順序付与ステップと、
上記複数の組(d’’,E’’(b),e’’)を再暗号化して置換πにより置換した複数の組(dπ*(j)’’’,E’’’(bπ*(j)),eπ*(j)’’’)を生成する第三ミックスネット演算ステップと、
E’’’(bπ*(j))を復号したbπ*(j)=1となる組(dπ*(j)’’’,E’’’(bπ*(j)),eπ*(j)’’’)のeπ*(j)’’’を復号して順序eπ*(j)を生成する順序復号ステップと、
上記順序eπ*(j)で組(dπ*(j)’’’,E’’’(bπ*(j)),eπ*(j)’’’)のdπ*(j)’’’を出力する並替ステップと、
を含むマッチングシステムの方法。
n is an integer of 2 or more, k is an integer of 1 to n,
where i = 1,..., k-1, k + 1,..., n, v is the data of a predetermined key column V i in the i-th table, t is a predetermined number, and f i (x) = tΠvε vi (x-v) = Σ j = 0 Ji-1 a i, j x each coefficient of j defined in the polynomial f i (x) a i, is encrypted with an encryption function E with homomorphism the j An i-th combining step for calculating E (a i, j );
For each data v of the key column V k , where r i is an integer random number and all or part of the tuple including the data v of the predetermined key column V k in the k-th table is ext k (v) Using E (a i, j ), c = E (Σ iε {1, 2,..., N} − {k} f i (v) r i ) = Σ iε {1, 2,. n}-{k} E (a i, j ) v j r i is calculated, d = E (ext k (v)) is calculated, and the pair (d, c) of c and d is generated. A function value calculation step;
A first mixnet operation step for re-encrypting the plurality of sets (d, c) and generating a plurality of sets (d ′ π , c ′ π ) replaced by a replacement π;
Assuming that E ′ is an encryption function having homomorphism, for each of the plurality of sets (d ′ π , c ′ π ), if c ′ π decryption result c π = 0, then b = 1, c 'as b = 0 and when not, the decoded result c [pi = 0 for [pi, the c' set of π (d 'π, c' π) of d '[pi and E' (b) a set of the [pi (d ' a flagging step for generating π , E ′ (b) π );
A plurality of sets (d j ″, E ″ (b j )) (j == reciphering the plurality of sets (d ′ π , E ′ (b) π )) 1, 2,..., J k )
For each of the plurality of sets (d j ″, E ″ (b j )), using E ″ (b j ), the order e j ″ = E ″ (Σ k = 1 j b k ) = Σ k = 1 j E '' ( the calculated b k), calculated in the order e j 'set the' (d j '', E '' (b j)) added pairs to (d j '', E '' (b j ), e j ″) to generate an ordering step;
A plurality of sets (d π * (j) ′ ″, E ′ obtained by re-encrypting the plurality of sets (d j ″, E ″ (b j ), e j ″) and replacing them with a replacement π *. '' (B π * (j) ), e π * (j) ''') to generate a third mixnet operation step;
E '''(b π * (j)) b π * decoding the (j) = 1 and comprising a set (d π * (j)' '', E '''(b π * (j)), an order decoding step of decoding e π * (j) '''of e π * (j) ''' ) to generate order e π * (j) ;
D [pi * (j of the order e π * (j) a set (d π * (j) ' '',E''' (b π * (j)), e π * (j) ''') ) A reordering step that outputs''',
Matching system method including:
nを3以上の整数、kを1以上n以下の整数として、
i=1,…,k−1,k+1,…,nとし、第iテーブルの予め定められたキーカラムVのデータをvとし、tを所定の数として、f(x)=tΠv∈Vi(x−v)=Σj=0 Ji−1i,jで定義される多項式f(x)の各係数ai,jを準同型性を持つ暗号関数Eで暗号化したE(ai,j)を計算する第i結合ステップと、
を整数の乱数とし、第kテーブルの予め定められたキーカラムVのデータvを含むタプルの全部又は一部のデータをext(v)とし、||をビット結合とし、ext(v)に対応するビット列を検査符号t(v)として,キーカラムVの各データvについて、上記E(ai,j)を用いて、c=E((Σi∈{1,2,…,n}−{k}(v)r)+(ext(v)||t(v)))=(Σi∈{1,2,…,n}−{k}E(ai,j)v)+E((ext(v)||t(v)))を計算する関数値計算ステップと、
所定の順序で並んだ上記複数のcを置換πにより置換した複数のcπを生成する第一ミックスネット演算ステップと、
各上記cπの復号結果のビット列のうちt(v)に対応するビット列が上記t(v)と一致する場合にはそのcπの復号結果=ext(v)であり、一致しない場合にはそのcπの復号結果=ext(v)でないと判断する判定ステップと、
E’を準同型性を持つ暗号関数として、上記複数のcπのそれぞれについて、cπの復号結果=ext(v)であると判定された場合にはb=1とし、cπの復号結果=ext(v)でないと判定された場合にはb=0として、そのcπに対応するE’(b)πとdπ’=E(ext(v))の組(d’π,E’(b)π)を生成するフラグ付与ステップと、
上記複数の組(d’π,E’(b)π)を再暗号化して上記置換πの逆置換により置換した複数の組(d’’,E’’(b))(j=1,2,…,J)を生成する第二ミックスネット演算ステップと、
上記複数の組(d’’,E’’(b))のそれぞれについて、E’’(b)を用いて、順序e’’=E’’(Σk=1 )=Σk=1 E’’(b)を計算して、計算された順序e’’を組(d’’,E’’(b))に追加した組(d’’,E’’(b),e’’)を生成する順序付与ステップと、
上記複数の組(d’’,E’’(b),e’’)を再暗号化して置換πにより置換した複数の組(dπ*(j)’’’,E’’’(bπ*(j)),eπ*(j)’’’)を生成する第三ミックスネット演算ステップと、
E’’’(bπ*(j))を復号したbπ*(j)=1となる組(dπ*(j)’’’,E’’’(bπ*(j)),eπ*(j)’’’)のeπ*(j)’’’を復号して順序eπ*(j)を生成する順序復号ステップと、
上記順序eπ*(j)で組(dπ*(j)’’’,E’’’(bπ*(j)),eπ*(j)’’’)のdπ*(j)’’’を出力する並替ステップと、
を含むマッチングシステムの方法。
n is an integer of 3 or more, k is an integer of 1 to n,
where i = 1,..., k-1, k + 1,..., n, v is the data of a predetermined key column V i in the i-th table, t is a predetermined number, and f i (x) = tΠvε vi (x-v) = Σ j = 0 Ji-1 a i, j x each coefficient of j defined in the polynomial f i (x) a i, is encrypted with an encryption function E with homomorphism the j An i-th combining step for calculating E (a i, j );
r i is an integer random number, all or part of the tuple including data v of a predetermined key column V k in the k-th table is ext k (v), || is a bit combination, and ext k ( v) the bit string corresponding to the as check code t k (v), for each data v key column V k, using the above E (a i, j), c = E ((Σ i∈ {1,2, .., N} − {k} f i (v) r i ) + (ext k (v) || t k (v))) = (Σ i∈ {1, 2,..., N} − {k} A function value calculating step for calculating E (a i, j ) v j r i ) + E ((ext k (v) || t k (v)));
A first mix net computation step of generating a plurality of c [pi substituted by substituted [pi a plurality of c aligned in a predetermined order,
If the bit string corresponding to t k (v) among the bit strings of the decoding results of c π matches the above t k (v), the decoding result of c π = ext k (v), which does not match A determination step for determining that the decoding result of c π = ext k (v) in the case;
The E 'as a cryptographic function with homomorphism, for each of said plurality of c [pi, and the b = 1 when it is determined that the decoding result of the c [pi = a ext k (v), the decoding of the c [pi result = ext k (v) not equal as b = 0 If it is determined, E corresponding to the c π '(b) π and d π' = E (ext k (v)) of the set (d ' a flagging step for generating π , E ′ (b) π );
A plurality of sets (d j ″, E ″ (b j )) (j == reciphering the plurality of sets (d ′ π , E ′ (b) π )) 1, 2,..., J k )
For each of the plurality of sets (d j ″, E ″ (b j )), using E ″ (b j ), the order e j ″ = E ″ (Σ k = 1 j b k ) = Σ k = 1 j E '' ( the calculated b k), calculated in the order e j 'set the' (d j '', E '' (b j)) added pairs to (d j '', E '' (b j ), e j ″) to generate an ordering step;
A plurality of sets (d π * (j) ′ ″, E ′ obtained by re-encrypting the plurality of sets (d j ″, E ″ (b j ), e j ″) and replacing them with a replacement π *. '' (B π * (j) ), e π * (j) ''') to generate a third mixnet operation step;
E '''(b π * (j)) b π * decoding the (j) = 1 and comprising a set (d π * (j)' '', E '''(b π * (j)), an order decoding step of decoding e π * (j) '''of e π * (j) ''' ) to generate order e π * (j) ;
D [pi * (j of the order e π * (j) a set (d π * (j) ' '',E''' (b π * (j)), e π * (j) ''') ) A reordering step that outputs''',
Matching system method including:
請求項1又は請求項2のマッチングシステムの第i結合装置である結合装置。   A coupling device which is the i-th coupling device of the matching system according to claim 1. 請求項5の結合装置の各部としてコンピュータを機能させるためのプログラム。   The program for functioning a computer as each part of the coupling device of Claim 5.
JP2011010549A 2011-01-21 2011-01-21 Matching system, matching system method Active JP5498406B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011010549A JP5498406B2 (en) 2011-01-21 2011-01-21 Matching system, matching system method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011010549A JP5498406B2 (en) 2011-01-21 2011-01-21 Matching system, matching system method

Publications (2)

Publication Number Publication Date
JP2012150379A true JP2012150379A (en) 2012-08-09
JP5498406B2 JP5498406B2 (en) 2014-05-21

Family

ID=46792660

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011010549A Active JP5498406B2 (en) 2011-01-21 2011-01-21 Matching system, matching system method

Country Status (1)

Country Link
JP (1) JP5498406B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9509493B2 (en) 2013-08-07 2016-11-29 Fujitsu Limited Information processing technique for secure pattern matching
US9568874B2 (en) 2014-03-31 2017-02-14 Brother Kogyo Kabushiki Kaisha Power supply system and image forming apparatus
WO2020036126A1 (en) * 2018-08-13 2020-02-20 日本電信電話株式会社 Secret combination system, method therefor, secret calculation device, and program
WO2020036127A1 (en) * 2018-08-13 2020-02-20 日本電信電話株式会社 Secret join information generation system, secret join system, methods therefor, secret calculation device, and program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09288658A (en) * 1996-04-19 1997-11-04 Nec Corp Summed-up result analysis system and summed-up result analysis method
JP2002237810A (en) * 2001-02-13 2002-08-23 Nec Corp Anonymous decoding system, anonymous decoding method, and program therefor
US20060245587A1 (en) * 2005-04-28 2006-11-02 Binyamin Pinkas System and method for private information matching

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09288658A (en) * 1996-04-19 1997-11-04 Nec Corp Summed-up result analysis system and summed-up result analysis method
JP2002237810A (en) * 2001-02-13 2002-08-23 Nec Corp Anonymous decoding system, anonymous decoding method, and program therefor
US20060245587A1 (en) * 2005-04-28 2006-11-02 Binyamin Pinkas System and method for private information matching

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG201000816008; 志村正法 他: '秘密分散データベースの構造演算を可能にするマルチパーティプロトコルを用いた関係代数演算 Relational A' 情報処理学会論文誌 第51巻 第9号, 20100915, p.1563-1578 *
JPN6013058815; 志村正法 他: '秘密分散データベースの構造演算を可能にするマルチパーティプロトコルを用いた関係代数演算 Relational A' 情報処理学会論文誌 第51巻 第9号, 20100915, p.1563-1578 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9509493B2 (en) 2013-08-07 2016-11-29 Fujitsu Limited Information processing technique for secure pattern matching
US9568874B2 (en) 2014-03-31 2017-02-14 Brother Kogyo Kabushiki Kaisha Power supply system and image forming apparatus
WO2020036126A1 (en) * 2018-08-13 2020-02-20 日本電信電話株式会社 Secret combination system, method therefor, secret calculation device, and program
WO2020036127A1 (en) * 2018-08-13 2020-02-20 日本電信電話株式会社 Secret join information generation system, secret join system, methods therefor, secret calculation device, and program
CN112602135A (en) * 2018-08-13 2021-04-02 日本电信电话株式会社 Secret linking system, secret linking method, secret computing device, and program
JPWO2020036127A1 (en) * 2018-08-13 2021-08-10 日本電信電話株式会社 Secret-coupling information generation system, secret-coupling system, these methods, secret computing device and program
JPWO2020036126A1 (en) * 2018-08-13 2021-08-10 日本電信電話株式会社 Secret coupling system, this method, secret calculator and program
US20210314145A1 (en) * 2018-08-13 2021-10-07 Nippon Telegraph And Telephone Corporation Secure joining system, method, secure computing apparatus and program
JP7067625B2 (en) 2018-08-13 2022-05-16 日本電信電話株式会社 Secret coupling system, this method, secret calculator and program
JP7067626B2 (en) 2018-08-13 2022-05-16 日本電信電話株式会社 Secret binding information generation system, secret binding system, these methods, secret computing device and program
US11888973B2 (en) * 2018-08-13 2024-01-30 Nippon Telegraph And Telephone Corporation Secure joining system, method, secure computing apparatus and program

Also Published As

Publication number Publication date
JP5498406B2 (en) 2014-05-21

Similar Documents

Publication Publication Date Title
US9830476B2 (en) System and method for cascading token generation and data de-identification
JP6009697B2 (en) Secret calculation method, secret calculation system, sort device, and program
Dong et al. Approximating private set union/intersection cardinality with logarithmic complexity
CA3007348A1 (en) Fast format-preserving encryption for variable length data
WO2019130528A1 (en) Conversion key generation device, ciphertext conversion device, secret information processing system, conversion key generation method, conversion key generation program, ciphertext conversion method, and ciphertext conversion program
Aloufi et al. Blindfolded evaluation of random forests with multi-key homomorphic encryption
US9893880B2 (en) Method for secure symbol comparison
JP2022533950A (en) Systems and methods for performing equality and less than operations on encrypted data containing quasigroup operations
JP5498406B2 (en) Matching system, matching system method
CN115688167A (en) Method, device and system for searching for confidential trace and storage medium
Akavia et al. Secure search on encrypted data via multi-ring sketch
Preston Applying Grover's Algorithm to Hash Functions: A Software Perspective
KR20230141845A (en) Threshold key exchange
WO2018061800A1 (en) Secret equi-join system, secret equi-join device, secret equi-join method, and program
CN114386070A (en) Multi-party safety intersection solving method and system
Lu et al. Multicenter privacy-preserving cox analysis based on homomorphic encryption
Wei et al. Efficient dynamic replicated data possession checking in distributed cloud storage systems
JP5480828B2 (en) Secret sort system, secret sort device, secret sort method, secret sort program
Deryabin et al. Secure verifiable secret short sharing scheme for multi-cloud storage
Huang Practical secure two-party computation
JP5689845B2 (en) Secret calculation device, secret calculation method, and program
Debnath et al. Provably secure fair mutual private set intersection cardinality utilizing bloom filter
JP6437416B2 (en) Name identification system, apparatus, method and program
JP6466812B2 (en) Name identification system, apparatus, method and program
WO2023281693A1 (en) Secure computing system, device, method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140214

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140307

R150 Certificate of patent or registration of utility model

Ref document number: 5498406

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150