WO2021149101A1 - 秘密選択積計算システム、秘密選択積計算方法、秘密計算装置、およびプログラム - Google Patents

秘密選択積計算システム、秘密選択積計算方法、秘密計算装置、およびプログラム Download PDF

Info

Publication number
WO2021149101A1
WO2021149101A1 PCT/JP2020/001677 JP2020001677W WO2021149101A1 WO 2021149101 A1 WO2021149101 A1 WO 2021149101A1 JP 2020001677 W JP2020001677 W JP 2020001677W WO 2021149101 A1 WO2021149101 A1 WO 2021149101A1
Authority
WO
WIPO (PCT)
Prior art keywords
secret
value
variance
selective
values
Prior art date
Application number
PCT/JP2020/001677
Other languages
English (en)
French (fr)
Inventor
大 五十嵐
Original Assignee
日本電信電話株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to JP2021572123A priority Critical patent/JP7405156B2/ja
Priority to CN202080093590.0A priority patent/CN114981864A/zh
Priority to US17/791,228 priority patent/US20230036496A1/en
Priority to EP20916206.4A priority patent/EP4095834A4/en
Priority to AU2020423805A priority patent/AU2020423805B2/en
Priority to PCT/JP2020/001677 priority patent/WO2021149101A1/ja
Publication of WO2021149101A1 publication Critical patent/WO2021149101A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods 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/72Methods 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/10Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols with particular housing, physical features or manual controls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Definitions

  • the present invention relates to a technique for calculating a selective product in secret calculation.
  • Secret calculation is a cryptographic technology that calculates an arbitrary function while keeping data secret. Taking advantage of this feature, it is expected to be a form of data utilization that does not leak data to both system operators and data users.
  • secret calculation There are several methods for secret calculation, and it is known that the one that uses secret sharing as a component has a small data processing unit and can perform high-speed processing.
  • Secret sharing is a method of converting confidential information into several fragments called shares. For example, n shares can be generated from secret information, and secrets can be restored from k or more shares, but secret information is not leaked from shares less than k (k, n). A secret called the threshold method. There is dispersion. Shamir secret sharing, duplicate secret sharing, and the like are known as specific methods for configuring secret sharing. In the present specification, one fragment of the value distributed by secret sharing is referred to as "share”. Also, the entire set of all shares is called the "variance value”.
  • Non-Patent Document 1 discloses a method of calculating an exponential function in secret calculation, in which calculation of a selective product is used.
  • Non-Patent Document 1 has a problem that the calculation cost is high.
  • An object of the present invention is to provide a secret calculation technique capable of calculating a selective product at high speed in view of the above technical problems.
  • the secret selective product calculation system of one aspect of the present invention includes a plurality of secret calculation devices, and is a sequence of distributed values of n conditions c 0 ,..., c n-1 [c. 0 ],..., [c n-1 ] and a binary table that corresponds two multipliers to each condition m 0,0 , m 0,1 ,..., m n-1,0 , m n-1, It is a secret selective product calculation system that outputs the distribution value [A] of the total product of the multipliers selected according to the conditions with 1 as an input, and the secret calculation device distributes each even i of 0 or more and less than n.
  • the selective product can be calculated at high speed in the secret calculation.
  • FIG. 1 is a diagram illustrating a functional configuration of a secret selective product calculation system.
  • FIG. 2 is a diagram illustrating the functional configuration of the secret calculation device.
  • FIG. 3 is a diagram illustrating a processing procedure of the secret selective product calculation method.
  • FIG. 4 is a diagram illustrating a functional configuration of a computer.
  • [ ⁇ ] is the data that hides the numerical value.
  • distributed values such as Shamir secret sharing and duplicate secret sharing can be used.
  • the public decimal point position for an integer on the ring By setting the public decimal point position for an integer on the ring, it can be regarded as a fixed-point real number.
  • the fixed-point real number represented on the ring in this way is simply referred to as a real number.
  • n 2 be the largest even number less than or equal to n.
  • [a i ]: [c i c i + 1 ] (m 00 + m 11 -m 01 -m 10 ) + [c i ] (m i + 1,0 -m i, 0 ) + [c i + 1 ] (m i, 1 -m i, 0 ) + m i, 0 is calculated.
  • n is an odd number, the remaining m n-1,0 and m n-1,1 are selected by [c n-1 ] and multiplied by [A] to output.
  • the selective public multiplication executed in step 7 of the algorithm 1 can be efficiently performed by using, for example, the following algorithm 2.
  • the public value multiplication executed in step 1 of the algorithm 2 can be efficiently performed, for example, by combining the following two algorithms.
  • the quotient obtained in step 1 of Algorithm 4 can be efficiently obtained by quotient transfer (see Reference 1).
  • Algorithm 1 results in n / 2 integer multiplications and (n / 2) -1 real multiplications, which is approximately right-shifted n / 2 times more efficient. Further, in the algorithm 1, when n is an odd number, the algorithm 2 is used, and the fractions that cannot be combined with the quaternary table are also efficient.
  • the multiplication by the selective public multiplier executed in step 4 of the algorithm 3 can be efficiently performed by using the algorithm 1.
  • the secret selective product calculation system 100 of the embodiment is an information processing system that executes the above-mentioned binary public table reference.
  • the secret selective product calculation system 100 includes N ( ⁇ 3) secret calculation devices 1 1 , ..., 1 N.
  • the secret computing devices 1 1 , ..., 1 N are connected to the communication network 9, respectively.
  • the communication network 9 is a circuit-switched or packet-switched communication network configured so that each connected device can communicate with each other.
  • the Internet LAN (Local Area Network), WAN (Wide Area Network). Etc. can be used. It should be noted that each device does not necessarily have to be able to communicate online via the communication network 9.
  • the secret calculation device 1 n included in the secret selective product calculation system 100 of the embodiment includes a condition integration unit 11, a table conversion unit 12, a public value multiplication unit 13, a real number multiplication unit 14, and a real number multiplication unit 14.
  • a selective multiplication unit 15 is provided.
  • the secret computing device 1 n is configured by loading a special program into a known or dedicated computer having, for example, a central processing unit (CPU), a main storage device (RAM: Random Access Memory), or the like. It is a special device.
  • the secret calculation device 1 n executes each process under the control of the central processing unit, for example.
  • the data input to the secret computing device 1 n and the data obtained by each process are stored in, for example, the main storage device, and the data stored in the main storage device is read out to the central arithmetic processing unit as needed. It is used for other processing.
  • At least a part of each processing unit of the secret calculation device 1 n may be configured by hardware such as an integrated circuit.
  • Each storage unit included in the secret computing device 1 n is, for example, a main storage device such as RAM (Random Access Memory), an auxiliary storage device composed of a hard disk, an optical disk, or a semiconductor memory element such as a flash memory. Alternatively, it can be configured by middleware such as a relational database or a key value store.
  • a main storage device such as RAM (Random Access Memory)
  • auxiliary storage device composed of a hard disk, an optical disk, or a semiconductor memory element such as a flash memory.
  • middleware such as a relational database or a key value store.
  • n 2 is the maximum even number of n or less.
  • steps S11 to S13 are executed for each even number i of 0 or more and n 2 -2 or less.
  • step S11 the condition integration unit 11 of the secure computing apparatus 1 n, the condition c variance of i [c i] the condition c i + 1 of the variance [c i + 1] and multiplied by the integration condition c i variance value of c i + 1 to calculate the [c i c i + 1] .
  • the condition integration unit 11 outputs the variance value [c i c i + 1 ] to the public value multiplication unit 13.
  • Table conversion unit 12 the table m of 4 values '00, m' 01, m '10, m' 11 and outputs to the public value multiplying unit 13.
  • Calculate (m i + 1,0 -m i, 0 ) + [c i + 1 ] (m i, 1 -m i, 0 ) + m i, 0.
  • the public value multiplication unit 13 outputs the variance value [a i ] to the real number multiplication unit 14.
  • step S14 the real multiplication unit 14 of the secure computing apparatus 1 n calculates a dispersion value dispersion value of [a i] multiplied all the values A [A]. That is, the following equation is calculated. Since multiplication is a real number multiplication, it is necessary to perform a right shift at the end, but if n is an odd number, the right shift is not performed here.
  • the program that describes this processing content can be recorded on a computer-readable recording medium.
  • the computer-readable recording medium may be, for example, a magnetic recording device, an optical disk, a photomagnetic recording medium, a semiconductor memory, or the like.
  • the distribution of this program is carried out, for example, by selling, transferring, or renting a portable recording medium such as a DVD or CD-ROM on which the program is recorded.
  • the program may be stored in the storage device of the server computer, and the program may be distributed by transferring the program from the server computer to another computer via a network.
  • a computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. Then, when the process is executed, the computer reads the program stored in its own storage device and executes the process according to the read program. Further, as another execution form of this program, a computer may read the program directly from a portable recording medium and execute processing according to the program, and further, the program is transferred from the server computer to this computer. Each time, the processing according to the received program may be executed sequentially. In addition, the above processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition without transferring the program from the server computer to this computer. May be.
  • the program in this embodiment includes information to be used for processing by a computer and equivalent to the program (data that is not a direct command to the computer but has a property of defining the processing of the computer, etc.).
  • the present device is configured by executing a predetermined program on the computer, but at least a part of these processing contents may be realized by hardware.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Hardware Redundancy (AREA)
  • Superconductor Devices And Manufacturing Methods Thereof (AREA)

Abstract

秘密計算において選択積を高速に計算する。秘密選択積計算システム(100)は条件[c0], …, [cn-1]と2値の表m0,0, m0,1, …, mn-1,0, mn-1, 1とを入力とし、条件に応じて選択した乗数の総積[A]を出力する。条件統合部(11)は[cici+1]を計算する。表変換部(12)はm'00:=mi,0mi+1,0、m'01:=mi,0mi+1,1、m'10:=mi,1mi+1,0、m'11:=mi,1mi+1,1からなる4値の表m'00, m'01, m'10, m'11を生成する。公開値乗算部(13)は[ai]:=[cici+1](m00+m11-m01-m10)+[ci](mi+1,0-mi,0)+[ci+1](mi,1-mi,0)+mi,0を計算する。実数乗算部(14)は[ai]をすべて乗じた値[A]を計算する。選択乗算部(15)は、nが奇数のとき、cn-1に応じてmn-1,0, mn-1,1から選択した乗数を[A]に乗じる。

Description

秘密選択積計算システム、秘密選択積計算方法、秘密計算装置、およびプログラム
 本発明は、秘密計算において選択積を計算する技術に関する。
 秘密計算とは、データを秘匿したまま任意の関数を計算する暗号技術である。この特徴を活かして、システム運用者にもデータ利用者にもデータを漏らさないデータ利活用の形態が期待されている。秘密計算にはいくつかの方式が存在し、その中でも秘密分散を構成要素にするものは、データの処理単位が小さく、高速な処理が可能であることが知られている。
 秘密分散とは、秘密情報をシェアと呼ばれるいくつかの断片に変換する方法である。例えば、秘密の情報からn個のシェアを生成し、k個以上のシェアからは秘密が復元できるが、k個未満のシェアからは秘密の情報が漏れない(k, n)閾値法と呼ばれる秘密分散がある。秘密分散の具体的な構成方法は、Shamir秘密分散や複製秘密分散等が知られている。本明細書では、秘密分散により分散された値の1個の断片を「シェア」と呼ぶ。また、すべてのシェアの集合全体を「分散値」と呼ぶ。
 近年、秘密計算による高度な統計や機械学習の研究が盛んに行われている。しかしながら、これらの演算のほとんどは秘密計算の得意な加減乗算を超える、逆数、平方根、指数、対数等の計算を含んでいる。選択積は、公開値からなる2値の表から値を参照し選択する操作を複数回行い、参照結果を乗ずる計算である。選択積は、秘密計算で指数関数を計算するとき等に用いられる。非特許文献1には、秘密計算において指数関数を計算する方法が開示されており、この中で選択積の計算が用いられている。
 しかしながら、非特許文献1に開示された方法は、計算コストが大きい、という課題がある。
 この発明の目的は、上記のような技術的課題に鑑みて、選択積を高速に計算することができる秘密計算技術を提供することである。
 上記の課題を解決するために、本発明の一態様の秘密選択積計算システムは、複数の秘密計算装置を含み、n個の条件c0, …, cn-1の分散値の列[c0], …, [cn-1]と条件それぞれに2個の乗数を対応させる2値の表m0,0, m0,1, …, mn-1,0, mn-1, 1とを入力とし、条件に応じて選択した乗数の総積の分散値[A]を出力する秘密選択積計算システムであって、秘密計算装置は、0以上n未満の各偶数iについて、分散値[ci]と分散値[ci+1]とを乗じた分散値[cici+1]を計算する条件統合部と、0以上n未満の各偶数iについて、m'00:=mi,0mi+1,0、m'01:=mi,0mi+1,1、m'10:=mi,1mi+1,0、m'11:=mi,1mi+1,1からなる4値の表m'00, m'01, m'10, m'11を生成する表変換部と、0以上n未満の各偶数iについて、[cici+1](m00+m11-m01-m10)+[ci](mi+1,0-mi,0)+[ci+1](mi,1-mi,0)+mi,0を計算した値aiの分散値[ai]を生成する公開値乗算部と、分散値[ai]をすべて乗じた値Aの分散値[A]を計算する実数乗算部と、nが奇数のとき、条件cn-1に応じて乗数mn-1,1, mn-1,0から選択した乗数を分散値[A]に乗じる選択乗算部と、を含む。
 この発明によれば、秘密計算において選択積を高速に計算することができる。
図1は秘密選択積計算システムの機能構成を例示する図である。 図2は秘密計算装置の機能構成を例示する図である。 図3は秘密選択積計算方法の処理手順を例示する図である。 図4はコンピュータの機能構成を例示する図である。
 以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
 本明細書では、以下の記法を用いる。
 [・]は数値・を秘匿したデータである。例えば、Shamir秘密分散、複製秘密分散等の分散値を用いることができる。
 [a?b:c]はa=1ならばb、a=0ならばcを表す。
Figure JPOXMLDOC01-appb-M000001
はそれぞれ論理否定(NOT)、論理積(AND)、論理和(OR)、排他的論理和(XOR)を表す。
 環上の整数に公開の小数点位置を定めることで固定小数点の実数と見なすことができる。本発明ではこのようにして環上で表した固定小数点の実数を単に実数と表記する。
 [実施形態:秘密選択積計算システム]
 本発明の実施形態は、n個の条件の分散値の列と、各条件に対応する2個の公開値からなる2値の表とを入力とし、各条件に応じて2値の表を参照し、すべての参照結果を乗じた値の分散値を出力する秘密選択積計算システムおよび方法である。以下、実施形態の秘密選択積計算システムが実行する選択的公開乗算プロトコルの概要について説明する。
 指数関数の計算等では、公開値からなる2値の表から秘密の真理値により値を参照し選択するという操作を複数行い、それぞれの参照結果を乗ずるという処理を行う。以下、この処理を「2値の公開表参照のべき」と呼ぶ。このような場合、2値の表2個を結合して4値の表を参照する方が効率的である。2値の表2個を結合して4値の表とするのは公開値の計算であるため高精度に処理できる。この手法であれば秘密計算で実数乗算する回数が減るため精度面でも有利である。本発明で実行する2値の公開表参照のべきアルゴリズムを以下に示す。
 〔アルゴリズム1:2値の公開表参照のべき〕
 入力:乗数m0,0, m0,1, …, mn-1,0, mn-1,1、条件[c0], …, [cn-1]
 出力:
Figure JPOXMLDOC01-appb-M000002
 1:n2をn以下の最大の偶数とする。
 2:for each i∈{0, 2, …, n2-2}
 3:    [cici+1]を計算する。
 4:    m'00:=mi,0mi+1,0、m'01:=mi,0mi+1,1、m'10:=mi,1mi+1,0、m'11:=mi,1mi+1,1とおく。
 5:    [ai]:=[cici+1](m00+m11-m01-m10)+[ci](mi+1,0-mi,0)+[ci+1](mi,1-mi,0)+mi,0を計算する。
 6:実数乗算で次式を計算する。ただしnが奇数なら最後の右シフトは行わない。
Figure JPOXMLDOC01-appb-M000003
 7:nが奇数なら、残ったmn-1,0, mn-1,1を[cn-1]により選択して[A]に乗じて出力する。
 アルゴリズム1のステップ7で実行する選択的公開乗算は、例えば、以下のアルゴリズム2を用いることで、効率的に行うことができる。
 〔アルゴリズム2:要右シフト値への選択的公開乗数による乗算〕
 入力:[a]、乗数m0, m1、条件[c]
 出力:[m1a] if c=1, [m0a] if c=0
 1:[m1a], [m0a]を計算する。
 2:if-then-elseゲートにより、[c?m1a:m0a]を出力する。
 アルゴリズム2のステップ1で実行する公開値乗算は、例えば、以下の2つのアルゴリズムを組み合わせることで、効率的に行うことができる。
 〔アルゴリズム3:右シフトから処理コスト増大無しで同時に公開値乗算〕
 入力:[x]、乗数m、シフト量σ
 出力:シフト後の[mx]
 1:公開値2σ/mを計算する。
 2:公開値除算により次式を計算する。ただし、[mx]は[x]より小数点位置がσ低くなった表現とみなす。
Figure JPOXMLDOC01-appb-M000004
 〔アルゴリズム4:複数除数での右シフト/除数公開除算〕
 入力:[a]、除数d0, d1, …, dn-1
 出力:[a/d0], [a/d1], …, [a/dn-1]
 1:[a]の商[q]を求める。
 2:商[q]を用いて、右シフト/除数公開除算で各iに対する[a/di]を計算し出力する。
 アルゴリズム4のステップ1で求める商は、商転移により効率的に求めることができる(参考文献1参照)。
 ≪参考文献1≫Ryo Kikuchi, Dai Ikarashi, Takahiro Matsuda, Koki Hamada, and Koji Chida, "Efficient bit-decomposition and modulus-conversion protocols with an honest majority," Proceedings of Information Security and Privacy - 23rd Australasian Conference (ACISP 2018), pp. 64-82, July 11-13, 2018.
 単純に2値の表から選択して乗ずる場合、2公開値の選択はオフラインであるため、(n-1)回の実数乗算となる。アルゴリズム1ではn/2回の整数乗算と(n/2)-1回の実数乗算となり、およそ右シフトn/2回分効率的となる。さらに、アルゴリズム1では、nが奇数のときはアルゴリズム2を用い、4値の表に結合できない端数分も効率的としている。
 参考として、アルゴリズム1を用いて秘密計算上の指数関数を計算するアルゴリズムを以下に示す。
 〔アルゴリズム5:指数関数プロトコル〕
 入力:[a]
 出力:[exp(a)]
 パラメータ:t:=-1
 1:[a']:=[a]-μを計算する。
 2:小数点以下tビットより上位のビットをビット分解で取り出し、mod p変換し、[a'0], …, [a'u-1]を得る。
 3:各0≦i<uで、fi, εiをそれぞれexp(2i-t)の仮数部、指数部とする。
 4:[a'0], …, [a'u-1]を条件、1, f0, 1, f1, …, 1, fu-1を選択肢として、2値の公開表参照のべきにより積[f']を得る。
 5:各0≦i<uで、選択肢公開のif-then-elseゲートにより次式を計算する。
Figure JPOXMLDOC01-appb-M000005
 6:各iに関する[ε'i]の積[ε']を計算する。これは上位ビット部分の指数部の2べきである。
 7:次式を計算する。これは下位ビット部分の表す数である。
Figure JPOXMLDOC01-appb-M000006
 8:[a'ρ]に対して指数関数[exp(a'ρ)]を計算する。結果を[w]とする。
 9:[w][f'][ε']exp(μ)を計算して出力する。
 アルゴリズム3のステップ4で実行する選択的公開乗数による乗算は、アルゴリズム1を用いることで、効率的に行うことができる。
 <秘密選択積計算システム100>
 実施形態の秘密選択積計算システム100は、上記の2値の公開表参照のべきを実行する情報処理システムである。秘密選択積計算システム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に含まれる秘密計算装置1nは、例えば、図2に示すように、条件統合部11、表変換部12、公開値乗算部13、実数乗算部14、および選択乗算部15を備える。この秘密計算装置1nが他の秘密計算装置1n'(n'=1, …, N、ただしn≠n')と協調しながら後述する各ステップの処理を行うことにより実施形態の秘密選択積計算方法が実現される。
 秘密計算装置1nは、例えば、中央演算処理装置(CPU: Central Processing Unit)、主記憶装置(RAM: Random Access Memory)等を有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。秘密計算装置1nは、例えば、中央演算処理装置の制御のもとで各処理を実行する。秘密計算装置1nに入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて中央演算処理装置へ読み出されて他の処理に利用される。秘密計算装置1nの各処理部は、少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。秘密計算装置1nが備える各記憶部は、例えば、RAM(Random Access Memory)等の主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストア等のミドルウェアにより構成することができる。
 図3を参照して、実施形態の秘密選択積計算システム100が実行する秘密選択積計算方法の処理手続きを説明する。
 以下では、n2をn以下の最大の偶数とする。0以上n2-2以下の各偶数iについて、以下のステップS11~S13を実行する。
 ステップS11において、各秘密計算装置1nの条件統合部11は、条件ciの分散値[ci]と条件ci+1の分散値[ci+1]とを乗じた統合条件cici+1の分散値[cici+1]を計算する。条件統合部11は、分散値[cici+1]を公開値乗算部13へ出力する。
 ステップS12において、各秘密計算装置1nの表変換部12は、m'00:=mi,0mi+1,0、m'01:=mi,0mi+1,1、m'10:=mi,1mi+1,0、m'11:=mi,1mi+1,1からなる4値の表m'00, m'01, m'10, m'11を生成する。表変換部12は、4値の表m'00, m'01, m'10, m'11を公開値乗算部13へ出力する。
 ステップS13において、各秘密計算装置1nの公開値乗算部13は、[ai]:=[cici+1](m00+m11-m01-m10)+[ci](mi+1,0-mi,0)+[ci+1](mi,1-mi,0)+mi,0を計算する。公開値乗算部13は、分散値[ai]を実数乗算部14へ出力する。
 ステップS14において、各秘密計算装置1nの実数乗算部14は、分散値[ai]をすべて乗じた値Aの分散値[A]を計算する。すなわち、次式を計算する。乗算は実数乗算となるため最後に右シフトを行う必要があるが、nが奇数の場合ここでは右シフトを行わない。
Figure JPOXMLDOC01-appb-M000007
 ステップS15において、各秘密計算装置1nの選択乗算部15は、nが奇数のとき、cn-1=1ならmn-1,1を選択し、cn-1=0ならmn-1,0を選択し、値Aの分散値[A]に乗じて出力する。すなわち、[A][cn-1?mn-1,1:mn-1,0]を計算する。
 以上、この発明の実施の形態について説明したが、具体的な構成は、これらの実施の形態に限られるものではなく、この発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、この発明に含まれることはいうまでもない。実施の形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
 [プログラム、記録媒体]
 上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムを図4に示すコンピュータの記憶部1020に読み込ませ、制御部1010、入力部1030、出力部1040等に動作させることにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
 この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
 また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
 このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
 また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (4)

  1.  複数の秘密計算装置を含み、n個の条件c0, …, cn-1の分散値の列[c0], …, [cn-1]と前記条件それぞれに2個の乗数を対応させる2値の表m0,0, m0,1, …, mn-1,0, mn-1, 1とを入力とし、前記条件に応じて選択した前記乗数の総積の分散値[A]を出力する秘密選択積計算システムであって、
     前記秘密計算装置は、
     0以上n未満の各偶数iについて、前記分散値[ci]と前記分散値[ci+1]とを乗じた分散値[cici+1]を計算する条件統合部と、
     0以上n未満の各偶数iについて、m'00:=mi,0mi+1,0、m'01:=mi,0mi+1,1、m'10:=mi,1mi+1,0、m'11:=mi,1mi+1,1からなる4値の表m'00, m'01, m'10, m'11を生成する表変換部と、
     0以上n未満の各偶数iについて、[cici+1](m00+m11-m01-m10)+[ci](mi+1,0-mi,0)+[ci+1](mi,1-mi,0)+mi,0を計算した値aiの分散値[ai]を生成する公開値乗算部と、
      前記分散値[ai]をすべて乗じた値Aの分散値[A]を計算する実数乗算部と、
     nが奇数のとき、前記条件cn-1に応じて乗数mn-1,1, mn-1,0から選択した乗数を前記分散値[A]に乗じる選択乗算部と、
      を含む秘密選択積計算システム。
  2.  複数の秘密計算装置を含み、n個の条件c0, …, cn-1の分散値の列[c0], …, [cn-1]と前記条件それぞれに2個の乗数を対応させる2値の表m0,0, m0,1, …, mn-1,0, mn-1, 1とを入力とし、前記条件に応じて選択した前記乗数の総積の分散値[A]を出力する秘密選択積計算システムが実行する秘密選択積計算方法であって、
     各秘密計算装置の条件統合部が、0以上n未満の各偶数iについて、前記分散値[ci]と前記分散値[ci+1]とを乗じた分散値[cici+1]を計算し、
     表変換部が、0以上n未満の各偶数iについて、m'00:=mi,0mi+1,0、m'01:=mi,0mi+1,1、m'10:=mi,1mi+1,0、m'11:=mi,1mi+1,1からなる4値の表m'00, m'01, m'10, m'11を生成し、
     公開値乗算部が、0以上n未満の各偶数iについて、[cici+1](m00+m11-m01-m10)+[ci](mi+1,0-mi,0)+[ci+1](mi,1-mi,0)+mi,0を計算した値aiの分散値[ai]を生成し、
      実数乗算部が、前記分散値[ai]をすべて乗じた値Aの分散値[A]を計算し、
     選択乗算部が、nが奇数のとき、前記条件cn-1に応じて乗数mn-1,1, mn-1,0から選択した乗数を前記分散値[A]に乗じる、
      秘密選択積計算方法。
  3.  請求項1の秘密選択積計算システムにおいて用いられる前記秘密計算装置。
  4.  請求項3に記載の秘密計算装置としてコンピュータを機能させるためのプログラム。
PCT/JP2020/001677 2020-01-20 2020-01-20 秘密選択積計算システム、秘密選択積計算方法、秘密計算装置、およびプログラム WO2021149101A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2021572123A JP7405156B2 (ja) 2020-01-20 2020-01-20 秘密選択積計算システム、秘密選択積計算方法、秘密計算装置、およびプログラム
CN202080093590.0A CN114981864A (zh) 2020-01-20 2020-01-20 秘密选择积计算系统、秘密选择积计算方法、秘密计算装置以及程序
US17/791,228 US20230036496A1 (en) 2020-01-20 2020-01-20 Secure selective product computation system, secure selective product computation method, secure computation apparatus, and program
EP20916206.4A EP4095834A4 (en) 2020-01-20 2020-01-20 SECURE SELECTIVE PRODUCT CALCULATION SYSTEM, SECURE SELECTIVE PRODUCT CALCULATION METHOD, SECURE CALCULATION DEVICE AND PROGRAM
AU2020423805A AU2020423805B2 (en) 2020-01-20 2020-01-20 Secure selective product computation system, secure selective product computation method, secure computation apparatus, and program
PCT/JP2020/001677 WO2021149101A1 (ja) 2020-01-20 2020-01-20 秘密選択積計算システム、秘密選択積計算方法、秘密計算装置、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/001677 WO2021149101A1 (ja) 2020-01-20 2020-01-20 秘密選択積計算システム、秘密選択積計算方法、秘密計算装置、およびプログラム

Publications (1)

Publication Number Publication Date
WO2021149101A1 true WO2021149101A1 (ja) 2021-07-29

Family

ID=76992090

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/001677 WO2021149101A1 (ja) 2020-01-20 2020-01-20 秘密選択積計算システム、秘密選択積計算方法、秘密計算装置、およびプログラム

Country Status (6)

Country Link
US (1) US20230036496A1 (ja)
EP (1) EP4095834A4 (ja)
JP (1) JP7405156B2 (ja)
CN (1) CN114981864A (ja)
AU (1) AU2020423805B2 (ja)
WO (1) WO2021149101A1 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1596529B1 (en) * 2004-04-30 2007-12-05 Research In Motion Limited Cryptographic device authentication
CN101099327B (zh) * 2004-11-11 2011-08-24 塞尔蒂卡姆公司 用于通用密钥导出函数支持的安全接口
CN101729554B (zh) * 2008-11-27 2013-05-29 北京大学 一种分布式计算中基于密码学的除法协议构造方法
EP2423904B1 (en) * 2009-04-24 2015-01-07 Nippon Telegraph And Telephone Corporation Secret sharing system, sharing apparatus, share management apparatus, acquisition apparatus, processing methods therefore, secret sharing method, program, and recording medium
JP6016948B2 (ja) * 2013-01-17 2016-10-26 日本電信電話株式会社 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム
JP6060800B2 (ja) * 2013-04-25 2017-01-18 株式会社Jvcケンウッド 情報選択装置、情報選択方法、および情報選択プログラム
JP5957126B1 (ja) * 2015-06-24 2016-07-27 日本電信電話株式会社 秘密計算装置、秘密計算方法、およびプログラム

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
IGARASHI, DAI: "Secure Elementary Functions Exceeded M op/s", 2020 SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY; JANUARY 28-31, 2020, 21 January 2020 (2020-01-21), JP, pages 1 - 8, XP009530137 *
MISHINA, IBUKI ET AL.: "Can the Logistic Regression in Secure Computation Really be Used?", PREPRINTS OF THE 2019 SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY; JANUARY 22-25, 2019, January 2019 (2019-01-01), JP, pages 1 - 8, XP009530138 *
OHATA, SATSUYA: "3F1-5: Reconsidering privacy-preserving deep neural networks", PREPRINTS OF THE 2018 SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY (SCIS2018); 23-26/01/2018, 23 January 2018 (2018-01-23), JP, pages 1 - 8, XP009530172 *
RADU SION: "Financial Cryptography and Data Security", vol. 6052, 25 January 2010, SPRINGER BERLIN HEIDELBERG, Berlin, Heidelberg, ISBN: 978-3-642-14576-6, article OCTAVIAN CATRINA ; AMITABH SAXENA: "Secure Computation with Fixed-Point Numbers", pages: 35 - 50, XP019147523 *
RYO KIKUCHIDAI IKARASHITAKAHIRO MATSUDAKOKI HAMADAKOJI CHIDA: "Efficient bit-decomposition and modulus-conversion protocols with an honest majority", PROCEEDINGS OF INFORMATION SECURITY AND PRIVACY - 23RD AUSTRALASIAN CONFERENCE, 11 July 2018 (2018-07-11), pages 64 - 82, XP055932868, DOI: 10.1007/978-3-319-93638-3_5
See also references of EP4095834A4

Also Published As

Publication number Publication date
CN114981864A (zh) 2022-08-30
EP4095834A4 (en) 2023-10-25
JPWO2021149101A1 (ja) 2021-07-29
AU2020423805B2 (en) 2023-04-06
AU2020423805A1 (en) 2022-07-14
US20230036496A1 (en) 2023-02-02
JP7405156B2 (ja) 2023-12-26
EP4095834A1 (en) 2022-11-30

Similar Documents

Publication Publication Date Title
Alabdulatif et al. Towards secure big data analytic for cloud-enabled applications with fully homomorphic encryption
JP7067633B2 (ja) 秘密右シフト演算システム、秘密除算システム、それらの方法、秘密計算装置、およびプログラム
CN110199338B (zh) 秘密计算系统、秘密计算装置、秘密计算方法、记录介质
JP6766182B2 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、プログラム
EP4016506B1 (en) Softmax function secret calculation system, softmax function secret calculation device, softmax function secret calculation method, neural network secret calculation system, neural network secret learning system, and program
JP7327511B2 (ja) 秘密乱数生成システム、秘密計算装置、秘密乱数生成方法、およびプログラム
Hu et al. Securing fast learning! ridge regression over encrypted big data
WO2021149101A1 (ja) 秘密選択積計算システム、秘密選択積計算方法、秘密計算装置、およびプログラム
JP7540501B2 (ja) 秘匿msb正規化システム、分散処理装置、秘匿msb正規化方法、およびプログラム
WO2021149098A1 (ja) 秘密平方根計算システム、秘密正規化システム、それらの方法、秘密計算装置、およびプログラム
WO2021149100A1 (ja) 秘密指数関数計算システム、秘密指数関数計算方法、秘密計算装置、およびプログラム
WO2021149099A1 (ja) 秘密平方根逆数計算システム、秘密正規化システム、それらの方法、秘密計算装置、およびプログラム
WO2021149102A1 (ja) 秘密逆数計算システム、秘密正規化システム、それらの方法、秘密計算装置、およびプログラム
JP7173328B2 (ja) 秘密除算システム、秘密計算装置、秘密除算方法、およびプログラム
Mirataei et al. Fast secure calculation of the open key cryptography procedures for iot in clouds
Wei New residue signed-digit addition algorithm
Lisha et al. Analysis of cryptographic algorithms based on vedic-mathematics
Mohan et al. Modulo Multiplication and Modulo Squaring

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20916206

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021572123

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2020423805

Country of ref document: AU

Date of ref document: 20200120

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020916206

Country of ref document: EP

Effective date: 20220822