JP7047764B2 - 秘密計算システム、秘密計算装置、秘密計算方法および秘密計算プログラム - Google Patents
秘密計算システム、秘密計算装置、秘密計算方法および秘密計算プログラム Download PDFInfo
- Publication number
- JP7047764B2 JP7047764B2 JP2018541929A JP2018541929A JP7047764B2 JP 7047764 B2 JP7047764 B2 JP 7047764B2 JP 2018541929 A JP2018541929 A JP 2018541929A JP 2018541929 A JP2018541929 A JP 2018541929A JP 7047764 B2 JP7047764 B2 JP 7047764B2
- Authority
- JP
- Japan
- Prior art keywords
- multiplication
- triplet
- secret
- verification
- fraud
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/032—Protect output to user by software means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Description
2つの秘密分散したランダム数と、該2つの秘密分散したランダム数を秘密乗算した乗算結果の分散値と、の組からなる第1乗算トリプレット列を生成する第1乗算トリプレット列生成手段と、
前記第1乗算トリプレット列からランダムに選択された所定数の乗算トリプレットから不正を検証する乗算トリプレット検証手段と、
セミオネスト安全な秘密乗算における各乗算処理における2つの秘密分散した入力数と、該2つの秘密分散した入力数を秘密乗算した乗算結果の分散値と、の組からなる第2乗算トリプレット列を生成する第2乗算トリプレット列生成手段と、
前記乗算トリプレット検証手段により不正が発見されなかった場合に、前記第2乗算トリプレット列に対応する数の乗算トリプレットを前記第1乗算トリプレット列からランダムに選択して乗算トリプレットの組を生成して秘密乗算の正当性を検証する乗算正当性検証手段と、
を備え、
前記乗算トリプレット検証手段は、
前記第1乗算トリプレット列からランダムに第1数の乗算トリプレットをサンプリングして、前記サンプリングされた乗算トリプレットに基づいて不正を検証する第1トリプレット検証手段と、
前記第1トリプレット検証手段により不正が発見されなかった場合に、サンプリングされなかった乗算トリプレットにより少なくとも2列を有するランダムな行列を生成し、前記乗算トリプレットによるランダムな行列に基づいて不正を検証する第2トリプレット検証手段と、
を有する。
第1乗算トリプレット列生成手段が、2つの秘密分散したランダム数と、該2つの秘密分散したランダム数を秘密乗算した乗算結果の分散値と、の組からなる第1乗算トリプレット列を生成する第1乗算トリプレット列生成ステップと、
乗算トリプレット検証手段が、前記第1乗算トリプレット列からランダムに選択された所定数の乗算トリプレットから不正を検証する乗算トリプレット検証ステップと、
第2乗算トリプレット列生成手段が、セミオネスト安全な秘密乗算における各乗算処理における2つの秘密分散した入力数と、該2つの秘密分散した入力数を秘密乗算した乗算結果の分散値と、の組からなる第2乗算トリプレット列を生成する第2乗算トリプレット列生成ステップと、
乗算正当性検証手段が、前記乗算トリプレット検証ステップにおいて不正が発見されなかった場合に、前記第2乗算トリプレット列に対応する数の乗算トリプレットを前記第1乗算トリプレット列からランダムに選択して乗算トリプレットの組を生成して秘密乗算の正当性を検証する乗算正当性検証ステップと、
を含み、
前記乗算トリプレット検証ステップは、
前記第1乗算トリプレット列からランダムに第1数の乗算トリプレットをサンプリングして、前記サンプリングされた乗算トリプレットに基づいて不正を検証する第1トリプレット検証ステップと、
前記第1トリプレット検証ステップにおいて不正が発見されなかった場合に、サンプリングされなかった乗算トリプレットにより少なくとも2列を有するランダムな行列を生成し、前記乗算トリプレットによるランダムな行列に基づいて不正を検証する第2トリプレット検証ステップと、
を含む。
2つの秘密分散したランダム数と、該2つの秘密分散したランダム数を秘密乗算した乗算結果の分散値と、の組からなる第1乗算トリプレット列を生成する第1乗算トリプレット列生成ステップと、
前記第1乗算トリプレット列からランダムに選択された所定数の乗算トリプレットから不正を検証する乗算トリプレット検証ステップと、
セミオネスト安全な秘密乗算における各乗算処理における2つの秘密分散した入力数と、該2つの秘密分散した入力数を秘密乗算した乗算結果の分散値と、の組からなる第2乗算トリプレット列を生成する第2乗算トリプレット列生成ステップと、
前記乗算トリプレット検証ステップにおいて不正が発見されなかった場合に、前記第2乗算トリプレット列に対応する数の乗算トリプレットを前記第1乗算トリプレット列からランダムに選択して乗算トリプレットの組を生成して秘密乗算の正当性を検証する乗算正当性検証ステップと、
を秘密計算装置のコンピュータに実行させる秘密計算プログラムであって、
前記乗算トリプレット検証ステップにおいては、
前記第1乗算トリプレット列からランダムに第1数の乗算トリプレットをサンプリングして、前記サンプリングされた乗算トリプレットに基づいて不正を検証する第1トリプレット検証ステップと、
前記第1トリプレット検証ステップにおいて不正が発見されなかった場合に、サンプリングされなかった乗算トリプレットにより少なくとも2列を有するランダムな行列を生成し、前記乗算トリプレットによるランダムな行列に基づいて不正を検証する第2トリプレット検証ステップと、
を前記秘密計算装置のコンピュータに実行させる。
複数の秘密計算装置が互いに通信接続されて、前記複数の秘密計算装置に秘密分散された数を協働して秘密計算する秘密計算システムであって、
前記複数の秘密計算装置の少なくとも1つの秘密計算装置が、
2つの秘密分散したランダム数と、該2つの秘密分散したランダム数を秘密乗算した乗算結果の分散値と、の組からなる第1乗算トリプレット列を生成する第1乗算トリプレット列生成手段と、
前記第1乗算トリプレット列からランダムに選択された所定数の乗算トリプレットから不正を検証する乗算トリプレット検証手段と、
セミオネスト安全な秘密乗算における各乗算処理における2つの秘密分散した入力数と、該2つの秘密分散した入力数を秘密乗算した乗算結果の分散値と、の組からなる第2乗算トリプレット列を生成する第2乗算トリプレット列生成手段と、
前記乗算トリプレット検証手段により不正が発見されなかった場合に、前記第2乗算トリプレット列に対応する数の乗算トリプレットを前記第1乗算トリプレット列からランダムに選択して乗算トリプレットの組を生成して秘密乗算の正当性を検証する乗算正当性検証手段と、
を備え、
前記乗算トリプレット検証手段は、
前記第1乗算トリプレット列からランダムに第1数の乗算トリプレットをサンプリングして、前記サンプリングされた乗算トリプレットに基づいて不正を検証する第1トリプレット検証手段と、
前記第1トリプレット検証手段により不正が発見されなかった場合に、サンプリングされなかった乗算トリプレットにより少なくとも2列を有するランダムな行列を生成し、前記乗算トリプレットによるランダムな行列に基づいて不正を検証する第2トリプレット検証手段と、
を有する。
本発明の第1実施形態としての秘密計算装置100について、図1を用いて説明する。秘密計算装置100は、秘密分散された値やビットを秘密加算および秘密乗算する装置である。
次に、本発明の第2実施形態に係る秘密計算装置について説明する。本実施形態においては、第1乗算トリプレット列からランダムに選択された所定数の乗算トリプレットから不正を検証する乗算トリプレット検証部を有し、乗算トリプレット検証部により不正が発見されなかった場合に、秘密乗算の正当性を検証する。この乗算トリプレット検証部は、第1乗算トリプレット列からランダムに第1数の乗算トリプレットをサンプリングして、サンプリングされた乗算トリプレットに基づいて不正を検証するサンプリング検証部を有する。ここで、第1数は、サンプリング検証部が不正を検証する精度に対応して設定される。また、乗算トリプレット検証部は、サンプリング検証部により不正が発見されなかった場合に、サンプリングされなかった乗算トリプレットにより少なくとも2列を有するランダムな行列を生成し、乗算トリプレットによるランダムな行列に基づいて不正を検証するバケット検証部を有する。ここで、行列の列数は、バケット検証部が不正を検証する精度に対応して設定される。
以下、本実施形態を理解するための前提技術について説明する。まず、非特許文献1~3の開示技術を説明する。
非特許文献1の方法では、ある体上の値である秘密Sを、この体上の多項式FでF(0)=Sとなるものを使って複数の装置に分散する。装置の数をN、装置の個数がK未満であれば関数の入力や出力に関する情報を得ることができないとする。このような技術を秘密分散という。装置ごとに異なるこの体上の値が割り当てられているとし、装置iに割り当てられている体の値をX[i]とする。秘密Aをこれら複数の装置に分散する時、各i番目の装置にはF(0)=Aなるランダムに選ばれたK-1次多項式Fに関する、F[i]:=F(X[i])を配る。秘密Bに関しても同様にG(0)=BなるK-1次多項式Gに関する、G[i]:=G(X[i])を各i番目の装置に配る。秘密はK個以上の装置が集まればK-1次多項式を解くことが可能で、FやGの係数を求めることができ、F(0)やG(0)を計算することが可能になる。
非特許文献2には、装置の数が2つの場合の方法に関する記述がある。この方法では2つの装置がビット、すなわちGF(2)上のある要素bを分散して保持する場合は b+c=b mod 2 となるbとcを、それぞれの装置で分けて保持する。この様な方法を使うとあるビットAとあるビットBを装置1と装置2で分散する場合、A=C+D mod 2, B=E+F mod 2として、装置1はCとEを、装置2はDとFを保持する。この時、AとBの排他的論理和Gは G=A+B mod 2となり、これらの装置1と装置2との分散はそれぞれ、H=C+E mod 2とJ=D+F mod 2 とすることができる。それぞれの装置は他の装置と通信することなく、軽い計算で分散された2つの値の排他的論理和の分散が計算できたことになる。
非特許文献1および非特許文献2は、各装置が正直に振る舞うことを前提としていた。しかし、非特許文献3には、一定数以上の装置が正直に振る舞えば、その他の装置が悪意を持って振る舞っても(互いに通信する時に正しい値を他者に送らないなど)、安全性が保たれる方法(すなわち、偽の値を送ることで他者の持つ秘密を得ることができない)が記述されている。
非特許文献1および非特許文献2は、参加者が正直であることを前提にしているので、参加者の悪意ある振る舞いに対して秘密を守ることができないという問題である。また、非特許文献3は、秘密計算の検証精度を上げるには処理量が大きくなってしまので、参加者の悪意ある振る舞いに対して秘密を守るには処理量が大きいことが問題である。
n個の装置P(1), P(2),…,P(n)がある。Rを加算と乗算が定義されるある環とする。関数SecretShare()を、Rの要素が与えられた時、n個のシェアと呼ばれる値を出力する関数とする。
1.関数Recover()が存在し、n個のシェアから任意のt個を選び、これをRecoverに入力すると、xを得ることができる。
2.(t-1)未満個のシェアからはxを復元することは困難である。
xが(t,n)秘密分散されているとは、i=1,…,nに関して、P(i)がx(i)を保持していることを言う。これを[x]と表す。
秘密分散[x]から一部ないしは全ての参加者が関与して、それぞれがxを得る処理を復元と呼ぶ。復元に関与した全ての参加者が正直にこの処理を実行した場合、この参加者全てが正しい復元結果を得られる場合、セミオネスト復元と呼ぶ。
(秘密加算)
[x],[y]が与えられた時、P(1),…,P(n)は互いに通信することなく、それぞれ自身のシェアを使って計算する事で、[z]=[x+y]を計算することができるとする。全ての参加者が正直にこの計算を実行している限り、どのt未満の数の参加者が自身の知識を共有しても、x,y,zに関する新たな知識を得ることができないものとする。この処理を、[z]=[x]+[y]と表現し、秘密計算の加算と呼ぶ。
[x]と全ての装置が知るyが与えられた時、P(1),…,P(n)は互いに通信することなく、それぞれ自身のシェアを使って計算することで、[z]=[x・y]を計算する事ができるとする。この処理を、[z]=[x]・yあるいは[z]=y・[x]と表現し、秘密計算の局所的な乗算と呼ぶ。
t(2)-t(3)-{-2t(3)-t(1)}=t(1)+t(2)+t(3)
={(-x(11)y(11)+x(12)y(12)-r(1))/3}+{(-x(21)y(21)+x(22)y(22)-r(2))/3}+{(-x(31)y(31)+x(32)y(32)-r(3))/3}
={((-a(1)b(1)+(a(1)-x)(b(1)-y)-r(1))/3}+{((-a(2)b(2)+(a(2)-x)(b(2)-y)-r(2))/3}+{((-a(3)b(3)+(a(3)-x)(b(3)-y)-r(3))/3}
={(-b(1)x-a(1)y+x・y-r(1))/3}+{(-b(2)x-a(2)y+x・y-r(2))/3}+{(-b(3)x-a(3)y+x・y-r(3))/3}
=-{(b(1)+b(2)+b(3)}x/3-{a(1)+a(2)+a(3)y/3}+x・y-{r(1)+r(2)+r(3)}
=x・y、をセミオネスト復元できる。
上記前提技術を参照しながら、本実施形態の秘密計算装置の構成および動作を詳細に説明する。
図2は、本実施形態に係る秘密計算装置200の機能構成を示すブロック図である。
図3は、本実施形態に係る秘密計算装置200を含む秘密計算システム300の構成を示すブロック図である。
図4は、本実施形態に係る乗算トリプレット列生成部202の機能構成を示すブロック図である。
図5は、本実施形態に係るサンプリング検証部203の機能構成を示すブロック図である。
図6は、本実施形態に係るバケット検証部204の機能構成を示すブロック図である。
バケット検証部204は、サンプリング検証結果受信部601と、非サンプリングトリプレット受信部602と、トリプレット行列生成部603と、バケット検証処理部604と、を有する。サンプリング検証結果受信部601は、サンプリング検証部203からサンプリング検証の結果を受信する。そして、不正なしを受信した場合に、バケット検証部204を起動する。非サンプリングトリプレット受信部602は、サンプリング検証部203からサンプリングされなかったLK個の乗算サンプリングを受信して、乗算トリプレット列{a(j),b(j),c(j)}(1≦j≦LK)621を保持する。なお、非サンプリングトリプレット受信部602において、サンプリングされなかったLK個の乗算サンプリングは、乗算トリプレット列生成部202からの全乗算トリプレット列からサンプリングされたM個の乗算トリプレットを除くことで求めてもよい。
全てのq=2,..,Kに関して、以下の[小ループ終了]までの処理を実行する。
・[d(p,q)]=[a(p,1)]+[a(p,q)]および[e(p,q)]=[b(p,1)]+[b(p,q)]を秘密計算し、d(p,q)とe(p,q)とをセミオネスト復元する。
・f番目の参加者が得る復元結果をそれぞれ、d(p,q,f)とe(p,q,f)とする。
・f番目の参加者は、d(p,q)とe(p,q)としてd(p,q,f)とe(p,q,f)をそれぞれ用いて、次の秘密計算を行う。
[c'(p,q)]=[c(p,1)]-d(p,q)・e(p,q)+[a(p,q)]・e(p,q)+[b(p,q)]・d(p,q)-[c(p,q)]
[小ループ終了]
[大ループ終了]
図7は、本実施形態に係るセミオネスト計算部205の機能構成を示すブロック図である。
図8は、本実施形態に係る乗算正当性検証部206の機能構成を示すブロック図である。
そして、全てのw=1,…,Cに関して、d(w,f)とe(w,f)とがfによって異ならないことを確認する。これは、例えば次のようにして実施する。
図9は、本実施形態に係る秘密計算終了処理部207の機能構成を示すブロック図である。
図10Aは、本実施形態に係る秘密計算装置200のハードウェア構成を示すブロック図である。
図10Bは、本実施形態に係る秘密乗算検証用パラメータ1059の内容を示す図である。秘密乗算検証用パラメータ1059は、乗算トリプレット生成、サンプリング検証、バケット検証、または、乗算正当性検証のために設定される、あるいは、算出されるパラメータである。なお、秘密乗算検証用パラメータ1059は、図10Bに限定されない。
図11は、本実施形態に係る秘密計算装置200の処理手順を示すフローチャートである。このフローチャートは、図10のCPU1010がRAM1040を用いて実行し、図2の機能構成部を実現する。
図12は、本実施形態に係るセミオネスト計算処理(S1107)および乗算正当性検証処理(S1109)の手順を示すフローチャートである。
次に、本発明の第3実施形態に係る秘密計算装置について説明する。本実施形態に係る秘密計算装置は、上記第2実施形態と比べると、バケット検証なしにサンプリング検証と乗算正当性検証とで検証する点で異なる。その他の構成および動作は、第2実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
図13は、本実施形態に係る秘密計算装置1300の機能構成を示すブロック図である。図13において、図2と同様の機能構成には同じ参照番号を付して、重複する説明は説明を省略する。すなわち、図13においては、図2の乗算トリプレット検証部210からバケット検証部204を省いて乗算トリプレット検証部1310としたのみで、他の機能構成は同様であるので詳細な説明は省略する。
次に、本発明の第4実施形態に係る秘密計算装置について説明する。本実施形態に係る秘密計算装置は、上記第2実施形態および第3実施形態と比べると、バケット検証と乗算正当性検証との順番を逆にして検証する点で異なる。その他の構成および動作は、第2実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
図14は、本実施形態に係る秘密計算装置1400の機能構成を示すブロック図である。図14において、図2または図13と同様の機能構成には同じ参照番号を付して、重複する説明は説明を省略する。すなわち、図14においては、図2の乗算トリプレット検証部210のバケット検証部204を移動して、乗算トリプレット検証部1410としたのみで、機能構成部は同様であるので詳細な説明は省略する。
以上説明したように、本発明を用いれば複数の装置にデータを分散して各装置にデータを隠ぺいしたまま加算や乗算が可能になり、あわせて任意の関数を計算することが可能になる。また、参加装置が不正を働いたとしても、これを検知することができる。この計算に必要な通信量と計算量は小さい。この様なシステムは、ある装置で秘密のデータを扱ってなんらかのサービスを提供する時に、装置の管理者がデータを盗む出すことを防止できる。なぜなら、複数の装置に異なる管理者を割り当てれば、一人で全ての装置中のデータを見ることのできる管理者がいなくなり、このような管理者を通じたデータの盗み出しを防止することに貢献する。
Claims (6)
- 2つの秘密分散したランダム数と、該2つの秘密分散したランダム数を秘密乗算した乗算結果の分散値と、の組からなる第1乗算トリプレット列を生成する第1乗算トリプレット列生成手段と、
前記第1乗算トリプレット列からランダムに選択された所定数の乗算トリプレットから不正を検証する乗算トリプレット検証手段と、
セミオネスト安全な秘密乗算における各乗算処理における2つの秘密分散した入力数と、該2つの秘密分散した入力数を秘密乗算した乗算結果の分散値と、の組からなる第2乗算トリプレット列を生成する第2乗算トリプレット列生成手段と、
前記乗算トリプレット検証手段により不正が発見されなかった場合に、前記第2乗算トリプレット列に対応する数の乗算トリプレットを前記第1乗算トリプレット列からランダムに選択して乗算トリプレットの組を生成して秘密乗算の正当性を検証する乗算正当性検証手段と、
を備え、
前記乗算トリプレット検証手段は、
前記第1乗算トリプレット列からランダムに第1数の乗算トリプレットをサンプリングして、前記サンプリングされた乗算トリプレットに基づいて不正を検証する第1トリプレット検証手段と、
前記第1トリプレット検証手段により不正が発見されなかった場合に、サンプリングされなかった乗算トリプレットにより少なくとも2列を有するランダムな行列を生成し、前記乗算トリプレットによるランダムな行列に基づいて不正を検証する第2トリプレット検証手段と、
を有する秘密計算装置。 - 前記第1数は、前記第1トリプレット検証手段が不正を検証する精度に対応して設定される、請求項1に記載の秘密計算装置。
- 前記行列の列数は、前記第2トリプレット検証手段が不正を検証する精度に対応して設定される、請求項1に記載の秘密計算装置。
- 第1乗算トリプレット列生成手段が、2つの秘密分散したランダム数と、該2つの秘密分散したランダム数を秘密乗算した乗算結果の分散値と、の組からなる第1乗算トリプレット列を生成する第1乗算トリプレット列生成ステップと、
乗算トリプレット検証手段が、前記第1乗算トリプレット列からランダムに選択された所定数の乗算トリプレットから不正を検証する乗算トリプレット検証ステップと、
第2乗算トリプレット列生成手段が、セミオネスト安全な秘密乗算における各乗算処理における2つの秘密分散した入力数と、該2つの秘密分散した入力数を秘密乗算した乗算結果の分散値と、の組からなる第2乗算トリプレット列を生成する第2乗算トリプレット列生成ステップと、
乗算正当性検証手段が、前記乗算トリプレット検証ステップにおいて不正が発見されなかった場合に、前記第2乗算トリプレット列に対応する数の乗算トリプレットを前記第1乗算トリプレット列からランダムに選択して乗算トリプレットの組を生成して秘密乗算の正当性を検証する乗算正当性検証ステップと、
を含み、
前記乗算トリプレット検証ステップは、
前記第1乗算トリプレット列からランダムに第1数の乗算トリプレットをサンプリングして、前記サンプリングされた乗算トリプレットに基づいて不正を検証する第1トリプレット検証ステップと、
前記第1トリプレット検証ステップにおいて不正が発見されなかった場合に、サンプリングされなかった乗算トリプレットにより少なくとも2列を有するランダムな行列を生成し、前記乗算トリプレットによるランダムな行列に基づいて不正を検証する第2トリプレット検証ステップと、
を含む秘密計算装置の秘密計算方法。 - 2つの秘密分散したランダム数と、該2つの秘密分散したランダム数を秘密乗算した乗算結果の分散値と、の組からなる第1乗算トリプレット列を生成する第1乗算トリプレット列生成ステップと、
前記第1乗算トリプレット列からランダムに選択された所定数の乗算トリプレットから不正を検証する乗算トリプレット検証ステップと、
セミオネスト安全な秘密乗算における各乗算処理における2つの秘密分散した入力数と、該2つの秘密分散した入力数を秘密乗算した乗算結果の分散値と、の組からなる第2乗算トリプレット列を生成する第2乗算トリプレット列生成ステップと、
前記乗算トリプレット検証ステップにおいて不正が発見されなかった場合に、前記第2乗算トリプレット列に対応する数の乗算トリプレットを前記第1乗算トリプレット列からランダムに選択して乗算トリプレットの組を生成して秘密乗算の正当性を検証する乗算正当性検証ステップと、
を秘密計算装置のコンピュータに実行させる秘密計算プログラムであって、
前記乗算トリプレット検証ステップにおいては、
前記第1乗算トリプレット列からランダムに第1数の乗算トリプレットをサンプリングして、前記サンプリングされた乗算トリプレットに基づいて不正を検証する第1トリプレット検証ステップと、
前記第1トリプレット検証ステップにおいて不正が発見されなかった場合に、サンプリングされなかった乗算トリプレットにより少なくとも2列を有するランダムな行列を生成し、前記乗算トリプレットによるランダムな行列に基づいて不正を検証する第2トリプレット検証ステップと、
を前記秘密計算装置のコンピュータに実行させる秘密計算プログラム。 - 複数の秘密計算装置が互いに通信接続されて、前記複数の秘密計算装置に秘密分散された数を協働して秘密計算する秘密計算システムであって、
前記複数の秘密計算装置の少なくとも1つの秘密計算装置が、
2つの秘密分散したランダム数と、該2つの秘密分散したランダム数を秘密乗算した乗算結果の分散値と、の組からなる第1乗算トリプレット列を生成する第1乗算トリプレット列生成手段と、
前記第1乗算トリプレット列からランダムに選択された所定数の乗算トリプレットから不正を検証する乗算トリプレット検証手段と、
セミオネスト安全な秘密乗算における各乗算処理における2つの秘密分散した入力数と、該2つの秘密分散した入力数を秘密乗算した乗算結果の分散値と、の組からなる第2乗算トリプレット列を生成する第2乗算トリプレット列生成手段と、
前記乗算トリプレット検証手段により不正が発見されなかった場合に、前記第2乗算トリプレット列に対応する数の乗算トリプレットを前記第1乗算トリプレット列からランダムに選択して乗算トリプレットの組を生成して秘密乗算の正当性を検証する乗算正当性検証手段と、
を備え、
前記乗算トリプレット検証手段は、
前記第1乗算トリプレット列からランダムに第1数の乗算トリプレットをサンプリングして、前記サンプリングされた乗算トリプレットに基づいて不正を検証する第1トリプレット検証手段と、
前記第1トリプレット検証手段により不正が発見されなかった場合に、サンプリングされなかった乗算トリプレットにより少なくとも2列を有するランダムな行列を生成し、前記乗算トリプレットによるランダムな行列に基づいて不正を検証する第2トリプレット検証手段と、
を有する秘密計算システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016193094 | 2016-09-30 | ||
JP2016193094 | 2016-09-30 | ||
PCT/JP2017/024874 WO2018061391A1 (ja) | 2016-09-30 | 2017-07-06 | 秘密計算システム、秘密計算装置、秘密計算方法および秘密計算プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2018061391A1 JPWO2018061391A1 (ja) | 2019-07-11 |
JP7047764B2 true JP7047764B2 (ja) | 2022-04-05 |
Family
ID=61762751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018541929A Active JP7047764B2 (ja) | 2016-09-30 | 2017-07-06 | 秘密計算システム、秘密計算装置、秘密計算方法および秘密計算プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US11080393B2 (ja) |
JP (1) | JP7047764B2 (ja) |
WO (1) | WO2018061391A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11042358B2 (en) * | 2016-08-18 | 2021-06-22 | Nec Corporation | Secure computation system, secure computation method, secure computation apparatus, distribution information generation apparatus, and methods and programs therefor |
US11456862B2 (en) * | 2017-07-05 | 2022-09-27 | Nippon Telegraph And Telephone Corporation | Secure computation system, secure computation apparatus, secure computation method, and recording medium |
CN110457936B (zh) * | 2019-07-01 | 2020-08-14 | 阿里巴巴集团控股有限公司 | 数据交互方法、装置和电子设备 |
EP4057170A1 (de) * | 2021-03-11 | 2022-09-14 | Siemens Aktiengesellschaft | Verfahren zur bestimmung der integrität einer datenverarbeitung, vorrichtung, datenverarbeitungsanlage und anlage |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012078446A (ja) | 2010-09-30 | 2012-04-19 | Nippon Telegr & Teleph Corp <Ntt> | 不正検知方法、秘密計算システム、計算装置、計算プログラム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6941463B1 (en) * | 1998-05-14 | 2005-09-06 | Purdue Research Foundation | Secure computational outsourcing techniques |
US7296163B2 (en) * | 2000-02-08 | 2007-11-13 | The Trustees Of Dartmouth College | System and methods for encrypted execution of computer programs |
US10439654B1 (en) * | 2007-04-19 | 2019-10-08 | Primos Storage Technology, LLC | Systems, methods and computer program products including features of transforming data involving a secure format from which the data is recoverable |
US8433925B2 (en) * | 2009-09-04 | 2013-04-30 | Gradiant | Cryptographic system for performing secure computations and signal processing directly on encrypted data in untrusted environments |
US9660813B1 (en) * | 2012-03-27 | 2017-05-23 | EMC IP Holding Company LLC | Dynamic privacy management for communications of clients in privacy-preserving groups |
US10791123B2 (en) * | 2015-11-25 | 2020-09-29 | Yaron Gvili | Selectivity in privacy and verification with applications |
EP3602422B1 (en) * | 2017-03-22 | 2022-03-16 | Visa International Service Association | Privacy-preserving machine learning |
-
2017
- 2017-07-06 US US16/336,953 patent/US11080393B2/en active Active
- 2017-07-06 WO PCT/JP2017/024874 patent/WO2018061391A1/ja active Application Filing
- 2017-07-06 JP JP2018541929A patent/JP7047764B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012078446A (ja) | 2010-09-30 | 2012-04-19 | Nippon Telegr & Teleph Corp <Ntt> | 不正検知方法、秘密計算システム、計算装置、計算プログラム |
Non-Patent Citations (4)
Title |
---|
FURUKAWA, J. et al.,High-Throughput Secure Three-Party Computation for Malicious Adversaries and an Honest Majority,ePrint archive,2016年10月01日,p.1-36,[online], [平成29年9月21日検索], インターネット:<http://eprint.iacr.org/2016/944> |
五十嵐大ほか,軽量検証可能3パーティ秘匿関数計算の効率化及びこれを用いたセキュアなデータベース処理,暗号と情報セキュリティシンポジウム 2011(SCIS2011),日本,電子情報通信学会,2011年01月25日,p.1-8 |
千田浩司ほか,軽量検証可能3パーティ秘匿関数計算の再考,コンピュータセキュリティシンポジウム2010(CSS2010),日本,一般社団法人情報処理学会,2010年10月12日,第2010巻,第9号,p.555-560 |
古川潤,スループットの大きいマルチパーティー計算,暗号と情報セキュリティシンポジウム2016(SCIS2016),日本,電子情報通信学会,2016年01月19日,p.1-7 |
Also Published As
Publication number | Publication date |
---|---|
WO2018061391A1 (ja) | 2018-04-05 |
JPWO2018061391A1 (ja) | 2019-07-11 |
US11080393B2 (en) | 2021-08-03 |
US20190266326A1 (en) | 2019-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7047764B2 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法および秘密計算プログラム | |
JP6034927B1 (ja) | 秘密計算システム、秘密計算装置、およびプログラム | |
US10083310B1 (en) | System and method for mobile proactive secure multi-party computation (MPMPC) using commitments | |
CN112580821A (zh) | 一种联邦学习方法、装置、设备及存储介质 | |
CN110505046A (zh) | 多数据提供方加密数据跨平台零知识校验方法、装置及介质 | |
WO2017099117A1 (ja) | 事前計算装置、方法、およびコンピュータ読取可能な記録媒体、並びにベクトル乗算装置、および方法 | |
JP7259876B2 (ja) | 情報処理装置、秘密計算方法及びプログラム | |
JP2022141772A (ja) | ブロックチェーンのための暗号化データ共有管理 | |
CN107210006A (zh) | 不一致检测方法、不一致检测系统、不一致检测装置以及程序 | |
CN111475854A (zh) | 保护两方数据隐私的协同计算方法及系统 | |
CN113591097A (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
EP3369207B1 (en) | An information secure protocol for mobile proactive secret sharing with near-optimal resilience | |
CN114153808B (zh) | 一种基于秘密分享的排序方法和系统 | |
CN112464155A (zh) | 一种数据处理方法、多方安全计算系统和电子设备 | |
CN107888385A (zh) | Rsa模数生成方法、rsa密钥生成方法、计算机设备及介质 | |
WO2015118179A1 (en) | Quantum position based authentication | |
CN114139197A (zh) | 一种代理安全多方计算方法、系统、处理设备及存储介质 | |
CN116992480A (zh) | 一种提供公开可验证的外包计算服务的方法 | |
CN111311260A (zh) | 一种账户私钥的重置方法及装置 | |
CN116342249A (zh) | 基于区块链的贷款风险评估方法及装置 | |
CN114143311B (zh) | 一种基于区块链的隐私保护方案聚合方法及装置 | |
JPWO2020165931A1 (ja) | 情報処理装置、秘密計算方法及びプログラム | |
CN114547684A (zh) | 一种保护隐私数据的多方联合训练树模型的方法及装置 | |
CN114298321A (zh) | 联合建模方法、装置、电子设备及存储介质 | |
CN113064899A (zh) | 资产类证券型通证交易凭证的存储方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200601 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210804 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211004 |
|
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: 20220222 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220307 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7047764 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |