JP6933293B2 - 秘密計算装置、秘密計算方法、プログラム、および記録媒体 - Google Patents
秘密計算装置、秘密計算方法、プログラム、および記録媒体 Download PDFInfo
- Publication number
- JP6933293B2 JP6933293B2 JP2020505736A JP2020505736A JP6933293B2 JP 6933293 B2 JP6933293 B2 JP 6933293B2 JP 2020505736 A JP2020505736 A JP 2020505736A JP 2020505736 A JP2020505736 A JP 2020505736A JP 6933293 B2 JP6933293 B2 JP 6933293B2
- Authority
- JP
- Japan
- Prior art keywords
- secret
- secret sharing
- value
- calculation
- sharing value
- 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/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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/50—Adding; Subtracting
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
- Complex Calculations (AREA)
Description
α=α0+α1‐2α0α1 (1)
β=α+α2‐2αα2 (2)
[概要]
まず実施形態の概要を説明する。実施形態の秘密計算装置では、まず減算部がxi∈{0,1}の秘密分散値{xi}を用いて秘密分散値{si}={xi}‐1/2を計算して出力する。ただし、i=0,1,2である。例えば、減算部は秘密分散値{si}={xi}‐1/2 mod qを計算する。ただし、qは正整数である。例えば、qは2以上または3以上の整数(例えば、素数)である。次に、第1排他的論理和演算部が秘密分散値{si}を用いた秘密計算によって秘密分散値
{y}={4s0s1s2}+1/2 (3)
を計算して出力する。例えば、第1排他的論理和演算部は、秘密分散値{4s0}および秘密分散値{s1}を用いた秘密計算によって秘密分散値{4s0s1}を得、秘密分散値{4s0s1}および秘密分散値{s2}を用いた秘密計算によって秘密分散値{4s0s1s2}を得る。次に第2排他的論理和演算部が乱数rの秘密分散値{r}および秘密分散値{si}を用いた秘密計算によって秘密分散値
{yr}={4rs0s1s2}+{r}/2 (4)
を計算して出力する。例えば、第2排他的論理和演算部は、秘密分散値{4r}および秘密分散値{s0}を用いた秘密計算によって秘密分散値{4rs0}を得、秘密分散値{4rs0}および秘密分散値{s1}を用いた秘密計算によって秘密分散値{4rs0s1}を得、秘密分散値{4rs0s1}および秘密分散値{s2}を用いた秘密計算によって秘密分散値{4rs0s1s2}を得る。なお、秘密計算方式に限定はなく、例えば非特許文献1に記載された方式を用いることができる。上述のようにsi,y,yrは四則演算が定義された集合の元である。四則演算が定義されているのであれば、どのような集合であってもよい。このような集合の一例は位数pの有限体Fpである。pは2以上の整数である。pの例は3以上の整数であり、例えば、pは3以上の素数である。si∈Fp,y∈Fp,yr∈Fpそれぞれの秘密分散値を{si}∈{Fp},{y}∈{Fp},{yr}∈{Fp}と表現する。
{x0}0=(w0,0),{x0}1=(0,0),{x0}2=(0,w0)
{x1}0=(0,w1),{x1}1=(w1,0),{x1}2=(0,0)
{x2}0=(0,0),{x2}1=(0,w2),{x2}2=(w2,0)
参考文献2:Ronald Cramer, Ivan Damgard, and Yuval Ishai, "Share conversion, pseudorandom secret-sharing and applications to secure distributed computing," Theory of Cryptography (2005): 342-362
参考文献3:特開2016−173533号公報
参考文献4:特開2016−173532号公報
参考文献5:特開2016−173531号公報
参考文献6:特開2016−156853号公報
図面を用いて第1実施形態を詳細に説明する。
図1に例示するように、実施形態の秘密計算システム1は、N個の秘密計算装置11−0,…,11−(N−1)と検証装置12とを有し、これらはネットワークを通じて通信可能に構成されている。ただし、Nは2以上の整数である。例えば、Nは3以上の整数であり、その一例はN=3である。図2に例示するように、秘密計算装置11−j(ただし、j=0,…,N−1)は、入力部111−jと出力部112−jと記憶部113−jと制御部114−jと減算部116−jと排他的論理和演算部117−j,118−jとを有する。秘密計算装置11−jは、制御部114−jの制御の下で各処理を実行する。秘密計算装置11−jの各部で得られたデータは、逐一、記憶部113−jに格納され、必要に応じて読み出されて他の処理に利用される。
図3を用いて秘密計算装置11−jが行う秘密計算処理を説明する。秘密分散方式や秘密計算方式の詳細については、例えば、非特許文献1等を参照されたい。
各秘密計算装置11−j(ただし、j=0,…,N−1)の入力部111−jには、有限体Fp上の乱数r∈Fpの秘密分散値{r}∈{Fp}が入力される。なお、各秘密計算装置11−jに対応する各値γの秘密分散値は互いに相違するが、記載の簡略化の観点から、特に断りのない限り、値γの秘密分散値を単に{γ}と表記する。ただし、各秘密計算装置11−jに対応する秘密分散値であることを明記する場合には、各秘密計算装置11−jに対応する秘密分散値を{γ}jと表記することにする。本実施形態では、加法的秘密分散方式に則って有限体Fp上の乱数rを秘密分散したものを{r}とするが、これは本発明において本質的な事項ではない。本実施形態の秘密分散値{r}は各秘密計算装置11−jの外部で生成されたものである。乱数rの値は各秘密計算装置11−jに秘匿される。例えば、検証装置12が、乱数rの値を各秘密計算装置11−jに知られることなく、乱数rの秘密分散値{r}を生成して各秘密計算装置11−jに送信してもよい。秘密分散値{r}がどこで作成されるかも、本発明において本質的な事項ではない。秘密分散値{r}は各秘密計算装置11−jの記憶部113−jに格納される(ステップS111−j)。
第2実施形態を説明する。本実施形態では、(2,3)しきい値秘密分散方式の加法的秘密分散方式に則って乱数wをmod 2上で秘密分散して得られる秘密分散値{w}B jを、当該乱数wの有限体Fp上の秘密分散値{y}∈{Fp}と秘密分散値{yr}∈{Fp}とのペア(秘密乱数ペア)に変換する処理を説明する。
図1に例示するように、実施形態の秘密計算システム2は、3個の秘密計算装置21−0,21−1,21−2と検証装置12とを有し、これらはネットワークを通じて通信可能に構成されている。図2に例示するように、秘密計算装置21−j(ただし、j=0,1,2)は、入力部111−jと出力部112−jと記憶部113−jと制御部114−jと乱数取得部215−jと減算部216−jと排他的論理和演算部117−j,118−jと設定部219−jとを有する。秘密計算装置21−jは、制御部114−jの制御の下で各処理を実行する。秘密計算装置21−jの各部で得られたデータは、逐一、記憶部113−jに格納され、必要に応じて読み出されて他の処理に利用される。
図3を用いて秘密計算装置21−j(ただし、j=0,1,2)が行う秘密計算処理を説明する。以下では第1実施形態との相違点を中心に説明し、共通する事項については説明を簡略化する。
なお、本発明は上述の実施形態に限定されるものではない。例えば、上述の実施形態では、各秘密計算装置11−jに乱数r∈Fpの秘密分散値{r}が入力された。しかしながら、各秘密計算装置11−jがそれぞれの秘密分散値{r}を生成してもよい。ただし、乱数rは各秘密計算装置11−jに秘匿しなければならない。このような方法はよく知られており、どのような方法が用いられてもよい。例えば、秘密計算装置11−0,…,11−(N−1)が協調して秘密分散値{r}を生成することができる。一例を挙げると、各秘密計算装置11−j’がそれぞれ乱数r j’の秘密分散値{r j’} j ∈[Fp]を計算して秘密計算装置11−jに送り(ただし、j=0,…,N−1、j’=0,…,N−1かつj’≠j)、各秘密計算装置11−jが秘密分散値{r0} j ,…,{rN−1} j を用いた秘密計算によって{r}={r0+…+rN−1} j を得る。
11−j,21−j 秘密計算装置
Claims (8)
- i=0,1,2であり、
xi∈{0,1}の秘密分散値{xi}を用いて秘密分散値{si}={xi}‐1/2を計算する減算部と、
前記秘密分散値{si}を用いた秘密計算によって秘密分散値{y}={4s0s1s2}+1/2を計算して出力する第1排他的論理和演算部と、
乱数rの秘密分散値{r}および前記秘密分散値{si}を用いた秘密計算によって秘密分散値{yr}={4rs0s1s2}+{r}/2を計算して出力する第2排他的論理和演算部と、
を有する秘密計算装置。 - 請求項1の秘密計算装置であって、
j=0,1,2であり、当該秘密計算装置は3個の秘密計算装置P0,P1,P2のいずれかの秘密計算装置Pjであり、前記秘密計算装置Pjに対する前記秘密分散値{xi}が{xi}jであり、
乱数w∈{0,1}についてw=w0+w1+w2 mod 2を満たす秘密分散値{w}B j=(wj,w(j+1)mod 3 )を得る乱数取得部をさらに有し、
{xj}j=(wj,0),{x(j+1) mod 3}j=(0,w(j+1) mod 3),{x(j+2) mod 3}j=(0,0)である、秘密計算装置。 - 請求項2の秘密計算装置であって、
前記減算部は、wjおよびw(j+1) mod 3を有限体の元として扱って前記秘密分散値{si}を計算し、
前記秘密分散値{y}は、前記乱数wを前記有限体上で秘密分散した場合に得られる秘密分散値である、秘密計算装置。 - 請求項1から3の何れかの秘密計算装置であって、
前記第1排他的論理和演算部は、秘密分散値{4s0}および秘密分散値{s1}を用いた秘密計算によって秘密分散値{4s0s1}を得、前記秘密分散値{4s0s1}および秘密分散値{s2}を用いた秘密計算によって秘密分散値{4s0s1s2}を得、
前記第2排他的論理和演算部は、秘密分散値{4r}および秘密分散値{s0}を用いた秘密計算によって秘密分散値{4rs0}を得、前記秘密分散値{4rs0}および秘密分散値{s1}を用いた秘密計算によって秘密分散値{4rs0s1}を得、前記秘密分散値{4rs0s1}および秘密分散値{s2}を用いた秘密計算によって秘密分散値{4rs0s1s2}を得る、秘密計算装置。 - 秘密計算装置の秘密計算方法であって、
i=0,1,2であり、
減算部が、xi∈{0,1}の秘密分散値{xi}を用いて秘密分散値{si}={xi}‐1/2を計算する減算ステップと、
第1排他的論理和演算部が、前記秘密分散値{si}を用いた秘密計算によって秘密分散値{y}={4s0s1s2}+1/2を計算して出力する第1排他的論理和演算ステップと、
第2排他的論理和演算部が、乱数rの秘密分散値{r}および前記秘密分散値{si}を用いた秘密計算によって秘密分散値{yr}={4rs0s1s2}+{r}/2を計算して出力する第2排他的論理和演算ステップと、
を有する秘密計算方法。 - 請求項5の秘密計算方法であって、
j=0,1,2であり、前記秘密計算装置は3個の秘密計算装置P0,P1,P2のいずれかの秘密計算装置Pjであり、前記秘密計算装置Pjに対する前記秘密分散値{xi}が{xi}jであり、
乱数取得部が、乱数w∈{0,1}についてw=w0+w1+w2 mod 2を満たす秘密分散値{w}B j=(wj,w(j+1) mod 3 )を得る乱数取得ステップをさらに有し、
{xj}j=(wj,0),{x(j+1) mod 3}j=(0,w(j+1) mod 3),{x(j+2) mod 3}j=(0,0)である、秘密計算方法。 - 請求項1から4のいずれかの秘密計算装置としてコンピュータを機能させるためのプログラム。
- 請求項1から4のいずれかの秘密計算装置としてコンピュータを機能させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018044026 | 2018-03-12 | ||
JP2018044026 | 2018-03-12 | ||
PCT/JP2019/007172 WO2019176520A1 (ja) | 2018-03-12 | 2019-02-26 | 秘密計算装置、秘密計算方法、プログラム、および記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2019176520A1 JPWO2019176520A1 (ja) | 2021-02-12 |
JP6933293B2 true JP6933293B2 (ja) | 2021-09-08 |
Family
ID=67907720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020505736A Active JP6933293B2 (ja) | 2018-03-12 | 2019-02-26 | 秘密計算装置、秘密計算方法、プログラム、および記録媒体 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20210006393A1 (ja) |
EP (1) | EP3767608A4 (ja) |
JP (1) | JP6933293B2 (ja) |
CN (1) | CN111837170A (ja) |
AU (1) | AU2019233029B2 (ja) |
WO (1) | WO2019176520A1 (ja) |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4702777B2 (ja) * | 2005-04-21 | 2011-06-15 | 日本電信電話株式会社 | 秘匿論理計算方法および装置、並びにプログラム |
JP5400705B2 (ja) * | 2010-02-24 | 2014-01-29 | 日本電信電話株式会社 | 秘密計算システム、秘密計算方法、計算装置 |
US9064123B2 (en) * | 2011-03-10 | 2015-06-23 | Nippon Telegraph And Telephone Corporation | Secure product-sum combination system, computing apparatus, secure product-sum combination method and program therefor |
JP6089668B2 (ja) * | 2012-12-13 | 2017-03-08 | 日本電気株式会社 | 暗号化処理回路及び復号処理回路とその方法並びにそのプログラム |
WO2014112548A1 (ja) | 2013-01-17 | 2014-07-24 | 日本電信電話株式会社 | 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム |
US10490107B2 (en) * | 2014-09-19 | 2019-11-26 | Nec Corporation | Secret calculation device, method, recording medium, and secret calculation system |
US10950144B2 (en) * | 2014-12-26 | 2021-03-16 | Nippon Telegraph And Telephone Corporation | Secret falsification detecting system, secret computation apparatus, secret falsification detecting method, and program |
JP5889454B1 (ja) | 2015-02-23 | 2016-03-22 | 日本電信電話株式会社 | 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム |
JP5864004B1 (ja) | 2015-03-18 | 2016-02-17 | 日本電信電話株式会社 | 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム |
JP5872085B1 (ja) | 2015-03-18 | 2016-03-01 | 日本電信電話株式会社 | 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム |
JP5872084B1 (ja) | 2015-03-18 | 2016-03-01 | 日本電信電話株式会社 | 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム |
-
2019
- 2019-02-26 JP JP2020505736A patent/JP6933293B2/ja active Active
- 2019-02-26 AU AU2019233029A patent/AU2019233029B2/en active Active
- 2019-02-26 WO PCT/JP2019/007172 patent/WO2019176520A1/ja active Application Filing
- 2019-02-26 EP EP19766956.7A patent/EP3767608A4/en not_active Withdrawn
- 2019-02-26 US US16/979,352 patent/US20210006393A1/en not_active Abandoned
- 2019-02-26 CN CN201980018482.4A patent/CN111837170A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
JPWO2019176520A1 (ja) | 2021-02-12 |
AU2019233029B2 (en) | 2021-07-22 |
CN111837170A (zh) | 2020-10-27 |
AU2019233029A1 (en) | 2020-10-01 |
EP3767608A1 (en) | 2021-01-20 |
WO2019176520A1 (ja) | 2019-09-19 |
US20210006393A1 (en) | 2021-01-07 |
EP3767608A4 (en) | 2021-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11374735B2 (en) | Processing apparatus, processing method, storage medium, and encryption processing system | |
US10083314B2 (en) | Secret parallel processing device, secret parallel processing method, and program | |
JP6629466B2 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法、プログラム | |
JP6766182B2 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法、プログラム | |
JP6583970B2 (ja) | 秘密乱数合成装置、秘密乱数合成方法、およびプログラム | |
JP6832013B2 (ja) | 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム | |
JP7096610B2 (ja) | 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム | |
WO2016104476A1 (ja) | 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム | |
US10748454B2 (en) | Secret computation apparatus, method for the same, and program | |
US20190229904A1 (en) | Secure computation system, secure computation device, secure computation method, and program | |
JP2016146530A (ja) | 秘密公開方法、秘密公開システム、秘密公開装置、およびプログラム | |
JP6053238B2 (ja) | 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム | |
JP6933290B2 (ja) | 秘密計算装置、秘密計算認証システム、秘密計算方法、およびプログラム | |
JP6933293B2 (ja) | 秘密計算装置、秘密計算方法、プログラム、および記録媒体 | |
WO2018008547A1 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム | |
EP3096308B1 (en) | Element replication device, element replication method, and program | |
WO2013153628A1 (ja) | 演算処理システムおよび演算結果認証方法 | |
Ganesan et al. | Efficient ml models for practical secure inference | |
WO2019009180A1 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法、プログラム、および記録媒体 | |
JP6885467B2 (ja) | シェア生成装置、シェア変換装置、秘密計算システム、シェア生成方法、シェア変換方法、プログラム、および記録媒体 | |
CN116599662A (zh) | 针对弱口令的审计方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200831 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200831 |
|
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: 20210720 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210802 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6933293 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |