JP7359225B2 - 秘密最大値計算装置、方法及びプログラム - Google Patents
秘密最大値計算装置、方法及びプログラム Download PDFInfo
- Publication number
- JP7359225B2 JP7359225B2 JP2021570611A JP2021570611A JP7359225B2 JP 7359225 B2 JP7359225 B2 JP 7359225B2 JP 2021570611 A JP2021570611 A JP 2021570611A JP 2021570611 A JP2021570611 A JP 2021570611A JP 7359225 B2 JP7359225 B2 JP 7359225B2
- Authority
- JP
- Japan
- Prior art keywords
- maximum value
- secret
- flag
- calculates
- value calculation
- 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
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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
-
- 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)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Complex Calculations (AREA)
- Storage Device Security (AREA)
Description
ある値aを暗号化や秘密分散などにより秘匿化した値aの秘匿値と呼び、[[a]]と書く。秘匿化が秘密分散である場合は,[[a]]により各秘密計算装置が持つ秘密分散の断片の集合を参照する。
aの秘匿値[[a]]を入力とし,c=aとなる値cを計算する処理を
c←Open([[a]])
と記述する。
加算、減算、乗算の各演算は2個の値a,bの秘匿値[[a]],[[b]]を入力とし、それぞれa+b,a-b,abの計算結果c1,c2,c3の秘匿値[[c1]],[[c2]],[[c3]]を計算する。これらの演算の実行をそれぞれ、
[[c1]]←Add([[a]],[[b]])
[[c2]]←Sub([[a]],[[b]])
[[c3]]←Mul([[a]],[[b]])
と記述する。誤解を招く恐れのない場合は、Add([[a]],[[b]]),Sub([[a]],[[b]]),Mul([[a]],[[b]])をそれぞれ[[a]]+[[b]],[[a]]-[[b]],[[a]]×[[b]]と略記する。
比較の演算は2個の値a,bの秘匿値[[a]],[[b]]を入力とし,a=b,a≦b,a<bの真偽値c∈{0,1}の秘匿値[[c1]],[[c2]],[[c3]]を計算する。真偽値は真のとき1、偽のとき0とする。この演算の実行を
[[c0]]←EQ([[a]],[[b]])
[[c1]]←LE([[a]],[[b]])
[[c2]]←LT([[a]],[[b]])
と記述する。なお、EQ,LE,LTの入力の少なくとも一方は、秘匿値でなくてもよい。
選択の演算は、真偽値c∈{0,1}の秘匿値[[c]]と2個の値a,bの秘匿値[[a]],[[b]]を入力とし、
[[d]]←IfElse([[c]],[[a]],[[b]])
と記述する。この演算は
[[d]]←[[c]]×([[a]]-[[b]])+[[b]]
により実現できる。
第一実施形態の秘密最大値計算装置及び方法は、秘匿値の集合X={[[x1]],[[x2]],...,[[xn]]}から、予め定められた順序に関して最大の秘匿値[[y]]と、各秘匿値が最大であったかどうかを表すフラグの秘匿値[[z(xi)]]を計算する装置及び方法である。
出力:[[y]],[[z(x1)]],...,[[z(xn)]]
記法:[[y]],[[z(x1)]],...,[[z(xn)]]←f0([[x1]],...,[[xn]])
第一実施形態の秘密最大値計算装置は、図1に示すように、出力部1、比較部2、フラグ計算部3及び最大値計算部4を例えば備えている。
出力部1には、集合X={[[x1]],[[x2]],...,[[xn]]}が入力される。nは、所定の正の整数である。
比較部2には、集合X={[[x1]],[[x2]],...,[[xn]]}が入力される。
フラグ計算部3には、比較部2で計算された比較結果が入力される。
最大値計算部4には、フラグ計算部3で計算されたフラグ[[z(xi)]]が入力される。
第二実施形態の秘密最大値計算装置及び方法は、秘匿値の集合X={[[x1]],[[x2]],...,[[xn]]}から、予め定められた順序に関して最大の秘匿値[[y]]の計算と、各秘匿値が最大であったかどうかを表すフラグの秘匿値[[z(xi)]]の計算とを比較の段数を2段で行う装置及び方法である。
出力:[[y]],[[z(x1)]],...,[[z(xn)]]
記法:[[y]],[[z(x1)]],...,[[z(xn)]]←f1([[x1]],...,[[xn]])
第二実施形態の秘密最大値計算装置は、図3に示すように、出力部1、分割部5、秘密最大値計算装置6及びフラグ計算部3を例えば備えている。
出力部1には、集合X={[[x1]],[[x2]],...,[[xn]]}が入力される。nは、所定の正の整数である。
分割部5には、集合X={[[x1]],[[x2]],...,[[xn]]}が入力される。
秘密最大値計算装置6には、分割部5で得られた2個以上の部分集合が入力される。
[[yi]],[[z(xs_(i-1))]],...,[[z(xs_i-1)]]←f0([[xs_(i-1)]],...,[[xs_i-1]])(i∈[1,L])
[[y]],[[z(y1)]],...,[[z(yL)]]←f0([[y1]],...,[[yL]])
すなわち、秘密最大値計算装置6は、X=[[xs_(i-1)]],...,[[xs_i-1]]を入力として[[yi]],[[z(xs_(i-1))]],...,[[z(xs_i-1)]]を出力する処理をi∈[1,L]について行い、また、[[y1]],...,[[yL]]を入力として、[[y]],[[z(y1)]],...,[[z(yL)]]を出力する処理を行う。
フラグ計算部3には、秘密最大値計算装置6で計算されたフラグ[[z(xs_(i-1))]],...,[[z(xs_i-1)]]及びフラグ[[z(y1)]],...,[[z(yL)]]が入力される。
第三実施形態の秘密最大値計算装置及び方法は、秘匿値の集合X={[[x1]],[[x2]],...,[[xn]]}から、予め定められた順序に関して最大の秘匿値[[y]]の計算と、各秘匿値が最大であったかどうかを表すフラグの秘匿値[[z(xi)]]の計算とを比較の段数をk+1段で行う装置及び方法である。
出力:[[y]],[[z(x1)]],...,[[z(xn)]]
記法:[[y]],[[z(x1)]],...,[[z(xn)]]←fk([[x1]],...,[[xn]])
第三実施形態の秘密最大値計算装置は、図5に示すように、出力部1、分割部5、秘密最大値計算装置6、秘密最大値計算装置7及びフラグ計算部3を例えば備えている。
出力部1には、集合X={[[x1]],[[x2]],...,[[xn]]}が入力される。nは、所定の正の整数である。
分割部5には、集合X={[[x1]],[[x2]],...,[[xn]]}が入力される。
秘密最大値計算装置6には、分割部5で得られた2個以上の部分集合が入力される。
[[yi]],[[z(xs_(i-1))]],...,[[z(xs_i-1)]]←fk-1([[xs_(i-1)]],...,[[xs_i-1]])(i∈[1,L])
すなわち、秘密最大値計算装置6は、X=[[xs_(i-1)]],...,[[xs_i-1]]を入力として[[yi]],[[z(xs_(i-1))]],...,[[z(xs_i-1)]]を出力する処理をi∈[1,L]について行う。
秘密最大値計算装置7には、秘密最大値計算装置6で計算された各部分集合iに対応する最大値の秘匿値[[yi]]及びフラグ[[z(xs_(i-1))]],...,[[z(xs_i-1)]]が入力される。
[[y]],[[z(y1)]],...,[[z(yL)]]←f0([[y1]],...,[[yL]])
すなわち、秘密最大値計算装置7は、[[y1]],...,[[yL]]を入力として、[[y]],[[z(y1)]],...,[[z(yL)]]を出力する処理を行う。
フラグ計算部3には、秘密最大値計算装置6で計算されたフラグ[[z(xs_(i-1))]],...,[[z(xs_i-1)]]、秘密最大値計算装置7で計算されたフラグ[[z(y1)]],...,[[z(yL)]]が入力される。
以上、本発明の実施の形態について説明したが、具体的な構成は、これらの実施の形態に限られるものではなく、本発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、本発明に含まれることはいうまでもない。
上記説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。例えば、上述の各種の処理は、図7に示すコンピュータの記録部2020に、実行させるプログラムを読み込ませ、制御部2010、入力部2030、出力部2040などに動作させることで実施できる。
2 比較部
3 フラグ計算部
4 最大値計算部
5 分割部
6 秘密最大値計算装置
7 秘密最大値計算装置
Claims (6)
- 集合X={[[x1]],[[x2]],...,[[xn]]}であるとして、
n=1である場合には、[[x1]]及び[[1]]をそれぞれ最大の秘匿値[[y]]及びフラグ[[z(x1)]]として出力する出力部と、
Xの要素の組{[[xi]],[[xj]]}⊂Xのそれぞれについて、所定の順序に関してどちらが大きいのかの比較結果を計算する比較部と、
各[[xi]]について、前記各[[xi]]に関する全ての比較結果が「大きい」であったかどうかを計算し、その計算された値をフラグ[[z(xi)]]とするフラグ計算部と、
前記[[z(xi)]]を用いて最大値[[y]]を計算する最大値計算部と、
を含み、
xi≦xjである場合には[[1]]を、そうでない場合には[[0]]を出力する関数をLE(xi,xj)として、
前記比較部は、各(i,j)(i,j∈[1,n],i<j)についてLE(xi,xj)の計算を行い、その計算結果[[ci,j]]を前記比較結果とし、
a=bである場合には[[1]]を、そうでない場合には[[0]]を出力する関数をEQ([[a]],[[b]])として、
前記フラグ計算部は、各(i,j)(i,j∈[1,n],i>j)について1-[[cj,i]]の計算を行い、その計算結果を[[ci,j]]とし、各iについて[[z(xi)]]←EQ(Σi≠j[[ci,j]],n-1)の計算を行い、その計算結果をフラグ[[z(xi)]]とする、
秘密最大値計算装置。 - 請求項1の秘密最大値計算装置であって、
前記最大値計算部は、Σi∈[1,n]([[xi]]×[[z(xi)]])を計算し、その計算結果を最大値[[y]]とする、
秘密最大値計算装置。 - 集合X={[[x1]],[[x2]],...,[[xn]]}であるとして、
n=1である場合には、[[x1]]及び[[1]]をそれぞれ最大値[[y]]及びフラグ[[z(x1)]]として出力する出力部と、
Xを2個以上の部分集合に分割する分割部と、
前記2個以上の部分集合のそれぞれについて処理を行い、各部分集合に対応する最大値の秘匿値及びフラグを計算すると共に、各部分集合に対応する最大値の集合について処理を行い、最大値[[y]]及び部分集合ごとのフラグを計算する請求項1又は2の秘密最大値計算装置と、
前記計算されたフラグに前記部分集合ごとのフラグを乗算したフラグを計算するフラグ計算部と、
を含む秘密最大値計算装置。 - 入力された秘匿値の集合に含まれる秘匿値の最大値[[y]]及び各秘匿値が最大値であるかを表すフラグを計算する秘密最大値計算装置であって、
集合X={[[x1]],[[x2]],...,[[xn]]}であるとして、
n=1である場合には、[[x1]]及び[[1]]をそれぞれ最大の秘匿値[[y]]及びフラグ[[z(x1)]]として出力する出力部と、
Xを2個以上の部分集合に分割する分割部と、を含み、
前記秘密最大値計算装置は、前記2個以上の部分集合のそれぞれについて処理を行い、各部分集合に対応する最大値の秘匿値及びフラグを計算し、
前記秘密最大値計算装置は、
各部分集合に対応する最大値の集合について処理を行い、最大値[[y]]及び部分集合ごとのフラグを計算する請求項1又は2の秘密最大値計算装置と、
前記計算されたフラグに前記部分集合ごとのフラグを乗算したフラグを計算するフラグ計算部と、
を更に含む秘密最大値計算装置。 - 集合X={[[x1]],[[x2]],...,[[xn]]}であるとして、
出力部が、n=1である場合には、[[x1]]及び[[1]]をそれぞれ最大の秘匿値[[y]]及びフラグ[[z(x1)]]として出力する出力ステップと、
比較部が、Xの要素の組{[[xi]],[[xj]]}⊂Xのそれぞれについて、所定の順序に関してどちらが大きいのかの比較結果を計算する比較ステップと、
フラグ計算部が、各[[xi]]について、前記各[[xi]]に関する全ての比較結果が「大きい」であったかどうかを計算し、その計算された値をフラグ[[z(xi)]]とするフラグ計算ステップと、
最大値計算部が、前記[[z(xi)]]を用いて最大値[[y]]を計算する最大値計算ステップと、
を含み、
x i ≦x j である場合には[[1]]を、そうでない場合には[[0]]を出力する関数をLE(x i ,x j )として、
前記比較部は、各(i,j)(i,j∈[1,n],i<j)についてLE(x i ,x j )の計算を行い、その計算結果[[c i,j ]]を前記比較結果とし、
a=bである場合には[[1]]を、そうでない場合には[[0]]を出力する関数をEQ([[a]],[[b]])として、
前記フラグ計算部は、各(i,j)(i,j∈[1,n],i>j)について1-[[c j,i ]]の計算を行い、その計算結果を[[c i,j ]]とし、各iについて[[z(x i )]]←EQ(Σ i≠j [[c i,j ]],n-1)の計算を行い、その計算結果をフラグ[[z(x i )]]とする、
秘密最大値計算方法。 - 請求項1又は2の何れかの秘密最大値計算装置の各部としてコンピュータを機能させるためのプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/001545 WO2021144973A1 (ja) | 2020-01-17 | 2020-01-17 | 秘密最大値計算装置、方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2021144973A1 JPWO2021144973A1 (ja) | 2021-07-22 |
JP7359225B2 true JP7359225B2 (ja) | 2023-10-11 |
Family
ID=76864080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021570611A Active JP7359225B2 (ja) | 2020-01-17 | 2020-01-17 | 秘密最大値計算装置、方法及びプログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230033922A1 (ja) |
EP (1) | EP4092655A4 (ja) |
JP (1) | JP7359225B2 (ja) |
CN (1) | CN114945964A (ja) |
AU (1) | AU2020423665B2 (ja) |
WO (1) | WO2021144973A1 (ja) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0764766A (ja) * | 1993-08-24 | 1995-03-10 | Fujitsu Ltd | 並列計算機における最大・最小値演算方法 |
JP2004145475A (ja) * | 2002-10-22 | 2004-05-20 | Patent One Kk | 識別情報発行システム及び方法、識別情報認証システム及び方法、並びにプログラム |
CN100592326C (zh) * | 2002-12-06 | 2010-02-24 | 日本电信电话株式会社 | 信号检索方法及装置 |
JP6017336B2 (ja) * | 2013-02-12 | 2016-10-26 | 株式会社東芝 | データ管理装置および電力使用量計算システム |
US10063374B2 (en) * | 2015-05-31 | 2018-08-28 | Massachusetts Institute Of Technology | System and method for continuous authentication in internet of things |
CN105488422B (zh) * | 2015-11-19 | 2019-01-11 | 上海交通大学 | 基于同态加密隐私数据保护的编辑距离计算系统 |
IT201700050086A1 (it) * | 2017-05-09 | 2018-11-09 | St Microelectronics Srl | Modulo hardware di sicurezza, relativo sistema di elaborazione, circuito integrato, dispositivo e procedimento |
JP7041951B2 (ja) * | 2018-02-20 | 2022-03-25 | 惠市 岩村 | 入力者装置、演算支援装置、及びプログラム |
-
2020
- 2020-01-17 CN CN202080092443.1A patent/CN114945964A/zh active Pending
- 2020-01-17 EP EP20914706.5A patent/EP4092655A4/en active Pending
- 2020-01-17 AU AU2020423665A patent/AU2020423665B2/en active Active
- 2020-01-17 JP JP2021570611A patent/JP7359225B2/ja active Active
- 2020-01-17 US US17/791,547 patent/US20230033922A1/en active Pending
- 2020-01-17 WO PCT/JP2020/001545 patent/WO2021144973A1/ja unknown
Non-Patent Citations (3)
Title |
---|
Satsuya Ohata, Koji Nuida,Communication-Efficient (Client-Aided) Secure Two-Party Protocols and Its Application,arXiv.org[online],Cornell University,2020年01月04日,p.1-p.30,https://arxiv.org/pdf/1907.03415.pdf |
大畑 幸矢,ラウンド効率のよい2者間秘匿計算とその秘匿畳み込みニューラルネットワークへの応用,コンピュータセキュリティシンポジウム2018論文集,日本,一般社団法人情報処理学会,2018年10月15日,Vol.2018, No.2,pp.615-622 |
西田 直央 ほか,Binarized Neural Networksを用いた秘匿予測プロトコル,コンピュータセキュリティシンポジウム2017論文集,日本,一般社団法人情報処理学会,2017年10月16日,p. 592-599 |
Also Published As
Publication number | Publication date |
---|---|
WO2021144973A1 (ja) | 2021-07-22 |
US20230033922A1 (en) | 2023-02-02 |
AU2020423665B2 (en) | 2023-08-17 |
AU2020423665A1 (en) | 2022-07-14 |
EP4092655A1 (en) | 2022-11-23 |
CN114945964A (zh) | 2022-08-26 |
JPWO2021144973A1 (ja) | 2021-07-22 |
EP4092655A4 (en) | 2023-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7067632B2 (ja) | 秘密シグモイド関数計算システム、秘密ロジスティック回帰計算システム、秘密シグモイド関数計算装置、秘密ロジスティック回帰計算装置、秘密シグモイド関数計算方法、秘密ロジスティック回帰計算方法、プログラム | |
JP6534778B2 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム | |
Paul et al. | Privacy-preserving collective learning with homomorphic encryption | |
JP7159717B2 (ja) | 秘密統計処理システム、方法、統計処理装置及びプログラム | |
JP2020519968A (ja) | ビット分解秘密計算装置、ビット結合秘密計算装置、方法およびプログラム | |
WO2018008547A1 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム | |
JPWO2018212015A1 (ja) | 秘密計算装置、比較方法、比較プログラム、および秘密計算システム | |
WO2020145340A1 (ja) | 秘密配列アクセス装置、秘密配列アクセス方法、およびプログラム | |
JP7359225B2 (ja) | 秘密最大値計算装置、方法及びプログラム | |
WO2019225531A1 (ja) | 秘密一括近似システム、秘密計算装置、秘密一括近似方法、およびプログラム | |
Hamoudi et al. | The NISQ Complexity of Collision Finding | |
JP6808100B1 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
KR20210067961A (ko) | 완전동형암호 기법으로 암호화된 데이터의 연산을 위한 장치 및 방법 | |
WO2018008543A1 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム | |
JP7173328B2 (ja) | 秘密除算システム、秘密計算装置、秘密除算方法、およびプログラム | |
WO2023233569A1 (ja) | 秘密検索システム、秘密検索装置、秘密検索方法、プログラム | |
WO2023281693A1 (ja) | 秘密計算システム、装置、方法及びプログラム | |
WO2023281694A1 (ja) | 秘密計算システム、装置、方法及びプログラム | |
WO2024018504A1 (ja) | クライアント装置、秘密テーブル管理システム、レコード登録要求生成方法、レコード登録方法、処理要求実行方法、プログラム | |
WO2024013974A1 (ja) | 秘密交差結合システム、秘密交差結合装置、秘密交差結合方法、プログラム | |
Chatterjee et al. | Translating algorithms to handle fully homomorphic encrypted data | |
US20220350638A1 (en) | Secret multiple repetition calculation apparatus, method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220621 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230627 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230815 |
|
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: 20230829 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230911 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7359225 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |