JP7331953B2 - 秘密逆数計算システム、秘密正規化システム、それらの方法、秘密計算装置、およびプログラム - Google Patents
秘密逆数計算システム、秘密正規化システム、それらの方法、秘密計算装置、およびプログラム Download PDFInfo
- Publication number
- JP7331953B2 JP7331953B2 JP2021572124A JP2021572124A JP7331953B2 JP 7331953 B2 JP7331953 B2 JP 7331953B2 JP 2021572124 A JP2021572124 A JP 2021572124A JP 2021572124 A JP2021572124 A JP 2021572124A JP 7331953 B2 JP7331953 B2 JP 7331953B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- variance
- variance value
- secret
- normalization
- 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
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
-
- 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/46—Secure multiparty computation, e.g. millionaire problem
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
- Image Processing (AREA)
- Magnetic Resonance Imaging Apparatus (AREA)
- Storage Device Security (AREA)
Description
本発明の実施形態は、値aの分散値[a]を入力とし、値aを秘匿したまま、値aの逆数の分散値[1/a]を計算する秘密逆数計算システムおよび方法である。以下、実施形態の秘密逆数計算システムが実行する逆数プロトコルの概要について説明する。
入力:[x]∈[L, R)
パラメータ:a, b, c, d, f, g, H, i, j, k, l, m, n, o, p, q, α, β, γ, δ, ζ
出力:目的の関数funcに対応する[func(x)]
入力:[x]、乗数m、シフト量σ
出力:シフト後の[mx]
入力:[a]
出力:[b], [c](ただし、bはaの最左ビットを小数点位置λに移動した後、aの最左ビットの1ビット下のビットが0であればさらに1.5を乗じた値(すなわち、小数点位置をλ+1とするとaを[0.75, 1.125)に正規化した値)である。cは、正規化およびその逆演算に用いる2べきの数であり、b=acを満たす。)
入力:[a]
出力:[1/a]
入力:ビット表現された整数{a0}, …, {aλ-1}
出力:aのmsb位置のみ1となるビット列{x0}, …, {xλ-1}
実施形態の秘密逆数計算システム100は、上記の逆数プロトコルを実行する情報処理システムである。秘密逆数計算システム100は、図1に示すように、N(≧3)台の秘密計算装置11, …, 1Nを含む。この実施形態では、秘密計算装置11, …, 1Nはそれぞれ通信網9へ接続される。通信網9は、接続される各装置が相互に通信可能なように構成された回線交換方式もしくはパケット交換方式の通信網であり、例えばインターネットやLAN(Local Area Network)、WAN(Wide Area Network)等を用いることができる。なお、各装置は必ずしも通信網9を介してオンラインで通信可能である必要はない。例えば、秘密計算装置1n(n=1, …, N)へ入力する情報を磁気テープやUSBメモリ等の可搬型記録媒体に記憶し、その可搬型記録媒体から秘密計算装置1nへオフラインで入力するように構成してもよい。
実施形態の秘密逆数計算システム100は、逆数計算のための正規化(アルゴリズム3)と逆数計算(アルゴリズム4)を両方とも実行するように構成した。変形例の秘密正規化システムは、秘密逆数計算システム100のうち逆数計算のための正規化(アルゴリズム3)を行う部分のみを実行するように構成する。すなわち、秘密正規化システムは、値aの分散値[a]を入力とし、値aを[0.75, 1.125)に正規化した値bの分散値[b]と、正規化乗数cの分散値[c]とを出力する。具体的には、変形例の秘密正規化システムに含まれる秘密計算装置1nは、ビット分解部11、フラグ列生成部12、ビット列生成部13、正規化乗数生成部14、および正規化部15を備える。なお、この正規化アルゴリズムは、様々な関数を実行するために用いることが考えられる。そのため、変形例の秘密正規化システムは逆数計算を目的とした構成に限定されない。
上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムを図6に示すコンピュータの記憶部1020に読み込ませ、制御部1010、入力部1030、出力部1040等に動作させることにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
Claims (8)
- 複数の秘密計算装置を含み、値aの分散値[a]を入力とし、値aの逆数の分散値[1/a]を計算する秘密逆数計算システムであって、
λは前記値aの小数点位置であり、
前記秘密計算装置は、
前記分散値[a]から値aのビット表現a0, …, aλ-1の分散値の列{a0}, …, {aλ-1}を生成するビット分解部と、
前記分散値の列{a0}, …, {aλ-1}の最左ビットを表すフラグ列x0, …, xλ-1の分散値の列{x0}, …, {xλ-1}を生成するフラグ列生成部と、
{y0}, {y1}は0の分散値であり、{y2}, …, {yλ-1}は、iを2以上λ未満の各整数として、前記分散値{ai-2}の論理否定と前記分散値{xi-1}との論理積を計算した結果と前記分散値{xi}との排他的論理和を計算した値の分散値であり、{yλ}は前記分散値{aλ-2}の論理否定と前記分散値{xλ-1}との論理積を計算した値の分散値であるビット列y0, …, yλ-1の分散値の列{y0}, …, {yλ-1}を生成するビット列生成部と、
前記分散値の列{y0}, …, {yλ-1}を逆順にビット結合した正規化乗数cの分散値[c]を生成する正規化乗数生成部と、
前記分散値[a]と前記分散値[c]とを乗算した分散値[b]を計算する正規化部と、
前記分散値[b]を用いて、[1/b]を計算した分散値[w]を求める逆数計算部と、
前記分散値[w]と前記分散値[c]とを乗算した前記分散値[1/a]を計算する逆正規化部と、
を含む秘密逆数計算システム。 - 請求項1に記載の秘密逆数計算システムであって、
a, b, c, d, f, g, H, i, j, k, l, m, n, o, p, q, α, β, γ, δ, ζは逆数関数を8次多項式で近似するためのパラメータとし、[x]:=[b]とし、
前記逆数計算部は、
[y']:=[x(δx+a-i)-j]を計算する第一積和部と、
[y]:=[y'+(ix+j)]を計算する第一加算部と、
[z']:=[y(ζy+b-k)+(c-l)x-m]を計算する第二積和部と、
[z]:=[z'+(ky+lx+m)]を計算する第二加算部と、
[w'/γ]:=[z(αz+d-n/γ)+(βx+f-o/γ)y+(g-p)x+(H-q)/γ]を計算する第三積和部と、
[w']:=[w'/γ]*γを計算する公開値乗算部と、
[w]:=[w'+(nz+op+px+q)]を計算する第三加算部と、
を含む秘密逆数計算システム。 - 複数の秘密計算装置を含み、値aの分散値[a]を正規化する秘密正規化システムであって、
λは前記値aの小数点位置であり、
前記秘密計算装置は、
前記分散値[a]から値aのビット表現a0, …, aλ-1の分散値の列{a0}, …, {aλ-1}を生成するビット分解部と、
前記分散値の列{a0}, …, {aλ-1}の最左ビットを表すフラグ列x0, …, xλ-1の分散値の列{x0}, …, {xλ-1}を生成するフラグ列生成部と、
{y0}, {y1}は0の分散値であり、{y2}, …, {yλ-1}は、iを2以上λ未満の各整数として、前記分散値{ai-2}の論理否定と前記分散値{xi-1}との論理積を計算した結果と前記分散値{xi}との排他的論理和を計算した値の分散値であり、{yλ}は前記分散値{aλ-2}の論理否定と前記分散値{xλ-1}との論理積を計算した値の分散値であるビット列y0, …, yλ-1の分散値の列{y0}, …, {yλ-1}を生成するビット列生成部と、
前記分散値の列{y0}, …, {yλ-1}を逆順にビット結合した正規化乗数cの分散値[c]を生成する正規化乗数生成部と、
前記分散値[a]と前記分散値[c]とを乗算した分散値[b]を計算する正規化部と、
を含む秘密正規化システム。 - 複数の秘密計算装置を含み、値aの分散値[a]を入力とし、値aの逆数の分散値[1/a]を計算する秘密逆数計算システムが実行する秘密逆数計算方法であって、
λは前記値aの小数点位置であり、
各秘密計算装置のビット分解部が、前記分散値[a]から値aのビット表現a0, …, aλ-1の分散値の列{a0}, …, {aλ-1}を生成し、
各秘密計算装置のフラグ列生成部が、前記分散値の列{a0}, …, {aλ-1}の最左ビットを表すフラグ列x0, …, xλ-1の分散値の列{x0}, …, {xλ-1}を生成し、
各秘密計算装置のビット列生成部が、{y0}, {y1}は0の分散値であり、{y2}, …, {yλ-1}は、iを2以上λ未満の各整数として、前記分散値{ai-2}の論理否定と前記分散値{xi-1}との論理積を計算した結果と前記分散値{xi}との排他的論理和を計算した値の分散値であり、{yλ}は前記分散値{aλ-2}の論理否定と前記分散値{xλ-1}との論理積を計算した値の分散値であるビット列y0, …, yλ-1の分散値の列{y0}, …, {yλ-1}を生成し、
各秘密計算装置の正規化乗数生成部が、前記分散値の列{y0}, …, {yλ-1}を逆順にビット結合した正規化乗数cの分散値[c]を生成し、
各秘密計算装置の正規化部が、前記分散値[a]と前記分散値[c]とを乗算した分散値[b]を計算し、
各秘密計算装置の逆数計算部が、前記分散値[b]を用いて、[1/b]を計算した分散値[w]を求め、
各秘密計算装置の逆正規化部が、前記分散値[w]と前記分散値[c]とを乗算した前記分散値[1/a]を計算する、
秘密逆数計算方法。 - 複数の秘密計算装置を含み、値aの分散値[a]を正規化する秘密正規化システムが実行する秘密正規化方法であって、
λは前記値aの小数点位置であり、
各秘密計算装置のビット分解部が、前記分散値[a]から値aのビット表現a0, …, aλ-1の分散値の列{a0}, …, {aλ-1}を生成し、
各秘密計算装置のフラグ列生成部が、前記分散値の列{a0}, …, {aλ-1}の最左ビットを表すフラグ列x0, …, xλ-1の分散値の列{x0}, …, {xλ-1}を生成し、
各秘密計算装置のビット列生成部が、{y0}, {y1}は0の分散値であり、{y2}, …, {yλ-1}は、iを2以上λ未満の各整数として、前記分散値{ai-2}の論理否定と前記分散値{xi-1}との論理積を計算した結果と前記分散値{xi}との排他的論理和を計算した値の分散値であり、{yλ}は前記分散値{aλ-2}の論理否定と前記分散値{xλ-1}との論理積を計算した値の分散値であるビット列y0, …, yλ-1の分散値の列{y0}, …, {yλ-1}を生成し、
各秘密計算装置の正規化乗数生成部が、前記分散値の列{y0}, …, {yλ-1}を逆順にビット結合した正規化乗数cの分散値[c]を生成し、
各秘密計算装置の正規化部が、前記分散値[a]と前記分散値[c]とを乗算した分散値[b]を計算する、
秘密正規化方法。 - 請求項1または2の秘密逆数計算システムにおいて用いられる前記秘密計算装置。
- 請求項6に記載の秘密計算装置としてコンピュータを機能させるためのプログラム。
- 請求項3の秘密正規化システムにおいて用いられる前記秘密計算装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/001678 WO2021149102A1 (ja) | 2020-01-20 | 2020-01-20 | 秘密逆数計算システム、秘密正規化システム、それらの方法、秘密計算装置、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2021149102A1 JPWO2021149102A1 (ja) | 2021-07-29 |
JP7331953B2 true JP7331953B2 (ja) | 2023-08-23 |
Family
ID=76992093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021572124A Active JP7331953B2 (ja) | 2020-01-20 | 2020-01-20 | 秘密逆数計算システム、秘密正規化システム、それらの方法、秘密計算装置、およびプログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230344630A1 (ja) |
EP (1) | EP4095831A4 (ja) |
JP (1) | JP7331953B2 (ja) |
CN (1) | CN114945965A (ja) |
AU (1) | AU2020424313B2 (ja) |
WO (1) | WO2021149102A1 (ja) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6629466B2 (ja) * | 2017-01-20 | 2020-01-15 | 日本電信電話株式会社 | 秘密計算システム、秘密計算装置、秘密計算方法、プログラム |
-
2020
- 2020-01-20 CN CN202080093404.3A patent/CN114945965A/zh active Pending
- 2020-01-20 WO PCT/JP2020/001678 patent/WO2021149102A1/ja unknown
- 2020-01-20 EP EP20915961.5A patent/EP4095831A4/en active Pending
- 2020-01-20 AU AU2020424313A patent/AU2020424313B2/en active Active
- 2020-01-20 US US17/790,143 patent/US20230344630A1/en active Pending
- 2020-01-20 JP JP2021572124A patent/JP7331953B2/ja active Active
Non-Patent Citations (1)
Title |
---|
五十嵐大,秘密計算AIの実装に向けた秘密実数演算群の設計と実装-O(|p|)ビット通信量O(1)ラウンドの実数向け右シフト,コンピュータセキュリティシンポジウム2019論文集,2019年10月14日,pp.1557-1564 |
Also Published As
Publication number | Publication date |
---|---|
AU2020424313A1 (en) | 2022-07-14 |
US20230344630A1 (en) | 2023-10-26 |
JPWO2021149102A1 (ja) | 2021-07-29 |
WO2021149102A1 (ja) | 2021-07-29 |
EP4095831A4 (en) | 2023-10-18 |
CN114945965A (zh) | 2022-08-26 |
AU2020424313B2 (en) | 2023-04-27 |
EP4095831A1 (en) | 2022-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3866142B1 (en) | Secure right shift computation system, secure division system, methods therefor, secure computation apparatus, and program | |
WO2020071441A1 (ja) | 秘密シグモイド関数計算システム、秘密ロジスティック回帰計算システム、秘密シグモイド関数計算装置、秘密ロジスティック回帰計算装置、秘密シグモイド関数計算方法、秘密ロジスティック回帰計算方法、プログラム | |
JPWO2018135563A1 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法、プログラム | |
JP7331953B2 (ja) | 秘密逆数計算システム、秘密正規化システム、それらの方法、秘密計算装置、およびプログラム | |
JP7331951B2 (ja) | 秘密平方根計算システム、秘密正規化システム、それらの方法、秘密計算装置、およびプログラム | |
JP7331952B2 (ja) | 秘密平方根逆数計算システム、秘密正規化システム、それらの方法、秘密計算装置、およびプログラム | |
JP7351353B2 (ja) | 秘密指数関数計算システム、秘密指数関数計算方法、秘密計算装置、およびプログラム | |
JP7405156B2 (ja) | 秘密選択積計算システム、秘密選択積計算方法、秘密計算装置、およびプログラム | |
JP7173328B2 (ja) | 秘密除算システム、秘密計算装置、秘密除算方法、およびプログラム | |
JP7290177B2 (ja) | 秘密計算装置、秘密計算方法、およびプログラム | |
JP7290178B2 (ja) | 秘密計算装置、秘密計算方法、およびプログラム |
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: 20230620 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230627 |
|
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: 20230711 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230724 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7331953 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |