WO2021144974A1 - 秘密最大値計算装置、方法及びプログラム - Google Patents

秘密最大値計算装置、方法及びプログラム Download PDF

Info

Publication number
WO2021144974A1
WO2021144974A1 PCT/JP2020/001546 JP2020001546W WO2021144974A1 WO 2021144974 A1 WO2021144974 A1 WO 2021144974A1 JP 2020001546 W JP2020001546 W JP 2020001546W WO 2021144974 A1 WO2021144974 A1 WO 2021144974A1
Authority
WO
WIPO (PCT)
Prior art keywords
pairs
value
unit
secret
maximum value
Prior art date
Application number
PCT/JP2020/001546
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 CN202080092455.4A priority Critical patent/CN114930431A/zh
Priority to JP2021570612A priority patent/JP7322976B2/ja
Priority to US17/791,557 priority patent/US20230029772A1/en
Priority to PCT/JP2020/001546 priority patent/WO2021144974A1/ja
Priority to EP20914522.6A priority patent/EP4092654A4/en
Priority to AU2020422786A priority patent/AU2020422786B2/en
Publication of WO2021144974A1 publication Critical patent/WO2021144974A1/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
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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 method of calculating a maximum value and a flag of a maximum value without revealing an input or an output.
  • Non-Patent Document 1 There is a method called secret calculation as a method of obtaining a specific calculation result without restoring the encrypted numerical value (see, for example, Non-Patent Document 1).
  • the encryption is performed by distributing the numerical value fragments among the three secret computing devices, and the three secret computing devices perform the cooperative calculation, so that the numerical values are added or subtracted without being restored.
  • the state where the results of constant addition, multiplication, constant multiplication, logical operation (negative, logical product, logical sum, exclusive logical sum), and data format conversion (integer, binary number) are distributed to three secret arithmetic units, that is, It can be kept encrypted.
  • Non-Patent Document 2 When calculating the maximum value and maximum value flag of n values encrypted by secret calculation, keep the current maximum value and the number of the element that is the maximum value as a ciphertext, and n ciphertexts There is a method of performing comparison in order, updating the number of the maximum value and the element which is the maximum value, and finally calculating the flag from the number (see, for example, Non-Patent Document 2).
  • the total number of comparisons when calculating the maximum value is ⁇ (n), but the number of comparison stages is as large as ⁇ (n).
  • An object of the present invention is to provide a secret maximum value calculation device, method and program with reduced processing time.
  • Initialization part to create one or more pairs so that none of the elements in X'from X'are included in two or more pairs, and one or more created pair creation parts.
  • a determination unit that determines the concealed value of a large value with respect to the sequence R in [[x i ]], [[x j ]] contained in each of one or more pairs by secret calculation, and If there is a concealed value that is not included in one or more pairs of X', the concealed value that is not included in one or more pairs of X'and the concealed value determined by the determination unit are included. Control is performed so that the processing of the set update unit in which the set is a new X', the pair creation unit in which the new X'is X', the determination unit, and the set update unit is repeated until
  • 1.
  • the processing time can be reduced.
  • FIG. 1 is a diagram showing an example of a functional configuration of a secret maximum value calculation device.
  • FIG. 2 is a diagram showing an example of a processing procedure of the secret maximum value calculation method.
  • FIG. 3 is a diagram showing an example of a functional configuration of a computer.
  • a certain value a is called a secret value of a value a that is hidden by encryption or secret sharing, and is written as [[a]].
  • [[a]] refers to the set of secret sharing fragments possessed by each secret computing unit.
  • the selection operation is performed by inputting the secret value [[c]] of the boolean value c ⁇ ⁇ 0,1 ⁇ and the secret value [[a]], [[b]] of the two values a and b.
  • the secret maximum value calculation device includes, for example, an initialization unit 1, a pair creation unit 2, a determination unit 3, a set update unit 4, a control unit 5, and a flag determination unit 6.
  • the secret maximum value calculation method is realized, for example, by each component of the secret maximum value calculation device performing the processes of steps S1 to S6 described below and shown in FIG.
  • X ⁇ [[x 1 ]], [[x 2 ]], ..., [[x n ]] ⁇ is input to the initialization unit 1.
  • n is a predetermined positive integer of 2 or more. For example, n ⁇ 4.
  • the initialized X' is output to the pair creation unit 2.
  • ⁇ Pair creation unit 2> X'initialized by the initialization unit 1 is input to the pair creation unit 2. In the second and subsequent processes of the pair creation unit 2, X'updated by the set update unit 4 is input.
  • the pair creation unit 2 creates one or more pairs from the input X'so that no element in X'is included in the two or more pairs (step S2).
  • the created one or more pairs are output to the determination unit 3. If there is a secret value that is not included in one or more pairs of X', the secret value that is not included in one or more pairs of X'is output to the set update unit 4. NS.
  • the pair creation unit 2 creates two or more pairs at least once.
  • n ⁇ 4 this makes it possible to perform the calculation by comparing the number of stages n-2 or less.
  • ⁇ Decision part 3> One or more pairs created by the pair creation unit 2 are input to the determination unit 3.
  • the determination unit 3 For each of the created one or more pairs, the determination unit 3 has a large value with respect to the order R in [[x i ]], [[x j]] included in each of the one or more pairs.
  • the secret value is determined by secret calculation (step S3).
  • the determined large hidden value is output to the set update unit 4.
  • ⁇ Set update unit 4> A large secret value determined by the determination unit 3 is input to the set update unit 4. If there is a secret value that is not included in one or more pairs of X', the secret value that is not included in one or more pairs of X'is input to the set update unit 4. NS.
  • the set update unit 4 determines the secret value not included in one or more pairs of X'and the determination unit 3. Let the set including the concealed value be a new X'(step S4).
  • Control unit 5 repeats the processes of the pair creation unit 2, the determination unit 3, and the set update unit 4 in which the new X'generated by the set update unit 4 is X'until
  • 1. (Step S5).
  • the flag determination unit 6 sets the concealed value, which is the only element of X'with
  • the flag determination unit 6 sets the flag [[z (x i )]] by performing the following processes (a) and (b) on [x i] contained in X'even once. decide.
  • the calculation of the flag [[z (x i )]] is performed in the reverse order of the calculation order of the pair creation unit 2, the determination unit 3, the set update unit 4, and the control unit 5.
  • [[x k ]] is calculated by comparing [[x i ]] and [[x j ]], and [[z (x k )]] is already calculated.
  • the larger of [[x i ]] and [[x j ]] was used.
  • the maximum value was updated in order from the set of hidden values while holding the maximum value, so the number of comparison stages was ⁇ (n).
  • the number of stages of comparison can be reduced by recursively calculating the maximum value while reducing the problem exponentially.
  • the number of comparison stages is ⁇ (n) in the conventional method.
  • the number of stages of comparison can be reduced while keeping the total number of comparisons ⁇ (n).
  • data may be exchanged directly between the constituent units of the secret maximum value calculation device, or may be performed via a storage unit (not shown).
  • 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)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Complex Calculations (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

秘密最大値計算装置は、X'=Xとする初期化部1と、X'の中からどの要素も2個以上のペアに含まれないように1個以上のペアを作成するペア作成部2と、作成された1個以上のペアのそれぞれについて、1個以上のペアのそれぞれに含まれる[[xi]],[[xj]]の中の、大きい値の秘匿値を秘密計算により決定する決定部3と、X'のうち1個以上のペアに含まれなかった秘匿値がある場合には、X'のうち1個以上のペアに含まれなかった秘匿値と決定部で決定された秘匿値とを含む集合を新たなX'とする集合更新部4と、上記の処理を、|X'|=1になるまで繰り返すように制御する制御部5と、[[xg]](g∈[1,n])が最大値であるときは[[z(xg)]]=[[1]]であり、i≠gであるときは[[z(xi)]]=[[0]]であるようにフラグ[[z(xi)]](i=1,…,n)を決定するフラグ決定部6と、を備えている。

Description

秘密最大値計算装置、方法及びプログラム
 本発明は、暗号応用技術に関するものであり、特に入力や出力を明かすことなく最大値と最大値のフラグを計算する方法に関する。
 暗号化された数値を復元すること無く特定の演算結果を得る方法として、秘密計算と呼ばれる方法がある(例えば非特許文献1参照。)。非特許文献1の方法では、3個の秘密計算装置に数値の断片を分散させるという暗号化を行い、3個の秘密計算装置が協調計算を行うことにより、数値を復元すること無く、加減算、定数加算、乗算、定数倍、論理演算 (否定、論理積、論理和、排他的論理和),データ形式変換(整数, 二進数)の結果を3個の秘密計算装置に分散された状態、すなわち暗号化されたまま保持させることができる。秘密計算で暗号化されたn個の値の最大値と最大値のフラグを計算する場合、現在の最大値と最大値である要素の番号を暗号文として保持しておき、n個の暗号文と順に比較を行い、最大値と最大値である要素の番号を更新していき、最後に番号からフラグを計算する方法がある(例えば非特許文献2参照。)。
千田浩司, 濱田浩気, 五十嵐大, 高橋克巳, 軽量検証可能 3 パーティ秘匿関数計算の再考, In CSS, 2010. Sameer Wagh, Divya Gupta, and Nishanth Chandran. Securenn: 3-party secure computation for neural network training. Proceedings on Privacy Enhancing Technologies, Vol. 1, p. 24, 2019.
 しかしながら、従来の方法では、最大値を計算する際の比較の総回数はΘ(n)であるものの、比較の段数がΘ(n)と大きかった。
 本発明の目的は、処理時間を小さくした秘密最大値計算装置、方法及びプログラムを提供することを目的とする。
 この発明の一態様による秘密最大値計算装置は、X={[[x1]],[[x2]],...,[[xn]]}であるとして、X′=Xとする初期化部と、X′の中からX′の中のどの要素も2個以上のペアに含まれないように1個以上のペアを作成するペア作成部と、作成された1個以上のペアのそれぞれについて、1個以上のペアのそれぞれに含まれる[[xi]],[[xj]]の中の、順序Rに関して大きい値の秘匿値を秘密計算により決定する決定部と、X′のうち1個以上のペアに含まれなかった秘匿値がある場合には、X′のうち1個以上のペアに含まれなかった秘匿値と決定部で決定された秘匿値とを含む集合を新たなX′とする集合更新部と、新たなX′をX′とするペア作成部、決定部及び集合更新部の処理を、|X′|=1になるまで繰り返すように制御する制御部と、|X′|=1であるX′の唯一の要素である秘匿値を最大値として、[[xg]](g∈[1,n])が最大値であるときは[[z(xg)]]=[[1]]であり、i≠gであるときは[[z(xi)]]=[[0]]であるようにフラグ[[z(xi)]](i=1,…,n)を決定するフラグ決定部と、を備えている。
 処理時間を小さくすることができる。
図1は、秘密最大値計算装置の機能構成の例を示す図である。 図2は、秘密最大値計算方法の処理手続きの例を示す図である。 図3は、コンピュータの機能構成例を示す図である。
 以下、本発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
 [記法]
 ある値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]])
と記述する。
 <選択>
 選択の演算は、真偽値c∈{0,1}の秘匿値[[c]]と2個の値a,bの秘匿値[[a]],[[b]]を入力とし、
Figure JPOXMLDOC01-appb-M000001
を満たすdの秘匿値[[d]]を計算する。この演算の実行を
[[d]]←IfElse([[c]],[[a]],[[b]])
と記述する。この演算は
[[d]]←[[c]]×([[a]]-[[b]])+[[b]]
により実現できる。
 [秘密最大値計算装置及び方法]
 秘密最大値計算装置は、図1に示すように、初期化部1、ペア作成部2、決定部3、集合更新部4、制御部5及びフラグ決定部6を例えば備えている。
 秘密最大値計算方法は、秘密最大値計算装置の各構成部が、以下に説明する及び図2に示すステップS1からステップS6の処理を行うことにより例えば実現される。
 以下、秘密最大値計算装置の各構成部について説明する。
 <初期化部1>
 初期化部1には、X={[[x1]],[[x2]],...,[[xn]]}が入力される。nは、2以上の所定の正の整数である。例えば、n≧4である。
 初期化部1は、X′=Xとすることにより、集合X′を初期化する(ステップS1)。
 初期化されたX′は、ペア作成部2に出力される。
 <ペア作成部2>
 ペア作成部2には、初期化部1により初期化されたX′が入力される。なお、ペア作成部2の2回目以降の処理においては、集合更新部4により更新されたX′が入力される。
 ペア作成部2は、入力されたX′の中からX′の中のどの要素も2個以上のペアに含まれないように1個以上のペアを作成する(ステップS2)。
 作成された1個以上のペアは、決定部3に出力される。また、X′のうち1個以上のペアに含まれなかった秘匿値がある場合には、X′のうち前記1個以上のペアに含まれなかった秘匿値は、集合更新部4に出力される。
 例えば、ペア作成部2は、少なくとも1度は2個以上のペアを作成する。n≧4である場合には、これによりn-2段以下の段数の比較で計算を行うことができる。
 <決定部3>
 決定部3には、ペア作成部2により作成された1個以上のペアが入力される。
 決定部3は、作成された1個以上のペアのそれぞれについて、1個以上のペアのそれぞれに含まれる[[xi]],[[xj]]の中の、順序Rに関して大きい値の秘匿値を秘密計算により決定する(ステップS3)。
 決定された大きい値の秘匿値は、集合更新部4に出力される。
 <集合更新部4>
 集合更新部4には、決定部3により決定された大きい値の秘匿値が入力される。また、X′のうち1個以上のペアに含まれなかった秘匿値がある場合には、X′のうち前記1個以上のペアに含まれなかった秘匿値が、集合更新部4に入力される。
 集合更新部4は、X′のうち1個以上のペアに含まれなかった秘匿値がある場合には、X′のうち1個以上のペアに含まれなかった秘匿値と決定部3で決定された秘匿値とを含む集合を新たなX′とする(ステップS4)。
 <制御部5>
 制御部5は、集合更新部4により生成された新たなX′をX′とするペア作成部2、決定部3及び集合更新部4の処理を、|X′|=1になるまで繰り返すように制御する(ステップS5)。
 ここで、|X′|は、集合X′に含まれる要素の個数である。
 |X′|=1となったX′は、フラグ決定部6に出力される。
 <フラグ決定部6>
 フラグ決定部6には、|X′|=1となったX′が入力される。
 フラグ決定部6は、|X′|=1であるX′の唯一の要素である秘匿値を最大値として、[[xg]](g∈[1,n])が最大値であるときは[[z(xg)]]=[[1]]であり、i≠gであるときは[[z(xi)]]=[[0]]であるようにフラグ[[z(xi)]](i=1,…,n)を決定する(ステップS6)。
 例えば、フラグ決定部6は、X′に一度でも含まれた[xi]に対して以下の(a),(b)の処理を行うことにより、フラグ[[z(xi)]]を決定する。フラグ[[z(xi)]]の計算は、ペア作成部2、決定部3、集合更新部4及び制御部5の計算の順序と逆の順序で行われる。
 (a) フラグ決定部6は、[[xi]]が[[xg]]であるときは、[[z(xg)]]=[[1]]とする。
 (b) フラグ決定部6は、[[xk]]が[[xi]]と[[xj]]の比較により計算されたもので[[z(xk)]]が計算済みの場合は,[[xi]]と[[xj]]の比較結果と[[z(xk)]]を使って、[[xi]]と[[xj]]のうち大きかった方[[x+]]については[[z(x+)]]=[[xk]]、大きくなかった方[[x-]]については[[z(x-)]]=[[0]]となるように計算する。
 従来の方法では、最大値を保持しておきながら秘匿値の集合から順に最大値を更新していたため、比較の段数がΘ(n)となっていた。一方、上記の実施形態のように、問題を指数的に縮小しながら再帰的に最大値を計算することにより、比較の段数を小さく実現することができる。
 具体的には、大きさnの秘匿値の集合から最大値の秘匿値と最大値かどうかのフラグの秘匿値を計算するとき、従来の方法では比較の段数がΘ(n)となっていたが、比較の順序を上手く選択することにより、比較の総回数をΘ(n)にしたまま比較の段数を小さくすることができる。
 [アルゴリズムの例]
 以下、上記の秘密最大値計算装置及び方法により実現されるアルゴリズムの例について説明する。このアルゴリズムでは、ペアを作成する際に、└|X′|/2┘対のペアが作成される。なお、└|X′|/2┘は、|X′|/2以下の最大の整数である。このアルゴリズムにより、nに対して比較の段数が漸近的にO(log n)とすることができる。
 入力:X={[[x1]],...,[[xn]]}
 出力:[[y]],[[z(x1)]],...,[[z(xn)]]
 記法:[[y]],[[z(x1)]],...,[[z(xn)]]←f([[x1]],...,[[xn]])
 (1) もしn=1であれば、[[y]]=[[x1]],[[z(x1)]]=[[1]]を返して終了。
 (2) nが2の倍数であれば以下の(2-a)から(2-f)を実行。
 (2-a) h←n/2
 (2-b) [[fi]]←LE([[xi]],[[xi+h]])(i∈[1,h])
 (2-c) [[mi]]←IfElse([[fi]],[[xi+h]],[[xi]])(i∈[1,h])
 (2-d) [[y]],[[z(m1)]],...,[[z(mh)]]←f([[m1]],...,[[mh]])
 (2-e) [[z(xi)]]←[[z(mi)]]×(1-[[fi]])(i∈[1,h])
 (2-f) [[z(xi+h)]]←[[z(mi)]]×[[fi]](i∈[1,h])
 (3) nが2の倍数でないならば以下を実行。
 (3-a) h←(n-1)/2
 (3-b) [[fi]]←LE([[xi]],[[xi+h]])(i∈[1,h])
 (3-c) [[mi]]←IfElse([[fi]],[[xi+h]],[[xi]])(i∈[1,h])
 (3-d) [[mh+1]]←[[xn]]
 (3-e) [[y]],[[z(m1)]],...,[[z(mh)]],[[z(mh+1)]]←f([[m1]],...,[[mh+1]])
 (3-f) [[z(xi)]]←[[z(mi)]]×(1-[[fi]])(i∈[1,h])
 (3-g) [[z(xi+h)]]←[[z(mi)]]×[[fi]](i∈[1,h])
 (3-h) [[z(xn)]]←[[z(mh+1)]]
 (2-b),(2-c),(3-b),(3-c)で、[[xi]],[[xi+h]]のペアが用いられている。上記のアルゴリズムでは明記されていないが、このペアの作成がペア作成部2の処理に対応している。
 (2-b),(2-c),(3-b),(3-c)は、決定部3の処理に対応している。
 (2-d)で、新たな集合[[m1]],...,[[mh]]に対して再帰的にアルゴリズムが行われている。この新たな集合[[m1]],...,[[mh]]がX′に対応している。この新たな集合X′=[[m1]],...,[[mh]]の決定は、集合更新部4の処理に対応している。
 同様に、(3-d),(3-e)で、新たな集合[[m1]],...,[[mh+1]]に対して再帰的にアルゴリズムが行われている。この新たな集合[[m1]],...,[[mh+1]]がX′である。この新たな集合X′=[[m1]],...,[[mh+1]]の決定は、集合更新部4の処理に対応している。
 また、(2-d), (3-e)で再帰的にアルゴリズムが行われる部分は、制御部5の処理に対応している。
 (3-f),(3-g),(3-h)は、フラグ決定部6の処理に対応している。
 [変形例]
 以上、本発明の実施の形態について説明したが、具体的な構成は、これらの実施の形態に限られるものではなく、本発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、本発明に含まれることはいうまでもない。
 実施の形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
 例えば、秘密最大値計算装置の構成部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。
 [プログラム、記録媒体]
 上記説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。例えば、上述の各種の処理は、図3に示すコンピュータの記録部2020に、実行させるプログラムを読み込ませ、制御部2010、入力部2030、出力部2040などに動作させることで実施できる。
 この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
 また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
 このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
 また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
1     初期化部
2     ペア作成部
3     決定部
4     集合更新部
5     制御部
6     フラグ決定部

Claims (3)

  1.  X={[[x1]],[[x2]],...,[[xn]]}であるとして、X′=Xとする初期化部と、
     X′の中からX′の中のどの要素も2個以上のペアに含まれないように1個以上のペアを作成するペア作成部と、
     前記作成された1個以上のペアのそれぞれについて、前記1個以上のペアのそれぞれに含まれる[[xi]],[[xj]]の中の、順序Rに関して大きい値の秘匿値を秘密計算により決定する決定部と、
     X′のうち前記1個以上のペアに含まれなかった秘匿値がある場合には、前記X′のうち前記1個以上のペアに含まれなかった秘匿値と前記決定部で決定された秘匿値とを含む集合を新たなX′とする集合更新部と、
     前記新たなX′をX′とする前記ペア作成部、前記決定部及び前記集合更新部の処理を、|X′|=1になるまで繰り返すように制御する制御部と、
     |X′|=1であるX′の唯一の要素である秘匿値を最大値として、[[xg]](g∈[1,n])が最大値であるときは[[z(xg)]]=[[1]]であり、i≠gであるときは[[z(xi)]]=[[0]]であるようにフラグ[[z(xi)]](i=1,…,n)を決定するフラグ決定部と、
     を含む秘密最大値計算装置。
  2.  初期化部が、X={[[x1]],[[x2]],...,[[xn]]}であるとして、X′=Xとする初期化ステップと、
     ペア作成部が、X′の中からX′の中のどの要素も2個以上のペアに含まれないように1個以上のペアを作成するペア作成ステップと、
     決定部が、前記作成された1個以上のペアのそれぞれについて、前記1個以上のペアのそれぞれに含まれる[[xi]],[[xj]]の中の、順序Rに関して大きい値の秘匿値を秘密計算により決定する決定ステップと、
     集合更新部が、X′のうち前記1個以上のペアに含まれなかった秘匿値がある場合には、前記X′のうち前記1個以上のペアに含まれなかった秘匿値と前記決定部で決定された秘匿値とを含む集合を新たなX′とする集合更新ステップと、
     制御部が、前記新たなX′をX′とする前記ペア作成部、前記決定部及び前記集合更新部の処理を、|X′|=1になるまで繰り返すように制御する制御ステップと、
     フラグ決定部が、|X′|=1であるX′の唯一の要素である秘匿値を最大値として、[[xg]](g∈[1,n])が最大値であるときは[[z(xg)]]=[[1]]であり、i≠gであるときは[[z(xi)]]=[[0]]であるようにフラグ[[z(xi)]](i=1,…,n)を決定するフラグ決定ステップと、
     を含む秘密最大値計算方法。
  3.  請求項1の秘密最大値計算装置の各部としてコンピュータを機能させるためのプログラム。
PCT/JP2020/001546 2020-01-17 2020-01-17 秘密最大値計算装置、方法及びプログラム WO2021144974A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN202080092455.4A CN114930431A (zh) 2020-01-17 2020-01-17 秘密最大值计算装置、方法及程序
JP2021570612A JP7322976B2 (ja) 2020-01-17 2020-01-17 秘密最大値計算装置、方法及びプログラム
US17/791,557 US20230029772A1 (en) 2020-01-17 2020-01-17 Secret maximum value calculation apparatus, method and program
PCT/JP2020/001546 WO2021144974A1 (ja) 2020-01-17 2020-01-17 秘密最大値計算装置、方法及びプログラム
EP20914522.6A EP4092654A4 (en) 2020-01-17 2020-01-17 APPARATUS, METHOD AND PROGRAM FOR CALCULATION OF A SECRET MAXIMUM VALUE
AU2020422786A AU2020422786B2 (en) 2020-01-17 2020-01-17 Secret maximum value calculation apparatus, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/001546 WO2021144974A1 (ja) 2020-01-17 2020-01-17 秘密最大値計算装置、方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2021144974A1 true WO2021144974A1 (ja) 2021-07-22

Family

ID=76864063

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/001546 WO2021144974A1 (ja) 2020-01-17 2020-01-17 秘密最大値計算装置、方法及びプログラム

Country Status (6)

Country Link
US (1) US20230029772A1 (ja)
EP (1) EP4092654A4 (ja)
JP (1) JP7322976B2 (ja)
CN (1) CN114930431A (ja)
AU (1) AU2020422786B2 (ja)
WO (1) WO2021144974A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0764766A (ja) * 1993-08-24 1995-03-10 Fujitsu Ltd 並列計算機における最大・最小値演算方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0764766A (ja) * 1993-08-24 1995-03-10 Fujitsu Ltd 並列計算機における最大・最小値演算方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
NISHIDA, NAOHISA; OBA, TATSUMI; KATO, RYO; UNAGAMI, YUJI; YAMADA, SHOTA; ATTRAPADUNG, NUTTAPONG; TERUYA, TADANORI; MATSUDA, TAKIHI: "Private Machine Learning Classification Based on Binarized Neural Networks", IPSJ SYMPOSIUM SERIES: MULTIMEDIA, DISTRIBUTED, COOPERATIVE, AND MOBILE SYMPOSIUM, IPSJ, JAPAN, vol. 2017, no. 2, 16 October 2017 (2017-10-16), Japan , pages 592 - 599, XP009522378, ISSN: 1882-0840 *
SAMEER WAGHDIVYA GUPTANISHANTH CHANDRAN: "Securenn: 3-party secure computation for neural network training", PROCEEDINGS ON PRIVACY ENHANCING TECHNOLOGIES, vol. 1, 2019, pages 24
SATSUYA OHATA: "Round-Efficient Secure Two-Party Computation and Its Application to Privacy-Preserving Convolutional Neural Networks", IPSJ SYMPOSIUM SERIES: MULTIMEDIA, DISTRIBUTED, COOPERATIVE, AND MOBILE SYMPOSIUM, IPSJ, JAPAN, vol. 2018, no. 2, 15 October 2018 (2018-10-15) - 25 October 2018 (2018-10-25), Japan , pages 615 - 622, XP009533503, ISSN: 1882-0840 *
See also references of EP4092654A4

Also Published As

Publication number Publication date
JP7322976B2 (ja) 2023-08-08
EP4092654A1 (en) 2022-11-23
JPWO2021144974A1 (ja) 2021-07-22
EP4092654A4 (en) 2023-10-11
AU2020422786B2 (en) 2023-04-27
CN114930431A (zh) 2022-08-19
AU2020422786A1 (en) 2022-07-14
US20230029772A1 (en) 2023-02-02

Similar Documents

Publication Publication Date Title
Chillotti et al. Programmable bootstrapping enables efficient homomorphic inference of deep neural networks
Kim et al. Logistic regression model training based on the approximate homomorphic encryption
Pulido-Gaytan et al. Privacy-preserving neural networks with homomorphic encryption: C hallenges and opportunities
De Cock et al. High performance logistic regression for privacy-preserving genome analysis
Boura et al. Simulating homomorphic evaluation of deep learning predictions
Semenov et al. Algorithm for finding partitionings of hard variants of boolean satisfiability problem with application to inversion of some cryptographic functions
JP6534778B2 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
CN112805769B (zh) 秘密s型函数计算系统、装置、方法及记录介质
Kim et al. Privacy-preserving approximate GWAS computation based on homomorphic encryption
Sarkar et al. Fast and scalable private genotype imputation using machine learning and partially homomorphic encryption
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
Rechberger et al. Privacy-preserving machine learning using cryptography
Wang et al. Quantum Color Image Encryption Scheme Based on 3D Non-Equilateral Arnold Transform and 3D Logistic Chaotic Map
WO2018008547A1 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
WO2021144974A1 (ja) 秘密最大値計算装置、方法及びプログラム
JP7060115B2 (ja) 秘密配列アクセス装置、秘密配列アクセス方法、およびプログラム
CN115186876A (zh) 保护数据隐私的两方联合训练业务预测模型的方法及装置
WO2021144973A1 (ja) 秘密最大値計算装置、方法及びプログラム
EP3982350B1 (en) Secret conjugate gradient method calculation system, secret calculation device, conjugate gradient method calculation device, secret conjugate gradient method calculation method, conjugate gradient method calculation method, and program
JP6541048B2 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
Alsaedi et al. A comparative study of combining deep learning and homomorphic encryption techniques
WO2019059069A1 (ja) 秘密読み書き装置、秘密読み書き方法、およびプログラム
WO2022254599A1 (ja) 秘密共役勾配法計算方法、秘密共役勾配法計算システム、秘密計算装置、およびプログラム
CN113111254B (zh) 推荐模型的训练方法、拟合方法、装置和电子设备
Sun A Novel Matrix-Encoding Method for Privacy-Preserving Neural Networks (Inference)

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021570612

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2020422786

Country of ref document: AU

Date of ref document: 20200117

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

Country of ref document: EP

Effective date: 20220817