JPWO2020075797A1 - 秘密右シフト演算システム、秘密除算システム、それらの方法、秘密計算装置、およびプログラム - Google Patents
秘密右シフト演算システム、秘密除算システム、それらの方法、秘密計算装置、およびプログラム Download PDFInfo
- Publication number
- JPWO2020075797A1 JPWO2020075797A1 JP2020551219A JP2020551219A JPWO2020075797A1 JP WO2020075797 A1 JPWO2020075797 A1 JP WO2020075797A1 JP 2020551219 A JP2020551219 A JP 2020551219A JP 2020551219 A JP2020551219 A JP 2020551219A JP WO2020075797 A1 JPWO2020075797 A1 JP WO2020075797A1
- Authority
- JP
- Japan
- Prior art keywords
- value
- secret
- variance
- variance value
- division
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 40
- 238000004364 calculation method Methods 0.000 claims abstract description 160
- 238000006243 chemical reaction Methods 0.000 claims abstract description 110
- 239000000654 additive Substances 0.000 claims abstract description 44
- 230000000996 additive effect Effects 0.000 claims abstract description 44
- 238000012545 processing Methods 0.000 claims description 39
- 239000006185 dispersion Substances 0.000 claims description 33
- 238000012546 transfer Methods 0.000 claims description 25
- 206010027476 Metastases Diseases 0.000 claims description 6
- 230000009401 metastasis Effects 0.000 claims description 3
- 230000007704 transition Effects 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000010076 replication Effects 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 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
- 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/544—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 for evaluating functions by calculation
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- 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)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Complex Calculations (AREA)
- Storage Device Security (AREA)
Abstract
Description
この発明の第一実施形態は、右シフトの対象とする被シフト数を秘匿したまま、与えられたシフト量だけ被シフト数を右シフトして出力する秘密右シフト演算システムおよび方法である。以下、第一実施形態の秘密右シフト演算システムが実行する右シフトプロトコルの概要について説明する。このプロトコルはメルセンヌ素体上のプロトコルである。メルセンヌ素体は、秘密分散ベースの秘密計算で用いられる重要な構造である(参考文献1参照)。
〔参考文献1〕桐淵直人, 五十嵐大, 濱田浩気, 菊池亮, “プログラマブルな秘密計算ライブラリMEVAL3,”暗号と情報セキュリティシンポジウム(SCIS), pp. 1-8, 2018.
〔参考文献2〕Ryo Kikuchi, Dai Ikarashi, Takahiro Matsuda, Koki Hamada, and Koji Chida, "Efficient bit-decomposition and modulus-conversion protocols with an honest majority," Proceedings of Information Security and Privacy - 23rd Australasian Conference (ACISP 2018), pp. 64-82, July 11-13, 2018.
任意の分散数m∈N、素数p∈N、除数d∈N、被除数a∈R、a=Σi<maimod pを満たすシェアa0, ..., am-1があるとする。ここで、各iに対して非負整数aiQ, aiRはそれぞれaiのdによる商と剰余、非負整数pQ, pRはそれぞれpのdによる商と剰余、非負整数qはΣi<maiのpによる商、zQはΣi<maiR+q(d-pR)のdによる商とおく。このとき、aのdによる商aQは以下の式(1)で表される。
aQ=Σi<maiQ-(pQ+1)q+zQ (1)
仮定a=Σi<maimod pより、aはΣi<maiのpによる剰余である。仮定“qはΣi<maiのpによる商”より、Σi<mai=qp+aである。仮定よりai=aiQd+aiR, p=pQd+pRだから、
a=(Σi<maiQ)d+ΣaiR-qpQd-qpR
=(Σi<maiQ-qpQ)d+(Σi<maiR-qpR)
である。さらにΣi<maiR-qpRのdによる商をyQとおけば、
aQ=(Σi<maiQ-qpQ)+yQ
である。一方zQはΣi<maiR+q(d-pR)のdによる商だから、yQ=zQ-qである。
定理1で、素数ビット長l∈Nを任意、シフトビット数b∈Nをb≦lとして、素数p=2l-1、除数d=2bとする。するとz'QはΣi<maiR+qの2bによる商であり、aQは以下の式(2)で表される。
aQ=Σi<maiQ-2l-bf+z'Q (2)
式(1)においてp=2l-1, d=2bを代入すればよい。
任意の分散数m∈N、メルセンヌ素数pに対して、u∈Nはlog m≦uを満たし、a0, ..., am-1∈ZpはΣi<mai mod 2u=0を満たすものとする。このときqをΣi<maiのpによる商とすると、qは以下の式(3)で表される。
q=-Σi<mai mod 2u (3)
本実施形態で実行する右シフトプロトコルを以下に示す。このプロトコルは系1の式(2)に従って計算するものである。ここでは、以下の記法を用いる。
<・>は加法的秘密分散で分散された値である。加法的秘密分散は復元が加法で行われる秘密分散である。例えば、単純な加法的秘密分散、複製秘密分散を用いることができる。
{・}はビット列として分散された値である。すなわち、ビットを秘密分散した値の列として数値をビット表現した値である。例えば、Z2上の複製秘密分散の列を用いることができる。
添え字が付されていない[・], <・>, {・}は分散された値全体を表す。下付き添え字が付された[・]i, <・>i, {・}iはシェア(ここではi番目のシェア)を表す。
複製秘密分散では、各パーティがもつシェアは、「サブシェア」と呼ばれる複数の要素で構成され、複数のパーティで同じ値の要素が共有される。このサブシェアもシェアとして扱う。
入力:被シフト数[a]、シフト量b
パラメータ:加法的秘密分散の分散数m、log m以上の整数u
出力:[a≫b](ただし、≫は右シフト演算子であり、aの各ビットをbビットだけ右シフトすることを表す。)
1: 公開値倍により[a']=[2ua]を計算する。
2: [a']を加法的秘密分散に変換し、<a'>を得る。
3: <s>を<s>i=<a'>i≫b+uとする。
4: <s>を線形秘密分散に変換して[s]を得る。
5: 各<a'>iの下位uビットを分散して、<a'>i mod 2uのビット表現{a'i mod 2u}を得る。
6: 加算回路および符号反転回路により、-Σi<m{a'i mod 2u}の下位uビットを計算する。この出力は商転移定理よりqに等しいため、{q}とおく。
7: 各<a'>iの下位b+uビットを分散して、<a'>i mod 2b+uのビット表現{a'iR}を得る。
8: 加算回路により、{z}=Σi<m{a'iR}+{q}を計算し、b+uビット目(0スタート)以降のビット列を{zQ}とおく。このとき、一部、ステップ6で得たuビットの加算回路の処理結果を使い回すことができる。
9: {q}, {zQ}をビット合成により線形秘密分散に変換し、[q], [zQ]を得る。
10: [s]-[2l-(b+u)q]+[zQ]を出力する。
第一実施形態の秘密右シフト演算システム100は上述したアルゴリズム1:整数環Zq上の右シフトプロトコルを実行する。秘密右シフト演算システム100は、図1に示すように、m(≧3)台の秘密計算装置11, …, 1mを含む。この実施形態では、秘密計算装置11, …, 1mはそれぞれ通信網9へ接続される。通信網9は、接続される各装置が相互に通信可能なように構成された回線交換方式もしくはパケット交換方式の通信網であり、例えばインターネットやLAN(Local Area Network)、WAN(Wide Area Network)などを用いることができる。なお、各装置は必ずしも通信網9を介してオンラインで通信可能である必要はない。例えば、秘密計算装置1i(i=1, …, m)へ入力する情報を磁気テープやUSBメモリなどの可搬型記録媒体に記憶し、その可搬型記録媒体から秘密計算装置1iへオフラインで入力するように構成してもよい。
右シフトプロトコルの通信量とラウンド数を評価する。係数は考慮し、定数項は無視する。uの値はpassiveで1、activeでも2と小さいものと想定されるため、uは定数と見なして評価する。
第一実施形態の秘密右シフト演算システムでは、第二ビット変換部17および加算部18が右シフト演算により発生する下位ビットの誤差を近似する処理を行っていた。しかしながら、近似し得る誤差は数値計算では無視できる範囲の誤差である。秘密計算では加算回路の演算量が大きいため、この誤差を無視する(すなわち、その近似処理を省略する)ことで、より高速な右シフト演算を実現することができる。本実施形態で実行する右シフトプロトコルを以下に示す。
入力:被シフト数[a]、シフト量b
パラメータ:加法的秘密分散の分散数m、log m以上の整数u
出力:[a≫b](ただし、≫は右シフト演算子であり、aの各ビットをbビットだけ右シフトすることを表す。)
1: 公開値倍により[a']=[2ua]を計算する。
2: [a']を加法的秘密分散に変換し、<a'>を得る。
3: <s>を<s>i=<a'>i≫b+uとする。
4: <s>を線形秘密分散に変換して[s]を得る。
5: 各<a'>iの下位uビットを分散して、<a'>i mod 2uのビット表現{a'i mod 2u}を得る。
6: 加算回路および符号反転回路により、-Σi<m{a'imod 2u}の下位uビットを計算する。この出力は商転移定理よりqに等しいため、{q}とおく。
7: {q}をビット合成により線形秘密分散に変換し、[q]を得る。
8: [s]-[2l-(b+u)q]+1を出力する。
第二実施形態の秘密右シフト演算システム200は上述したアルゴリズム2:高速な右シフトプロトコルを実行する。第二実施形態の秘密右シフト演算システム200に含まれる秘密計算装置2i(i=1, …, m)は、例えば、図4に示すように、公開値倍部11、第一変換部12、右シフト演算部13、第二変換部14、第一ビット変換部15、商転移部16、第三変換部19、および出力計算部20を含む。すなわち、第一実施形態の秘密計算装置1i(i=1, …, m)には含まれていた第二ビット変換部17および加算部18を含まない。この秘密計算装置2iが他の秘密計算装置2i'(i'=1, …, m、ただしi≠i')と協調しながら後述する各ステップの処理を行うことにより第二実施形態の秘密右シフト演算方法が実現される。
右シフト演算は2べきによる除算とみなすことができる。そこで、第三実施形態では、2べき以外による除算に拡張することを考える。なお、右シフト演算でシフト量が公開であったのと同様に、除数は公開値とする。第三実施形態では、シェア数が2である加法的秘密分散を用いることを想定する。すなわち、内部の処理で用いる加法的秘密分散は(2, 2)加法的秘密分散であり、入出力の形式となる秘密分散は(2, 3)線形秘密分散である。本実施形態で実行する除数公開除算プロトコルを以下に示す。
入力:被除数[a]、除数d
出力:[a/d](ただし、/は小数点以下を切り捨てる除算を表す。)
1: [a]を(2, 2)加法的秘密分散に変換し、<a>を得る。
2: <a'>:=<2a>, d'=2dを計算する。
3: 商転移等により、<a'>のpによる商<q>を得る。
4: pのd'による商p'と剰余r'を得る。
5: 次式を計算し、<b>を得る。ここでは、加減算はmod pではなく自然数上の加減算である。
6: <b>-(p'+1)<q>+1を計算し、<a/d>の結果として得る。
7: <a/d>を(2, 3)線形秘密分散に変換し、[a/d]を出力する。
第三実施形態の秘密除算システム300は上述したアルゴリズム3:除数公開除算プロトコルを実行する。秘密除算システム300は、図6に示すように、3台の秘密計算装置31, 32, 33を含む。この実施形態では、秘密計算装置31, 32, 33はそれぞれ通信網9へ接続される。
すなわち、i=0であれば<b>i=(<a'>i+d'-1-r')/d'を計算し、それ以外であれば<b>i=<a'>i/d'を計算し、分散値<b>を得る。近似部35は、分散値<b>を出力計算部36へ入力する。
アルゴリズム3は以下の3つの性質を満たす。これは確率的出力をもつ数値計算向けの固定小数点数向け整数除算として理想的である。なお、/, ÷はいずれも除算を表す演算子であるが、/は小数点以下を切り捨てる除算であり、÷は実数除算である。
(1)「出力の期待値の小数部分〜a÷dの小数部分」が成り立ち、その近似誤差はO(a÷p)である。
(2)出力は1-O(a÷p)の確率でa/dもしくはa/d+1であり、整数出力で期待値をa÷dに一致させるための最小誤差幅である。最悪値に関しては、O(a÷p)の確率でa/d+2となる。
(3)特にaがdで割り切れるとき、誤差は1-O(a÷p)の確率で0である。
アルゴリズム3:除数公開除算プロトコルの通信量とラウンド数を評価する。通信量は、5/3(|p|+1)ビットとなる。ラウンド数は、2ラウンドとなる。通信量O(|p|)、ラウンド数O(1)を両立する除数公開除算は今まで存在しなかった。また、定数係数も2以下とごく小さく、例えば機械学習などの演算を反復するために右シフト(すなわち、2べきの除算)を大量に処理するアプリケーションでは特に有効であると言える。
第三実施形態では、シェア数が2である加法的秘密分散を用いることを想定した。第四実施形態では、シェア数が3以上である加法的秘密分散または複製秘密分散に一般化する。本実施形態で実行する除数公開除算プロトコルを以下に示す。
入力:被除数[a]、除数d
出力:[a/d](ただし、/は小数点以下を切り捨てる除算を表す。)
1: [a]をシェア数m(≧3)の加法的秘密分散または複製秘密分散に変換し、<a>を得る。
2: <a'>:=<2ua>, d':=2udを計算する。
3: 商転移等により、<a'>のpによる商<q>を得る。
4: pのd'による商p'と剰余r'を得る。
5: r'≧d'/2ならばz=1、それ以外であればz=0を設定する。
6: 次式を計算し、<b>を得る。ここでは、加減算はmod pではなく自然数上の加減算である。
7: <b>iをd'で割った商p"と剰余r"が、r"≦d'/2-1であれば<b'>i=<p">、r"≧d'/2であれば<b'>i=<p"+1>を計算し、<b'>を得る。d':=2udであるため、d'は偶数であることに注意されたい。
8: <b'>-(p'+z)<q>-1を計算し、<a/d>の結果として得る。
9: <a/d>をシェア数mの線形秘密分散に変換し、[a/d]を出力する。
第四実施形態の秘密除算システム400は上述したアルゴリズム4:除数公開除算プロトコルを実行する。秘密除算システム400は、図9に示すように、m(≧3)台の秘密計算装置41, …, 4mを含む。この実施形態では、秘密計算装置41, …, 4mはそれぞれ通信網9へ接続される。
すなわち、i=0であれば<b>i=(<a'>i+(d'-r')+(d'-r')/2)/d'を計算し、それ以外であれば<b>i=<a'>i/d'を計算し、分散値<b>を得る。近似部35は、分散値<b>を端数処理部39へ入力する。
第三実施形態および第四実施形態では、除数dは一般的な符号なし整数を用いることを想定した。第五実施形態では、除数dが符号あり整数である場合を想定する。本実施形態で実行する除算プロトコルを以下に示す。
入力:被除数[a]、除数d(ただし、μ<0, M≧0として、aはμ≦a≦Mを満たす。)
出力:[a/d](ただし、/は小数点以下を切り捨てる除算を表す。)
1: -μ≦wd≦2|p|-uを満たすwを得る。
2: アルゴリズム3または4により、[(wd+a)/d](=[w+a/d])を得る。
3: [w+a/d]からwを減算し、[a/d]を出力する。
上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
Claims (10)
- [・]は値・を第一の秘密分散で分散した分散値であり、<・>は値・を加法的秘密分散で分散した分散値であり、{・}は値・のビット表現を分散した分散値であり、上記分散値[・]と上記分散値<・>とは相互に変換可能であり、aは任意の値であり、bはシフト量であり、mは3以上の分散数であり、uはlog m以上の整数であり、lは値aのビット数であり、≫は右シフト演算子であり、
m台の秘密計算装置を含み、値aの分散値[a]とシフト量bとを入力とし、値aをbビット右シフトした値の分散値[a≫b]を計算する秘密右シフト演算システムであって、
上記秘密計算装置は、
上記分散値[a]を用いて分散値[a']=[2ua]を計算する公開値倍部と、
上記分散値[a']を加法的秘密分散の分散値<a'>=<a'>0, …, <a'>m-1に変換する第一変換部と、
0以上m未満の各整数iについて、<s>i=<a'>i≫b+uを計算し、分散値<s>=<s>0, …, <s>m-1を生成する右シフト演算部と、
上記分散値<s>を第一の秘密分散の分散値[s]に変換する第二変換部と、
0以上m未満の各整数iについて、上記分散値<a'>のシェア<a'>iの下位uビットをビット表現の分散値{a'i mod 2u}に変換する第一ビット変換部と、
上記分散値{a'i mod 2u}を用いて-Σi<m{a'imod 2u}の下位uビットを計算し、ビット表現の分散値{q}として得る商転移部と、
上記分散値{q}を第一の秘密分散の分散値[q]に変換する第三変換部と、
上記分散値[s], [q]を用いて[s]-[2l-(b+u)q]+1を計算し、上記分散値[a≫b]として得る出力計算部と、
を含む秘密右シフト演算システム。 - 請求項1に記載の秘密右シフト演算システムであって、
上記秘密計算装置は、
0以上m未満の各整数iについて、上記シェア<a'>iの下位b+uビットをビット表現の分散値{a'iR}={a'imod 2b+u}に変換する第二ビット変換部と、
上記分散値{a'iR}, {q}を用いてビット表現の分散値{z}=Σi<m{a'iR}+{q}を計算し、上記分散値{z}のb+uビット目以降のビット列を分散値{zQ}として得る加算部と、
をさらに含み、
上記第三変換部は、上記分散値{q}, {zQ}を第一の秘密分散の分散値[q], [zQ]に変換するものであり、
上記出力計算部は、上記分散値[s], [q], [zQ]を用いて[s]-[2l-(b+u)q]+[zQ]を計算し、上記分散値[a≫b]として得るものである、
秘密右シフト演算システム。 - pは素数であり、[・]は値・をシェア数が3である第一の秘密分散で分散した分散値であり、<・>は値・をシェア数が2である加法的秘密分散で分散した分散値であり、上記分散値[・]と上記分散値<・>とは相互に変換可能であり、aは被除数であり、dは除数であり、/は小数点以下を切り捨てる除算を表す演算子であり、
3台の秘密計算装置を含み、被除数aの分散値[a]と除数dとを入力とし、被除数aの除数dによる小数点以下切り捨ての除算結果a/dの分散値[a/d]を計算する秘密除算システムであって、
上記秘密計算装置は、
上記分散値[a]を上記加法的秘密分散の分散値<a>=<a>0, <a>1に変換する入力変換部と、
上記分散値[a]と上記除数dを用いて分散値<a'>=<2a>と値d'=2dを計算する公開値倍部と、
上記分散値<a'>を用いて値a'の素数pによる商qの分散値<q>を得る商転移部と、
素数pの値d'による商p'と剰余r'を得る公開除算部と、
上記分散値<a'>と上記値d'と上記剰余r'を用いて、<b>0=(<a'>0+d'-1-r')/d', <b>1=<a'>1/d'を計算し、分散値<b>=<b>0, <b>1を生成する近似部と、
上記分散値<b>, <q>と上記商p'を用いて、<b>-(p'+1)<q>+1を計算し、上記除算結果a/dの分散値<a/d>として得る出力計算部と、
上記分散値<a/d>を上記第一の秘密分散の分散値[a/d]に変換する出力変換部と、
を含む秘密除算システム。 - pは素数であり、[・]は値・をシェア数がmである第一の秘密分散で分散した分散値であり、<・>は値・をシェア数がmである加法的秘密分散で分散した分散値であり、上記分散値[・]と上記分散値<・>とは相互に変換可能であり、aは被除数であり、dは除数であり、mは3以上の分散数であり、uはlog m以上の整数であり、/は小数点以下を切り捨てる除算を表す演算子であり、
m台の秘密計算装置を含み、被除数aの分散値[a]と除数dとを入力とし、被除数aの除数dによる小数点以下切り捨ての除算結果a/dの分散値[a/d]を計算する秘密除算システムであって、
上記秘密計算装置は、
上記分散値[a]を上記加法的秘密分散の分散値<a>=<a>0, …, <a>m-1に変換する入力変換部と、
上記分散値[a]と上記除数dを用いて分散値<a'>=<2ua>と値d'=2udを計算する公開値倍部と、
上記分散値<a'>を用いて値a'の素数pによる商qの分散値<q>を得る商転移部と、
素数pの値d'による商p'と剰余r'を得る公開除算部と、
r'≧d'/2ならばz=1を設定し、r'<d'/2ならばz=0を設定したフラグzを得るフラグ設定部と、
0以上m未満の各整数iについて、i=0であれば<b>i=(<a'>i+(d'-r')+(d'-r')/2)/d'を計算し、i≠0であれば<b>i=<a'>i/d'を計算し、分散値<b>=<b>0, …, <b>m-1を生成する近似部と、
0以上m未満の各整数iについて、上記分散値<b>のシェア<b>jを値d'で割った商p"と剰余r"が、r"≦d'/2-1であれば<b'>i=<p">を計算し、r"≧d'/2であれば<b'>i=<p"+1>を計算し、分散値<b'>=<b'>0, …, <b'>m-1を得る端数処理部と、
上記分散値<b'>, <q>と上記商p'と上記フラグzを用いて、<b'>-(p'+z)<q>-1を計算し、上記除算結果a/dの分散値<a/d>として得る出力計算部と、
上記分散値<a/d>を上記第一の秘密分散の分散値[a/d]に変換する出力変換部と、
を含む秘密除算システム。 - 請求項3または4に記載の秘密除算システムであって、
μ<0, M≧0とし、aはμ≦a≦Mを満たし、
上記入力変換部は、-μ≦wd≦2|p|-uを満たすwを計算し、上記分散値[a]を分散値[wd+a]で更新するものであり、
上記出力変換部は、変換後の分散値[a/d]からwを減算した結果を上記分散値[a/d]として出力するものである、
秘密除算システム。 - [・]は値・を第一の秘密分散で分散した分散値であり、<・>は値・を加法的秘密分散で分散した分散値であり、{・}は値・のビット表現を分散した分散値であり、上記分散値[・]と上記分散値<・>とは相互に変換可能であり、aは任意の値であり、bはシフト量であり、mは3以上の分散数であり、uはlog m以上の整数であり、lは値aのビット数であり、≫は右シフト演算子であり、
m台の秘密計算装置を含み、値aの分散値[a]とシフト量bとを入力とし、値aをbビット右シフトした値の分散値[a≫b]を計算する秘密右シフト演算システムが実行する秘密右シフト演算方法であって、
上記秘密計算装置の公開値倍部が、上記分散値[a]を用いて分散値[a']=[2ua]を計算し、
上記秘密計算装置の第一変換部が、上記分散値[a']を加法的秘密分散の分散値<a'>=<a'>0, …, <a'>m-1に変換し、
上記秘密計算装置の右シフト演算部が、0以上m未満の各整数iについて、<s>i=<a'>i≫b+uを計算し、分散値<s>=<s>0, …, <s>m-1を生成し、
上記秘密計算装置の第二変換部が、上記分散値<s>を第一の秘密分散の分散値[s]に変換し、
上記秘密計算装置の第一ビット変換部が、0以上m未満の各整数iについて、上記分散値<a'>のシェア<a'>iの下位uビットをビット表現の分散値{a'i mod 2u}に変換し、
上記秘密計算装置の商転移部が、上記分散値{a'imod 2u}を用いて-Σi<m{a'imod 2u}の下位uビットを計算し、ビット表現の分散値{q}として得、
上記秘密計算装置の第三変換部が、上記分散値{q}を第一の秘密分散の分散値[q]に変換し、
上記秘密計算装置の出力計算部が、上記分散値[s], [q]を用いて[s]-[2l-(b+u)q]+1を計算し、上記分散値[a≫b]として得る、
秘密右シフト演算方法。 - pは素数であり、[・]は値・をシェア数が3である第一の秘密分散で分散した分散値であり、<・>は値・をシェア数が2である加法的秘密分散で分散した分散値であり、上記分散値[・]と上記分散値<・>とは相互に変換可能であり、aは被除数であり、dは除数であり、/は小数点以下を切り捨てる除算を表す演算子であり、
3台の秘密計算装置を含み、被除数aの分散値[a]と除数dとを入力とし、被除数aの除数dによる小数点以下切り捨ての除算結果a/dの分散値[a/d]を計算する秘密除算システムが実行する秘密除算方法であって、
上記秘密計算装置の入力変換部が、上記分散値[a]を上記加法的秘密分散の分散値<a>=<a>0, <a>1に変換し、
上記秘密計算装置の公開値倍部が、上記分散値[a]と上記除数dを用いて分散値<a'>=<2a>と値d'=2dを計算し、
上記秘密計算装置の商転移部が、上記分散値<a'>を用いて値a'の素数pによる商qの分散値<q>を得、
上記秘密計算装置の公開除算部が、素数pの値d'による商p'と剰余r'を得、
上記秘密計算装置の近似部が、上記分散値<a'>と上記値d'と上記剰余r'を用いて、<b>0=(<a'>0+d'-1-r')/d', <b>1=<a'>1/d'を計算し、分散値<b>=<b>0, <b>1を生成し、
上記秘密計算装置の出力計算部が、上記分散値<b>, <q>と上記商p'を用いて、<b>-(p'+1)<q>+1を計算し、上記除算結果a/dの分散値<a/d>として得、
上記秘密計算装置の出力変換部が、上記分散値<a/d>を上記第一の秘密分散の分散値[a/d]に変換する、
秘密除算方法。 - pは素数であり、[・]は値・をシェア数がmである第一の秘密分散で分散した分散値であり、<・>は値・をシェア数がmである加法的秘密分散で分散した分散値であり、上記分散値[・]と上記分散値<・>とは相互に変換可能であり、aは被除数であり、dは除数であり、mは3以上の分散数であり、uはlog m以上の整数であり、/は小数点以下を切り捨てる除算を表す演算子であり、
m台の秘密計算装置を含み、被除数aの分散値[a]と除数dとを入力とし、被除数aの除数dによる小数点以下切り捨ての除算結果a/dの分散値[a/d]を計算する秘密除算システムが実行する秘密除算方法であって、
上記秘密計算装置の入力変換部が、上記分散値[a]を上記加法的秘密分散の分散値<a>=<a>0, …, <a>m-1に変換し、
上記秘密計算装置の公開値倍部が、上記分散値[a]と上記除数dを用いて分散値<a'>=<2ua>と値d'=2udを計算し、
上記秘密計算装置の商転移部が、上記分散値<a'>を用いて値a'の素数pによる商qの分散値<q>を得、
上記秘密計算装置の公開除算部が、素数pの値d'による商p'と剰余r'を得、
上記秘密計算装置のフラグ設定部が、r'≧d'/2ならばz=1を設定し、r'<d'/2ならばz=0を設定したフラグzを得、
上記秘密計算装置の近似部が、0以上m未満の各整数iについて、i=0であれば<b>i=(<a'>i+(d'-r')+(d'-r')/2)/d'を計算し、i≠0であれば<b>i=<a'>i/d'を計算し、分散値<b>=<b>0, …, <b>m-1を生成し、
上記秘密計算装置の端数処理部が、0以上m未満の各整数iについて、上記分散値<b>のシェア<b>jを値d'で割った商p"と剰余r"が、r"≦d'/2-1であれば<b'>i=<p">を計算し、r"≧d'/2であれば<b'>i=<p"+1>を計算し、分散値<b'>=<b'>0, …, <b'>m-1を得、
上記秘密計算装置の出力計算部が、上記分散値<b'>, <q>と上記商p'と上記フラグzを用いて、<b>-(p'+z)<q>-1を計算し、上記除算結果a/dの分散値<a/d>として得、
上記秘密計算装置の出力変換部が、上記分散値<a/d>を上記第一の秘密分散の分散値[a/d]に変換する、
秘密除算方法。 - 請求項1または2に記載の秘密右シフト演算システムもしくは請求項3から5のいずれかに記載の秘密除算システムに含まれる秘密計算装置。
- 請求項9に記載の秘密計算装置としてコンピュータを機能させるためのプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018191830 | 2018-10-10 | ||
JP2018191830 | 2018-10-10 | ||
PCT/JP2019/039985 WO2020075797A1 (ja) | 2018-10-10 | 2019-10-10 | 秘密右シフト演算システム、秘密除算システム、それらの方法、秘密計算装置、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2020075797A1 true JPWO2020075797A1 (ja) | 2021-09-02 |
JP7067633B2 JP7067633B2 (ja) | 2022-05-16 |
Family
ID=70164571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020551219A Active JP7067633B2 (ja) | 2018-10-10 | 2019-10-10 | 秘密右シフト演算システム、秘密除算システム、それらの方法、秘密計算装置、およびプログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220060318A1 (ja) |
EP (2) | EP4280574A3 (ja) |
JP (1) | JP7067633B2 (ja) |
CN (1) | CN112805770B (ja) |
AU (1) | AU2019356344B2 (ja) |
WO (1) | WO2020075797A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7140202B2 (ja) * | 2018-10-26 | 2022-09-21 | 日本電気株式会社 | 秘密計算サーバ、システム、秘密計算方法及びプログラム |
EP4210028A4 (en) * | 2020-10-16 | 2024-05-15 | Nippon Telegraph & Telephone | SECRET SHIFT SYSTEM, SECRET SHIFT DEVICE, SECRET SHIFT METHOD AND PROGRAM |
JP7451445B2 (ja) | 2021-02-10 | 2024-03-18 | 株式会社東芝 | 秘匿演算方法、秘匿演算システム及び秘匿演算管理装置 |
CN114422116B (zh) * | 2021-12-14 | 2023-11-28 | 阿里巴巴(中国)有限公司 | 数据处理方法及装置 |
CN114760055B (zh) * | 2022-06-15 | 2022-09-09 | 山东区块链研究院 | 基于梅森素数的秘密分享方法、系统、存储介质及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016035554A (ja) * | 2014-05-15 | 2016-03-17 | ゼロックス コーポレイションXerox Corporation | 完全準同型暗号化方式を使用したコンパクトなファジープライベートマッチング |
WO2018034079A1 (ja) * | 2016-08-18 | 2018-02-22 | 日本電気株式会社 | 秘密計算システム、秘密計算方法、秘密計算装置、分散情報生成装置およびそれらの方法とプログラム |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2937982B2 (ja) * | 1997-01-27 | 1999-08-23 | 株式会社東芝 | モンゴメリ除算装置及びモンゴメリ逆元計算装置並びにモンゴメリ除算方法及びモンゴメリ逆元計算方法 |
JPH10214026A (ja) * | 1997-01-30 | 1998-08-11 | Nippon Telegr & Teleph Corp <Ntt> | 電子署名方法 |
TWI275049B (en) * | 2000-03-09 | 2007-03-01 | Nippon Telegraph & Telephone | Block cipher apparatus using auxiliary transformation |
JP2004226674A (ja) * | 2003-01-23 | 2004-08-12 | Renesas Technology Corp | 情報処理方法 |
JP4437411B2 (ja) * | 2004-02-18 | 2010-03-24 | 日本電信電話株式会社 | 相互検証を可能とする秘密情報分配装置、秘密情報検証装置、秘密情報照合装置、秘密情報分配システム及びプログラム |
JP2006023974A (ja) * | 2004-07-08 | 2006-01-26 | Fujitsu Ltd | 剰余演算処理装置及び剰余演算処理方法 |
JP2010122246A (ja) * | 2008-11-17 | 2010-06-03 | Fujitsu Ltd | 逆元演算装置および逆元演算プログラム |
WO2012090284A1 (ja) * | 2010-12-27 | 2012-07-05 | 三菱電機株式会社 | 演算装置、演算装置の楕円スカラー倍算方法、楕円スカラー倍算プログラム、演算装置の剰余演算方法、剰余演算プログラム、演算装置のゼロ判定方法およびゼロ判定プログラム |
JP5433621B2 (ja) * | 2011-04-11 | 2014-03-05 | 株式会社東芝 | ハッシュ関数演算装置及び演算プログラム |
JP2012242539A (ja) * | 2011-05-18 | 2012-12-10 | Renesas Electronics Corp | セキュリティシステム及びマイクロコンピュータ |
CN104412539B (zh) * | 2012-07-05 | 2017-05-24 | 日本电信电话株式会社 | 秘密分散系统、数据分散装置、分散数据变换装置、以及秘密分散方法 |
JP5937556B2 (ja) * | 2013-09-30 | 2016-06-22 | 日本電信電話株式会社 | 秘密計算装置、秘匿検索システム、秘密計算方法、秘匿検索方法、プログラム |
JP5957120B1 (ja) * | 2015-05-12 | 2016-07-27 | 日本電信電話株式会社 | 秘密分散方法、秘密分散システム、分散装置、およびプログラム |
-
2019
- 2019-10-10 US US17/279,096 patent/US20220060318A1/en active Pending
- 2019-10-10 EP EP23202409.1A patent/EP4280574A3/en active Pending
- 2019-10-10 CN CN201980066066.1A patent/CN112805770B/zh active Active
- 2019-10-10 EP EP19871655.7A patent/EP3866142B1/en active Active
- 2019-10-10 AU AU2019356344A patent/AU2019356344B2/en active Active
- 2019-10-10 WO PCT/JP2019/039985 patent/WO2020075797A1/ja unknown
- 2019-10-10 JP JP2020551219A patent/JP7067633B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016035554A (ja) * | 2014-05-15 | 2016-03-17 | ゼロックス コーポレイションXerox Corporation | 完全準同型暗号化方式を使用したコンパクトなファジープライベートマッチング |
WO2018034079A1 (ja) * | 2016-08-18 | 2018-02-22 | 日本電気株式会社 | 秘密計算システム、秘密計算方法、秘密計算装置、分散情報生成装置およびそれらの方法とプログラム |
Non-Patent Citations (3)
Title |
---|
CATRINA, OCTAVIAN ET AL.: "Secure Computation With Fixed-Point Numbers", LNCS, FINANCIAL CRYPTOGRAPHY AND DATA SECURITY, vol. 6052, JPN6019048981, 2010, DE, pages 35 - 50, XP019147523, ISSN: 0004696986 * |
HALEVI, S. ET AL., DESIGN AND IMPLEMENTATION OF A HOMOMORPHIC-ENCRYPTION LIBRARY, JPN6019048983, 11 April 2013 (2013-04-11), pages 1 - 44, ISSN: 0004696987 * |
三品気吹ほか: "高精度かつ高効率な秘密ロジスティック回帰の設計と実装", コンピュータセキュリティシンポジウム2018論文集, vol. 2018, no. 2, JPN6019048985, 15 October 2018 (2018-10-15), pages 1229 - 1236, ISSN: 0004696985 * |
Also Published As
Publication number | Publication date |
---|---|
US20220060318A1 (en) | 2022-02-24 |
AU2019356344B2 (en) | 2022-03-31 |
EP3866142B1 (en) | 2023-12-06 |
EP3866142A4 (en) | 2022-09-14 |
EP3866142A1 (en) | 2021-08-18 |
WO2020075797A1 (ja) | 2020-04-16 |
AU2019356344A1 (en) | 2021-05-13 |
EP4280574A3 (en) | 2024-01-03 |
EP4280574A2 (en) | 2023-11-22 |
JP7067633B2 (ja) | 2022-05-16 |
CN112805770B (zh) | 2023-10-03 |
CN112805770A (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7067633B2 (ja) | 秘密右シフト演算システム、秘密除算システム、それらの方法、秘密計算装置、およびプログラム | |
US11164484B2 (en) | Secure computation system, secure computation device, secure computation method, and program | |
US11294633B2 (en) | Secure computation system, secure computation device, secure computation method, and program | |
WO2020152831A1 (ja) | 情報処理装置、秘密計算方法及びプログラム | |
WO2021149101A1 (ja) | 秘密選択積計算システム、秘密選択積計算方法、秘密計算装置、およびプログラム | |
WO2021149099A1 (ja) | 秘密平方根逆数計算システム、秘密正規化システム、それらの方法、秘密計算装置、およびプログラム | |
Catrina | Optimization and tradeoffs in secure floating-point computation: products, powers, and polynomials | |
JP7331951B2 (ja) | 秘密平方根計算システム、秘密正規化システム、それらの方法、秘密計算装置、およびプログラム | |
JP7331953B2 (ja) | 秘密逆数計算システム、秘密正規化システム、それらの方法、秘密計算装置、およびプログラム | |
US20230069892A1 (en) | Secure exponential function computation system, secure exponential function computation method, secure computation apparatus, and program | |
US12010220B2 (en) | Secure division system, secure computation apparatus, secure division method, and program | |
WO2020250269A1 (ja) | 秘密除算システム、秘密計算装置、秘密除算方法、およびプログラム | |
US20230359438A1 (en) | Secure exponent unification system, secure exponent unification apparatus, secure exponent unification method, secure sum computing system, secure sum-of-product computing system, and program | |
Tordable | MapReduce for Integer Factorization | |
Harmon et al. | Mercury: Constant-Round Protocols for Multi-Party Computation with Rationals |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210224 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210224 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220201 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220307 |
|
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: 20220329 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220411 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7067633 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |