JPWO2019244756A1 - 秘密結合システム、方法、秘密計算装置及びプログラム - Google Patents
秘密結合システム、方法、秘密計算装置及びプログラム Download PDFInfo
- Publication number
- JPWO2019244756A1 JPWO2019244756A1 JP2020525639A JP2020525639A JPWO2019244756A1 JP WO2019244756 A1 JPWO2019244756 A1 JP WO2019244756A1 JP 2020525639 A JP2020525639 A JP 2020525639A JP 2020525639 A JP2020525639 A JP 2020525639A JP WO2019244756 A1 JPWO2019244756 A1 JP WO2019244756A1
- Authority
- JP
- Japan
- Prior art keywords
- vector
- share
- substitution
- generate
- attribute
- 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
Links
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24558—Binary matching operations
- G06F16/2456—Join operations
-
- 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/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
-
- 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
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
-
- 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)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Complex Calculations (AREA)
Abstract
Description
ベクトル結合部111,…,11Nに、ベクトルk0のシェア[k0]及びベクトルk1のシェア[k1]が入力される。
第一置換計算部121,…,12Nに、シェア[k']が入力される。
第一置換適用部131,…,13Nに、シェア[k']及びシェア{{σ}}が入力される。
第一ベクトル生成部141,…,14Nに、シェア[σ(k')]が入力される。
第二ベクトル生成部151,…,15Nに、シェア[e]が入力される。
ビット反転部161,…,16Nに、シェア[e']が入力される。
第二置換計算部171,…,17Nに、シェア[e'']が入力される。
第二置換適用部181,…,18Nに、シェア[e'']及びシェア{{σ'}}が入力される。
第三ベクトル生成部191,…,19Nに、シェア[σ'(e'')]が入力される。
逆置換適用部1101,…, 110Nに、シェア[x]、シェア{{σ}}及びシェア{{σ'}}が入力される。
ベクトル分離部1111,…, 111Nに、シェア[σ-1(σ'-1(x))]が入力される。
第三置換適用部1121,…, 112Nに、シェア[s0]及びシェア[s1]が入力される。
属性値置換部1131,…, 113Nに、シェア[v0,p]及びシェア[v1,q]が入力される。
第四ベクトル生成部1141,…,114Nに、ベクトルτ0、ベクトルτ1、シェア[v'0,p]及びシェア[v'1,q]が入力される。
なお、xを2以上の正の整数として、キーの属性が、x個の属性の複合キーであってもよい。この場合には、例えば以下のようにしてステップS1の処理を行ってもよい。
上述の各種の処理は、図4に示すコンピュータの記録部2020に、上記方法の各ステップを実行させるプログラムを読み込ませ、制御部2010、入力部2030、出力部2040などに動作させることで実施できる。
ベクトル分離部1111,…, 111Nに、シェア[σ-1(σ'-1(x))]が入力される。
Claims (4)
- 複数の秘密計算装置を含む秘密結合システムであって、
Fは任意の環であり、αを任意のベクトルとして[α]はαが秘密分散されたシェアであり、βを任意の置換として{{β}}はβが秘密分散されたシェアであり、m0,m1,L0,L1は1以上の整数であり、k0∈Fm0は第一テーブルのキーのベクトルであり、k1∈Fm1は第二テーブルのキーのベクトルであり、p=0,…,L0-1としてv0,p∈Fm0は上記第一テーブルの属性pの属性値のベクトルであり、q=0,…,L1-1としてv1,q∈Fm1は上記第二テーブルの属性qの属性値のベクトルであり、π0,π1はそれぞれ長さm0,m1の所定の置換であり、
上記複数の秘密計算装置は、
上記ベクトルk0のシェア[k0]及び上記ベクトルk1のシェア[k1]を用いて、上記ベクトルk0及び上記ベクトルk1を結合したベクトルk'∈[F]m0+m1のシェア[k']を生成する複数のベクトル結合部と、
上記シェア[k']を用いて、上記ベクトルk'を昇順に安定ソートする置換σのシェア{{σ}}を生成する複数の第一置換計算部と、
上記シェア[k']及び上記シェア{{σ}}を用いて、上記ベクトルk'に上記置換σを適用したベクトルσ(k')のシェア[σ(k')]を生成する複数の第一置換適用部と、
上記シェア[σ(k')]を用いて、上記ベクトルσ(k')のある要素とそのある要素の次の要素とが、同じ場合には1を、違う場合には0をそのある要素に対応する要素として持つベクトルeのシェア[e]を生成する複数の第一ベクトル生成部と、
上記シェア[e]を用いて、上記ベクトルeのある要素とそのある要素の前の要素の一方が1の場合には1を、そうでない場合には0をそのある要素に対応する要素として持つベクトルe'のシェア[e']を生成する複数の第二ベクトル生成部と、
上記シェア[e']を用いて、上記ベクトルe'の各要素をビット反転させたベクトルe''のシェア[e'']を生成する複数のビット反転部と、
上記シェア[e'']を用いて、上記ベクトルe''を昇順に安定ソートする置換σ'のシェア{{σ'}}を生成する複数の第二置換計算部と、
上記シェア[e'']及び上記シェア{{σ'}}を用いて、上記ベクトルe''に上記置換σ'を適用したベクトルσ'(e'')のシェア[σ'(e'')]を生成する複数の第二置換適用部と、
上記シェア[σ'(e'')]を用いて、上記ベクトルσ'(e'')のある要素iが、0である場合には└i/2┘を、0でない場合には0をそのある要素iに対応する要素として持つベクトルxのシェア[x]を生成する複数の第三ベクトル生成部と、
上記シェア[x]、上記シェア{{σ}}及び上記シェア{{σ'}}を用いて、上記ベクトルxに上記置換σ'の逆置換σ'-1及び上記置換σの逆置換σ-1を適用したベクトルσ-1(σ'-1(x))のシェア[σ-1(σ'-1(x))]を生成する複数の逆置換適用部と、
上記シェア[σ-1(σ'-1(x))]を用いて、上記ベクトルσ-1(σ'-1(x))の先頭からm0個の要素からなるベクトルs0のシェア[s0]と、上記ベクトルσ-1(σ'-1(x))の残りのm1個の要素からなるベクトルs1のシェア[s1]とを生成する複数のベクトル分離部と、
上記シェア[s0]、上記シェア[s1]及び上記置換π0,π1を用いて、上記ベクトルs0に上記置換π0を適用したベクトルτ0:=π0(s0)のシェア[π0(s0)]と、上記ベクトルs1に上記置換π1を適用したベクトルτ1:=π1(s1)のシェア[π1(s1)]とを生成して、τ0:=π0(s0)及びτ1:=π1(s1)を公開する複数の第三置換適用部と、
上記置換π0のシェア{{π0}}、上記置換π1のシェア{{π1}}、上記ベクトルv0,pのシェア[v0,p]及び上記ベクトルv1,qのシェア[v1,q]を用いて、上記第一テーブルの各属性pの属性値のベクトルv0,pを上記置換π0で置換したベクトルv'0,pのシェア[v'0,p]と、上記第二テーブルの各属性qの属性値のベクトルv1,qを上記置換π1で置換したベクトルv'1,qのシェア[v'1,q]とを生成する複数の属性値置換部と、
上記ベクトルτ0、上記ベクトルτ1、上記シェア[v'0,p]及び上記シェア[v'1,q]を用いて、上記ベクトルτ0のi'番目の要素が0でない場合には上記ベクトルv'0,pのi'番目の要素をi'-1番目の要素として持つベクトルv''0,pのシェア[v''0,p]と、上記ベクトルτ1のi'番目の要素が0でない場合には上記ベクトルv'1,qのi'番目の要素をi'-1番目の要素として持つベクトルv''1,qのシェア[v''1,q]とを生成する複数の第四ベクトル生成部と、
を含む秘密結合システム。 - 請求項1の秘密結合システムの秘密計算装置。
- Fは任意の環であり、αを任意のベクトルとして[α]はαが秘密分散されたシェアであり、βを任意の置換として{{β}}はβが秘密分散されたシェアであり、m0,m1,L0,L1は1以上の整数であり、k0∈Fm0は第一テーブルのキーのベクトルであり、k1∈Fm1は第二テーブルのキーのベクトルであり、p=0,…,L0-1としてv0,p∈Fm0は上記第一テーブルの属性pの属性値のベクトルであり、q=0,…,L1-1としてv1,q∈Fm1は上記第二テーブルの属性qの属性値のベクトルであり、π0,π1はそれぞれ長さm0,m1の所定の置換であり、
複数のベクトル結合部が、上記ベクトルk0のシェア[k0]及び上記ベクトルk1のシェア[k1]を用いて、上記ベクトルk0及び上記ベクトルk1を結合したベクトルk'∈[F]m0+m1のシェア[k']を生成する複数のベクトル結合ステップと、
複数の第一置換計算部が、上記シェア[k']を用いて、上記ベクトルk'を昇順に安定ソートする置換σのシェア{{σ}}を生成する複数の第一置換計算ステップと、
複数の第一置換適用部が、上記シェア[k']及び上記シェア{{σ}}を用いて、上記ベクトルk'に上記置換σを適用したベクトルσ(k')のシェア[σ(k')]を生成する複数の第一置換適用ステップと、
複数の第一ベクトル生成部が、上記シェア[σ(k')]を用いて、上記ベクトルσ(k')のある要素とそのある要素の次の要素とが、同じ場合には1を、違う場合には0をそのある要素に対応する要素として持つベクトルeのシェア[e]を生成する複数の第一ベクトル生成ステップと、
複数の第二ベクトル生成部が、上記シェア[e]を用いて、上記ベクトルeのある要素とそのある要素の前の要素の一方が1の場合には1を、そうでない場合には0をそのある要素に対応する要素として持つベクトルe'のシェア[e']を生成する複数の第二ベクトル生成ステップと、
複数のビット反転部が、上記シェア[e']を用いて、上記ベクトルe'の各要素をビット反転させたベクトルe''のシェア[e'']を生成する複数のビット反転ステップと、
複数の第二置換計算部が、上記シェア[e'']を用いて、上記ベクトルe''を昇順に安定ソートする置換σ'のシェア{{σ'}}を生成する複数の第二置換計算ステップと、
複数の第二置換適用部が、上記シェア[e'']及び上記シェア{{σ'}}を用いて、上記ベクトルe''に上記置換σ'を適用したベクトルσ'(e'')のシェア[σ'(e'')]を生成する複数の第二置換適用ステップと、
複数の第三ベクトル生成部が、上記シェア[σ'(e'')]を用いて、上記ベクトルσ'(e'')のある要素iが、0である場合には└i/2┘を、0でない場合には0をそのある要素iに対応する要素として持つベクトルxのシェア[x]を生成する複数の第三ベクトル生成ステップと、
複数の逆置換適用部が、上記シェア[x]、上記シェア{{σ}}及び上記シェア{{σ'}}を用いて、上記ベクトルxに上記置換σ'の逆置換σ'-1及び上記置換σの逆置換σ-1を適用したベクトルσ-1(σ'-1(x))のシェア[σ-1(σ'-1(x))]を生成する複数の逆置換適用ステップと、
複数のベクトル分離部が、上記シェア[σ-1(σ'-1(x))]を用いて、上記ベクトルσ-1(σ'-1(x))の先頭からm0個の要素からなるベクトルs0のシェア[s0]と、上記ベクトルσ-1(σ'-1(x))の残りのm1個の要素からなるベクトルs1のシェア[s1]とを生成する複数のベクトル分離ステップと、
複数の第三置換適用部が、上記シェア[s0]、上記シェア[s1]及び上記置換π0,π1を用いて、上記ベクトルs0に上記置換π0を適用したベクトルτ0:=π0(s0)のシェア[π0(s0)]と、上記ベクトルs1に上記置換π1を適用したベクトルτ1:=π1(s1)のシェア[π1(s1)]とを生成して、τ0:=π0(s0)及びτ1:=π1(s1)を公開する複数の第三置換適用ステップと、
複数の属性値置換部が、上記置換π0のシェア{{π0}}、上記置換π1のシェア{{π1}}、上記ベクトルv0,pのシェア[v0,p]及び上記ベクトルv1,qのシェア[v1,q]を用いて、上記第一テーブルの各属性pの属性値のベクトルv0,pを上記置換π0で置換したベクトルv'0,pのシェア[v'0,p]と、上記第二テーブルの各属性qの属性値のベクトルv1,qを上記置換π1で置換したベクトルv'1,qのシェア[v'1,q]とを生成する複数の属性値置換ステップと、
複数の第四ベクトル生成部が、上記ベクトルτ0、上記ベクトルτ1、上記シェア[v'0,p]及び上記シェア[v'1,q]を用いて、上記ベクトルτ0のi'番目の要素が0でない場合には上記ベクトルv'0,pのi'番目の要素をi'-1番目の要素として持つベクトルv''0,pのシェア[v''0,p]と、上記ベクトルτ1のi'番目の要素が0でない場合には上記ベクトルv'1,qのi'番目の要素をi'-1番目の要素として持つベクトルv''1,qのシェア[v''1,q]とを生成する複数の第四ベクトル生成ステップと、
を含む秘密結合方法。 - 請求項2の秘密計算装置の各部としてコンピュータを機能させるためのプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018116576 | 2018-06-20 | ||
JP2018116576 | 2018-06-20 | ||
PCT/JP2019/023390 WO2019244756A1 (ja) | 2018-06-20 | 2019-06-13 | 秘密結合システム、方法、秘密計算装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2019244756A1 true JPWO2019244756A1 (ja) | 2021-06-24 |
JP7081663B2 JP7081663B2 (ja) | 2022-06-07 |
Family
ID=68982833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020525639A Active JP7081663B2 (ja) | 2018-06-20 | 2019-06-13 | 秘密結合システム、方法、秘密計算装置及びプログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US11797540B2 (ja) |
EP (1) | EP3813042B1 (ja) |
JP (1) | JP7081663B2 (ja) |
CN (1) | CN112313728B (ja) |
AU (1) | AU2019288508B2 (ja) |
WO (1) | WO2019244756A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014139640A (ja) * | 2013-01-21 | 2014-07-31 | Nippon Telegr & Teleph Corp <Ntt> | 秘密計算による表の等結合システム、方法 |
WO2018061800A1 (ja) * | 2016-09-27 | 2018-04-05 | 日本電信電話株式会社 | 秘密等結合システム、秘密等結合装置、秘密等結合方法、プログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
WO2015107952A1 (ja) * | 2014-01-17 | 2015-07-23 | 日本電信電話株式会社 | 秘密計算方法、秘密計算システム、ランダム置換装置及びプログラム |
JP5957120B1 (ja) * | 2015-05-12 | 2016-07-27 | 日本電信電話株式会社 | 秘密分散方法、秘密分散システム、分散装置、およびプログラム |
JP6599282B2 (ja) * | 2016-05-19 | 2019-10-30 | 日本電信電話株式会社 | リスク判定モデル用学習データ生成装置、リスク判定モデル用学習データ生成方法、プログラム |
-
2019
- 2019-06-13 US US17/252,290 patent/US11797540B2/en active Active
- 2019-06-13 CN CN201980040356.9A patent/CN112313728B/zh active Active
- 2019-06-13 JP JP2020525639A patent/JP7081663B2/ja active Active
- 2019-06-13 EP EP19822348.9A patent/EP3813042B1/en active Active
- 2019-06-13 AU AU2019288508A patent/AU2019288508B2/en active Active
- 2019-06-13 WO PCT/JP2019/023390 patent/WO2019244756A1/ja unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014139640A (ja) * | 2013-01-21 | 2014-07-31 | Nippon Telegr & Teleph Corp <Ntt> | 秘密計算による表の等結合システム、方法 |
WO2018061800A1 (ja) * | 2016-09-27 | 2018-04-05 | 日本電信電話株式会社 | 秘密等結合システム、秘密等結合装置、秘密等結合方法、プログラム |
Also Published As
Publication number | Publication date |
---|---|
AU2019288508B2 (en) | 2021-09-23 |
US11797540B2 (en) | 2023-10-24 |
WO2019244756A1 (ja) | 2019-12-26 |
EP3813042A4 (en) | 2022-03-23 |
JP7081663B2 (ja) | 2022-06-07 |
EP3813042B1 (en) | 2023-06-28 |
EP3813042A1 (en) | 2021-04-28 |
CN112313728B (zh) | 2024-04-19 |
CN112313728A (zh) | 2021-02-02 |
US20210263921A1 (en) | 2021-08-26 |
AU2019288508A1 (en) | 2021-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6973632B2 (ja) | 秘密集約総和システム、秘密計算装置、秘密集約総和方法、およびプログラム | |
JP6973633B2 (ja) | 秘密集約最大値システム、秘密集約最小値システム、秘密計算装置、秘密集約最大値方法、秘密集約最小値方法、およびプログラム | |
WO2019225401A1 (ja) | 秘密集約関数計算システム、秘密計算装置、秘密集約関数計算方法、およびプログラム | |
JP6973634B2 (ja) | 秘密集約中央値システム、秘密計算装置、秘密集約中央値方法、およびプログラム | |
WO2019203262A1 (ja) | 秘密集約順位システム、秘密計算装置、秘密集約順位方法、およびプログラム | |
JP6585846B2 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム | |
JP7067625B2 (ja) | 秘密結合システム、この方法、秘密計算装置及びプログラム | |
WO2019221108A1 (ja) | 秘密クロス集計システム、秘密計算装置、秘密クロス集計方法、およびプログラム | |
JP7081663B2 (ja) | 秘密結合システム、方法、秘密計算装置及びプログラム | |
JP6321216B2 (ja) | 行列・キー生成装置、行列・キー生成システム、行列結合装置、行列・キー生成方法、プログラム | |
JP7067626B2 (ja) | 秘密結合情報生成システム、秘密結合システム、これらの方法、秘密計算装置及びプログラム | |
WO2019176831A1 (ja) | 秘密表参照システム、方法、秘密計算装置及びプログラム | |
JP7067624B2 (ja) | 秘密強写像計算システム、これらの方法、秘密計算装置及びプログラム | |
WO2019188320A1 (ja) | 秘密重複排除フィルタ生成システム、秘密重複排除システム、これらの方法、秘密計算装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201214 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220407 |
|
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: 20220426 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220509 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7081663 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |