JP7067626B2 - 秘密結合情報生成システム、秘密結合システム、これらの方法、秘密計算装置及びプログラム - Google Patents
秘密結合情報生成システム、秘密結合システム、これらの方法、秘密計算装置及びプログラム Download PDFInfo
- Publication number
- JP7067626B2 JP7067626B2 JP2020537441A JP2020537441A JP7067626B2 JP 7067626 B2 JP7067626 B2 JP 7067626B2 JP 2020537441 A JP2020537441 A JP 2020537441A JP 2020537441 A JP2020537441 A JP 2020537441A JP 7067626 B2 JP7067626 B2 JP 7067626B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- share
- substitution
- elements
- generate
- 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
- 238000000034 method Methods 0.000 title claims description 62
- 239000013598 vector Substances 0.000 claims description 853
- 238000006467 substitution reaction Methods 0.000 claims description 301
- 238000010168 coupling process Methods 0.000 claims description 66
- 238000005859 coupling reaction Methods 0.000 claims description 62
- 230000008878 coupling Effects 0.000 claims description 61
- 238000004364 calculation method Methods 0.000 claims description 47
- 238000000926 separation method Methods 0.000 claims description 16
- 238000001914 filtration Methods 0.000 claims description 8
- 239000000284 extract Substances 0.000 claims 2
- 238000012545 processing Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 239000002131 composite material Substances 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012351 Integrated analysis Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
- G06F7/24—Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
- G06F7/36—Combined merging and sorting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/724—Finite field arithmetic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- Algebra (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Complex Calculations (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
図1を参照して、実施形態の秘密結合システムの構成例を説明する。この秘密結合システム及び方法は、いわゆる内部結合を行うものである。すなわち、この秘密結合システムは、秘匿性を保ちつつ、第一テーブル及び第二テーブルに共通するレコードを結合する。
ベクトル結合部111,…,11Nに、ベクトルk0のシェア[k0]及びベクトルk1のシェア[k1]が入力される。
第一ベクトル生成部121,…,12Nは、m0個の0と、m1個の1とを結合したベクトルfのシェア[f]を生成する(ステップS2)。
第一置換計算部131,…,13Nに、シェア[k]が入力される。
〔参考文献1〕五十嵐大、濱田浩気、菊池亮、千田浩司、「超高速秘密計算ソートの設計と実装:秘密計算がスクリプト言語に並ぶ日」、CSS2017、2017
第一置換適用部141,…,14Nに、シェア[k]、シェア[σ]及びシェア[f]が入力される。
第二ベクトル生成部151,…,15Nに、シェア[σ(k)]が入力される。
第三ベクトル生成部161,…,16Nに、シェア[e]が入力される。
第二置換計算部171,…,17Nに、シェア[e']が入力される。
第二置換適用部181,…,18Nに、シェア[σ(f)]及びシェア[σ']が入力される。
第四ベクトル生成部191,…,19Nに、シェア[f']が入力される。
第五ベクトル生成部1101,…,110Nに、シェア[f']、シェア[s]及びシェア[s']が入力される。
第一逆置換適用部1111,…,111Nに、シェア[e']及びシェア[σ]が入力される。
第一ベクトル分離部1121,…,112Nに、シェア[e'']が入力される。
第二逆置換適用部1131,…,113Nに、シェア[σ'']、シェア[σ]及びシェア[σ']が入力される。
第二ベクトル分離部1141,…,114Nに、シェア[σ'''-1]が入力される。
第三置換適用部1151,…,115Nに、シェア[σ 0 -1 ]、シェア[σ1 -1]、置換π0のシェア[π0]及び置換π1のシェア[π1]が入力される。
第四置換適用部1161,…,116Nに、ベクトルk0のシェア[k0]、ベクトルv0のシェア[v0]、ベクトルk1のシェア[k1]及びベクトルv1のシェア[v1]が入力される。
第一結合テーブル生成部1171,…,117Nに、シェア[k0']、シェア[v0']、シェア[k1']及びシェア[v1']が入力される。
図6を参照して、実施形態の秘密結合システムの構成例を説明する。この秘密結合システム及び方法は、いわゆる左外部結合を行うものである。すなわち、この秘密結合システムは、秘匿性を保ちつつ、第一テーブル及び第二テーブルに共通するレコードと、第一テーブルのみに存在するレコードとを結合する。
フィルタリング部1181,…,118Nに、シェア[g1]、ベクトルk1のシェア[k1]及びベクトルv1のシェア[v1]が入力される。
第五置換適用部1191,…,119Nに、ベクトルk0のシェア[k0]、ベクトルv0のシェア[v0]、変形第二テーブルのキーのベクトルであるk1'のシェア[k1']、変形第二テーブルの属性値のベクトルであるv1'のシェア[v1']、置換π0のシェア[π0]、置換π1のシェア[π1]、シェア[π0(σ0 -1)]及びシェア[π1(σ1 -1)]が入力される。
第二結合テーブル生成部1201,…,120Nに、シェア[k0']、シェア[v0']、シェア[k 1 '']及びシェア[v1'']が入力される。
図7を参照して、実施形態の秘密結合システムの構成例を説明する。この秘密結合システム及び方法は、いわゆる完全外部結合を行うものである。言い換えれば、この秘密結合システムは、秘匿性を保ちつつ、第一テーブル及び第二テーブルに共通するレコードと、第一テーブルのみに存在するレコードと、第二テーブルのみに存在するレコードとを結合する。
第三結合テーブル生成部1211,…,121Nに、シェア[k0']、シェア[v0']、シェア[k1']及びシェア[v1']が入力される。
なお、上記説明した秘密結合システムの秘密計算装置1nの中のベクトル結合部11n、第一ベクトル生成部12n、第一置換計算部13n、第一置換適用部14n、第二ベクトル生成部15n、第三ベクトル生成部16n、第二置換計算部17n、第二置換適用部18n、第四ベクトル生成部19n、第五ベクトル生成部110n、第一逆置換適用部111n、第一ベクトル分離部112n、第二逆置換適用部113n 、第二ベクトル分離部114n、第三置換適用部115nの部分が、秘密結合情報生成システムである。
以上、この発明の実施の形態について説明したが、具体的な構成は、これらの実施の形態に限られるものではなく、この発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、この発明に含まれることはいうまでもない。
上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
Claims (11)
- 複数の秘密計算装置を含む秘密結合情報生成システムであって、
Fk,Fvは任意の環であり、αを任意のベクトル又は任意の置換として[α]はαが秘密分散されたシェアであり、m0,m1は1以上の整数であり、k0∈Fk m0は第一テーブルのキーのベクトルであり、v0∈Fv m0は上記第一テーブルの属性値のベクトルであり、k1∈Fk m1は第二テーブルのキーのベクトルであり、v1∈Fv m1は上記第二テーブルの属性値のベクトルであり、π0,π1はそれぞれ長さm0,m1の所定の置換であり、
上記複数の秘密計算装置は、
上記ベクトルk0のシェア[k0]及び上記ベクトルk1のシェア[k1]を用いて、上記ベクトルk0及び上記ベクトルk1を結合したベクトルk∈[Fk]m0+m1のシェア[k]を生成する複数のベクトル結合部と、
m0個の0と、m1個の1とを結合したベクトルfのシェア[f]を生成する複数の第一ベクトル生成部と、
上記シェア[k]を用いて、上記ベクトルkを安定ソートする置換σのシェア[σ]を生成する複数の第一置換計算部と、
上記シェア[k]、上記シェア[σ]及び上記シェア[f]を用いて、上記ベクトルkに上記置換σを適用したベクトルσ(k)のシェア[σ(k)]と、上記ベクトルfに上記置換σを適用したベクトルσ(f)のシェア[σ(f)]とを生成する複数の第一置換適用部と、
上記シェア[σ(k)]を用いて、上記ベクトルσ(k)のある要素とそのある要素の次の要素とが、同じ場合には1を、違う場合には0をそのある要素に対応する要素として持つベクトルeのシェア[e]を生成する複数の第二ベクトル生成部と、
上記シェア[e]を用いて、上記ベクトルeのある要素とそのある要素の前の要素の一方が1の場合には1を、そうでない場合には0をそのある要素に対応する要素として持つベクトルの各要素をビット反転させたベクトルe'のシェア[e']を生成する複数の第三ベクトル生成部と、
上記シェア[e']を用いて、上記ベクトルe'を安定ソートする置換σ'のシェア[σ']を生成する複数の第二置換計算部と、
上記シェア[σ(f)]及び上記シェア[σ']を用いて、上記ベクトルσ(f)に上記置換σ'を適用したベクトルf'=σ'(σ(f))のシェア[f']を生成する複数の第二置換適用部と、
上記シェア[f']を用いて、各要素が、上記ベクトルf'のその各要素に対応する要素を含むその各要素に対応する要素までの要素の和であるベクトルsのシェア[s]と、上記ベクトルf'の各要素をビット反転させたベクトルをビット反転ベクトルとして、各要素が、上記ビット反転ベクトルのその各要素に対応する要素を含むその各要素に対応する要素までの要素の和であるベクトルs'のシェア[s']とを生成する複数の第四ベクトル生成部と、
上記シェア[f']、上記シェア[s]及び上記シェア[s']を用いて、ベクトルσ''=f's+(1-f')s'-1のシェア[σ'']を計算する複数の第五ベクトル生成部と、
上記シェア[e']及び上記シェア[σ]を用いて、上記ベクトルe'に上記置換σの逆置換σ-1を適用したベクトルe''=σ-1(e')のシェア[e'']を生成する複数の第一逆置換適用部と、
上記シェア[e'']を用いて、上記ベクトルe''の先頭からm0個の要素からなるベクトルg0のシェア[g0]と、上記ベクトルe''の残りのm1個の要素からなるベクトルg1のシェア[g1]とを生成する複数の第一ベクトル分離部と、
上記シェア[σ'']、上記シェア[σ]及び上記シェア[σ']を用いて、上記ベクトルxに上記置換σ'の逆置換σ'-1及び上記置換σの逆置換σ-1を適用したベクトルσ'''-1=σ-1(σ'-1(σ''))のシェア[σ'''-1]を生成する複数の第二逆置換適用部と、
上記シェア[σ'''-1]を用いて、上記ベクトルσ'''-1の先頭からm0個の要素からなるベクトルσ0 -1のシェア[σ0 -1]と、上記ベクトルσ'''-1の残りのm1個の要素からなるベクトルσ1 -1のシェア[σ1 -1]とを生成する複数の第二ベクトル分離部と、
上記シェア[σ0 -1]、上記シェア[σ1 -1]及び上記置換π0のシェア[π0]及び上記置換π1のシェア[π1]を用いて、上記ベクトルσ0 -1に上記置換π0を適用したベクトルπ0(σ0 -1)のシェア[π0(σ0 -1)]と、上記ベクトルσ1 -1に上記置換π1を適用したベクトルπ1(σ1 -1)のシェア[π1(σ1 -1)]とを生成して、π0(σ0 -1)及びπ1(σ1 -1)を公開する複数の第三置換適用部と、
を含む秘密結合情報生成システム。 - 請求項1の秘密結合情報生成システムの複数の秘密計算装置を含み、
上記複数の秘密計算装置は、
上記ベクトルk0のシェア[k0]、上記ベクトルv0のシェア[v0]、上記ベクトルk1のシェア[k1]及び上記ベクトルv1のシェア[v1]を用いて、ベクトルk0'=(π0(σ0 -1))-1(π0(k0))のシェア[k0']と、ベクトルv0'=(π0(σ0 -1))-1(π0(v0))のシェア[v0']と、ベクトルk1'=(π1(σ1 -1))-1(π1(k1'))のシェア[k1']と、ベクトルv1'=(π1(σ1 -1))-1(π1(v1'))のシェア[v1']とを計算する複数の第四置換適用部と、
上記シェア[k0']、上記シェア[v0']、上記シェア[k1']及び上記シェア[v1']を用いて、上記ベクトルg0又は上記ベクトルg1の0の要素の数をcとして、上記ベクトルk0'の先頭からc個の要素を抜き出したベクトルと、上記ベクトルv0'の先頭からc個の要素を抜き出したベクトルと、上記ベクトルk1'の先頭からc個の要素を抜き出したベクトルと、上記ベクトルv1'の先頭からc個の要素を抜き出したベクトルとを結合した結合テーブルを生成する複数の第一結合テーブル生成部と、
を更に含む秘密結合システム。 - 複数の秘密計算装置を含む秘密結合システムであって、
Fk,Fvは任意の環であり、αを任意のベクトル又は任意の置換として[α]はαが秘密分散されたシェアであり、m0,m1は1以上の整数であり、k0∈Fk m0は第一テーブルのキーのベクトルであり、v0∈Fv m0は上記第一テーブルの属性値のベクトルであり、k1∈Fk m1は第二テーブルのキーのベクトルであり、v1∈Fv m1は上記第二テーブルの属性値のベクトルであり、π0,π1はそれぞれ長さm0,m1の所定の置換であり、
上記複数の秘密計算装置は、
上記ベクトルk0のシェア[k0]、上記ベクトルk1のシェア[k1]、上記置換π0のシェア[π0]及び上記置換π1のシェア[π1]を用いて、上記第一テーブルの各ベクトルを置換σ0で置換すると上記第一テーブルと上記第二テーブルに共通するキーのレコードが先頭側に移動する置換σ0の逆置換σ0 -1に上記置換π0を適用したベクトルπ0(σ0 -1)のシェア[π0(σ0 -1)]と、上記第二テーブルの各ベクトルを置換σ1で置換すると上記第一テーブルと上記第二テーブルに共通するキーのレコードが先頭側に移動する置換σ1の逆置換σ1 -1に上記置換π1を適用したベクトルπ1(σ1 -1)のシェア[π1(σ1 -1)]と、上記第一テーブルのi番目のレコードが、上記第一テーブルと上記第二テーブルに共通するキーのレコードかどうかを表す値g0,iから構成されるベクトルg0のシェア[g0]と、上記第二テーブルのi番目のレコードが、上記第一テーブルと上記第二テーブルに共通するキーのレコードかどうかを表す値g1,iから構成されるベクトルg1のシェア[g1]と、を生成する複数の秘密結合情報生成部と、
上記シェア[g1]、上記ベクトルk1のシェア[k1]及び上記ベクトルv1のシェア[v1]を用いて、上記ベクトルg1のi番目の要素をg1,iとして、g1,i=1である場合には、上記第二テーブルのキーのi番目の要素を予め定めた空を示す値u1,kとし、上記第二テーブルの属性のi番目の要素を予め定めた空を示す値u1,vとした変形第二テーブルを生成する複数のフィルタリング部と、
上記ベクトルk0のシェア[k0]、上記ベクトルv0のシェア[v0]、上記変形第二テーブルのキーのベクトルであるk1'のシェア[k1']、上記変形第二テーブルの属性値のベクトルであるv1'のシェア[v1']、上記置換π0のシェア[π0]、上記置換π1のシェア[π1]、上記シェア[π0(σ0 -1)]及び上記シェア[π1(σ1 -1)]を用いて、ベクトルk0'=(π0(σ0 -1))-1(π0(k0))のシェア[k0']と、ベクトルv0'=(π0(σ0 -1))-1(π0(v0))のシェア[v0']と、ベクトルk1''=(π1(σ1 -1))-1(π1(k1'))のシェア[k1'']と、ベクトルv1''=(π1(σ1 -1))-1(π1(v1'))のシェア[v1'']とを計算する複数の第五置換適用部と、
上記シェア[k0']、上記シェア[v0']、上記シェア[k1'']及び上記シェア[v1'']を用いて、m0<m1である場合には、上記ベクトルk0'と、上記ベクトルv0'と、上記ベクトルk1''の先頭からm0個の要素を抜き出したベクトルと、上記ベクトルv1''の先頭からm0個の要素を抜き出したベクトルとを結合した結合テーブルを、m0>m1である場合には、上記ベクトルk0'と、上記ベクトルv0'と、上記ベクトルk1''にm0-m1個の予め定めた空を示す値ukの要素を追加したベクトルと、上記ベクトルv1''にm0-m1個の予め定めた空を示す値uvの要素を追加したベクトルとを結合した結合テーブルを生成する複数の第二結合テーブル生成部と、
を含む秘密結合システム。 - 複数の秘密計算装置を含む秘密結合システムであって、
Fk,Fvは任意の環であり、αを任意のベクトル又は任意の置換として[α]はαが秘密分散されたシェアであり、m0,m1は1以上の整数であり、k0∈Fk m0は第一テーブルのキーのベクトルであり、v0∈Fv m0は上記第一テーブルの属性値のベクトルであり、k1∈Fk m1は第二テーブルのキーのベクトルであり、v1∈Fv m1は上記第二テーブルの属性値のベクトルであり、π0,π1はそれぞれ長さm0,m1の所定の置換であり、
上記複数の秘密計算装置は、
上記ベクトルk0のシェア[k0]、上記ベクトルk1のシェア[k1]、上記置換π0のシェア[π0]及び上記置換π1のシェア[π1]を用いて、上記第一テーブルの各ベクトルを置換σ0で置換すると上記第一テーブルと上記第二テーブルに共通するキーのレコードが先頭側に移動する置換σ0の逆置換σ0 -1に上記置換π0を適用したベクトルπ0(σ0 -1)のシェア[π0(σ0 -1)]と、上記第二テーブルの各ベクトルを置換σ1で置換すると上記第一テーブルと上記第二テーブルに共通するキーのレコードが先頭側に移動する置換σ1の逆置換σ1 -1に上記置換π1を適用したベクトルπ1(σ1 -1)のシェア[π1(σ1 -1)]と、上記第一テーブルのi番目のレコードが、上記第一テーブルと上記第二テーブルに共通するキーのレコードかどうかを表す値g0,iから構成されるベクトルg0のシェア[g0]と、上記第二テーブルのi番目のレコードが、上記第一テーブルと上記第二テーブルに共通するキーのレコードかどうかを表す値g1,iから構成されるベクトルg1のシェア[g1]と、を生成する複数の秘密結合情報生成部と、
上記ベクトルk0のシェア[k0]、上記ベクトルv0のシェア[v0]、上記ベクトルk1のシェア[k1]及び上記ベクトルv1のシェア[v1]を用いて、ベクトルk0'=(π0(σ0 -1))-1(π0(k0))のシェア[k0']と、ベクトルv0'=(π0(σ0 -1))-1(π0(v0))のシェア[v0']と、ベクトルk1'=(π1(σ1 -1))-1(π1(k1'))のシェア[k1']と、ベクトルv1'=(π1(σ1 -1))-1(π1(v1'))のシェア[v1']とを計算する複数の第四置換適用部と、
上記シェア[k0']、上記シェア[v0']、上記シェア[k1']及び上記シェア[v1']を用いて、上記ベクトルg0又は上記ベクトルg1の0の要素の数をcとして、上記ベクトルk0'の先頭からc個の要素を抜き出したベクトルと、上記ベクトルv0'の先頭からc個の要素を抜き出したベクトルと、上記ベクトルk1'の先頭からc個の要素を抜き出したベクトルと、上記ベクトルv1'の先頭からc個の要素を抜き出したベクトルとを結合したテーブル(1)と、上記ベクトルk0'の残りm0-c個の要素を抜き出したベクトルと上記ベクトルv0'の残りm0-c個の要素を抜き出したベクトルと上記第二テーブルの属性値に対応する値を予め定めた空を示す値u'1,vとしたベクトルとを結合したテーブル(2)と、上記ベクトルv0'の残りm0-c個の要素を抜き出したベクトルと上記ベクトルv1'の残りm1-c個の要素を抜き出したベクトルと上記第一テーブルの属性値に対応する値を予め定めた空を示す値u'0,vとしたベクトルとを結合したテーブル(3)とを結合した結合テーブルを生成する複数の第三結合テーブル生成部と、
を含む秘密結合システム。 - 請求項3又は4の秘密結合システムであって、
上記複数の秘密計算装置は、
上記ベクトルk0のシェア[k0]及び上記ベクトルk1のシェア[k1]を用いて、上記ベクトルk0及び上記ベクトルk1を結合したベクトルk∈[Fk]m0+m1のシェア[k]を生成する複数のベクトル結合部と、
m0個の0と、m1個の1とを結合したベクトルfのシェア[f]を生成する複数の第一ベクトル生成部と、
上記シェア[k]を用いて、上記ベクトルkを安定ソートする置換σのシェア[σ]を生成する複数の第一置換計算部と、
上記シェア[k]、上記シェア[σ]及び上記シェア[f]を用いて、上記ベクトルkに上記置換σを適用したベクトルσ(k)のシェア[σ(k)]と、上記ベクトルfに上記置換σを適用したベクトルσ(f)のシェア[σ(f)]とを生成する複数の第一置換適用部と、
上記シェア[σ(k)]を用いて、上記ベクトルσ(k)のある要素とそのある要素の次の要素とが、同じ場合には1を、違う場合には0をそのある要素に対応する要素として持つベクトルeのシェア[e]を生成する複数の第二ベクトル生成部と、
上記シェア[e]を用いて、上記ベクトルeのある要素とそのある要素の前の要素の一方が1の場合には1を、そうでない場合には0をそのある要素に対応する要素として持つベクトルの各要素をビット反転させたベクトルe'のシェア[e']を生成する複数の第三ベクトル生成部と、
上記シェア[e']を用いて、上記ベクトルe'を安定ソートする置換σ'のシェア[σ']を生成する複数の第二置換計算部と、
上記シェア[σ(f)]及び上記シェア[σ']を用いて、上記ベクトルσ(f)に上記置換σ'を適用したベクトルf'=σ'(σ(f))のシェア[f']を生成する複数の第二置換適用部と、
上記シェア[f']を用いて、各要素が、上記ベクトルf'のその各要素に対応する要素を含むその各要素に対応する要素までの要素の和であるベクトルsのシェア[s]と、上記ベクトルf'の各要素をビット反転させたベクトルをビット反転ベクトルとして、各要素が、上記ビット反転ベクトルのその各要素に対応する要素を含むその各要素に対応する要素までの要素の和であるベクトルs'のシェア[s']とを生成する複数の第四ベクトル生成部と、
上記シェア[f']、上記シェア[s]及び上記シェア[s']を用いて、ベクトルσ''=f's+(1-f')s'-1のシェア[σ'']を計算する複数の第五ベクトル生成部と、
上記シェア[e']及び上記シェア[σ]を用いて、上記ベクトルe'に上記置換σの逆置換σ-1を適用したベクトルe''=σ-1(e')のシェア[e'']を生成する複数の第一逆置換適用部と、
上記シェア[e'']を用いて、上記ベクトルe''の先頭からm0個の要素からなるベクトルg0のシェア[g0]と、上記ベクトルe''の残りのm1個の要素からなるベクトルg1のシェア[g1]とを生成する複数の第一ベクトル分離部と、
上記シェア[σ'']、上記シェア[σ]及び上記シェア[σ']を用いて、上記ベクトルxに上記置換σ'の逆置換σ'-1及び上記置換σの逆置換σ-1を適用したベクトルσ'''-1=σ-1(σ'-1(σ''))のシェア[σ'''-1]を生成する複数の第二逆置換適用部と、
上記シェア[σ'''-1]を用いて、上記ベクトルσ'''-1の先頭からm0個の要素からなるベクトルσ0 -1のシェア[σ0 -1]と、上記ベクトルσ'''-1の残りのm1個の要素からなるベクトルσ1 -1のシェア[σ1 -1]とを生成する複数の第二ベクトル分離部と、
上記シェア[σ0 -1]、上記シェア[σ1 -1]及び上記置換π0のシェア[π0]及び上記置換π1のシェア[π1]を用いて、上記ベクトルσ0 -1に上記置換π0を適用したベクトルπ0(σ0 -1)のシェア[π0(σ0 -1)]と、上記ベクトルσ1 -1に上記置換π1を適用したベクトルπ1(σ1 -1)のシェア[π1(σ1 -1)]とを生成して、π0(σ0 -1)及びπ1(σ1 -1)を公開する複数の第三置換適用部と、
を更に含む秘密結合システム。 - F k, F v は任意の環であり、αを任意のベクトル又は任意の置換として[α]はαが秘密分散されたシェアであり、m 0 ,m 1 は1以上の整数であり、k 0 ∈F k m0 は第一テーブルのキーのベクトルであり、v 0 ∈F v m0 は上記第一テーブルの属性値のベクトルであり、k 1 ∈F k m1 は第二テーブルのキーのベクトルであり、v 1 ∈F v m1 は上記第二テーブルの属性値のベクトルであり、π 0 ,π 1 はそれぞれ長さm 0 ,m 1 の所定の置換であり、
上記ベクトルk 0 のシェア[k 0 ]及び上記ベクトルk 1 のシェア[k 1 ]を用いて、上記ベクトルk 0 及び上記ベクトルk 1 を結合したベクトルk∈[F k ] m0+m1 のシェア[k]を生成する複数のベクトル結合部と、
m 0 個の0と、m 1 個の1とを結合したベクトルfのシェア[f]を生成する複数の第一ベクトル生成部と、
上記シェア[k]を用いて、上記ベクトルkを安定ソートする置換σのシェア[σ]を生成する複数の第一置換計算部と、
上記シェア[k]、上記シェア[σ]及び上記シェア[f]を用いて、上記ベクトルkに上記置換σを適用したベクトルσ(k)のシェア[σ(k)]と、上記ベクトルfに上記置換σを適用したベクトルσ(f)のシェア[σ(f)]とを生成する複数の第一置換適用部と、
上記シェア[σ(k)]を用いて、上記ベクトルσ(k)のある要素とそのある要素の次の要素とが、同じ場合には1を、違う場合には0をそのある要素に対応する要素として持つベクトルeのシェア[e]を生成する複数の第二ベクトル生成部と、
上記シェア[e]を用いて、上記ベクトルeのある要素とそのある要素の前の要素の一方が1の場合には1を、そうでない場合には0をそのある要素に対応する要素として持つベクトルの各要素をビット反転させたベクトルe'のシェア[e']を生成する複数の第三ベクトル生成部と、
上記シェア[e']を用いて、上記ベクトルe'を安定ソートする置換σ'のシェア[σ']を生成する複数の第二置換計算部と、
上記シェア[σ(f)]及び上記シェア[σ']を用いて、上記ベクトルσ(f)に上記置換σ'を適用したベクトルf'=σ'(σ(f))のシェア[f']を生成する複数の第二置換適用部と、
上記シェア[f']を用いて、各要素が、上記ベクトルf'のその各要素に対応する要素を含むその各要素に対応する要素までの要素の和であるベクトルsのシェア[s]と、上記ベクトルf'の各要素をビット反転させたベクトルをビット反転ベクトルとして、各要素が、上記ビット反転ベクトルのその各要素に対応する要素を含むその各要素に対応する要素までの要素の和であるベクトルs'のシェア[s']とを生成する複数の第四ベクトル生成部と、
上記シェア[f']、上記シェア[s]及び上記シェア[s']を用いて、ベクトルσ''=f's+(1-f')s'-1のシェア[σ'']を計算する複数の第五ベクトル生成部と、
上記シェア[e']及び上記シェア[σ]を用いて、上記ベクトルe'に上記置換σの逆置換σ -1 を適用したベクトルe''=σ -1 (e')のシェア[e'']を生成する複数の第一逆置換適用部と、
上記シェア[e'']を用いて、上記ベクトルe''の先頭からm 0 個の要素からなるベクトルg 0 のシェア[g 0 ]と、上記ベクトルe''の残りのm 1 個の要素からなるベクトルg 1 のシェア[g 1 ]とを生成する複数の第一ベクトル分離部と、
上記シェア[σ'']、上記シェア[σ]及び上記シェア[σ']を用いて、上記ベクトルxに上記置換σ'の逆置換σ' -1 及び上記置換σの逆置換σ -1 を適用したベクトルσ''' -1 =σ -1 (σ' -1 (σ''))のシェア[σ''' -1 ]を生成する複数の第二逆置換適用部と、
上記シェア[σ''' -1 ]を用いて、上記ベクトルσ''' -1 の先頭からm 0 個の要素からなるベクトルσ 0 -1 のシェア[σ 0 -1 ]と、上記ベクトルσ''' -1 の残りのm 1 個の要素からなるベクトルσ 1 -1 のシェア[σ 1 -1 ]とを生成する複数の第二ベクトル分離部と、
上記シェア[σ 0 -1 ]、上記シェア[σ 1 -1 ]及び上記置換π 0 のシェア[π 0 ]及び上記置換π 1 のシェア[π 1 ]を用いて、上記ベクトルσ 0 -1 に上記置換π 0 を適用したベクトルπ 0 (σ 0 -1 )のシェア[π 0 (σ 0 -1 )]と、上記ベクトルσ 1 -1 に上記置換π 1 を適用したベクトルπ 1 (σ 1 -1 )のシェア[π 1 (σ 1 -1 )]とを生成して、π 0 (σ 0 -1 )及びπ 1 (σ 1 -1 )を公開する複数の第三置換適用部と、
をそれぞれ含む複数の秘密計算装置の何れかである秘密計算装置。 - Fk,Fvは任意の環であり、αを任意のベクトル又は任意の置換として[α]はαが秘密分散されたシェアであり、m0,m1は1以上の整数であり、k0∈Fk m0は第一テーブルのキーのベクトルであり、v0∈Fv m0は上記第一テーブルの属性値のベクトルであり、k1∈Fk m1は第二テーブルのキーのベクトルであり、v1∈Fv m1は上記第二テーブルの属性値のベクトルであり、π0,π1はそれぞれ長さm0,m1の所定の置換であり、
複数のベクトル結合部が、上記ベクトルk0のシェア[k0]及び上記ベクトルk1のシェア[k1]を用いて、上記ベクトルk0及び上記ベクトルk1を結合したベクトルk∈[Fk]m0+m1のシェア[k]を生成するベクトル結合ステップと、
複数の第一ベクトル生成部が、m0個の0と、m1個の1とを結合したベクトルfのシェア[f]を生成する第一ベクトル生成ステップと、
複数の第一置換計算部が、上記シェア[k]を用いて、上記ベクトルkを安定ソートする置換σのシェア[σ]を生成する第一置換計算ステップと、
複数の第一置換適用部が、上記シェア[k]、上記シェア[σ]及び上記シェア[f]を用いて、上記ベクトルkに上記置換σを適用したベクトルσ(k)のシェア[σ(k)]と、上記ベクトルfに上記置換σを適用したベクトルσ(f)のシェア[σ(f)]とを生成する第一置換適用ステップと、
複数の第二ベクトル生成部が、上記シェア[σ(k)]を用いて、上記ベクトルσ(k)のある要素とそのある要素の次の要素とが、同じ場合には1を、違う場合には0をそのある要素に対応する要素として持つベクトルeのシェア[e]を生成する第二ベクトル生成ステップと、
複数の第三ベクトル生成部が、上記シェア[e]を用いて、上記ベクトルeのある要素とそのある要素の前の要素の一方が1の場合には1を、そうでない場合には0をそのある要素に対応する要素として持つベクトルの各要素をビット反転させたベクトルe'のシェア[e']を生成する第三ベクトル生成ステップと、
複数の第二置換計算部が、上記シェア[e']を用いて、上記ベクトルe'を安定ソートする置換σ'のシェア[σ']を生成する第二置換計算ステップと、
複数の第二置換適用部が、上記シェア[σ(f)]及び上記シェア[σ']を用いて、上記ベクトルσ(f)に上記置換σ'を適用したベクトルf'=σ'(σ(f))のシェア[f']を生成する第二置換適用ステップと、
複数の第四ベクトル生成部が、上記シェア[f']を用いて、各要素が、上記ベクトルf'のその各要素に対応する要素を含むその各要素に対応する要素までの要素の和であるベクトルsのシェア[s]と、上記ベクトルf'の各要素をビット反転させたベクトルをビット反転ベクトルとして、各要素が、上記ビット反転ベクトルのその各要素に対応する要素を含むその各要素に対応する要素までの要素の和であるベクトルs'のシェア[s']とを生成する第四ベクトル生成ステップと、
複数の第五ベクトル生成部が、上記シェア[f']、上記シェア[s]及び上記シェア[s']を用いて、ベクトルσ''=f's+(1-f')s'-1のシェア[σ'']を計算する第五ベクトル生成ステップと、
複数の第一逆置換適用部が、上記シェア[e']及び上記シェア[σ]を用いて、上記ベクトルe'に上記置換σの逆置換σ-1を適用したベクトルe''=σ-1(e')のシェア[e'']を生成する第一逆置換適用ステップと、
複数の第一ベクトル分離部が、上記シェア[e'']を用いて、上記ベクトルe''の先頭からm0個の要素からなるベクトルg0のシェア[g0]と、上記ベクトルe''の残りのm1個の要素からなるベクトルg1のシェア[g1]とを生成する第一ベクトル分離ステップと、
複数の第二逆置換適用部が、上記シェア[σ'']、上記シェア[σ]及び上記シェア[σ']を用いて、上記ベクトルxに上記置換σ'の逆置換σ'-1及び上記置換σの逆置換σ-1を適用したベクトルσ'''-1=σ-1(σ'-1(σ''))のシェア[σ'''-1]を生成する第二逆置換適用ステップと、
複数の第二ベクトル分離部が、上記シェア[σ'''-1]を用いて、上記ベクトルσ'''-1の先頭からm0個の要素からなるベクトルσ0 -1のシェア[σ0 -1]と、上記ベクトルσ'''-1の残りのm1個の要素からなるベクトルσ1 -1のシェア[σ1 -1]とを生成する第二ベクトル分離ステップと、
複数の第三置換適用部が、上記シェア[σ0 -1]、上記シェア[σ1 -1]及び上記置換π0のシェア[π0]及び上記置換π1のシェア[π1]を用いて、上記ベクトルσ0 -1に上記置換π0を適用したベクトルπ0(σ0 -1)のシェア[π0(σ0 -1)]と、上記ベクトルσ1 -1に上記置換π1を適用したベクトルπ1(σ1 -1)のシェア[π1(σ1 -1)]とを生成して、π0(σ0 -1)及びπ1(σ1 -1)を公開する第三置換適用ステップと、
を含む秘密結合情報生成方法。 - 請求項7の秘密結合情報生成システムの各ステップと、
複数の第四置換適用部が、上記ベクトルk0のシェア[k0]、上記ベクトルv0のシェア[v0]、上記ベクトルk1のシェア[k1]及び上記ベクトルv1のシェア[v1]を用いて、ベクトルk0'=(π0(σ0 -1))-1(π0(k0))のシェア[k0']と、ベクトルv0'=(π0(σ0 -1))-1(π0(v0))のシェア[v0']と、ベクトルk1'=(π1(σ1 -1))-1(π1(k1'))のシェア[k1']と、ベクトルv1'=(π1(σ1 -1))-1(π1(v1'))のシェア[v1']とを計算する第四置換適用ステップと、
複数の第一結合テーブル生成部が、上記シェア[k0']、上記シェア[v0']、上記シェア[k1']及び上記シェア[v1']を用いて、上記ベクトルg0又は上記ベクトルg1の0の要素の数をcとして、上記ベクトルk0'の先頭からc個の要素を抜き出したベクトルと、上記ベクトルv0'の先頭からc個の要素を抜き出したベクトルと、上記ベクトルk1'の先頭からc個の要素を抜き出したベクトルと、上記ベクトルv1'の先頭からc個の要素を抜き出したベクトルとを結合した結合テーブルを生成する第一結合テーブル生成ステップと、
を含む秘密結合方法。 - Fk,Fvは任意の環であり、αを任意のベクトル又は任意の置換として[α]はαが秘密分散されたシェアであり、m0,m1は1以上の整数であり、k0∈Fk m0は第一テーブルのキーのベクトルであり、v0∈Fv m0は上記第一テーブルの属性値のベクトルであり、k1∈Fk m1は第二テーブルのキーのベクトルであり、v1∈Fv m1は上記第二テーブルの属性値のベクトルであり、π0,π1はそれぞれ長さm0,m1の所定の置換であり、
複数の秘密結合情報生成部が、上記ベクトルk0のシェア[k0]、上記ベクトルk1のシェア[k1]、上記置換π0のシェア[π0]及び上記置換π1のシェア[π1]を用いて、上記第一テーブルの各ベクトルを置換σ0で置換すると上記第一テーブルと上記第二テーブルに共通するキーのレコードが先頭側に移動する置換σ0の逆置換σ0 -1に上記置換π0を適用したベクトルπ0(σ0 -1)のシェア[π0(σ0 -1)]と、上記第二テーブルの各ベクトルを置換σ1で置換すると上記第一テーブルと上記第二テーブルに共通するキーのレコードが先頭側に移動する置換σ1の逆置換σ1 -1に上記置換π1を適用したベクトルπ1(σ1 -1)のシェア[π1(σ1 -1)]と、上記第一テーブルのi番目のレコードが、上記第一テーブルと上記第二テーブルに共通するキーのレコードかどうかを表す値g0,iから構成されるベクトルg0のシェア[g0]と、上記第二テーブルのi番目のレコードが、上記第一テーブルと上記第二テーブルに共通するキーのレコードかどうかを表す値g1,iから構成されるベクトルg1のシェア[g1]と、を生成する秘密結合情報生成ステップと、
複数のフィルタリング部が、上記シェア[g1]、上記ベクトルk1のシェア[k1]及び上記ベクトルv1のシェア[v1]を用いて、上記ベクトルg1のi番目の要素をg1,iとして、g1,i=1である場合には、上記第二テーブルのキーのi番目の要素を予め定めた空を示す値u1,kとし、上記第二テーブルの属性のi番目の要素を予め定めた空を示す値u1,vとした変形第二テーブルを生成するフィルタリングステップと、
複数の第五置換適用部が、上記ベクトルk0のシェア[k0]、上記ベクトルv0のシェア[v0]、上記変形第二テーブルのキーのベクトルであるk1'のシェア[k1']、上記変形第二テーブルの属性値のベクトルであるv1'のシェア[v1']、上記置換π0のシェア[π0]、上記置換π1のシェア[π1]、上記シェア[π0(σ0 -1)]及び上記シェア[π1(σ1 -1)]を用いて、ベクトルk0'=(π0(σ0 -1))-1(π0(k0))のシェア[k0']と、ベクトルv0'=(π0(σ0 -1))-1(π0(v0))のシェア[v0']と、ベクトルk1''=(π1(σ1 -1))-1(π1(k1'))のシェア[k1'']と、ベクトルv1''=(π1(σ1 -1))-1(π1(v1'))のシェア[v1'']とを計算する第五置換適用ステップと、
複数の第二結合テーブル生成部が、上記シェア[k0']、上記シェア[v0']、上記シェア[k1'']及び上記シェア[v1'']を用いて、m0<m1である場合には、上記ベクトルk0'と、上記ベクトルv0'と、上記ベクトルk1''の先頭からm0個の要素を抜き出したベクトルと、上記ベクトルv1''の先頭からm0個の要素を抜き出したベクトルとを結合した結合テーブルを、m0>m1である場合には、上記ベクトルk0'と、上記ベクトルv0'と、上記ベクトルk1''にm0-m1個の予め定めた空を示す値ukの要素を追加したベクトルと、上記ベクトルv1''にm0-m1個の予め定めた空を示す値uvの要素を追加したベクトルとを結合した結合テーブルを生成する第二結合テーブル生成ステップと、
を含む秘密結合方法。 - Fk,Fvは任意の環であり、αを任意のベクトル又は任意の置換として[α]はαが秘密分散されたシェアであり、m0,m1は1以上の整数であり、k0∈Fk m0は第一テーブルのキーのベクトルであり、v0∈Fv m0は上記第一テーブルの属性値のベクトルであり、k1∈Fk m1は第二テーブルのキーのベクトルであり、v1∈Fv m1は上記第二テーブルの属性値のベクトルであり、π0,π1はそれぞれ長さm0,m1の所定の置換であり、
複数の秘密結合情報生成部が、上記ベクトルk0のシェア[k0]、上記ベクトルk1のシェア[k1]、上記置換π0のシェア[π0]及び上記置換π1のシェア[π1]を用いて、上記第一テーブルの各ベクトルを置換σ0で置換すると上記第一テーブルと上記第二テーブルに共通するキーのレコードが先頭側に移動する置換σ0の逆置換σ0 -1に上記置換π0を適用したベクトルπ0(σ0 -1)のシェア[π0(σ0 -1)]と、上記第二テーブルの各ベクトルを置換σ1で置換すると上記第一テーブルと上記第二テーブルに共通するキーのレコードが先頭側に移動する置換σ1の逆置換σ1 -1に上記置換π1を適用したベクトルπ1(σ1 -1)のシェア[π1(σ1 -1)]と、上記第一テーブルのi番目のレコードが、上記第一テーブルと上記第二テーブルに共通するキーのレコードかどうかを表す値g0,iから構成されるベクトルg0のシェア[g0]と、上記第二テーブルのi番目のレコードが、上記第一テーブルと上記第二テーブルに共通するキーのレコードかどうかを表す値g1,iから構成されるベクトルg1のシェア[g1]と、を生成する秘密結合情報生成ステップと、
複数の第四置換適用部が、上記ベクトルk0のシェア[k0]、上記ベクトルv0のシェア[v0]、上記ベクトルk1のシェア[k1]及び上記ベクトルv1のシェア[v1]を用いて、ベクトルk0'=(π0(σ0 -1))-1(π0(k0))のシェア[k0']と、ベクトルv0'=(π0(σ0 -1))-1(π0(v0))のシェア[v0']と、ベクトルk1'=(π1(σ1 -1))-1(π1(k1'))のシェア[k1']と、ベクトルv1'=(π1(σ1 -1))-1(π1(v1'))のシェア[v1']とを計算する第四置換適用ステップと、
複数の第三結合テーブル生成部が、上記シェア[k0']、上記シェア[v0']、上記シェア[k1']及び上記シェア[v1']を用いて、上記ベクトルg0又は上記ベクトルg1の0の要素の数をcとして、上記ベクトルk0'の先頭からc個の要素を抜き出したベクトルと、上記ベクトルv0'の先頭からc個の要素を抜き出したベクトルと、上記ベクトルk1'の先頭からc個の要素を抜き出したベクトルと、上記ベクトルv1'の先頭からc個の要素を抜き出したベクトルとを結合したテーブル(1)と、上記ベクトルk0'の残りm0-c個の要素を抜き出したベクトルと上記ベクトルv0'の残りm0-c個の要素を抜き出したベクトルと上記第二テーブルの属性値に対応する値を予め定めた空を示す値u'1,vとしたベクトルとを結合したテーブル(2)と、上記ベクトルv0'の残りm0-c個の要素を抜き出したベクトルと上記ベクトルv1'の残りm1-c個の要素を抜き出したベクトルと上記第一テーブルの属性値に対応する値を予め定めた空を示す値u'0,vとしたベクトルとを結合したテーブル(3)とを結合した結合テーブルを生成する第三結合テーブル生成ステップと、
を含む秘密結合方法。 - 請求項6の秘密計算装置の各部としてコンピュータを機能させるためのプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018152413 | 2018-08-13 | ||
JP2018152413 | 2018-08-13 | ||
PCT/JP2019/031477 WO2020036127A1 (ja) | 2018-08-13 | 2019-08-08 | 秘密結合情報生成システム、秘密結合システム、これらの方法、秘密計算装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2020036127A1 JPWO2020036127A1 (ja) | 2021-08-10 |
JP7067626B2 true JP7067626B2 (ja) | 2022-05-16 |
Family
ID=69525331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020537441A Active JP7067626B2 (ja) | 2018-08-13 | 2019-08-08 | 秘密結合情報生成システム、秘密結合システム、これらの方法、秘密計算装置及びプログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US12079363B2 (ja) |
EP (1) | EP3839925B1 (ja) |
JP (1) | JP7067626B2 (ja) |
CN (1) | CN112567443B (ja) |
AU (1) | AU2019322591B2 (ja) |
WO (1) | WO2020036127A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012150379A (ja) | 2011-01-21 | 2012-08-09 | Nippon Telegr & Teleph Corp <Ntt> | マッチングシステム、マッチングシステムの方法、結合装置及びプログラム |
WO2018061800A1 (ja) | 2016-09-27 | 2018-04-05 | 日本電信電話株式会社 | 秘密等結合システム、秘密等結合装置、秘密等結合方法、プログラム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5480828B2 (ja) * | 2011-01-24 | 2014-04-23 | 日本電信電話株式会社 | 秘密ソートシステム、秘密ソート装置、秘密ソート方法、秘密ソートプログラム |
JP5650630B2 (ja) * | 2011-11-22 | 2015-01-07 | 日本電信電話株式会社 | 鍵交換システム、鍵交換装置、鍵交換方法、鍵交換プログラム |
CN104429019B (zh) * | 2012-07-05 | 2017-06-20 | 日本电信电话株式会社 | 秘密分散系统、数据分散装置、分散数据变换装置以及秘密分散方法 |
EP2858297B1 (en) * | 2012-07-05 | 2017-03-01 | Nippon Telegraph And Telephone Corporation | Secret sharing system, data distribution apparatus, distributed data transform apparatus, secret sharing method and program |
JP5907902B2 (ja) * | 2013-01-21 | 2016-04-26 | 日本電信電話株式会社 | 秘密計算による表の等結合システム、方法 |
JP5860557B1 (ja) * | 2015-02-06 | 2016-02-16 | 日本電信電話株式会社 | 秘密公開方法、秘密公開システム、秘密公開装置、およびプログラム |
CN106452745B (zh) * | 2016-09-27 | 2019-07-02 | 中国农业大学 | 一种秘密数据共享的验证方法及装置 |
-
2019
- 2019-08-08 CN CN201980053656.0A patent/CN112567443B/zh active Active
- 2019-08-08 JP JP2020537441A patent/JP7067626B2/ja active Active
- 2019-08-08 EP EP19850173.6A patent/EP3839925B1/en active Active
- 2019-08-08 WO PCT/JP2019/031477 patent/WO2020036127A1/ja unknown
- 2019-08-08 AU AU2019322591A patent/AU2019322591B2/en active Active
- 2019-08-08 US US17/267,808 patent/US12079363B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012150379A (ja) | 2011-01-21 | 2012-08-09 | Nippon Telegr & Teleph Corp <Ntt> | マッチングシステム、マッチングシステムの方法、結合装置及びプログラム |
WO2018061800A1 (ja) | 2016-09-27 | 2018-04-05 | 日本電信電話株式会社 | 秘密等結合システム、秘密等結合装置、秘密等結合方法、プログラム |
Non-Patent Citations (1)
Title |
---|
志村正法ほか,秘密分散データベースの構造演算を可能にするマルチパーティプロトコルを用いた関係代数演算,情報処理学会論文誌,日本,一般社団法人情報処理学会,2010年09月15日,第51巻,第9号,p.1563-1578 |
Also Published As
Publication number | Publication date |
---|---|
EP3839925A1 (en) | 2021-06-23 |
AU2019322591B2 (en) | 2021-12-23 |
AU2019322591A1 (en) | 2021-03-11 |
US12079363B2 (en) | 2024-09-03 |
WO2020036127A1 (ja) | 2020-02-20 |
JPWO2020036127A1 (ja) | 2021-08-10 |
CN112567443B (zh) | 2024-05-14 |
EP3839925B1 (en) | 2023-06-21 |
EP3839925A4 (en) | 2022-05-11 |
CN112567443A (zh) | 2021-03-26 |
US20210182419A1 (en) | 2021-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6973632B2 (ja) | 秘密集約総和システム、秘密計算装置、秘密集約総和方法、およびプログラム | |
JP6989006B2 (ja) | 秘密集約関数計算システム、秘密計算装置、秘密集約関数計算方法、およびプログラム | |
JP6973633B2 (ja) | 秘密集約最大値システム、秘密集約最小値システム、秘密計算装置、秘密集約最大値方法、秘密集約最小値方法、およびプログラム | |
JP6973634B2 (ja) | 秘密集約中央値システム、秘密計算装置、秘密集約中央値方法、およびプログラム | |
JP7067625B2 (ja) | 秘密結合システム、この方法、秘密計算装置及びプログラム | |
JP7017178B2 (ja) | 秘密クロス集計システム、秘密計算装置、秘密クロス集計方法、およびプログラム | |
JP7067626B2 (ja) | 秘密結合情報生成システム、秘密結合システム、これらの方法、秘密計算装置及びプログラム | |
JP7081663B2 (ja) | 秘密結合システム、方法、秘密計算装置及びプログラム | |
JP2013156719A (ja) | 匿名データ提供システム、匿名データ装置、及びそれらが実行する方法 | |
EP3246900B1 (en) | Matrix and key generation device, matrix and key generation system, matrix coupling device, matrix and key generation method, and program | |
JP7067624B2 (ja) | 秘密強写像計算システム、これらの方法、秘密計算装置及びプログラム | |
JP7031732B2 (ja) | 秘密表参照システム、方法、秘密計算装置及びプログラム | |
JP7147840B2 (ja) | 秘密重複排除フィルタ生成システム、秘密重複排除システム、これらの方法、秘密計算装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210208 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220201 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220309 |
|
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: 20220329 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220411 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7067626 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |