JPWO2014112548A1 - 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム - Google Patents
秘匿計算システム、演算装置、秘匿計算方法、およびプログラム Download PDFInfo
- Publication number
- JPWO2014112548A1 JPWO2014112548A1 JP2014557490A JP2014557490A JPWO2014112548A1 JP WO2014112548 A1 JPWO2014112548 A1 JP WO2014112548A1 JP 2014557490 A JP2014557490 A JP 2014557490A JP 2014557490 A JP2014557490 A JP 2014557490A JP WO2014112548 A1 JPWO2014112548 A1 JP WO2014112548A1
- Authority
- JP
- Japan
- Prior art keywords
- value
- variance
- checksum
- secret
- randomized
- 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
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
- 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
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Storage Device Security (AREA)
- Complex Calculations (AREA)
Abstract
従来よりも低い改ざん成功確率のもとで、秘匿計算を行う。少なくとも3台の演算装置21,…,2Nは、乱数rを秘密分散した分散値[r]を求める乱数生成部と、値a0,…,aM-1を秘密分散した分散値[a0],…,[aM-1]と分散値[r]とを用いて、分散値[a0],…,[aM-1]と分散値[a0r],…,[aM-1r]を組としたランダム化分散値<a0>,…,<aM-1>を生成するランダム化部と、秘匿演算の内容に応じて演算対象および演算結果のランダム化分散値<fi>をチェックサムC:=<f0>,…,<fμ-1>へ含めながら、少なくとも1つの秘匿演算を含む関数Fを実行して秘匿された関数値[F([a0],…,[aM-1])]を求める秘匿計算部と、チェックサムCに含まれる分散値[fi]の総和に分散値[r]を乗じた分散値[φ]とチェックサムCに含まれる分散値[fir]の総和である分散値[ψ]とに基づいて関数値[F([a],…,[aM-1])]の正当性を検証する正当性証明部とを含む。
Description
この発明は、秘匿計算技術に関し、特にデータを秘匿しながら計算を行い計算結果の正当性を保証する技術に関する。
従来、データを秘匿した状態で、計算結果の正当性を保証しつつ乗算及び加算を含む計算を行う技術として、非特許文献1の3パーティ秘匿関数計算がある。これは、分散された入力値を復元することなく、3パーティ(3計算主体)の協調計算によって算術/論理演算の結果を導くプロトコルである。3パーティ秘匿関数計算プロトコルでは、データをある定められた素数p未満の自然数として扱う。データを秘匿するときは、そのデータをaとすれば、aを以下の条件を満たすよう3つに分散する。
a=a0+a1+a2mod p
実際には乱数a1,a2を生成し、a0=a-a1-a2とする。そして3パーティX、Y、Zに対して、Xに(a0,a1)、Yに(a1,a2)、Zに(a2,a0)を送信する。すると、a1,a2が乱数であるため、X、Y、Zのいずれのパーティもaの情報を持たないが、いずれか2パーティが集まればaを復元することができる。
実際には乱数a1,a2を生成し、a0=a-a1-a2とする。そして3パーティX、Y、Zに対して、Xに(a0,a1)、Yに(a1,a2)、Zに(a2,a0)を送信する。すると、a1,a2が乱数であるため、X、Y、Zのいずれのパーティもaの情報を持たないが、いずれか2パーティが集まればaを復元することができる。
秘匿が加法的な分散であるため、その可換性から、分散値を加算してから復元しても、復元してから加算しても結果は等しい。すなわち、加算と定数倍は分散したまま通信なしで行うことが可能である。また、乗算も通信及び乱数生成が必要となるが可能である。そのため、論理回路を構成でき、いかなる計算を実行することも可能である。以下、3パーティ秘匿関数計算の具体例を示す。なお、3パーティ秘匿関数計算プロトコルにおいて、計算結果はpで除した余りであるが、記載を簡略化するため、以下では、"mod p"の記載を省略する。
(1) X、Y、Zに分散された秘匿データaの復元
Xは、Yにa0を送信し、Zにa1を送信する。Yは、Zにa1を送信し、Xにa2を送信する。Zは、Xにa2を送信し、Yにa0を送信する。
(1) X、Y、Zに分散された秘匿データaの復元
Xは、Yにa0を送信し、Zにa1を送信する。Yは、Zにa1を送信し、Xにa2を送信する。Zは、Xにa2を送信し、Yにa0を送信する。
Xは、Yから受信したa2とZから受信したa2とが一致していれば、a0+a1+a2を計算してaを復元する。Yは、Xから受信したa0とZから受信したa0とが一致していれば、a0+a1+a2を計算してaを復元する。Zは、Xから受信したa1とYから受信したa1とが一致していれば、a0+a1+a2を計算してaを復元する。
(2) c=a+bの秘密計算
データbもデータaと同様な方法により、Xに(b0,b1)が、Yに(b1,b2)が、Zに(b2,b0)が、それぞれ分散されて秘匿されているとする。
(2) c=a+bの秘密計算
データbもデータaと同様な方法により、Xに(b0,b1)が、Yに(b1,b2)が、Zに(b2,b0)が、それぞれ分散されて秘匿されているとする。
このとき、Xは(c0,c1)=(a0+b0,a1+b1)を計算して記録し、Yは(c1,c2)=(a1+b1,a2+b2)を計算して記録し、Zは(c2,c0)=(a2+b2,a0+b0)を計算して記録する。
(3) c=a+αの秘密計算(αは既知の定数)
Xは、(c0,c1)=(a0+α,a1)を計算して記録し、Zは、(c2,c0)=(a2,a0+α)を計算して記録する。Yの処理は無い。
(4) c=a*αの秘密計算
Xは、(c0,c1)=(a0*α,a1*α)を計算して記録し、Yは、(c1,c2)=(a1*α,a2*α)を計算して記録し、Zは、(c2,c0)=(a2*α,a0*α)を計算して記録する。
(5) c=a*bの秘密計算(不正検知なし乗算)
まず、Xは、乱数r1,r2,c0を生成し、c1=(a0+a1)(b0+b1)-r1-r2-c0を計算し、Yに(r1,c1)を、Zに(r2,c0)を送信する。
(3) c=a+αの秘密計算(αは既知の定数)
Xは、(c0,c1)=(a0+α,a1)を計算して記録し、Zは、(c2,c0)=(a2,a0+α)を計算して記録する。Yの処理は無い。
(4) c=a*αの秘密計算
Xは、(c0,c1)=(a0*α,a1*α)を計算して記録し、Yは、(c1,c2)=(a1*α,a2*α)を計算して記録し、Zは、(c2,c0)=(a2*α,a0*α)を計算して記録する。
(5) c=a*bの秘密計算(不正検知なし乗算)
まず、Xは、乱数r1,r2,c0を生成し、c1=(a0+a1)(b0+b1)-r1-r2-c0を計算し、Yに(r1,c1)を、Zに(r2,c0)を送信する。
続いて、Yは、y=a1*b2+b1*a2+r1を計算し、Zにyを送信する。また、Zは、z=a2*b0+b0*a2+r2を計算し、Yにzを送信する。
続いて、YとZはそれぞれ、c2=y+z+a2*b2を計算する。
そして、Xは(c0,c1)を記録し、Yは(c1,c2)を記録し、Zは(c2,c0)を記録する。
(6) c=a*bの秘密計算(不正検知付き乗算)
上記(5)の方法によりc=a*bの乗算を行った上で、X、Y、Zのそれぞれに対して以下の処理を行う。なお、以下の処理においてPはX、Y、Zのそれぞれを意味し、PがXである場合は、P-はZ、P+はYを意味し、PがYである場合は、P-はX、P+はZを意味し、PがZである場合は、P-はY、P+はXを意味する。
(6) c=a*bの秘密計算(不正検知付き乗算)
上記(5)の方法によりc=a*bの乗算を行った上で、X、Y、Zのそれぞれに対して以下の処理を行う。なお、以下の処理においてPはX、Y、Zのそれぞれを意味し、PがXである場合は、P-はZ、P+はYを意味し、PがYである場合は、P-はX、P+はZを意味し、PがZである場合は、P-はY、P+はXを意味する。
まず、P-、P+だけで乱数rを生成して共有し、P-、P+はr*a0、r*a1、r*a2をr*aの秘匿値として各パーティに分散する。続いて、上記(5)の方法によりc’=(r*a)*bを計算する。そして、r*c-c’が0であるか否かを確認し、0でないことをもって不正を検知する。
千田浩司、濱田浩気、五十嵐大、高橋克己、「軽量検証可能3パーティ秘匿関数計算の再考」、CSS2010、2010年
従来の計算結果の正当性を保証する秘匿計算技術では、セキュリティパラメータを選択することができないという問題があった。上記の従来技術では、計算を行う対象の単位データを環Rと定めるが、環Rによってセキュリティパラメータが一意に定まってしまう。例えば、論理回路を計算するためにR={0,1}と定めると、セキュリティパラメータは2となる。この場合、計算結果の正当性は1/2の確率でしか保証できないことを意味している。
この発明の目的は、セキュリティパラメータを任意に設定することができ、改ざん成功確率を低くすることができる秘匿計算技術を提供することである。
上記の課題を解決するために、この発明の秘匿計算システムは、少なくとも3台の演算装置を含む。この発明では、M,m,iは1以上の整数であり、0≦m<Mであり、μはチェックサムCに含まれるランダム化分散値の数であり、0≦i<μである。
演算装置は、乱数rを秘密分散した分散値[r]を求める乱数生成部と、値a0,…,aM-1を秘密分散した分散値[a0],…,[aM-1]と分散値[r]とを用いて、値a0,…,aM-1と乱数rの積算値a0r,…,aM-1rの分散値[a0r],…,[aM-1r]を計算し、分散値[a0],…,[aM-1]と分散値[a0r],…,[aM-1r]とを組としたランダム化分散値<a0>,…,<aM-1>を生成するランダム化部と、秘匿演算の内容に応じて演算対象および演算結果のランダム化分散値<fi>をチェックサムC:=<f0>,…,<fμ-1>へ含めながら、少なくとも1つの秘匿演算を含む関数Fを実行して秘匿された関数値[F([a0],…,[aM-1])]を求める秘匿計算部と、チェックサムCに含まれる分散値[fi]の総和に分散値[r]を乗じた分散値[φ]とチェックサムCに含まれる分散値[fir]の総和である分散値[ψ]とに基づいて関数値[F([a],…,[aM-1])]の正当性を検証する正当性証明部とを含む。
この発明の秘匿計算技術によれば、従来よりも低い改ざん成功確率のもとで、秘匿計算を行うことができる。また、正当性証明が従来よりも効率化されており、高速に改ざん検知ができる。
実施形態の説明に先立ち、この明細書における表記方法およびこの発明の基本的な考え方について説明する。
<表記方法>
この発明で扱う値は、特に断りのない限りR上の値とする。Rは環である。AはR上結合多元環である。結合多元環とは、結合的な環であって、かつそれと両立するような、何らかの体上の線型空間の構造を備えたものである。結合多元環は、ベクトル空間で扱う値が体ではなく環でよくなったものと言える。
<表記方法>
この発明で扱う値は、特に断りのない限りR上の値とする。Rは環である。AはR上結合多元環である。結合多元環とは、結合的な環であって、かつそれと両立するような、何らかの体上の線型空間の構造を備えたものである。結合多元環は、ベクトル空間で扱う値が体ではなく環でよくなったものと言える。
ベクトルXの第i要素をXi(下付き添字)で参照する。
[x]は値x∈Rの秘匿文である。秘匿文は値を暗号化や秘密分散などの手段で秘匿化した値である。Xが集合である場合には、[X]は集合Xの各要素を秘匿化した集合である。
|X|は集合Xの要素数である。
<x>は値x∈Rのランダム化分散値である。ランダム化分散値とは、分散値[x]と、値xと乱数r∈Aとの積算値xrの分散値[xr]との組である。したがって、ランダム化分散値は以下の式(1)のように定義できる。
ランダム化分散値の第0成分(式(1)における[x])はR成分、第1成分(式(1)における[xr])はA成分ともいう。
乱数r∈Aをパラメータとするランダム化分散値の空間を<Rr>とする。
<安全性>
暗号理論の技術分野ではプロトコルの安全性を証明するために利用者・参加者や攻撃者をモデル化する。このようなモデルとして、maliciousモデルやsemi-honestモデルが用いられている。maliciousモデルは攻撃者が任意の不正な動作を行う。semi-honestモデルは攻撃者の行う処理は正しく、その範疇でデータを盗み見ようとする。したがって、maliciousモデルにおいて安全性が証明されたプロトコルの方がより安全性が高いと評価できる。
<安全性>
暗号理論の技術分野ではプロトコルの安全性を証明するために利用者・参加者や攻撃者をモデル化する。このようなモデルとして、maliciousモデルやsemi-honestモデルが用いられている。maliciousモデルは攻撃者が任意の不正な動作を行う。semi-honestモデルは攻撃者の行う処理は正しく、その範疇でデータを盗み見ようとする。したがって、maliciousモデルにおいて安全性が証明されたプロトコルの方がより安全性が高いと評価できる。
非特許文献1に記載された従来の秘匿計算技術はsemi-honestモデルにおいて安全であるが、maliciousモデルでは計算結果の正当性を保証するが秘匿性は保証されていなかった。この発明は、semi-honestモデルにおいて安全な秘匿計算を用いて、より強力な安全性をもつmaliciousモデルにおいて安全な秘匿計算を実現する。
<発明のポイント>
従来の秘匿計算技術では、環R上の演算を4系統で行うことにより正当性の証明を行なっていた。この発明では、環R上の演算と、結合多元環A上の演算との2系統で行うことで正当性の証明を行う。
従来の秘匿計算技術では、環R上の演算を4系統で行うことにより正当性の証明を行なっていた。この発明では、環R上の演算と、結合多元環A上の演算との2系統で行うことで正当性の証明を行う。
従来の秘匿計算では同じ環R上でしか効率的に処理をすることができなかった。しかし、結合多元環A上の演算であれば環R上の演算と同等の効率で、環Rの元と上位互換性をもって処理できる。なお、結合多元環に属する代数構造である拡大体は、乱数との乗算結果が一様分布となり安全性の観点から理想的な代数構造である。
この発明は、環R上の分散値を結合多元体A上の乱数を用いてランダム化分散値とし、環R上と結合多元環A上との2系統で正当性の証明を行うため、結合多元体Aを適切な空間に設定することでセキュリティパラメータが任意に設定できる。したがって、従来よりも低い改ざん成功確率のもとで秘匿計算を行うことができる。
[実施形態]
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
<構成>
図1を参照して、この実施形態の秘匿計算システム1の構成例を説明する。秘匿計算システム1は、N(N≧3)台の演算装置21,…,2Nを含む。N台の演算装置21,…,2Nはそれぞれネットワーク9に接続される。ネットワーク9は、接続される各装置が相互に通信可能なように構成されていればよく、例えばインターネットやLAN(Local Area Network)、WAN(Wide Area Network)などで構成することができる。なお、各装置は必ずしもネットワークを介してオンラインで通信可能である必要はない。例えば、演算装置21,…,2Nへ入力する情報を磁気テープやUSBメモリなどの可搬型記録媒体に記憶し、その可搬型記録媒体から演算装置21,…,2Nへオフラインで入力するように構成してもよい。
[実施形態]
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
<構成>
図1を参照して、この実施形態の秘匿計算システム1の構成例を説明する。秘匿計算システム1は、N(N≧3)台の演算装置21,…,2Nを含む。N台の演算装置21,…,2Nはそれぞれネットワーク9に接続される。ネットワーク9は、接続される各装置が相互に通信可能なように構成されていればよく、例えばインターネットやLAN(Local Area Network)、WAN(Wide Area Network)などで構成することができる。なお、各装置は必ずしもネットワークを介してオンラインで通信可能である必要はない。例えば、演算装置21,…,2Nへ入力する情報を磁気テープやUSBメモリなどの可搬型記録媒体に記憶し、その可搬型記録媒体から演算装置21,…,2Nへオフラインで入力するように構成してもよい。
図2を参照して、秘匿計算システム1に含まれる演算装置2n(1≦n≦N)の構成例を説明する。演算装置2nは、制御部101、メモリ102、入力部11、乱数生成部12、ランダム化部13、秘匿計算部14、正当性証明部15、出力部16を含む。演算装置2nは、例えば、CPU(Central Processing Unit)、RAM(Random Access Memory)等を有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。演算装置2nは制御部101の制御のもとで各処理を実行する。演算装置2nに入力されたデータや各処理で得られたデータはメモリ102に格納され、メモリ102に格納されたデータは必要に応じて読み出されて他の処理に利用される。
図3を参照して、演算装置2nに含まれる秘匿計算部14の構成例を説明する。秘匿計算部14は、加算定数倍部141、乗算部142、積和部143、ランダム置換部144を含む。秘匿計算部14は、各構成部を制御して所望の計算を実行する。
<秘匿計算処理>
図4を参照して、この実施形態の秘匿計算システム1の動作例について手続きの順に従って詳細に説明する。
図4を参照して、この実施形態の秘匿計算システム1の動作例について手続きの順に従って詳細に説明する。
演算装置2n(1≦n≦N)の備える入力部11へ少なくとも1つの分散値[a0],…,[aM-1](M≧1)が入力される(ステップS11)。入力された分散値[a0],…,[aM-1]はランダム化部13へ出力される。分散値[am](0≦m<M)は、値amを秘密分散した分散値である。秘密分散の方法は、秘匿計算上で加算・乗算・積和・ランダム置換の各演算が可能である秘密分散方式である必要があるが、これらの演算が可能であればどのような秘密分散方式であってもよい。適用可能な秘密分散方法についての詳細は非特許文献1を参照されたい。入力される分散値[a0],…,[aM-1]の個数Mは、秘匿計算部14で行われる秘匿計算の内容により適宜決定される。
乱数生成部12は、結合多元環Aから選択した乱数r∈Aの分散値[r]を生成する(ステップS12)。生成した分散値[r]はランダム化部13に出力される。分散値[r]の生成は、いずれの演算装置21,…,2Nからも乱数rが秘匿された状態で行われなければならない。
例えば、秘匿計算システム1を構成する演算装置21,…,2Nが協調して乱数rの分散値[r]を生成することができる。具体的には、まず、演算装置2nはそれぞれが乱数rnを生成する。次に、非特許文献1に記載された秘匿方法により乱数rnの分散値[rn]を生成する。そして、演算装置2nはそれぞれ[r]=Σn<N[rn]を計算し、乱数rの分散値[r]を得る。このように構成すれば、いずれの演算装置21,…,2Nも乱数rを知ることなく、乱数rの分散値[r]を得ることができる。
また、事前の乱数共有や疑似乱数の利用を許すことが可能であれば、複製型秘密分散(replicated secret sharing)を利用して乱数rの分散値[r]を生成することができる。複製型秘密分散を利用すれば演算装置21,…,2N間での通信なしに乱数rの分散値[r]を生成することができる。複製型秘密分散の詳細については「R. Cramer, I. Damgard, and Y. Ishai, “Share conversion, pseudorandom secret-sharing and applications to secure computation”, TCC, Vol. 3378 of Lecture Notes in Computer Science, pp. 342-362, Springer, 2005.(参考文献1)」を参照されたい。
ランダム化部13は、分散値[a0],…,[aM-1]と分散値[r]を用いて、ランダム化分散値<a0>,…,<aM-1>を生成する(ステップS13)。生成したランダム化分散値<a0>,…,<aM-1>は秘匿計算部14へ出力される。
具体的には、ランダム化部13は、m=0,…,M-1について、分散値[am]と分散値[r]を用いて、[amr]=[am]×[r]を非特許文献1に記載された秘匿計算方法により求め、分散値[am]と分散値[amr]を組としてランダム化分散値<am>=([am],[amr])を生成する。
秘匿計算部14は、ランダム化分散値<a0>,…,<aM-1>に対して、少なくとも1つの秘匿演算を含む関数Fを実行して秘匿された関数値[F([a0],…,[aM-1])]を求める(ステップS14)。この際、秘匿演算の内容に応じて演算対象および演算結果となるランダム化分散値<fi>をチェックサムC:=<f0>,…,<fμ-1>へ含める。ここで、μはチェックサムCに含まれるランダム化分散値の数である。μの値はチェックサムCを更新するたびに加算される。求めた関数値[F([a0],…,[aM-1])]とチェックサムCは正当性証明部15へ出力される。
関数Fにおいて加算・定数倍の秘匿計算を行う場合には、秘匿計算部14は加算定数倍部141により秘匿計算を行う。ランダム化分散値は加法準同型性をもつため、加算・定数倍の秘匿計算は、環R上の分散値に対する加算と同様に、他の演算装置2nと通信することなく実行することができる。
具体的には、ランダム化分散値<a>および<b>をそれぞれランダム化分散値<a0>,…,<aM-1>のいずれかもしくは秘匿計算部14に含まれる各構成部の出力するランダム化分散値であるとし、γを任意の定数として、以下の式(2)によりランダム化分散値<γa+b>を計算し、計算結果のランダム化分散値<γa+b>のR成分[γa+b]が関数値[F([a0],…,[aM-1])]に含まれる場合には、ランダム化分散値<γa+b>を式(3)によりチェックサムCに含める。加算・定数倍の秘匿計算では、演算装置内部での演算で実現できるため、演算前のランダム化分散値によるチェックサムCの更新は行わない。
関数Fにおいて乗算の秘匿計算を行う場合には、秘匿計算部14は乗算部142により秘匿計算を行う。乗算の秘匿計算は環R上乗算とスカラー乗算とで実現される。
具体的には、ランダム化分散値<a>および<b>をそれぞれランダム化分散値<a0>,…,<aM-1>のいずれかもしくは秘匿計算部14に含まれる各構成部の出力するランダム化分散値であるとして、以下の式(4)によりチェックサムCを更新し、式(5)によりランダム化分散値<ab>を計算し、計算結果のランダム化分散値<ab>のR成分[ab]が関数値[F([a0],…,[aM-1])]に含まれる場合には、ランダム化分散値<ab>を式(6)によりチェックサムCに含める。
乗算の秘匿計算では、ランダム化分散値<a>に関しては、A成分である[ar]は使用しない。[ar][br]を計算すると[abr2]となり乱数rの次数が変化してしまう。これを避けるために、A成分では[a][br]=[abr]を計算する。
環R上乗算は、「R. Gennaro, M. O. Rabin, and T. Rabin, “Simplied VSS and fast-track multiparty computations with applications to threshold cryptography”, PODC, pp. 101-111, ACM, 1998.(参考文献2)」や「I. Damgard and J. B. Nielsen, “Scalable and unconditionally secure multiparty computation”, CRYPTO, Vol. 4622 of Lecture Notes in Computer Science, pp. 572-590, Springer, 2007.(参考文献3)」に記載の方法を適用することができる。演算装置2nの総数をn、復元に必要な演算装置2nの数をkとして、参考文献2に記載の方法では通信量O(n2)を1ラウンド行うのに対して、参考文献3に記載の方法では通信量O(n)を3ラウンド行うため、参考文献2に記載の方法の方が通信量の観点においては優れている。ただし、より正確には参考文献2に記載の方法は通信量がn(n-1)であり、参考文献3に記載の方法は通信量がn(n-1)/k+6(n-1)であり、nが小さい場合には参考文献2に記載の方法の方が効率的な場合もある。
結合多元環A上の乗算は、複製型秘密分散を用いる場合であれば、Aは環であるので問題なくsemi-honest乗算を行える。また、Aが体ならばShamir秘密分散を用いても特に問題はない。Shamir秘密分散を用いる場合でAが体でないときは自明ではないが、Aが単にRqの場合などは成分ごとにR上乗算を行えばよい。
スカラー乗算は[a]∈[R],[b]∈[A]から[ab]∈[A]を計算する演算である。AがRの環の準同型R'に対してR'のq次元ベクトルとして表現されていれば、スカラー乗算は容易である。R→R'の準同型写像をhとおいて、[b]=([b0],…,[bq-1])とおく。[a]の各パーティのシェアに対してhを作用させたものを[h(a)]とすると、準同型性から[h(a)]は[R']に属する。すなわち、[ab]:=([h(a)][b0],…,[h(a)][bq-1])である。hはローカル計算であるから、通信量はR'上乗算q回分(もしくはA上乗算1回分)、ラウンド数は1である。Aが拡大体である場合がこの条件を満たす最も簡単な場合である。この場合、hを恒等写像とすることができ、[ab]:=([a][b0],…,[a][bq-1])である。
関数Fにおいて積和の秘匿計算を行う場合には、秘匿計算部14は積和部143により秘匿計算を行う。積和の秘匿計算は環R上積和とスカラー積和とで実現される。
具体的には、Lを2以上M以下の整数とし、ランダム化分散値<α0>,…,<αL-1>,<β0>,…,<βL-1>をそれぞれランダム化分散値<a0>,…,<aM-1>のいずれかもしくは秘匿計算部14に含まれる各構成部の出力するランダム化分散値であるとして、以下の式(7)によりチェックサムCを更新し、式(8)によりランダム化分散値<Σi<Lαiβi>を計算し、計算結果のランダム化分散値<Σi<Lαiβi>のR成分[Σi<Lαiβi]が関数値[F([a0],…,[aM-1])]に含まれる場合には、ランダム化分散値<Σi<Lαiβi>を式(9)によりチェックサムCに含める。
環R上積和は環R上乗算を用いて実現できる。環R上積和の通信量は環R上乗算1回分の通信量と同じである。スカラー積和はスカラー乗算を用いて実現できる。スカラー積和の通信量はスカラー乗算1回分の通信量と同じである。ランダム化分散値<αi>に関して、A成分である[αir]を使用しないのは、乗算部142と同様の理由により、乱数rの次数変化を避けるためである。
関数Fにおいてランダム置換の秘匿計算を行う場合には、秘匿計算部14はランダム置換部144により秘匿計算を行う。ランダム化分散値に対するランダム置換は、ランダム化分散値のR成分およびA成分に対して同じランダム置換を行う。
具体的には、Lを2以上M以下の整数とし、<α0>,…,<αL-1>をそれぞれランダム化分散値<a0>,…,<aM-1>のいずれかもしくは秘匿計算部14に含まれる各構成部の出力するランダム化分散値とし、πを0以上L未満の整数の集合への写像として、以下の式(10)によりチェックサムCを更新し、式(11)(12)によりランダム化分散値<απ(i)>を計算し、計算結果のランダム化分散値<απ(i)>のR成分[απ(i)]が関数値[F([a0],…,[aM-1])]に含まれる場合には、ランダム化分散値<απ(i)>を式(13)によりチェックサムCに含める。
ランダム置換の秘匿計算は、「濱田浩気, 五十嵐大, 千田浩司, 高橋克巳, “3パーティ秘匿関数計算のランダム置換プロトコル”, CSS2010, 2010.(参考文献4)」に記載の方法を適用することができる。
正当性証明部15は、分散値[r]を用いてチェックサムCを検証することで、関数値[F([a0],…,[aM-1])]の正当性を証明する(ステップS15)。チェックサムCを検証した結果、改ざんがないと判断した場合は関数値[F([a0],…,[aM-1])]を出力部16へ出力する。改ざんがあったと判断した場合はその旨を示す情報(例えば、「⊥」など)を出力部16へ出力する。チェックサムCの検証は、チェックサムCに含まれる分散値[f0],…,[fμ-1]の総和に分散値[r]を乗じた分散値[φ]と、チェックサムCに含まれる分散値[f0r],…,[fμ-1r]の総和である分散値[ψ]とに基づいて行われる。
具体的には、正当性証明部15は、例えば以下のようにチェックサムCを検証する。まず、結合多元環A上のμ個の乱数ρ0,…,ρμ-1の分散値[ρ0],…,[ρμ-1]を生成する。分散値[ρ0],…,[ρμ-1]の生成はいずれの演算装置2nからも乱数ρ0,…,ρμ-1が秘匿された状態で行われなければならない。分散値[ρ0],…,[ρμ-1]の生成は、乱数生成部12と同様の方法により行えばよい。
次に、チェックサムCに含まれる分散値[f0],…,[fμ-1]と分散値[ρ0],…,[ρμ-1]と分散値[r]を用いて、以下の式(14)により分散値[φ]を求める。
また、チェックサムCに含まれる分散値[f0r],…,[fμ-1r]と分散値[ρ0],…,[ρμ-1]を用いて、以下の式(15)により分散値[ψ]を求める。
そして、分散値[φ]と分散値[ψ]を減算した分散値[δ]=[φ]-[ψ]を復元する。復元の方法は、各分散値に対応する秘密分散方式の復元操作で行えばよいが、この際、maliciousモデルで正当性を保証する。具体的にはすべての演算装置21,…,2Nが互いに分散値[δ]を他の演算装置へ送信し、分散値の一貫性を確認することで完全な正当性を保証する。この場合、演算装置2nの総数をn、復元に必要な演算装置2nの数をkとして、総通信量はn(n-1)である。この際、確率的な方法を用いれば分散値のデータ量が大きいとき総通信量をn(k-1)とすることができる。なお、上記の参考文献3に記載の秘匿計算のように、正当性を保証しない復元を含むsemi-honest演算もあるが、秘匿計算の構成要素として正当性を保証しない復元が含まれていても、秘匿計算全体の安全性には影響しない。
すべての演算装置21,…,2Nにおいて復元した値δが0であれば、秘匿計算全体を通して改ざんがなかったものと判断する。いずれかの演算装置21,…,2Nにおいて復元した値δが0以外であれば、秘匿計算において改ざんがあったものと判断する。
正当性証明の基本的な考え方を説明する。チェックサムの検証は、ランダム化分散値それぞれに着目すると、[fi][r]-[fir]=0であるかを検証することである。ここで、分散値[fi]と分散値[fir]がいずれも改ざんされ、[fi+x]と[fir+y]とされた場合を考えると、検証により得られる値は式(16)となる。
攻撃者はこのxr-yの値を0となるように辻褄を合わせて[fi]と[fir]を操作しなければならないが、攻撃者は乱数r∈Aを知らないため、これを満たすようにすることができる確率は、1/|A|となる。ただし、この実施形態では乱数ρ0,…,ρμ-1を乗じているため全体の改ざん成功確率は高々2/|A|となる。
秘匿計算部14は、必ずしも、加算定数倍部141、乗算部142、積和部143、ランダム置換部144のすべてを含んでいなくともよく、実行する関数Fに含まれる演算に対応する各構成部が不足なく含まれていればよい。例えば、関数Fが定数倍と乗算の演算のみを計算するものであれば、秘匿計算部14は、加算定数倍部141及び乗算部142のみを含んでいればよい。
[変形例]
Zを整数環、pを素数として、環Rと結合多元環AとをZ/pZとすることができる。このように構成することで、改ざん成功確率は約2/pとすることができる。また、秘匿演算において演算装置同士で通信するデータ量を少なくすることができる。
Zを整数環、pを素数として、環Rと結合多元環AとをZ/pZとすることができる。このように構成することで、改ざん成功確率は約2/pとすることができる。また、秘匿演算において演算装置同士で通信するデータ量を少なくすることができる。
Zを整数環、pを素数、qを1以上の整数として、環RをZ/pZとし、結合多元環Aを環Rのq次拡大体とすることができる。このように構成することで、改ざん成功確率を約2/pqとすることができる。R={0,1}とした場合など、pが小さい場合には特に有効である。
Zを整数環、pを素数、n,mを整数として、環RをZ/pnZとし、結合多元環AをZ/pmZとすることができる。このように構成することで、改ざん成功確率を約2/pqとすることができる。
[プログラム、記録媒体]
この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施例において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施例において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
また、上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
演算装置は、乱数rを秘密分散した分散値[r]を求める乱数生成部と、値a0,…,aM-1を秘密分散した分散値[a0],…,[aM-1]と分散値[r]とを用いて、値a0,…,aM-1と乱数rの積算値a0r,…,aM-1rの分散値[a0r],…,[aM-1r]を計算し、分散値[a0],…,[aM-1]と分散値[a0r],…,[aM-1r]とを組としたランダム化分散値<a0>,…,<aM-1>を生成するランダム化部と、秘匿演算の内容に応じて演算対象および演算結果のランダム化分散値<fi>をチェックサムC:=<f0>,…,<fμ-1>へ含めながら、少なくとも1つの秘匿演算を含む関数Fを実行して秘匿された関数値[F([a0],…,[aM-1])]を求める秘匿計算部と、チェックサムCに含まれる分散値[fi]の総和に分散値[r]を乗じた分散値[φ]とチェックサムCに含まれる分散値[fir]の総和である分散値[ψ]とに基づいて関数値[F([a 0 ],…,[aM-1])]の正当性を検証する正当性証明部とを含む。
そして、分散値[φ]から分散値[ψ]を減算した分散値[δ]=[φ]-[ψ]を復元する。復元の方法は、各分散値に対応する秘密分散方式の復元操作で行えばよいが、この際、maliciousモデルで正当性を保証する。具体的にはすべての演算装置21,…,2Nが互いに分散値[δ]を他の演算装置へ送信し、分散値の一貫性を確認することで完全な正当性を保証する。この場合、演算装置2nの総数をn、復元に必要な演算装置2nの数をkとして、総通信量はn(n-1)である。この際、確率的な方法を用いれば分散値のデータ量が大きいとき総通信量をn(k-1)とすることができる。なお、上記の参考文献3に記載の秘匿計算のように、正当性を保証しない復元を含むsemi-honest演算もあるが、秘匿計算の構成要素として正当性を保証しない復元が含まれていても、秘匿計算全体の安全性には影響しない。
Claims (8)
- 少なくとも3台の演算装置を含む秘匿計算システムであって、
M,m,iは1以上の整数であり、0≦m<Mであり、μはチェックサムCに含まれるランダム化分散値の数であり、0≦i<μであり、
前記演算装置は、
乱数rを秘密分散した分散値[r]を求める乱数生成部と、
値a0,…,aM-1を秘密分散した分散値[a0],…,[aM-1]と前記分散値[r]とを用いて、値a0,…,aM-1と乱数rの積算値a0r,…,aM-1rの分散値[a0r],…,[aM-1r]を計算し、前記分散値[a0],…,[aM-1]と前記分散値[a0r],…,[aM-1r]とを組としたランダム化分散値<a0>,…,<aM-1>を生成するランダム化部と、
秘匿演算の内容に応じて演算対象および演算結果のランダム化分散値<fi>をチェックサムC:=<f0>,…,<fμ-1>へ含めながら少なくとも1つの秘匿演算を含む関数Fを実行して秘匿された関数値[F([a0],…,[aM-1])]を求める秘匿計算部と、
前記チェックサムCに含まれる分散値[fi]の総和に前記分散値[r]を乗じた分散値[φ]と前記チェックサムCに含まれる分散値[fir]の総和である分散値[ψ]とに基づいて前記関数値[F([a],…,[aM-1])]の正当性を検証する正当性証明部と、
を含む秘匿計算システム。 - 請求項1に記載の秘匿計算システムであって、
前記秘匿計算部は、
<a>:=([a],[ar]),<b>:=([b],[br])をそれぞれ前記ランダム化分散値<a0>,…,<aM-1>のいずれかとし、γを定数として、ランダム化分散値<γa+b>:=(γ[a]+[b],γ[ar]+[br])を計算し、前記ランダム化分散値<γa+b>を前記チェックサムCに含める加算定数倍部、
を含む秘匿計算システム。 - 請求項1に記載の秘匿計算システムであって、
前記秘匿計算部は、
<a>:=([a],[ar]),<b>:=([b],[br])をそれぞれ前記ランダム化分散値<a0>,…,<aM-1>のいずれかとして、<a>,<b>を前記チェックサムCへ含め、ランダム化分散値<ab>:=([a][b],[a][br])を計算し、前記ランダム化分散値<ab>を前記チェックサムCに含める乗算部、
を含む秘匿計算システム。 - 請求項1に記載の秘匿計算システムであって、
前記秘匿計算部は、
Lを2以上M以下の整数とし、<α0>:=([α0],[α0r]),…,<αL-1>:=([αL-1],[αL-1r]),<β0>:=([β0],[β0r]),…,<βL-1>:=([βL-1],[βL-1r])をそれぞれ前記ランダム化分散値<a0>,…,<aM-1>のいずれかとして、<α0>,…,<αL-1>,<β0>,…,<βL-1>を前記チェックサムCへ含め、ランダム化分散値<Σi<Lαiβi>:=(Σi<L[αi][βi],Σi<L[αi][βir])を計算し、前記ランダム化分散値<Σi<Lαiβi>を前記チェックサムCに含める積和部、
を含む秘匿計算システム。 - 請求項1に記載の秘匿計算システムであって、
前記秘匿計算部は、
Lを2以上M以下の整数とし、<α0>:=([α0],[α0r]),…,<αL-1>:=([αL-1],[αL-1r])をそれぞれ前記ランダム化分散値<a0>,…,<aM-1>のいずれかとし、πを0以上L未満の整数の集合への写像として、<α0>,…,<αL-1>を前記チェックサムCへ含め、ランダム化分散値<απ(i)>:=([απ(i)],[απ(i)r])を計算し、前記ランダム化分散値<απ(i)>を前記チェックサムCに含めるランダム置換部、
を含む秘匿計算システム。 - M,m,iは1以上の整数であり、0≦m<Mであり、μはチェックサムCに含まれる要素の数であり、0≦i<μであり、
乱数rを秘密分散した分散値[r]を求める乱数生成部と、
値a0,…,aM-1を秘密分散した分散値[a0],…,[aM-1]と前記分散値[r]とを用いて、値a0,…,aM-1と乱数rの積算値a0r,…,aM-1rの分散値[a0r],…,[aM-1r]を計算し、前記分散値[a0],…,[aM-1]と前記分散値[a0r],…,[aM-1r]を組としたランダム化分散値<a0>,…,<aM-1>を生成するランダム化部と、
秘匿演算の内容に応じて演算対象および演算結果のランダム化分散値<fi>をチェックサムC:=<f0>,…,<fμ-1>へ含めながら少なくとも1つの秘匿演算を含む関数Fを実行して秘匿された関数値[F([a0],…,[aM-1])]を求める秘匿計算部と、
前記チェックサムCに含まれる分散値[fi]の総和に前記分散値[r]を乗じた分散値[φ]と前記チェックサムCに含まれる分散値[fir]の総和である分散値[ψ]とに基づいて前記関数値[F([a],…,[aM-1])]の正当性を検証する正当性証明部と、
を含む演算装置。 - M,m,iは1以上の整数であり、0≦m<Mであり、μはチェックサムCに含まれる要素の数であり、0≦i<μであり、
乱数生成部が、乱数rを秘密分散した分散値[r]を求める乱数生成ステップと、
ランダム化部が、値a0,…,aM-1を秘密分散した分散値[a0],…,[aM-1]と前記分散値[r]とを用いて、値a0,…,aM-1と乱数rの積算値a0r,…,aM-1rの分散値[a0r],…,[aM-1r]を計算し、前記分散値[a0],…,[aM-1]と前記分散値[a0r],…,[aM-1r]を組としたランダム化分散値<a0>,…,<aM-1>を生成するランダム化ステップと、
秘匿計算部が、秘匿演算の内容に応じて演算対象および演算結果のランダム化分散値<fi>をチェックサムC:=<f0>,…,<fμ-1>へ含めながら少なくとも1つの秘匿演算を含む関数Fを実行して秘匿された関数値[F([a0],…,[aM-1])]を求める秘匿計算ステップと、
正当性証明部が、前記チェックサムCに含まれる分散値[fi]の総和に前記分散値[r]を乗じた分散値[φ]と前記チェックサムCに含まれる分散値[fir]の総和である分散値[ψ]とに基づいて前記関数値[F([a],…,[aM-1])]の正当性を検証する正当性証明ステップと、
を含む秘匿計算方法。 - 請求項6に記載の演算装置としてコンピュータを機能させるためのプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013006690 | 2013-01-17 | ||
JP2013006690 | 2013-01-17 | ||
PCT/JP2014/050647 WO2014112548A1 (ja) | 2013-01-17 | 2014-01-16 | 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6016948B2 JP6016948B2 (ja) | 2016-10-26 |
JPWO2014112548A1 true JPWO2014112548A1 (ja) | 2017-01-19 |
Family
ID=51209637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014557490A Active JP6016948B2 (ja) | 2013-01-17 | 2014-01-16 | 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US9860058B2 (ja) |
EP (1) | EP2947642B1 (ja) |
JP (1) | JP6016948B2 (ja) |
CN (1) | CN105027180B (ja) |
WO (1) | WO2014112548A1 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016104476A1 (ja) * | 2014-12-26 | 2016-06-30 | 日本電信電話株式会社 | 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム |
JP5968484B1 (ja) * | 2015-03-18 | 2016-08-10 | 日本電信電話株式会社 | シェア復旧システム、シェア復旧方法、およびプログラム |
JP5957126B1 (ja) * | 2015-06-24 | 2016-07-27 | 日本電信電話株式会社 | 秘密計算装置、秘密計算方法、およびプログラム |
JP6023858B1 (ja) * | 2015-08-17 | 2016-11-09 | 日本電信電話株式会社 | 計算システム、計算装置、その方法、およびプログラム |
JP6607257B2 (ja) | 2015-08-31 | 2019-11-20 | 日本電気株式会社 | 秘密計算システム、秘密計算装置、および、秘密計算方法 |
WO2017065122A1 (ja) * | 2015-10-13 | 2017-04-20 | 日本電信電話株式会社 | 秘密認証符号付加装置、秘密認証符号付加方法、およびプログラム |
JP6643756B2 (ja) * | 2015-11-20 | 2020-02-12 | 国立研究開発法人情報通信研究機構 | サーバ、サービス方法 |
JP6053238B2 (ja) * | 2016-01-13 | 2016-12-27 | 日本電信電話株式会社 | 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム |
CN109328377B (zh) * | 2016-07-06 | 2021-12-21 | 日本电信电话株式会社 | 秘密计算系统、秘密计算装置、秘密计算方法、以及程序 |
JP6732959B2 (ja) * | 2017-01-18 | 2020-07-29 | 日本電信電話株式会社 | 秘密計算方法、秘密計算システム、秘密計算装置、およびプログラム |
CN110622232B (zh) * | 2017-05-25 | 2023-01-13 | 日本电信电话株式会社 | 秘密篡改探测系统、秘密篡改探测装置、秘密篡改探测方法以及程序 |
DE102017117907B4 (de) * | 2017-08-07 | 2023-04-27 | Infineon Technologies Ag | Durchführen einer kryptografischen Operation |
US11515998B2 (en) | 2017-08-22 | 2022-11-29 | Nippon Telegraph And Telephone Corporation | Secure computation device, secure computation method, program, and recording medium |
CN111133719B (zh) * | 2017-09-29 | 2024-01-26 | 罗伯特·博世有限公司 | 用于利用spdz的更快速的安全多方内积计算的方法 |
WO2019176520A1 (ja) | 2018-03-12 | 2019-09-19 | 日本電信電話株式会社 | 秘密計算装置、秘密計算方法、プログラム、および記録媒体 |
CN109255247B (zh) * | 2018-08-14 | 2020-08-14 | 阿里巴巴集团控股有限公司 | 多方安全计算方法及装置、电子设备 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4300838B2 (ja) * | 2003-03-25 | 2009-07-22 | 沖電気工業株式会社 | 分散計算装置及び分散計算システム |
US8752032B2 (en) * | 2007-02-23 | 2014-06-10 | Irdeto Canada Corporation | System and method of interlocking to protect software-mediated program and device behaviours |
JP5065802B2 (ja) * | 2007-08-06 | 2012-11-07 | Kddi株式会社 | 分散情報生成装置、秘密情報復元装置、権限情報を伴った分散情報の生成方法、秘密情報のアクセス制御方法およびプログラム |
US8031875B1 (en) * | 2007-08-09 | 2011-10-04 | Emc Corporation | Key distribution in unidirectional channels with applications to RFID |
JP5438650B2 (ja) * | 2010-09-30 | 2014-03-12 | 日本電信電話株式会社 | 不正検知方法、秘密計算システム、計算装置、計算プログラム |
US8989391B2 (en) * | 2010-10-06 | 2015-03-24 | Nippon Telegraph And Telephone Corporation | Secret sharing system, secret sharing apparatus, secret sharing method, secret sorting method and secret sharing program |
US9292258B2 (en) * | 2011-01-24 | 2016-03-22 | Nippon Telegraph And Telephone Corporation | Secure sum-of-product computation method, secure sum-of-product computation system, computation apparatus and programs therefor |
WO2012121333A1 (ja) * | 2011-03-10 | 2012-09-13 | 日本電信電話株式会社 | 秘匿積和結合システム、計算装置、秘匿積和結合方法、及びそれらのプログラム |
CN102364888B (zh) * | 2011-09-30 | 2015-01-07 | 深圳市文鼎创数据科技有限公司 | 动态令牌密钥因子的设置方法、系统、终端及验证服务器 |
US9350550B2 (en) * | 2013-09-10 | 2016-05-24 | M2M And Iot Technologies, Llc | Power management and security for wireless modules in “machine-to-machine” communications |
US10074293B2 (en) * | 2014-01-17 | 2018-09-11 | Nippon Telegraph And Telephone Corporation | Secret calculation method, secret calculation system, sorting device, and program |
JP6321049B2 (ja) * | 2014-01-28 | 2018-05-09 | 日本電信電話株式会社 | 秘密計算方法、秘密計算システム |
US20160125396A1 (en) * | 2014-10-29 | 2016-05-05 | Google Inc. | Confirming physical possession of plastic nfc cards with a mobile digital wallet application |
-
2014
- 2014-01-16 US US14/758,373 patent/US9860058B2/en active Active
- 2014-01-16 WO PCT/JP2014/050647 patent/WO2014112548A1/ja active Application Filing
- 2014-01-16 JP JP2014557490A patent/JP6016948B2/ja active Active
- 2014-01-16 EP EP14740760.5A patent/EP2947642B1/en active Active
- 2014-01-16 CN CN201480005233.9A patent/CN105027180B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US9860058B2 (en) | 2018-01-02 |
CN105027180B (zh) | 2017-03-29 |
EP2947642A1 (en) | 2015-11-25 |
WO2014112548A1 (ja) | 2014-07-24 |
US20150358155A1 (en) | 2015-12-10 |
JP6016948B2 (ja) | 2016-10-26 |
EP2947642A4 (en) | 2016-11-09 |
CN105027180A (zh) | 2015-11-04 |
EP2947642B1 (en) | 2017-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6016948B2 (ja) | 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム | |
Xu et al. | VerifyNet: Secure and verifiable federated learning | |
JP7202358B2 (ja) | 閾ボールトを生成する、コンピュータにより実施される方法 | |
Yu et al. | Platform-independent secure blockchain-based voting system | |
Yu et al. | Enhanced privacy of a remote data integrity-checking protocol for secure cloud storage | |
Wang et al. | Privacy-preserving public auditing for data storage security in cloud computing | |
US20210336771A1 (en) | Adaptive attack resistant distributed symmetric encryption | |
JP2020515087A5 (ja) | ||
Kumar et al. | An efficient and secure protocol for ensuring data storage security in cloud computing | |
Barsoum et al. | Integrity verification of multiple data copies over untrusted cloud servers | |
Huang et al. | Achieving accountable and efficient data sharing in industrial internet of things | |
JP2020521369A (ja) | データ重複排除のためのアプリケーションによる暗号化鍵の生成 | |
JP6040320B2 (ja) | 秘密並列処理装置、秘密並列処理方法、プログラム | |
Jayapandian et al. | Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption | |
JP2021510954A (ja) | デジタル署名されたデータを取得するためのコンピュータにより実施される方法及びシステム | |
US11804960B2 (en) | Distributed symmetric encryption | |
Mashhadi et al. | Provably secure verifiable multi‐stage secret sharing scheme based on monotone span program | |
Tran et al. | An efficient privacy-enhancing cross-silo federated learning and applications for false data injection attack detection in smart grids | |
Huang et al. | Block-Level Message-Locked Encryption with Polynomial Commitment for IoT Data. | |
JP6053238B2 (ja) | 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム | |
WO2018216512A1 (ja) | 秘密改ざん検知システム、秘密改ざん検知装置、秘密改ざん検知方法、およびプログラム | |
Rewadkar et al. | Cloud storage system enabling secure privacy preserving third party audit | |
Rehman et al. | Securing cloud storage by remote data integrity check with secured key generation | |
US20220345312A1 (en) | Zero-knowledge contingent payments protocol for granting access to encrypted assets | |
JP5227201B2 (ja) | ビットコミットメントシステム、ビットコミットメント方法、ビットコミットメント送信装置、ビットコミットメント受信装置、ビットコミットメント送信方法、ビットコミットメント受信方法、ビットコミットメントプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160826 |
|
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: 20160920 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160927 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6016948 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |