WO2020250269A1 - 秘密除算システム、秘密計算装置、秘密除算方法、およびプログラム - Google Patents

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

Info

Publication number
WO2020250269A1
WO2020250269A1 PCT/JP2019/022895 JP2019022895W WO2020250269A1 WO 2020250269 A1 WO2020250269 A1 WO 2020250269A1 JP 2019022895 W JP2019022895 W JP 2019022895W WO 2020250269 A1 WO2020250269 A1 WO 2020250269A1
Authority
WO
WIPO (PCT)
Prior art keywords
secret
value
integer
secret value
digit
Prior art date
Application number
PCT/JP2019/022895
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 JP2021525410A priority Critical patent/JP7173328B2/ja
Priority to AU2019450855A priority patent/AU2019450855B2/en
Priority to EP19932542.4A priority patent/EP3982282B1/en
Priority to PCT/JP2019/022895 priority patent/WO2020250269A1/ja
Priority to CN201980097230.5A priority patent/CN113966511A/zh
Priority to US17/615,106 priority patent/US12010220B2/en
Publication of WO2020250269A1 publication Critical patent/WO2020250269A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • 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/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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/535Dividing only
    • 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 cryptographic application technique, and particularly to a technique for efficiently performing division without revealing input or output values.
  • Non-Patent Document 1 There is a method called secret calculation as a method of obtaining a specific calculation result without recovering the encrypted numerical value (see, for example, Non-Patent Document 1).
  • encryption is performed by distributing numerical fragments among three secret computing devices, and the three secret computing devices perform cooperative calculation to add or subtract the numerical values without restoring them.
  • Constant addition, multiplication, constant multiplication, logical operation (negative, logical product, logical sum, exclusive OR), data format conversion (integer, binary number) results are distributed to three secret arithmetic units, that is It can be kept encrypted.
  • Non-Patent Document 2 When performing division without revealing the input and output values, there is a method of realizing Goldschmidt division by secret calculation (see, for example, Non-Patent Document 2).
  • An object of the present invention is to realize division with a small number of processing stages without using multiplication of fixed-point numbers in view of the above technical problems.
  • R is an integer of 3 or more
  • L 0 and L 1 are non-negative integers
  • N is a real number of 0 or more and less than R L1 .
  • D be a natural number
  • N -L0 the value of each digit from the 0th digit after the decimal point in the R notation of N to the 1st digit of the integer part L
  • j be L 1 -1.
  • a secret value that represents the result of dividing N by D using the secret value [N] of N and the secret value [D] of D, including multiple secret calculators, for each integer from to -L 0.
  • division since division is realized without using multiplication of fixed-point numbers, division can be realized with a small number of processing steps.
  • FIG. 1 is a diagram illustrating a functional configuration of a secret division system.
  • FIG. 2 is a diagram illustrating the functional configuration of the secret calculation device.
  • FIG. 3 is a diagram illustrating the processing procedure of the secret division method.
  • FIG. 4 is a diagram illustrating a functional configuration of a computer.
  • a value whose value a is concealed by encryption or secret sharing is called a concealed value of a and is described as [a].
  • [a] refers to the set of secret sharing fragments possessed by each secret computing device.
  • [A, b] square brackets in the domain of the variable represents a closed interval
  • (a, b) round brackets) represents an open interval.
  • i ⁇ [a, b] means that i takes a value greater than or equal to a and less than or equal to b.
  • i ⁇ [a, b) indicates that i takes a value greater than or equal to a and less than b.
  • the comparison operation takes the secret values [a] and [b] of the two values a and b as inputs, and calculates the secret value [c] of the truth value c ⁇ ⁇ 0, 1 ⁇ of a ⁇ b.
  • the boolean value is 1 when it is true and 0 when it is false. The execution of this operation is described as follows.
  • the secret value [N] of the divisor N and the secret value [D] of the divisor D are input, and the integer part L from the 0th digit after the decimal point in the R notation of N / D.
  • R is an integer of 3 or more
  • L 0 and L 1 are non-negative integers
  • N is a real number of 0 or more and less than R L1
  • D is a natural number.
  • [N -L0 ], [N -L0 + 1 ], ..., [N L1-2 ], [N L1-1 ] used in the embodiment represent the R-ary decomposition of N as shown in the following equation. It is a hidden value of N -L0 , N -L0 + 1 ,..., N L1-2 , N L1-1 .
  • the secret division system 100 includes, for example, K ( ⁇ 2) secret calculation devices 1 1 , ..., 1 K, as shown in FIG.
  • the secret computing devices 1 1 , ..., 1 K 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 information to be input to the secret computing device 1 1 , ..., 1 K is stored in a portable recording medium such as a magnetic tape or a USB memory, and the portable recording medium is offline to the secret computing device 1 1 , ..., 1 K. It may be configured to be input with.
  • a portable recording medium such as a magnetic tape or a USB memory
  • the secret calculation device 1k includes, for example, an input unit 11, an initialization unit 12, a parallel comparison unit 13, an update unit 14, an iterative control unit 15, and an output unit 16.
  • the secret computing device 1k is configured by loading a special program into, for example, a publicly known or dedicated computer having a central processing unit (CPU), a main storage device (RAM: Random Access Memory), and the like. It is a special device.
  • the secret calculation device 1k executes each process under the control of the central processing unit, for example.
  • the data input to the secret computing device 1k and the data obtained in 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 processing unit as needed. It is used for other processing.
  • At least a part of each processing unit of the secret computing device 1k may be configured by hardware such as an integrated circuit.
  • step S11 concealment value of the dividend N to the input unit 11 of the secure computing apparatus 1 k [N] and confidentiality values of divisor D [D] and is input.
  • the concealed value [N] of the divisor N the concealed value of the concealed value of the divisor N
  • the concealed value of N -L0 , N -L0 + 1 ,..., N L1-2 , N L1-1 representing the R-ary decomposition of the divisor N [N -L0 ], ..., [N L1-1 ] may be input to the input unit 11.
  • the input unit 11 When the concealed value [N] of the divisor N is input to the input unit 11, the input unit 11 represents the R-ary decomposition of the divisor N from the concealed value [N] of the divisor N N -L0 , N -L0 + 1 , ..., N L1-2 , N L1-1 hidden values [N -L0 ],..., [N L1-1 ] are generated.
  • the input unit 11 is a secret value [N -L0 ],..., [N L1-1 ] of N -L0 , N -L0 + 1 ,..., N L1-2 , N L1-1 representing the R-ary decomposition of the divisor N.
  • the secret value [D] of the divisor D are output to the parallel comparison unit 13.
  • the initialization unit 12 outputs the secret value [P L1 ] of the partial remainder P L1 to the parallel comparison unit 13. Further, the index j is output to the iterative control unit 15.
  • step S14 the update unit 14 of each secret computing device 1k uses the concealed values [E 1 ], ..., [E R-1 ] of the comparison results E 1 , ..., E R-1 to obtain the quotient Q j.
  • the update unit 14 calculates a secret value of the quotient Q j from the following equation concealment value of [Q j] and partial remainder P j [P j].
  • Updating unit 14 outputs the confidential value of the quotient Q j concealment value of [Q j] and partial remainder P j and [P j] to the output unit 16.
  • step S16 the output unit 16 of the secure computing apparatus 1 k is the quotient Q -L0, ..., concealment value of Q L1-1 [Q -L0], ... , and outputs the [Q L1-1].
  • division can be realized by comparing L 0 + L 1 step. Since the number of steps required for one division is small, the execution time becomes short, especially when the division is repeatedly executed in series.
  • R 2 in the above embodiment, it corresponds to the calculation of division in bit units.
  • Division calculated in bit units has a large number of comparison stages.
  • the number of comparisons is increased by about (R-1) / (log 2 R) times as compared with the division calculated in bit units, but the number of stages is reduced by about 1 / (log 2 R) times. can do.
  • 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. It is also possible to execute the process according to the received program one by one each time. 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. It should be noted that 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)
  • Machine Translation (AREA)
  • Complex Calculations (AREA)

Abstract

少ない処理段数で除算を実現する。秘密計算装置(1)は実数Nの秘匿値[N]と自然数Dの秘匿値[D]を用いてNをDで除算した結果を表す秘匿値を得る。初期化部(12)は部分剰余PL1の秘匿値[PL1]を0に設定する。並列比較部(13)は部分除数n=Pj+1R+Njの秘匿値[n]と1以上R未満の各整数gについての[D]×gとを並列に比較した比較結果E1, …, ER-1の秘匿値[E1], …, [ER-1]を計算する。更新部(14)は比較結果E1, …, ER-1の秘匿値[E1], …, [ER-1]を用いてn=DQj+Pjを満たす商Qjの秘匿値[Qj]と部分剰余Pjの秘匿値[Pj]とを計算する。反復制御部(15)はL1-1から-L0までの各整数jについて並列比較部(13)と更新部(14)とを実行する。

Description

秘密除算システム、秘密計算装置、秘密除算方法、およびプログラム
 この発明は、暗号応用技術に関し、特に入力や出力の値を明かすことなく除算を効率よく行う技術に関する。
 暗号化された数値を復元することなく特定の演算結果を得る方法として、秘密計算と呼ばれる方法がある(例えば、非特許文献1参照)。非特許文献1に記載された方法では、3つの秘密計算装置に数値の断片を分散させるという暗号化を行い、3つの秘密計算装置が協調計算を行うことにより、数値を復元することなく、加減算、定数加算、乗算、定数倍、論理演算(否定、論理積、論理和、排他的論理和)、データ形式変換(整数、二進数)の結果を3つの秘密計算装置に分散された状態、すなわち暗号化されたまま保持させることができる。
 入力や出力の値を明かすことなく除算を行う場合、ゴールドシュミット除算を秘密計算で実現する方法がある(例えば、非特許文献2参照)。
千田浩司、濱田浩気、五十嵐大、高橋克巳、"軽量検証可能3パーティ秘匿関数計算の再考"、CSS、2010年 Dan Bogdanov, Margus Niitsoo, Tomas Toft, and Jan Willemson, "High-performance secure multi-party computation for data mining applications," International Journal of Information Security, Vol. 11, No. 6, pp. 403-418, 2012.
 しかしながら、ゴールドシュミット除算を秘密計算で実現する場合、固定小数点数の乗算を使う必要がある。秘密計算では固定小数点数の乗算は処理段数すなわち通信回数が多いという問題がある。
 この発明の目的は、上記のような技術的課題に鑑みて、固定小数点数の乗算を使わず、少ない処理段数で除算を実現することである。
 上記の課題を解決するために、この発明の一態様の秘密除算システムは、Rを3以上の整数とし、L0, L1を非負の整数とし、Nを0以上RL1未満の実数とし、Dを自然数とし、N-L0, …, NL1-1をNのR進法での小数点以下L0桁目から整数部L1桁目までの各桁の値とし、jをL1-1から-L0までの各整数とし、複数の秘密計算装置を含み、Nの秘匿値[N]とDの秘匿値[D]を用いてNをDで除算した結果を表す秘匿値を得る秘密除算システムであって、秘密計算装置は、部分剰余PL1の秘匿値[PL1]を0に設定する初期化部と、部分除数n=Pj+1R+Njの秘匿値[n]と1以上R未満の各整数gについての[D]×gとを並列に比較した比較結果E1, …, ER-1の秘匿値[E1], …, [ER-1]を計算する並列比較部と、比較結果E1, …, ER-1の秘匿値[E1], …, [ER-1]を用いてn=DQj+Pjを満たす商Qjの秘匿値[Qj]と部分剰余Pjの秘匿値[Pj]とを計算する更新部と、を含む。
 この発明によれば、固定小数点数の乗算を使わず除算を実現するため、少ない処理段数で除算を実現できる。
図1は、秘密除算システムの機能構成を例示する図である。 図2は、秘密計算装置の機能構成を例示する図である。 図3は、秘密除算方法の処理手続きを例示する図である。 図4は、コンピュータの機能構成を例示する図である。
 はじめに、この明細書における表記方法および用語の定義について説明する。
 <表記方法>
 ある値aを暗号化や秘密分散などにより秘匿化した値をaの秘匿値と呼び、[a]と表記する。秘匿化が秘密分散である場合は、[a]により各秘密計算装置が持つ秘密分散の断片の集合を参照する。
 変数の定義域における[a, b](角括弧)は閉区間を表し、(a, b)(丸括弧)は開区間を表す。例えば、i∈[a, b]はiがa以上b以下の値を取ることを表す。また、i∈[a, b)はiがa以上b未満の値を取ることを表す。
 <加算、減算、乗算>
 秘匿文に対する加算、減算、乗算の各演算は、2つの値a, bの秘匿値[a], [b]を入力とし、それぞれa+b, a-b, abの計算結果c1, c2, c3の秘匿値[c1], [c2], [c3]を計算する。これらの演算の実行をそれぞれ次式のように記述する。
Figure JPOXMLDOC01-appb-M000004
 誤解を招く恐れのない場合は、Add([a], [b]), Sub([a], [b]), Mul([a], [b])をそれぞれ[a]+[b], [a]-[b], [a]×[b]と略記する。
 <比較>
 比較の演算は、2つの値a, bの秘匿値[a], [b]を入力とし、a≦bの真偽値c∈{0, 1}の秘匿値[c]を計算する。真偽値は真のとき1、偽のとき0とする。この演算の実行を次式のように記述する。
Figure JPOXMLDOC01-appb-M000005
 以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
 [実施形態]
 実施形態の秘密除算システムは、被除数Nの秘匿値[N]と除数Dの秘匿値[D]とを入力とし、N/DのR進法での小数点以下のL0桁目から整数部L1桁目までの各桁の値Q-L0, …, QL1-1の秘匿値[Q-L0], …, [QL1-1]を計算して出力する。ここで、Rは3以上の整数、L0, L1は非負の整数、Nは0以上RL1未満の実数、Dは自然数とする。なお、実施形態中で用いる[N-L0], [N-L0+1], …, [NL1-2], [NL1-1]は、次式のようにNのR進分解を表すN-L0, N-L0+1, …, NL1-2, NL1-1の秘匿値である。
Figure JPOXMLDOC01-appb-M000006
 図1を参照して、実施形態の秘密除算システムの構成例を説明する。秘密除算システム100は、例えば、図1に示すように、K(≧2)台の秘密計算装置11, …, 1Kを含む。本実施形態では、秘密計算装置11, …, 1Kはそれぞれ通信網9へ接続される。通信網9は、接続される各装置が相互に通信可能なように構成された回線交換方式もしくはパケット交換方式の通信網であり、例えばインターネットやLAN(Local Area Network)、WAN(Wide Area Network)などを用いることができる。なお、各装置は必ずしも通信網9を介してオンラインで通信可能である必要はない。例えば、秘密計算装置11, …, 1Kへ入力する情報を磁気テープやUSBメモリなどの可搬型記録媒体に記憶し、その可搬型記録媒体から秘密計算装置11, …, 1Kへオフラインで入力するように構成してもよい。
 図2を参照して、実施形態の秘密除算システム100に含まれる秘密計算装置1k(k=1, …, K)の構成例を説明する。秘密計算装置1kは、例えば、図2に示すように、入力部11、初期化部12、並列比較部13、更新部14、反復制御部15、および出力部16を含む。この秘密計算装置1k(k=1, …, K)が他の秘密計算装置1k'(k'=1, …, K、ただしk≠k')と協調しながら後述する各ステップの処理を行うことにより本形態の秘密除算方法が実現される。
 秘密計算装置1kは、例えば、中央演算処理装置(CPU: Central Processing Unit)、主記憶装置(RAM: Random Access Memory)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。秘密計算装置1kは、例えば、中央演算処理装置の制御のもとで各処理を実行する。秘密計算装置1kに入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて中央演算処理装置へ読み出されて他の処理に利用される。秘密計算装置1kの各処理部は、少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。
 図3を参照して、実施形態の秘密除算システム100が実行する秘密除算方法の処理手続きを説明する。
 ステップS11において、各秘密計算装置1kの入力部11へ被除数Nの秘匿値[N]と除数Dの秘匿値[D]とが入力される。被除数Nの秘匿値[N]の代わりに、被除数NのR進分解を表すN-L0, N-L0+1, …, NL1-2, NL1-1の秘匿値[N-L0], …, [NL1-1]が入力部11へ入力されてもよい。入力部11へ被除数Nの秘匿値[N]が入力された場合、入力部11は、被除数Nの秘匿値[N]から被除数NのR進分解を表すN-L0, N-L0+1, …, NL1-2, NL1-1の秘匿値[N-L0], …, [NL1-1]を生成する。入力部11は、被除数NのR進分解を表すN-L0, N-L0+1, …, NL1-2, NL1-1の秘匿値[N-L0], …, [NL1-1]と除数Dの秘匿値[D]とを並列比較部13へ出力する。
 ステップS12において、各秘密計算装置1kの初期化部12は、部分剰余PL1の秘匿値[PL1]を[PL1]=0に初期化する。また、反復処理のインデックスjをj=L1-1に初期化する。初期化部12は、部分剰余PL1の秘匿値[PL1]を並列比較部13へ出力する。また、インデックスjを反復制御部15へ出力する。
 ステップS13において、各秘密計算装置1kの並列比較部13は、n=Pj+1R+Njである部分除数nの秘匿値[n]と、g∈[1, R)である各[D]×gとをそれぞれ並列に比較した結果Egの秘匿値[Eg](g∈[1, R))を計算する。具体的には、並列比較部13は、次式により、1以上R未満の各整数gについて比較結果Egの秘匿値[Eg]を計算する。並列比較部13は、比較結果E1, …, ER-1の秘匿値[E1], …, [ER-1]を更新部14へ出力する。
Figure JPOXMLDOC01-appb-M000007
 ステップS14において、各秘密計算装置1kの更新部14は、比較結果E1, …, ER-1の秘匿値[E1], …, [ER-1]を用いて、商Qjの秘匿値[Qj]と部分剰余Pjの秘匿値[Pj]とを計算する。なお、QjとPjはn=DQj+Pj, Qj∈[0, R), Pj∈[0, R)を満たす。具体的には、更新部14は、次式により商Qjの秘匿値[Qj]と部分剰余Pjの秘匿値[Pj]とを計算する。更新部14は、商Qjの秘匿値[Qj]と部分剰余Pjの秘匿値[Pj]とを出力部16へ出力する。
Figure JPOXMLDOC01-appb-M000008
 ステップS15-1において、各秘密計算装置1kの反復制御部15は、jが-L0以下となっているか否か、すなわちj≦-L0の真偽を判定する。j≦-L0が偽、すなわちj>-L0であれば、ステップS15-2へ処理を進める。j≦-L0が真であれば、ステップS16へ処理を進める。ステップS15-2において、各秘密計算装置1kの反復制御部15は、jをデクリメント、すなわちj=j-1を計算し、ステップS13へ処理を戻す。言い替えると、反復制御部15は、j=L1-1, …, -L0の各jについて並列比較部13と更新部14を繰り返し実行する制御を行う。
 ステップS16において、各秘密計算装置1kの出力部16は、商Q-L0, …, QL1-1の秘匿値[Q-L0], …, [QL1-1]を出力する。
 上述した実施形態で実行するアルゴリズムを以下に示す。
Figure JPOXMLDOC01-appb-M000009
 上記実施形態の構成では、L0+L1段の比較で除算を実現できる。1回の除算で要する段数が小さいため、特に、除算を直列に繰り返し実行するとき実行時間が短くなる。
 上記実施形態でR=2とした場合、ビット単位で除算を計算することに相当する。ビット単位で計算される除算は比較の段数が大きい。上記実施形態では、比較の回数はビット単位で計算される除算と比較して約(R-1)/(log2R)倍に増えるものの、段数を約1/(log2R)倍に小さくすることができる。
 以上、この発明の実施の形態について説明したが、具体的な構成は、これらの実施の形態に限られるものではなく、この発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、この発明に含まれることはいうまでもない。実施の形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
 [プログラム、記録媒体]
 上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムを図4に示すコンピュータの記憶部1020に読み込ませ、制御部1010、入力部1030、出力部1040などに動作させることにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
 この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
 また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
 このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
 また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (6)

  1.  Rを3以上の整数とし、L0, L1を非負の整数とし、Nを0以上RL1未満の実数とし、Dを自然数とし、N-L0, …, NL1-1をNのR進法での小数点以下L0桁目から整数部L1桁目までの各桁の値とし、jをL1-1から-L0までの各整数とし、
     複数の秘密計算装置を含み、Nの秘匿値[N]とDの秘匿値[D]を用いてNをDで除算した結果を表す秘匿値を得る秘密除算システムであって、
     上記秘密計算装置は、
     部分剰余PL1の秘匿値[PL1]を0に設定する初期化部と、
     部分除数n=Pj+1R+Njの秘匿値[n]と1以上R未満の各整数gについての[D]×gとを並列に比較した比較結果E1, …, ER-1の秘匿値[E1], …, [ER-1]を計算する並列比較部と、
     上記比較結果E1, …, ER-1の秘匿値[E1], …, [ER-1]を用いてn=DQj+Pjを満たす商Qjの秘匿値[Qj]と部分剰余Pjの秘匿値[Pj]とを計算する更新部と、
     を含む秘密除算システム。
  2.  請求項1に記載の秘密除算システムであって、
     上記並列比較部は、次式によりgについての比較結果Egの秘匿値[Eg]を計算する、
    Figure JPOXMLDOC01-appb-M000001
     秘密除算システム。
  3.  請求項1または2に記載の秘密除算システムであって、
     上記更新部は、次式により商Qjの秘匿値[Qj]を計算し、
    Figure JPOXMLDOC01-appb-M000002
    次式により部分剰余Pjの秘匿値[Pj]を計算する、
    Figure JPOXMLDOC01-appb-M000003
     秘密除算システム。
  4.  Rを3以上の整数とし、L0, L1を非負の整数とし、Nを0以上RL1未満の実数とし、Dを自然数とし、N-L0, …, NL1-1をNのR進法での小数点以下L0桁目から整数部L1桁目までの各桁の値とし、jをL1-1から-L0までの各整数とし、
     Nの秘匿値[N]とDの秘匿値[D]を用いてNをDで除算した結果を表す秘匿値を得る秘密除算システムで用いられる秘密計算装置であって、
     部分剰余PL1の秘匿値[PL1]を0に設定する初期化部と、
     部分除数n=Pj+1R+Njの秘匿値[n]と1以上R未満の各整数gについての[D]×gとを並列に比較した比較結果E1, …, ER-1の秘匿値[E1], …, [ER-1]を計算する並列比較部と、
     上記比較結果E1, …, ER-1の秘匿値[E1], …, [ER-1]を用いてn=DQj+Pjを満たす商Qjの秘匿値[Qj]と部分剰余Pjの秘匿値[Pj]とを計算する更新部と、
     を含む秘密計算装置。
  5.  Rを3以上の整数とし、L0, L1を非負の整数とし、Nを0以上RL1未満の実数とし、Dを自然数とし、N-L0, …, NL1-1をNのR進法での小数点以下L0桁目から整数部L1桁目までの各桁の値とし、jをL1-1から-L0までの各整数とし、
     複数の秘密計算装置を含み、Nの秘匿値[N]とDの秘匿値[D]を用いてNをDで除算した結果を表す秘匿値を得る秘密除算システムが実行する秘密除算方法であって、
     各秘密計算装置の初期化部が、部分剰余PL1の秘匿値[PL1]を0に設定し、
     各秘密計算装置の並列比較部が、部分除数n=Pj+1R+Njの秘匿値[n]と1以上R未満の各整数gについての[D]×gとを並列に比較した比較結果E1, …, ER-1の秘匿値[E1], …, [ER-1]を計算し、
     各秘密計算装置の更新部が、上記比較結果E1, …, ER-1の秘匿値[E1], …, [ER-1]を用いてn=DQj+Pjを満たす商Qjの秘匿値[Qj]と部分剰余Pjの秘匿値[Pj]とを計算する、
     秘密除算方法。
  6.  請求項4に記載の秘密計算装置としてコンピュータを機能させるためのプログラム。
PCT/JP2019/022895 2019-06-10 2019-06-10 秘密除算システム、秘密計算装置、秘密除算方法、およびプログラム WO2020250269A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2021525410A JP7173328B2 (ja) 2019-06-10 2019-06-10 秘密除算システム、秘密計算装置、秘密除算方法、およびプログラム
AU2019450855A AU2019450855B2 (en) 2019-06-10 2019-06-10 Secure division system, secure computation apparatus, secure division method, and program
EP19932542.4A EP3982282B1 (en) 2019-06-10 2019-06-10 Secret division system, secret calculation device, secret division method, and program
PCT/JP2019/022895 WO2020250269A1 (ja) 2019-06-10 2019-06-10 秘密除算システム、秘密計算装置、秘密除算方法、およびプログラム
CN201980097230.5A CN113966511A (zh) 2019-06-10 2019-06-10 秘密除法系统、秘密计算装置、秘密除法方法以及程序
US17/615,106 US12010220B2 (en) 2019-06-10 2019-06-10 Secure division system, secure computation apparatus, secure division method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/022895 WO2020250269A1 (ja) 2019-06-10 2019-06-10 秘密除算システム、秘密計算装置、秘密除算方法、およびプログラム

Publications (1)

Publication Number Publication Date
WO2020250269A1 true WO2020250269A1 (ja) 2020-12-17

Family

ID=73781404

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/022895 WO2020250269A1 (ja) 2019-06-10 2019-06-10 秘密除算システム、秘密計算装置、秘密除算方法、およびプログラム

Country Status (6)

Country Link
US (1) US12010220B2 (ja)
EP (1) EP3982282B1 (ja)
JP (1) JP7173328B2 (ja)
CN (1) CN113966511A (ja)
AU (1) AU2019450855B2 (ja)
WO (1) WO2020250269A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016129363A1 (ja) * 2015-02-12 2016-08-18 学校法人東京理科大学 秘密分散を用いた秘匿演算システムに関する計算装置

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US102014A (en) * 1870-04-19 Improved boot-jack and brush
US61998A (en) * 1867-02-12 Improvement in skates
US82016A (en) * 1868-09-08 Improvement in fire-proof safes
US72017A (en) * 1867-12-10 William b
US32014A (en) * 1861-04-09 Charles f
US12019A (en) * 1854-12-05 Steam-boiler
US62018A (en) * 1867-02-12 Self and abraham emanitel
US32020A (en) * 1861-04-09 Head for screws and tacks
US82011A (en) * 1868-09-08 Improvement in fanning-mills
US62004A (en) * 1867-02-12 children
US916A (en) * 1838-09-12 Henry g
US809A (en) * 1838-06-27 Improved mode of changing the poles of electro-magnets
US12014A (en) * 1854-11-28 Improvement in binding-guides for sewing-machines
US62005A (en) * 1867-02-12 John s
US32007A (en) * 1861-04-09 Iprovement in sewing-machines
US52018A (en) * 1866-01-16 Window-shade
US82017A (en) * 1868-09-08 Improvement in hammee and mallet
EP0739559B1 (en) * 1993-09-09 2003-04-09 BRITISH TELECOMMUNICATIONS public limited company Method for key distribution using quantum cryptography
AU2001282852A1 (en) * 2000-04-28 2001-11-20 The Regents Of The University Of California Method and apparatus for free-space quantum key distribution in daylight
US7581093B2 (en) * 2003-12-22 2009-08-25 Nortel Networks Limited Hitless manual cryptographic key refresh in secure packet networks
US7437081B2 (en) * 2004-11-01 2008-10-14 Magiq Technologies, Inc System and method for providing two-way communication of quantum signals, timing signals, and public data
US7826749B2 (en) * 2005-09-19 2010-11-02 The Chinese University Of Hong Kong Method and system for quantum key distribution over multi-user WDM network with wavelength routing
US7889868B2 (en) * 2005-09-30 2011-02-15 Verizon Business Global Llc Quantum key distribution system
US7940757B2 (en) * 2006-02-23 2011-05-10 Cisco Technology, Inc. Systems and methods for access port ICMP analysis
JP5631743B2 (ja) * 2008-01-25 2014-11-26 キネテイツク・リミテツド 量子暗号装置
US8345861B2 (en) * 2008-08-22 2013-01-01 Red Hat, Inc. Sharing a secret using polynomial division over GF(Q)
US7995765B2 (en) * 2008-08-28 2011-08-09 Red Hat, Inc. Sharing a secret using hyperplanes over GF(q)
US20110206204A1 (en) * 2008-10-17 2011-08-25 Dmitry Ivanovich Sychev Methods and devices of quantum encoding on dwdm (roadm) network and fiber optic links .
GB0819665D0 (en) * 2008-10-27 2008-12-03 Qinetiq Ltd Quantum key dsitribution
KR101351012B1 (ko) * 2009-12-18 2014-01-10 한국전자통신연구원 다자간 양자 통신에서의 사용자 인증 방법 및 장치
US9237098B2 (en) * 2012-07-03 2016-01-12 Cisco Technologies, Inc. Media access control (MAC) address summation in Datacenter Ethernet networking
JP6030925B2 (ja) * 2012-11-12 2016-11-24 ルネサスエレクトロニクス株式会社 半導体装置及び情報処理システム
US10560265B2 (en) * 2013-06-08 2020-02-11 Quantumctek Co., Ltd. Mobile secret communications method based on quantum key distribution network
KR101776137B1 (ko) * 2014-10-30 2017-09-19 에스케이 텔레콤주식회사 양자 키 분배 시스템에서 복수의 장치에 키를 공급하는 장치 및 방법
CN105991285B (zh) * 2015-02-16 2019-06-11 阿里巴巴集团控股有限公司 用于量子密钥分发过程的身份认证方法、装置及系统
JP6400513B2 (ja) * 2015-03-18 2018-10-03 株式会社東芝 量子鍵配送装置、量子鍵配送方法およびプログラム
CN106301769B (zh) * 2015-06-08 2020-04-10 阿里巴巴集团控股有限公司 量子密钥输出方法、存储一致性验证方法、装置及系统
US11588783B2 (en) * 2015-06-10 2023-02-21 Cisco Technology, Inc. Techniques for implementing IPV6-based distributed storage space
US9960465B2 (en) * 2015-07-30 2018-05-01 Lg Chem, Ltd. Battery pack
KR101860234B1 (ko) * 2016-12-20 2018-05-21 엘에스산전 주식회사 듀얼 포트 스위치의 링크 속도 설정 방법
US10476794B2 (en) * 2017-07-30 2019-11-12 Mellanox Technologies Tlv Ltd. Efficient caching of TCAM rules in RAM
US10673883B2 (en) * 2018-05-14 2020-06-02 Cisco Technology, Inc. Time synchronization attack detection in a deterministic network
US11212294B2 (en) * 2018-09-12 2021-12-28 Grid7 LLC Data packet security with expiring time-based hash message authentication codes (HMACs)

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016129363A1 (ja) * 2015-02-12 2016-08-18 学校法人東京理科大学 秘密分散を用いた秘匿演算システムに関する計算装置

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CATRINA, O. ET AL.: "Multiparty Computation of Fixed-Point Multiplication and Reciprocal", 20TH INTERNATIONAL WORKSHOP ON DATABASE AND EXPERT SYSTEM APPLICATION, 2009, pages 107 - 111, XP031569590 *
DAN BOGDANOVMARGUS NIITSOOTOMAS TOFTJAN WILLEMSON: "High-performance secure multi-party computation for data mining applications", INTERNATIONAL JOURNAL OF INFORMATION SECURITY, vol. 11, no. 6, 2012, pages 403 - 418, XP055577139, DOI: 10.1007/s10207-012-0177-2
KOJI CHIDAKOKI HAMADADAI IGARASHIKATSUMI TAKAHASHI: "A Three-party Secure Function Evaluation with Lightweight Verifiability Revisited", CSS, 2010
MEHRDAD ALIASGARI; MARINA BLANTON; YIHUA ZHANG; AARON STEELE: "Secure Computation on Floating Point Numbers", INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH, 10 December 2012 (2012-12-10), pages 1 - 31, XP061007014, Retrieved from the Internet <URL:https:eprint.iacr.org/2012/405> [retrieved on 20190807] *
See also references of EP3982282A4

Also Published As

Publication number Publication date
US20220224516A1 (en) 2022-07-14
JP7173328B2 (ja) 2022-11-16
EP3982282A1 (en) 2022-04-13
AU2019450855A1 (en) 2021-12-23
EP3982282A4 (en) 2023-01-18
US12010220B2 (en) 2024-06-11
EP3982282B1 (en) 2024-01-03
CN113966511A (zh) 2022-01-21
JPWO2020250269A1 (ja) 2020-12-17
AU2019450855B2 (en) 2023-02-02

Similar Documents

Publication Publication Date Title
US20180011996A1 (en) Secret shared random access machine
JP7067633B2 (ja) 秘密右シフト演算システム、秘密除算システム、それらの方法、秘密計算装置、およびプログラム
JP6766182B2 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、プログラム
JP7067632B2 (ja) 秘密シグモイド関数計算システム、秘密ロジスティック回帰計算システム、秘密シグモイド関数計算装置、秘密ロジスティック回帰計算装置、秘密シグモイド関数計算方法、秘密ロジスティック回帰計算方法、プログラム
US11121868B2 (en) Secure computation system, secure computation device, secure computation method, and program
WO2017065123A1 (ja) 秘密乱数合成装置、秘密乱数合成方法、およびプログラム
EP4016506A1 (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
Hu et al. Securing fast learning! ridge regression over encrypted big data
WO2021124520A1 (ja) 秘密乱数生成システム、秘密計算装置、秘密乱数生成方法、およびプログラム
WO2018008547A1 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
JP6977882B2 (ja) 秘密一括近似システム、秘密計算装置、秘密一括近似方法、およびプログラム
JP6825119B2 (ja) 秘密読み込み装置、秘密書き込み装置、それらの方法、およびプログラム
WO2020250269A1 (ja) 秘密除算システム、秘密計算装置、秘密除算方法、およびプログラム
JP7540501B2 (ja) 秘匿msb正規化システム、分散処理装置、秘匿msb正規化方法、およびプログラム
JP7205623B2 (ja) 秘密共役勾配法計算システム、秘密計算装置、共役勾配法計算装置、秘密共役勾配法計算方法、共役勾配法計算方法、およびプログラム
WO2021149101A1 (ja) 秘密選択積計算システム、秘密選択積計算方法、秘密計算装置、およびプログラム
WO2021144973A1 (ja) 秘密最大値計算装置、方法及びプログラム
WO2021149099A1 (ja) 秘密平方根逆数計算システム、秘密正規化システム、それらの方法、秘密計算装置、およびプログラム
WO2021149098A1 (ja) 秘密平方根計算システム、秘密正規化システム、それらの方法、秘密計算装置、およびプログラム
WO2022254599A1 (ja) 秘密共役勾配法計算方法、秘密共役勾配法計算システム、秘密計算装置、およびプログラム
Huang et al. Efficient Privacy-Preserving Machine Learning with Lightweight Trusted Hardware

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: 19932542

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021525410

Country of ref document: JP

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: 2019450855

Country of ref document: AU

Date of ref document: 20190610

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2019932542

Country of ref document: EP

Effective date: 20220110