JP7540501B2 - 秘匿msb正規化システム、分散処理装置、秘匿msb正規化方法、およびプログラム - Google Patents
秘匿msb正規化システム、分散処理装置、秘匿msb正規化方法、およびプログラム Download PDFInfo
- Publication number
- JP7540501B2 JP7540501B2 JP2022556803A JP2022556803A JP7540501B2 JP 7540501 B2 JP7540501 B2 JP 7540501B2 JP 2022556803 A JP2022556803 A JP 2022556803A JP 2022556803 A JP2022556803 A JP 2022556803A JP 7540501 B2 JP7540501 B2 JP 7540501B2
- Authority
- JP
- Japan
- Prior art keywords
- shift
- vector
- msb
- unit
- bit
- 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
- 238000012545 processing Methods 0.000 title claims description 81
- 238000010606 normalization Methods 0.000 title claims description 56
- 239000013598 vector Substances 0.000 claims description 147
- 238000006243 chemical reaction Methods 0.000 claims description 43
- 238000000034 method Methods 0.000 claims description 38
- 238000000354 decomposition reaction Methods 0.000 claims description 19
- 230000009466 transformation Effects 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000009825 accumulation Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 description 15
- 239000000654 additive Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000007792 addition Methods 0.000 description 8
- 230000007704 transition Effects 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 1
- 238000010367 cloning Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/01—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
- G06F5/012—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising in floating-point computations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49936—Normalisation mentioned as feature only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/74—Selecting or encoding within a word the position of one or more bits having a specified value, e.g. most or least significant one or zero detection, priority encoders
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Operations Research (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Complex Calculations (AREA)
- Storage Device Security (AREA)
Description
まず、本実施形態における記法について説明する。
◎ k:秘密分散の閾値。例えば2とする。
(k,n)-秘密分散とは、入力された平文をn個の断片(シェアと呼ぶ)に分割し、それぞれn個の異なる主体(パーティと呼ぶ)に分散しておき、うち任意のk個のシェアが揃えば復元でき、そしてk-1個未満では平文に関する一切の情報を得られないようなセキュリティ技術である。例えばShamirの秘密分散、複製秘密分散などがある。本実施形態では(k,n)-秘密分散で分散され、平文がある値xであるようなシェアを全て集めた組((k,n)-秘密分散値ともいう)を[[x]]のように表記する。各シェアのことは、パーティrのシェアを[[x]]y rと表記する。ここではr=0,…,n-1とする。秘密分散値は普段は各パーティに分散されているため、誰も所持しておらず仮想的である。また(k,n)-秘密分散値の列であって平文の列が→xとなる列を、[[→x]]のように表記する。
(k,k)-秘密分散とは、(k,n)-秘密分散で、n=kとした場合である。全パーティのシェアが集まらない限り復元ができない。複製秘密分散による(k,k)-秘密分散は特に、加法的秘密分散と呼ばれ、k個のシェアを加算するだけで平文が復元される最もシンプルな方法である。本実施形態では法yのもとで(k,k)-加法的秘密分散で分散され、平文がある値xであるようなシェアを全て集めた組((k,k)-加法的秘密分散値ともいう)を<x>yのように表記し、パーティrのシェアを<x>y rと表記する。また(k,k)-加法的秘密分散値の列であって平文の列が→xとなる列を、<→x>Pのように表記する。
入力:(k,n)-秘密分散した数値シェア[[a]]P、ローテーション量ρを複製秘密分散したシェア<<ρ>>P
出力:(k,n)-秘密分散したシェア[[2ρa]]P
処理:数値シェア[[a]]Pとシェア<<ρ>>Pとを用いて、数値aをρビットローテーションさせた値2ρaを(k,n)-秘密分散したシェア[[2ρa]]Pを得る。この例では、k=2,n=3とする。以下、処理の詳細を説明する。
2:数値シェア[[a]]Pを、(k,k)-加法的秘密分散したシェア<a>Pに変換する。この例では、パーティ0,1がシェア<a>pを持つ。(k,n)-秘密分散から(k,k)-加法的秘密分散への変換は、公知の技術により行うことができる。例えば、参考文献1を利用する。
3:パーティ0,1は、乱数r01、パーティ1,2はr12を共有しておく。なお、乱数は、乱数を共有するパーティの一方が生成し、他方に渡してもよいし、第三者が生成して、対応するパーティに渡してもよいし、トークン等を利用して共有してもよい。
10:(k,k)-加法的秘密分散したシェア<c>Pを(k,n)-秘密分散のシェア[[c]]Pに変換して出力する。ここで、c=2ρaが成り立っている。(k,k)-加法的秘密分散から(k,n)-秘密分散への変換は、公知の技術により行うことができる。例えば、参考文献1を利用する。
入力:長さpのビットシェアベクトル[[→f]]2。ただし→fの中にはただ一つだけ1が存在する。
処理:ビットシェアベクトル[[→f]]2を用いて、→fの中に存在する1の位置bを(k,n)-秘密分散したシェア[[2ρa]]Pを得る。以下、処理の詳細を説明する。
(参考文献2)五十嵐大、濱田浩気、菊池亮、千田浩司、「インターネット環境レスポンス1秒の統計処理を目指した,秘密計算基数ソートの改良」、SCIS 2014 The 31st Symposium on Cryptography and Information Security.
なお、入力のビットシェアベクトル[[→f]]2の長さがpより短い場合も、上位ビットに[[0]]2をパディングすることで、本プロトコルを適用することができる。
入力:シェアのベクトル[[→a]]P
パラメータ:入力の最大ビット数L、ベクトル長m
出力:[[2ρ→a]]P、<<ρ>>p、ただし2ρ→aのベクトルMSBはL-1ビット目とする。
3-3: 0≦i<L'-1で、[[xi]]2:=[[f'ixor f'i+1]]2とする。ただし[[xL'-1]]2:=[[AL-1]]2である。ここまでで、ビット表現x=(xL'-1,xL'-2,…,x0)は、0,0,0,1,0,…,0のように、MSB位置のみ1となるフラグになっている。
図1は第一実施形態に係るベクトルMSB正規化システム1の構成例を、図2はベクトルMSB正規化システム1の処理フローの例を示す。
図3は、分散処理装置100-rの機能ブロック図の例を示す。
n個のビット分解部101は、(k,n)-秘密分散したシェアのベクトル[[→a]]Pを受け取り、
ビット分解により、ベクトル[[→a]]Pのビット表現[[→a]]2^Lを得る(S101)。
n個の論理和取得部103は、ビット表現[[→a]]2^Lを受け取り、各ビット位置0≦i<Lのベクトル[[→ai]]に対して、全要素の論理和[[Ai]]2を取得する(S103)。ただし、ベクトル→aのs番目の要素をasとし、s=0,1,…,m-1、[[as]]のビット表現を[[as]]2^Lとし、[[as]]2^Lのi番目のビット位置のシェアを[[(ai)s]]2とすると、ベクトル[[→ai]]=([[(ai)0]]2, …, [[(ai)m-1]]2)であり、求める論理和は、[[Ai]]2:=[[(ai)0]]2OR … OR[[(ai)m-1]]2である。
n個のシフト量取得部105は、論理和[[Ai]]2(0≦i<L)を受け取り、最大ビット数L≦p-1をパラメータとして、ベクトル[[→A]]2=([[A0]]2,…,[[AL-1]]2)のMSBを固定位置にシフトさせるためのシフト量<<ρ>>pを求める(s105)。
n個のシフト部107は、[[→a]]pと<<ρ>>pとを受け取り、[[→a]]pの各要素をρビット左シフトさせたベクトル[[2ρ→a]]pを求め(S107)、出力する。例えば、上述の<乗法的ローテーション>により、シェアのベクトル[[→a]]Pとローテーション量の複製秘密分散したシェア<<ρ>>Pとから、(k,n)-秘密分散したシェア[[2ρa]]Pを求める。
このような構成により、精度を保ったままMSB合わせを行うことができる。
第一実施形態とは異なる部分を中心に説明する。
入力:数値シェア[[a]]P、正負ありうる左シフト量のシェア<<ρ>>Q、
パラメータ:入力のMSB位置のとりうる上限Mmax、シェアが許容する最大のMSB位置Mlim
出力:ρビットシフトした値[[s]]P
1: まずu:=Mlim-Mmax+1とおき、
とおく。uは、一回のシフト量秘匿右シフトでカバーできる右シフト量の範囲の大きさ(0~(Mlim-Mmax)をカバーする)であり、dは1~(Mmax-1)ビットの範囲の右シフトをするのに必要なシフト量秘匿右シフトの回数である。右シフト量が0以下の場合は左シフトでよく、右シフト量がMmax以上の場合、出力は常に0である。
[[f0]]2:=[[{ρ≧-Mmax+1}]]2、
[[f1]]2:=[[{ρ≧-Mmax+1+u}]]2,…,
[[fd-1]]2:=[[{ρ≧-Mmax+1+(d-1)u}]]2、
[[fL]]2:=[[{ρ≧0}]]2
を計算する。ここで、fL、fd-1、fd-2、…は、推移的なフラグであることに注意する。
[[c0]]P:=[[2ρ'a/2M_(max)-1]]P,
[[c1]]P:=[[2ρ'a/(2M_(max)-1-u)]]P,…,
[[cd-1]]P:=[[2ρ'a/(2M_(max)-1-(d-1)u)]]P
を計算する。
を計算して出力する。この式は推移的なフラグに対する選択ゲートになっていることに注意する。
入力:固定小数点数ベクトル[[→a]]P、[[→b]]P
パラメータ:ベクトル長m
出力:[[c]]P、ただしΣ0≦i<maibi≒c
1:第一実施形態のベクトルMSB正規化プロトコルにより、固定小数点数ベクトル[[→a]]P、[[→b]]PをそれぞれベクトルMSB正規化し、MSB位置を調整したベクトルとシフト量、([[→2ρ_a→a]]P,<<ρa>>p)、([[2ρ_b→b]]P,<<ρb>>p)を得る。
<非商転移モジュラス変換プロトコル>
入力:(k,n)-秘密分散したシェア[[a]]p
パラメータ:pのビット数|p|
出力:異なる法Qで(k,n)-秘密分散したシェア[[a]]Q
2-1 :シェア[[a]]pを(k,k)-加法的秘密分散したシェア<a>pに変換する。k=2とし、パーティp0,p1がシェア<a>pを持つ。(k,n)-秘密分散から(k,k)-加法的秘密分散への変換は、公知の技術により行うことができる。例えば、参考文献1を利用する。
例えば、p=61の場合、空きビットを残すためには値が31までしかとれないため、ここでの、mod p→mod Q変換は、商転移を使える条件を満たさないことが多いと想定される。そのため、非商転移モジュラス変換プロトコルを利用するとよい。
図1は第二実施形態に係るベクトルMSB正規化システム1の構成例を、図4はベクトルMSB正規化システム1の処理フローの例を示す。
図5は、分散処理装置100-rの機能ブロック図の例を示す。
n個のモジュラス変換部109は、([[→2ρ_a→a]]P,<<ρa>>p)、([[2ρ_b→b]]P,<<ρb>>p)を受け取り、<<ρa>>p,<<ρb>>pからmod p→mod Q変換により、[[ρa]]Q,[[ρb]]Qを得る(S109)。
n個の積和計算部111は、シェア[[→2ρ_a→a]]Pおよび([[2ρ_b→b]]Pを受け取り、積和[[c]]P:=[[Σ0≦i<m2ρ_aai2ρ_bbi]]Pを計算する(S111)。
n個の秘密分散変換部113は、[[ρa]]Q,[[ρb]]Qを受け取り、[[-ρa-ρb]]Qを計算し、秘密分散変換により<<-ρa-ρb>>Qを得る(S113)。
シフト量秘匿左右シフト部115は、積和のシェア[[c]]Pとシフト量のシェア<<-ρa-ρb>>Qとを受け取り、上述の<シフト量秘匿左右シフトプロトコル>により、[[c]]Pを<<-ρa-ρb>>Qビットシフトし(S115)、シフト後の値を出力する。なお、上述の<シフト量秘匿左右シフトプロトコル>を使わずに、積和のシェア[[c]]Pとシフト量のシェア<<-ρa-ρb>>Qを用いて公知の技術により、[[c]]Pを<<-ρa-ρb>>Qビットシフトした値を求めてもよい。
第一実施形態と異なる部分を中心に説明する。
入力:浮動小数点ベクトル([[→a]]P,[[→ρa]]Q)、ただし、本実施形態では、仮数部をaとし、指数部をρaとし、実数xを、x=2ρ_aaのように表す。[[→a]]P=([[a0]]P,…,[[→am-1]]P)、[[→ρa]]Q=([[ρa_0]]Q,…,[[ρa_m-1]]Q)であり、浮動小数点ベクトル([[→a]]P,[[→ρa]]Q)は、i(0≦i<m-1)番目の実数を2ρ_(a_i)aiのように表す。
処理:浮動小数点ベクトル([[→a]]P,[[→ρa]]Q)の指数部[[→ρa]]Qを最も大きい値[[ρmax]]Qに統一し、仮数部[[→a]]Pを差分[[→ρdif]]Q:=[[→ρa]]Q-[[ρmax]]Qだけ右シフトし、指数部を統一した浮動小数点ベクトルを求める。
入力:浮動小数点ベクトル([[→a]]P,[[→ρa]]Q)、([[→b]]P,[[→ρb]]Q)
パラメータ:ベクトル長m
出力:([[c]]P,<<ρb>>Q)、ただしΣ0≦i<m2(ρ_a)_i(ρ_b)_iaibi≒2ρ_bbとする。
図1は第二実施形態に係るベクトルMSB正規化システム1の構成例を、図6はベクトルMSB正規化システム1の処理フローの例を示す。
図7は、分散処理装置100-rの機能ブロック図の例を示す。
n個のモジュラス変換部117は、<<ρ'a>>pと<<ρ'b>>pとを受け取り,mod p→mod Q変換により[[ρa']]Q、[[ρb']]Qを得る(S117)。
n個の指数統一部119は、二つの浮動小数点ベクトル([[→a]]P,[[→ρa]]Q),([[→b]]P,[[→ρb]]Q)の指数部[[→ρa]]Q,[[→ρb]]Qと、ベクトルMSB正規化後のベクトル[[→a']]P,[[→b']]Pと、mod p→mod Q変換後のシフト量[[ρa']]Q、[[ρb']]Qとを受け取り、上述の<浮動小数点ベクトルの指数部統一プロトコル>により、([[→a']]P,[[→ρa-ρa']]Q)、([[→b']]P,[[→ρb-ρb']]Q)の指数部を統一したベクトルと指数部、([[→a'']]P,[[ρa'']]Q)、([[→b'']]P,[[ρb'']]Qを得る(S119)。
n個の積和部121は、[[c]]P:=[[Σ0≦i<ma''ib''i]]Pを計算し、([[c]]P、[[ρa''+ρb'']]Q)を得る(S121)。
アルゴリズムの処理効率に関して、要素演算である乗法的ローテーション、フラグ列→数値変換、シフト量秘匿左右シフトプロトコルおよび、比較用に浮動小数点加算・乗算について評価する。
(2)フラグ列→数値変換:通信量(4/3)|L|ビット、2ラウンド
(4)シフト量秘匿左右シフトプロトコル-その2-:通信量((5/3)d+(10/3))|P|+(2d+1)|p|、ラウンド数λ+4
(5)浮動小数点加算:通信量((5/3)d+(19/3))|P|+3|Q|+2λ+(4d+1)|p|、ラウンド数2λ+7
(6)浮動小数点乗算:通信量(8/3)|P|、3ラウンド
dはシフト量秘匿左右シフトプロトコル中の分割数dである。
ラウンド数については良い方で、定数の42である。乗算に関しては通信量12|P|+O(1)、ラウンド数は定数の23である。加算は、dが典型的には1であることを考えると、6|P|+3|Q|+2λ+5|p|である。|P|=61、|Q|=13、λ=10、|p|=6であることを考えると、3倍程度、本方式が効率的である。加算は複雑なため、要素であるシフトを高速化してもまだ桁違いにはならないようである。乗算に関しては5倍程度高速である。
実機実験の結果を報告する。下記のマシン3台の、マルチパーティ計算である。
◎memory: 768GB
◎NW: 10Gbps リングトポロジ
◎OS: CentOS 7.3
図8は各演算の性能である。
本発明は上記の実施形態及び変形例に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
上述の各種の処理は、図9に示すコンピュータの記憶部2020に、上記方法の各ステップを実行させるプログラムを読み込ませ、制御部2010、入力部2030、出力部2040などに動作させることで実施できる。
Claims (8)
- n個の分散処理装置を含む秘匿MSB正規化システムであって、
n個の前記分散処理装置は、それぞれビット分解部、論理和取得部、シフト量取得部およびシフト部を含み、
n個の前記ビット分解部は、(k,n)-秘密分散したシェアのベクトル[[→a]]Pをビット分解し、ベクトル[[→a]]Pのビット表現[[→a]]2^Lを得、
n個の前記論理和取得部は、前記ビット表現[[→a]]2^Lの各ビット位置のベクトル[[→ai]]に対して、全要素の論理和[[Ai]]2を取得し、
n個の前記シフト量取得部は、論理和[[A0]]2,…,[[AL-1]]2の最上位ビットを固定位置にシフトさせるためのシフト量ρを法pで(k,n)-複製秘密分散したシェア<<ρ>>pを求め、
n個の前記シフト部は、前記ベクトル[[→a]]pの各要素をρビット左シフトさせたベクトル[[2ρ→a]]pを求める、
秘匿MSB正規化システム。 - 請求項1の秘匿MSB正規化システムであって、
固定小数点ベクトル[[→a]]P,[[→b]]Pから最上位ビットを固定位置にシフトさせた後のベクトルとシフト量([[→2ρ_a→a]]P,<<ρa>>p)、([[2ρ_b→b]]P,<<ρb>>p)を求め、
n個の前記分散処理装置は、それぞれモジュラス変換部、積和計算部、秘密分散変換部およびシフト量秘匿左右シフト部を含み、
n個の前記モジュラス変換部は、<<ρa>>p,<<ρb>>pからmod p→mod Q変換により、[[ρa]]Q,[[ρb]]Qを得、
n個の前記積和計算部は、[[c]]P:=[[Σ0≦i<m2ρ_aai2ρ_bbi]]Pを計算し、
n個の前記秘密分散変換部は、前記[[ρa]]Q,前記[[ρb]]Qから、[[-ρa-ρb]]Qを計算し、秘密分散変換により、(k,n)-複製秘密分散したシェア<<-ρa-ρb>>Qを求め、
n個の前記シフト量秘匿左右シフト部は、積和のシェア[[c]]Pとシフト量のシェア<<-ρa-ρb>>Qとを受け取り、[[c]]Pを<<-ρa-ρb>>Qビットシフトする、
秘匿MSB正規化システム。 - 請求項1の秘匿MSB正規化システムであって、
浮動小数点ベクトル([[→a]]P,[[→ρa]]Q),([[→b]]P,[[→ρb]]Q)から最上位ビットをシフトさせた後のベクトルとシフト量([[→a']]P,<<ρ'a>>p)、([[→b']]P,<<ρ'b>>p)を求め、
n個の前記分散処理装置は、それぞれモジュラス変換部、指数統一部および積和計算部を含み、
n個の前記モジュラス変換部は、前記<<ρ'a>>pと前記<<ρ'b>>pとを、mod p→mod Q変換し[[ρa']]Q、[[ρb']]Qを得、
n個の前記指数統一部は、前記浮動小数点ベクトル([[→a]]P,[[→ρa]]Q),([[→b]]P,[[→ρb]]Q)の指数部[[→ρa]]Q,[[→ρb]]Qと、最上位ビットをシフトさせた後のベクトル[[→a']]P,[[→b']]Pと、mod p→mod Q変換後のシフト量[[ρa']]Q、[[ρb']]Qとを用いて、([[→a']]P,[[→ρa-ρa']]Q)、([[→b']]P,[[→ρb-ρb']]Q)の指数部を統一したベクトルと指数部、([[→a'']]P,[[ρa'']]Q)、([[→b'']]P,[[ρb'']]Qを得、
n個の前記積和計算部は、[[c]]P:=[[Σ0≦i<ma''ib''i]]Pを計算し、([[c]]P、[[ρa''+ρb'']]Q)を得る、
秘匿MSB正規化システム。 - 秘匿MSB正規化システムに含まれる分散処理装置であって、
(n-1)個の分散処理装置とともに、(k,n)-秘密分散したシェアのベクトル[[→a]]Pをビット分解し、ベクトル[[→a]]Pのビット表現[[→a]]2^Lを得るビット分解部と、
(n-1)個の分散処理装置とともに、前記ビット表現[[→a]]2^Lの各ビット位置のベクトル[[→ai]]に対して、全要素の論理和[[Ai]]2を取得する論理和取得部と、
(n-1)個の分散処理装置とともに、論理和[[A0]]2,…,[[AL-1]]2の最上位ビットを固定位置にシフトさせるためのシフト量ρを法pで(k,n)-複製秘密分散したシェア<<ρ>>pを求めるシフト量取得部と、
(n-1)個の分散処理装置とともに、前記ベクトル[[→a]]pの各要素をρビット左シフトさせたベクトル[[2ρ→a]]pを求めるシフト部とを含む、
分散処理装置。 - n個の分散処理装置を含む秘匿MSB正規化システムを用いる秘匿MSB正規化方法であって、
n個の前記分散処理装置は、それぞれビット分解部、論理和取得部、シフト量取得部およびシフト部を含み、
n個の前記ビット分解部が、(k,n)-秘密分散したシェアのベクトル[[→a]]Pをビット分解し、ベクトル[[→a]]Pのビット表現[[→a]]2^Lを得るビット分解ステップと、
n個の前記論理和取得部が、前記ビット表現[[→a]]2^Lの各ビット位置のベクトル[[→ai]]に対して、全要素の論理和[[Ai]]2を取得する論理和取得ステップと、
n個の前記シフト量取得部が、論理和[[A0]]2,…,[[AL-1]]2の最上位ビットを固定位置にシフトさせるためのシフト量ρを法pで(k,n)-複製秘密分散したシェア<<ρ>>pを求めるシフト量取得ステップと、
n個の前記シフト部が、前記ベクトル[[→a]]pの各要素をρビット左シフトさせたベクトル[[2ρ→a]]pを求めるシフトステップとを含む、
秘匿MSB正規化方法。 - 請求項5の秘匿MSB正規化方法であって、
固定小数点ベクトル[[→a]]P,[[→b]]Pから最上位ビットを固定位置にシフトさせた後のベクトルとシフト量([[→2ρ_a→a]]P,<<ρa>>p)、([[2ρ_b→b]]P,<<ρb>>p)を求め、
n個の前記分散処理装置は、それぞれモジュラス変換部、積和計算部、秘密分散変換部およびシフト量秘匿左右シフト部を含み、
n個の前記モジュラス変換部が、<<ρa>>p,<<ρb>>pからmod p→mod Q変換により、[[ρa]]Q,[[ρb]]Qを得るモジュラス変換ステップ、
n個の前記積和計算部が、[[c]]P:=[[Σ0≦i<m2ρ_aai2ρ_bbi]]Pを計算する積和計算ステップと、
n個の前記秘密分散変換部が、前記[[ρa]]Q,前記[[ρb]]Qから、[[-ρa-ρb]]Qを計算し、秘密分散変換により、(k,n)-複製秘密分散したシェア<<-ρa-ρb>>Qを求める秘密分散変換ステップと、
n個の前記シフト量秘匿左右シフト部が、積和のシェア[[c]]Pとシフト量のシェア<<-ρa-ρb>>Qとを受け取り、[[c]]Pを<<-ρa-ρb>>Qビットシフトするシフト量秘匿左右シフトステップとを含む、
秘匿MSB正規化方法。 - 請求項5の秘匿MSB正規化方法であって、
浮動小数点ベクトル([[→a]]P,[[→ρa]]Q),([[→b]]P,[[→ρb]]Q)から最上位ビットをシフトさせた後のベクトルとシフト量([[→a']]P,<<ρ'a>>p)、([[→b']]P,<<ρ'b>>p)を求め、
n個の前記分散処理装置は、それぞれモジュラス変換部、指数統一部および積和計算部を含み、
n個の前記モジュラス変換部が、前記<<ρ'a>>pと前記<<ρ'b>>pとを、mod p→mod Q変換し[[ρa']]Q、[[ρb']]Qを得るモジュラス変換ステップと、
n個の前記指数統一部が、前記浮動小数点ベクトル([[→a]]P,[[→ρa]]Q),([[→b]]P,[[→ρb]]Q)の指数部[[→ρa]]Q,[[→ρb]]Qと、最上位ビットをシフトさせた後のベクトル[[→a']]P,[[→b']]Pと、mod p→mod Q変換後のシフト量[[ρa']]Q、[[ρb']]Qとを用いて、([[→a']]P,[[→ρa-ρa']]Q)、([[→b']]P,[[→ρb-ρb']]Q)の指数部を統一したベクトルと指数部、([[→a'']]P,[[ρa'']]Q)、([[→b'']]P,[[ρb'']]Qを得る指数統一ステップと、
n個の前記積和計算部が、[[c]]P:=[[Σ0≦i<ma''ib''i]]Pを計算し、([[c]]P、[[ρa''+ρb'']]Q)を得る積和ステップとを含む、
秘匿MSB正規化方法。 - 請求項4の分散処理装置として、コンピュータを機能させるためのプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/039078 WO2022079891A1 (ja) | 2020-10-16 | 2020-10-16 | 秘匿msb正規化システム、分散処理装置、秘匿msb正規化方法、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2022079891A1 JPWO2022079891A1 (ja) | 2022-04-21 |
JP7540501B2 true JP7540501B2 (ja) | 2024-08-27 |
Family
ID=81208979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022556803A Active JP7540501B2 (ja) | 2020-10-16 | 2020-10-16 | 秘匿msb正規化システム、分散処理装置、秘匿msb正規化方法、およびプログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230401033A1 (ja) |
EP (1) | EP4210029A4 (ja) |
JP (1) | JP7540501B2 (ja) |
CN (1) | CN116324933A (ja) |
AU (1) | AU2020472441B2 (ja) |
WO (1) | WO2022079891A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230016859A1 (en) * | 2020-07-13 | 2023-01-19 | Inpher, Inc. | Multi-Pivot Partial Quicksort and Oblivious Comparisons of Secret Shared Arithmetic Values in a Multi-Party Computing Setting |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018034079A1 (ja) | 2016-08-18 | 2018-02-22 | 日本電気株式会社 | 秘密計算システム、秘密計算方法、秘密計算装置、分散情報生成装置およびそれらの方法とプログラム |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE467171T1 (de) * | 1998-08-24 | 2010-05-15 | Microunity Systems Eng | System mit breiter operandenarchitektur und verfahren |
EP2290872B1 (en) * | 2009-08-27 | 2014-06-18 | Nxp B.V. | Device for generating a message authentication code for authenticating a message |
US9054870B2 (en) * | 2012-10-22 | 2015-06-09 | Donatello Apelusion Gassi | Information security based on eigendecomposition |
US20160283242A1 (en) * | 2014-12-23 | 2016-09-29 | Intel Corporation | Apparatus and method for vector horizontal logical instruction |
JP5957126B1 (ja) * | 2015-06-24 | 2016-07-27 | 日本電信電話株式会社 | 秘密計算装置、秘密計算方法、およびプログラム |
EP3602422B1 (en) * | 2017-03-22 | 2022-03-16 | Visa International Service Association | Privacy-preserving machine learning |
US10460234B2 (en) * | 2018-01-19 | 2019-10-29 | Microsoft Technology Licensing, Llc | Private deep neural network training |
CN109617686A (zh) * | 2019-01-10 | 2019-04-12 | 江苏理工学院 | 一种改进的基于格的密钥交换协议算法 |
-
2020
- 2020-10-16 CN CN202080106069.6A patent/CN116324933A/zh active Pending
- 2020-10-16 US US18/030,522 patent/US20230401033A1/en active Pending
- 2020-10-16 AU AU2020472441A patent/AU2020472441B2/en active Active
- 2020-10-16 JP JP2022556803A patent/JP7540501B2/ja active Active
- 2020-10-16 WO PCT/JP2020/039078 patent/WO2022079891A1/ja unknown
- 2020-10-16 EP EP20957720.4A patent/EP4210029A4/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018034079A1 (ja) | 2016-08-18 | 2018-02-22 | 日本電気株式会社 | 秘密計算システム、秘密計算方法、秘密計算装置、分散情報生成装置およびそれらの方法とプログラム |
Non-Patent Citations (2)
Title |
---|
KAMM,Liina et al.,Secure Floating-Point Arithmetic and Private Satellite Collision Analysis,Version:20131217:154023,2013年12月16日,<https://eprint.iacr.org/2013/850.pdf> |
五十嵐 大,秘密計算AIの実装に向けた秘密実数演算群の設計と実装,コンピュータセキュリティシンポジウム2019論文集,日本,情報処理学会,2019年10月14日,No.2019,pp.1557-1564,ISSN 1881-0840 |
Also Published As
Publication number | Publication date |
---|---|
AU2020472441B2 (en) | 2024-03-28 |
US20230401033A1 (en) | 2023-12-14 |
JPWO2022079891A1 (ja) | 2022-04-21 |
CN116324933A (zh) | 2023-06-23 |
EP4210029A4 (en) | 2024-05-15 |
WO2022079891A1 (ja) | 2022-04-21 |
EP4210029A1 (en) | 2023-07-12 |
AU2020472441A1 (en) | 2023-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10467389B2 (en) | Secret shared random access machine | |
EP0917047B1 (en) | Apparatus for modular inversion for information security | |
US11164484B2 (en) | Secure computation system, secure computation device, secure computation method, and program | |
CN112805769B (zh) | 秘密s型函数计算系统、装置、方法及记录介质 | |
Dimitrov et al. | Alternative implementations of secure real numbers | |
Tjell et al. | Privacy in distributed computations based on real number secret sharing | |
Moon et al. | An Efficient Encrypted Floating‐Point Representation Using HEAAN and TFHE | |
JP7540501B2 (ja) | 秘匿msb正規化システム、分散処理装置、秘匿msb正規化方法、およびプログラム | |
Mounica et al. | Implementation of 5-Qubit approach-based Shor's Algorithm in IBM Qiskit | |
JP2020519968A (ja) | ビット分解秘密計算装置、ビット結合秘密計算装置、方法およびプログラム | |
CN116094686B (zh) | 用于量子卷积计算的同态加密方法、系统、设备及终端 | |
US20230119749A1 (en) | Large-precision homomorphic comparison using bootstrapping | |
US12113890B2 (en) | Homomorphic encryption using smart contracts | |
Koseki et al. | Homomorphic encryption for stochastic computing | |
CN111460514B (zh) | 数据匹配方法、装置和电子设备 | |
Blanton et al. | Secure and Accurate Summation of Many Floating-Point Numbers | |
CN113467752A (zh) | 用于隐私计算的除法运算装置、数据处理系统及方法 | |
EP4095834A1 (en) | Secure selective product computation system, secure selective product computation method, secure computation device, and program | |
KR102687526B1 (ko) | 낮은 cnot 카운트 양자 포인트 더블링 회로를 위한 장치 | |
CN116738494B (zh) | 基于秘密分享的多方安全计算的模型训练方法和装置 | |
JP7331951B2 (ja) | 秘密平方根計算システム、秘密正規化システム、それらの方法、秘密計算装置、およびプログラム | |
EP4095833A1 (en) | Secure square root reciprocal computation system, secure normalization system, methods for same, secure computation device, and program | |
AU2019450855B2 (en) | Secure division system, secure computation apparatus, secure division method, and program | |
US20230069892A1 (en) | Secure exponential function computation system, secure exponential function computation method, secure computation apparatus, and program | |
CN118114311A (zh) | 一种数据处理方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230404 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240521 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240703 |
|
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: 20240716 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240729 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7540501 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |