JP7322976B2 - 秘密最大値計算装置、方法及びプログラム - Google Patents
秘密最大値計算装置、方法及びプログラム Download PDFInfo
- Publication number
- JP7322976B2 JP7322976B2 JP2021570612A JP2021570612A JP7322976B2 JP 7322976 B2 JP7322976 B2 JP 7322976B2 JP 2021570612 A JP2021570612 A JP 2021570612A JP 2021570612 A JP2021570612 A JP 2021570612A JP 7322976 B2 JP7322976 B2 JP 7322976B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- pairs
- secret
- value
- flag
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3218—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
Landscapes
- Engineering & Computer Science (AREA)
- 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)
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)を決定するフラグ決定部と、を備えている。
処理時間を小さくすることができる。
以下、本発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
[記法]
ある値aを暗号化や秘密分散などにより秘匿化した値aの秘匿値と呼び、[[a]]と書く。秘匿化が秘密分散である場合は,[[a]]により各秘密計算装置が持つ秘密分散の断片の集合を参照する。
ある値aを暗号化や秘密分散などにより秘匿化した値aの秘匿値と呼び、[[a]]と書く。秘匿化が秘密分散である場合は,[[a]]により各秘密計算装置が持つ秘密分散の断片の集合を参照する。
<復号>
aの秘匿値[[a]]を入力とし,c=aとなる値cを計算する処理を
c←Open([[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,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]])
と記述する。
比較の演算は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]]を入力とし、
選択の演算は、真偽値c∈{0,1}の秘匿値[[c]]と2個の値a,bの秘匿値[[a]],[[b]]を入力とし、
を満たすdの秘匿値[[d]]を計算する。この演算の実行を
[[d]]←IfElse([[c]],[[a]],[[b]])
と記述する。この演算は
[[d]]←[[c]]×([[a]]-[[b]])+[[b]]
により実現できる。
[[d]]←IfElse([[c]],[[a]],[[b]])
と記述する。この演算は
[[d]]←[[c]]×([[a]]-[[b]])+[[b]]
により実現できる。
[秘密最大値計算装置及び方法]
秘密最大値計算装置は、図1に示すように、初期化部1、ペア作成部2、決定部3、集合更新部4、制御部5及びフラグ決定部6を例えば備えている。
秘密最大値計算装置は、図1に示すように、初期化部1、ペア作成部2、決定部3、集合更新部4、制御部5及びフラグ決定部6を例えば備えている。
秘密最大値計算方法は、秘密最大値計算装置の各構成部が、以下に説明する及び図2に示すステップS1からステップS6の処理を行うことにより例えば実現される。
以下、秘密最大値計算装置の各構成部について説明する。
<初期化部1>
初期化部1には、X={[[x1]],[[x2]],...,[[xn]]}が入力される。nは、2以上の所定の正の整数である。例えば、n≧4である。
初期化部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には、初期化部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には、ペア作成部2により作成された1個以上のペアが入力される。
決定部3は、作成された1個以上のペアのそれぞれについて、1個以上のペアのそれぞれに含まれる[[xi]],[[xj]]の中の、順序Rに関して大きい値の秘匿値を秘密計算により決定する(ステップS3)。
決定された大きい値の秘匿値は、集合更新部4に出力される。
<集合更新部4>
集合更新部4には、決定部3により決定された大きい値の秘匿値が入力される。また、X′のうち1個以上のペアに含まれなかった秘匿値がある場合には、X′のうち前記1個以上のペアに含まれなかった秘匿値が、集合更新部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)。
制御部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′が入力される。
フラグ決定部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′|/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の処理に対応している。
出力:[[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などに動作させることで実施できる。
上記説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。例えば、上述の各種の処理は、図3に示すコンピュータの記録部2020に、実行させるプログラムを読み込ませ、制御部2010、入力部2030、出力部2040などに動作させることで実施できる。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
1 初期化部
2 ペア作成部
3 決定部
4 集合更新部
5 制御部
6 フラグ決定部
2 ペア作成部
3 決定部
4 集合更新部
5 制御部
6 フラグ決定部
Claims (3)
- 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)を決定するフラグ決定部と、
を含む秘密最大値計算装置。 - 初期化部が、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の秘密最大値計算装置の各部としてコンピュータを機能させるためのプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/001546 WO2021144974A1 (ja) | 2020-01-17 | 2020-01-17 | 秘密最大値計算装置、方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2021144974A1 JPWO2021144974A1 (ja) | 2021-07-22 |
JP7322976B2 true JP7322976B2 (ja) | 2023-08-08 |
Family
ID=76864063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021570612A Active JP7322976B2 (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) |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0764766A (ja) * | 1993-08-24 | 1995-03-10 | Fujitsu Ltd | 並列計算機における最大・最小値演算方法 |
CN101635021B (zh) * | 2003-09-26 | 2011-08-10 | 日本电信电话株式会社 | 标签装置、标签自动识别系统和标签隐私保护方法 |
US7953778B2 (en) * | 2008-05-20 | 2011-05-31 | International Business Machines Corporation | Efficient support of consistent cyclic search with read-copy update and parallel updates |
CN101594648B (zh) * | 2008-05-29 | 2011-07-27 | 上海无线通信研究中心 | 个域网在ip多媒体子系统中的无缝切换方法 |
US9916538B2 (en) * | 2012-09-15 | 2018-03-13 | Z Advanced Computing, Inc. | Method and system for feature detection |
US20130246336A1 (en) * | 2011-12-27 | 2013-09-19 | Mcafee, Inc. | System and method for providing data protection workflows in a network environment |
US10043035B2 (en) * | 2013-11-01 | 2018-08-07 | Anonos Inc. | Systems and methods for enhancing data protection by anonosizing structured and unstructured data and incorporating machine learning and artificial intelligence in classical and quantum computing environments |
CN108632206A (zh) * | 2017-03-19 | 2018-10-09 | 上海格尔软件股份有限公司 | 一种加密云存储与资源管理器结合的系统 |
US11070374B2 (en) * | 2018-02-28 | 2021-07-20 | Vmware, Inc. | Methods and systems that efficiently and securely store encryption keys |
US12047501B2 (en) * | 2018-06-01 | 2024-07-23 | Roland Tegeder | System and method for providing an authorised third party with overt ledger secured key escrow access to a secret |
US11477039B2 (en) * | 2018-10-11 | 2022-10-18 | Arizona Board Of Regents On Behalf Of Northern Arizona University | Response-based cryptography using physical unclonable functions |
CN109000924B (zh) * | 2018-10-24 | 2020-05-01 | 哈工大机器人(山东)智能装备研究院 | 一种基于k均值的滚珠丝杠副状态监测方法 |
WO2021144905A1 (ja) * | 2020-01-16 | 2021-07-22 | 日本電信電話株式会社 | 秘匿ハッシュテーブル構築システム、参照システム、およびそれらの方法 |
-
2020
- 2020-01-17 JP JP2021570612A patent/JP7322976B2/ja active Active
- 2020-01-17 EP EP20914522.6A patent/EP4092654A4/en active Pending
- 2020-01-17 CN CN202080092455.4A patent/CN114930431A/zh active Pending
- 2020-01-17 US US17/791,557 patent/US20230029772A1/en active Pending
- 2020-01-17 AU AU2020422786A patent/AU2020422786B2/en active Active
- 2020-01-17 WO PCT/JP2020/001546 patent/WO2021144974A1/ja unknown
Non-Patent Citations (3)
Title |
---|
Satsuya Ohata, Koji Nuida,Communication-Efficient (Client-Aided) Secure Two-Party Protocols and Its Application,arXiv.org[online],Cornell University,2020年01月04日,p.1-p.30,https://arxiv.org/pdf/1907.03415.pdf |
大畑 幸矢,ラウンド効率のよい2者間秘匿計算とその秘匿畳み込みニューラルネットワークへの応用,コンピュータセキュリティシンポジウム2018論文集,日本,一般社団法人情報処理学会,2018年10月15日,Vol.2018, No.2,pp.615-622 |
西田 直央 ほか,Binarized Neural Networksを用いた秘匿予測プロトコル,コンピュータセキュリティシンポジウム2017論文集,日本,一般社団法人情報処理学会,2017年10月16日,p. 592-599 |
Also Published As
Publication number | Publication date |
---|---|
WO2021144974A1 (ja) | 2021-07-22 |
US20230029772A1 (en) | 2023-02-02 |
JPWO2021144974A1 (ja) | 2021-07-22 |
CN114930431A (zh) | 2022-08-19 |
EP4092654A4 (en) | 2023-10-11 |
AU2020422786A1 (en) | 2022-07-14 |
EP4092654A1 (en) | 2022-11-23 |
AU2020422786B2 (en) | 2023-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pulido-Gaytan et al. | Privacy-preserving neural networks with homomorphic encryption: C hallenges and opportunities | |
US20170357749A1 (en) | Privacy-Preserving Genomic Prediction | |
CN112805769B (zh) | 秘密s型函数计算系统、装置、方法及记录介质 | |
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 | |
JP6534778B2 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム | |
Sarkar et al. | Fast and scalable private genotype imputation using machine learning and partially homomorphic encryption | |
JP6585846B2 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム | |
JP7322976B2 (ja) | 秘密最大値計算装置、方法及びプログラム | |
WO2019225531A1 (ja) | 秘密一括近似システム、秘密計算装置、秘密一括近似方法、およびプログラム | |
US12113890B2 (en) | Homomorphic encryption using smart contracts | |
JP7359225B2 (ja) | 秘密最大値計算装置、方法及びプログラム | |
Ünal et al. | A privacy-preserving approach for cloud-based protein fold recognition | |
Huang et al. | Multi-party collaborative drug discovery via federated learning | |
WO2018008543A1 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム | |
Bai et al. | cuSCNN: A Secure and Batch-Processing Framework for Privacy-Preserving Convolutional Neural Network Prediction on GPU | |
AU2019450855B2 (en) | Secure division system, secure computation apparatus, secure division method, and program | |
Oh et al. | Efficient software implementation of homomorphic encryption for addition and multiplication operations | |
Jiang et al. | Optimized verifiable delegated private set intersection on outsourced private datasets | |
Rahmani et al. | Secure two-party computation via measurement-based quantum computing | |
Zhang et al. | EPoLORE: Efficient and Privacy Preserved Logistic Regression Scheme | |
Yoshioka et al. | Optimization for quantum computer simulation | |
Sun | A Novel Matrix-Encoding Method for Privacy-Preserving Neural Networks (Inference) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220623 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230627 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230710 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7322976 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |