JP5677252B2 - 第1のベクトルおよび第2のベクトルに関数を適用した結果を求めるための方法、および第3のプロセッサを用いて第1のベクトルおよび第2のベクトルに関数を適用した結果を求めるためのシステム - Google Patents

第1のベクトルおよび第2のベクトルに関数を適用した結果を求めるための方法、および第3のプロセッサを用いて第1のベクトルおよび第2のベクトルに関数を適用した結果を求めるためのシステム Download PDF

Info

Publication number
JP5677252B2
JP5677252B2 JP2011206944A JP2011206944A JP5677252B2 JP 5677252 B2 JP5677252 B2 JP 5677252B2 JP 2011206944 A JP2011206944 A JP 2011206944A JP 2011206944 A JP2011206944 A JP 2011206944A JP 5677252 B2 JP5677252 B2 JP 5677252B2
Authority
JP
Japan
Prior art keywords
vector
processor
function
jepd
result
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
Application number
JP2011206944A
Other languages
English (en)
Other versions
JP2012070380A5 (ja
JP2012070380A (ja
Inventor
シャンタヌ・ラーネ
イェ・ワン
ウェイ・サン
プラカシュ・イシュワー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Research Laboratories Inc
Original Assignee
Mitsubishi Electric Research Laboratories Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US12/890,151 external-priority patent/US8473537B2/en
Application filed by Mitsubishi Electric Research Laboratories Inc filed Critical Mitsubishi Electric Research Laboratories Inc
Publication of JP2012070380A publication Critical patent/JP2012070380A/ja
Publication of JP2012070380A5 publication Critical patent/JP2012070380A5/ja
Application granted granted Critical
Publication of JP5677252B2 publication Critical patent/JP5677252B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、包括的にはセキュアなマルチパーティー計算に関し、より詳細には、正規化和型関数(normalized sum-type function)のセキュアなマルチパーティー計算に関する。
セキュアなマルチパーティー計算
暗号法において、セキュアなマルチパーティー計算(SMPC)は、1982年にAndrew C. Yaoによって「億万長者問題(millionaire problem)」として最初に提案された問題である。アリスおよびボブは自身の富の正確な量を明らかにすることなく誰がより裕福であるかを突き止めることを望む2人の億万長者である。Yaoは、アリスおよびボブが制約条件を守りながら自身の好奇心を満たすことを可能にする解決策を提案した。
一般に、SMPCは、複数のパーティーが、個々に保有する秘密情報に基づいて、その情報を他のパーティーのいずれにも明らかにすることなく共同である値を計算する計算システムを指す。
たとえば、第1のパーティー(アリス)および第2のパーティー(ボブ)は、秘密データを有する。たとえば、第1のパーティーは、ベクトルXを有し、第2のパーティーは、ベクトルYを有する。第1のパーティーおよび第2のパーティーは、多くの場合に第3のパーティー(チャールズ)からの支援を受けて、秘密データを互いに明らかにすることなく関数f(X,Y)を計算する必要がある。その目的のために、パーティーは、ある特定の条件を満たす関数計算プロトコルを有しなくてはならない。
たとえば、1つの条件は、第1のパーティーおよび第2のパーティーが関数の計算中のいかなる段階においても対応する秘密データを他のパーティーに開示しないというものである。別の条件は、プロトコルが各パーティーにおいて受ける計算オーバーヘッドが小さく、かつパーティーの任意の対間で有する送信オーバーヘッドが低いというものである。
不都合なことに、関数fを計算するための従来のSMPC法は、一般的な形式において、各パーティーにおいて高い計算複雑度を有し、パーティーの任意の対間の送信オーバーヘッドも実現不可能なほど高くなる可能性がある。いくつかの状況では、従来の最新技術によるSMPC法のいずれを用いても、関数fの計算が不可能である可能性さえある。
したがって、複雑な数学式を有する関数であっても、参加しているパーティーにおいて、低い計算および通信のオーバーヘッドで該関数を計算するSMPC法を提供することが望ましい。
本発明の実施の形態は、全ての正規化和型関数が経験的同時確率分布(JEPD:joint empirical probability distribution)の観点から表現可能であるという認識に基づいている。したがって、セキュアなマルチパーティー計算(SMPC)を用いて、たとえば、2つのベクトルに関数を適用した結果を計算するには、SMPCを用いてその2つのベクトルのJEPDを計算すれば十分である。これによって、複数の用途において、計算複雑度および送信オーバーヘッドが大幅に減少する。JEPDが分かると、関数の値を、JEPDの値と該関数の対応する値との積の正規化された総和として求めることができる。
本発明の実施の形態の背後にある認識によって、解決されるべき問題の根源が明らかとなり、SMPCの分野において、その問題が従来にはない方法で解決される。
複雑な関数の結果を求める従来の手法は、既知の暗号プリミティブを用いるか、またはSMPCプロトコルをその関数の詳細に適合させる。そのような手法の結果として生じる複雑性は、問題であるとは考えられておらず、セキュアな計算の当然な結果であると受け止められていた。
最新技術とは対照的に、本発明の実施の形態は、2つのベクトルの関数の結果をセキュアに求めることを、2つのベクトルのJEDPをセキュアに求めることに簡約する。
たとえば、1つの実施の形態では、関数は、2つのベクトルの値の全てのあり得る対および該関数の対応する結果を含む参照テーブルの形態において明示的に規定される。この実施の形態では、関数の式は、規定されない。この実施の形態は、SMPCプロトコルを用いて値の全てのあり得る対のJEPDを求め、関数の結果を、参照テーブルからの関数の対応する結果を有するJEPDの値の積の正規化和として求める。
したがって、本発明の1つの実施の形態は、第1のベクトルおよび第2のベクトルに関数を適用した結果を求めるための方法であって、該関数は、正規化和型関数である、方法を開示する。前記第1のベクトルは、第1のプロセッサにおいて格納され、前記第2のベクトルは、第2のプロセッサにおいて格納される。該方法は、セキュアなマルチパーティー計算(MPC)を用いて前記第1のベクトルおよび前記第2のベクトルの経験的同時確率分布(JEPD)を求め、前記関数の前記結果を、前記JEPDの値と該関数の対応する値との積の正規化された総和として求め、該方法のステップは、少なくとも前記第1のプロセッサおよび前記第2のプロセッサによって実行される。
本発明の別の実施の形態は、第3のプロセッサを用いて第1のベクトルおよび第2のベクトルに関数を適用した結果を求めるためのシステムであって、該関数は、正規化和型関数であり、前記第1のベクトルは、第1のプロセッサにおいて格納され、前記第2のベクトルは、第2のプロセッサにおいて格納され、該システムは、セキュアなマルチパーティー計算(MPC)を用いて前記第1のベクトルおよび前記第2のベクトルの経験的同時確率分布(JEPD)を求める手段と、前記関数の前記結果を、前記JEPDの値と該関数の対応する値との積の正規化された総和として求める手段とを備え、前記方法の前記ステップは、少なくとも前記第1のプロセッサおよび前記第2のプロセッサによって実行される、システムを開示する。
さらに、別の実施の形態は、第3のプロセッサを用いて第1のベクトルおよび第2のベクトルに関数を適用した結果を求めるためのシステムであって、該関数は、正規化和型関数であり、前記第1のベクトルは、第1のプロセッサにおいて格納され、前記第2のベクトルは、第2のプロセッサにおいて格納され、該システムは、前記第1のベクトルおよび前記第2のベクトルの要素の対応する対毎に、難読化されたJEPDを表す1組のインジケーター行列を求める手段と、前記1組のインジケーター行列を第1の加法シェア(additive share)および第2の加法シェアに分割する手段と、前記第1の加法シェアを前記第1のプロセッサに送信し、前記第2の加法シェアを前記第2のプロセッサに送信する手段と、前記関数の前記結果の第1の加法シェアおよび前記関数の前記結果の第2の加法シェアに基づいて前記関数の前記結果を求める手段と、を備える、システムを開示する。
本発明の実施の形態は、全ての正規化和型関数が経験的同時確率分布(JEPD)の観点で表現可能であるという認識に基づいている。したがって、セキュアなマルチパーティー計算(SMPC)を用いて2つのベクトルに適用された関数の結果を計算するには、SMPCを用いて2つのベクトルのJEPDを計算すれば十分である。これによって、複数の用途において、計算複雑度および送信オーバーヘッドが大幅に減少する。
JEPDが分かると、関数の値を、JEPDの値と、該関数の対応する値との積の正規化された総和として求めることができる。
本発明によって、結果としてSMPCの分野において従来にはない解決策が生じる。複雑な関数の結果を求める従来の手法は、SMPCプロトコルをその関数の詳細に合わせて調整するかまたは適合させる。これらの手法の結果として生じる複雑性は、問題であるとは考えられておらず、セキュアな計算の性質であると受け止められていた。
最新技術とは対照的に、本発明の実施の形態は、2つのベクトルに関数を適用した結果をセキュアに求めることを、2つのベクトルのJEDPをセキュアに求めることに簡約する。これによって、複数の用途において、計算複雑度および送信オーバーヘッドが大幅に減少する。
本発明の実施の形態による、関数を2つの信号に適用した結果を求めるための方法の流れ図である。 加法シェアおよび可逆的難読化を用いた関数の結果を求めるための方法の流れ図である。 本発明の実施の形態による、関数の結果を求める流れ図の例である。 本発明の実施の形態による、関数の結果を求める流れ図の例である。
定義
本発明の実施の形態を説明する際に、全体を通して(上記の説明も含む)以下の定義が適用可能である。
「コンピューター」は、入力を受け取り、該入力を所定の規則に従って処理し、処理結果を出力として生成することができる任意の装置を指す。コンピューターの例には、汎用コンピューター;スーパーコンピューター;メインフレーム;スーパーミニコンピューター;ミニコンピューター;ワークステーション;マイクロコンピューター;サーバー;双方向テレビ;コンピューターおよび双方向テレビのハイブリッド結合;ならびにコンピューターおよび/またはソフトウエアをエミュレートする特定用途向けハードウエアが含まれる。コンピューターは、単一のプロセッサまたは複数のプロセッサを有することができ、それらのプロセッサは、並列に、かつ/または非並列に動作することができる。また、コンピューターは、コンピューター間で情報を送信または受信するためのネットワークを介してともに接続される2つ以上のコンピューターも指す。そのようなコンピューターの例には、ネットワークによってリンクされるコンピューターを介して情報を処理するための分散コンピューターシステムが含まれる。
「メモリ」または「コンピューター可読媒体」は、コンピューターによってアクセス可能なデータを格納するための任意の記憶装置を指す。その例には、磁気ハードディスク;フロッピー(登録商標)ディスク;光ディスク;磁気テープ;メモリチップ;ならびに電子メールを送受信する際に、またはネットワークおよびコンピューターメモリ、たとえば、ランダムアクセスメモリ(RAM)にアクセスする際に用いられるような、コンピューター可読電子データを搬送するために用いられる搬送波が含まれる。
「ソフトウエア」は、コンピューターを動作させるための命令を指す。ソフトウエアの例には、ソフトウエア;コードセグメント;命令;コンピュータープログラム;およびプログラムされたロジックが含まれる。
「モジュール」または「ユニット」は、タスクまたはタスクの一部を実行するコンピューター内の基本構成要素を指す。モジュールまたはユニットは、ソフトウエアまたはハードウエアのいずれかによって実装することができる。
「ネットワーク」は、通信設備によって接続された複数のコンピューターおよび関連デバイスを指す。ネットワークは、ケーブル等の永久接続、電話若しくは他の通信リンクを通じて行われる接続等の一時接続、および/または無線接続を伴う。ネットワークの例には、インターネット(Internet)等の相互接続ネットワーク(internet);イントラネット:ローカルエリアネットワーク(LAN);広域ネットワーク(WAN);ならびに相互接続ネットワークおよびイントラネット等のネットワークの組み合わせが含まれる。
「SMPCシステム」は、複数のプロセッサが、個々に保有する秘密情報、すなわち、データに基づいて、該情報を計算中に互いに明らかにすることなく、関数の結果を共同で求める計算システムの任意のプロセッサを指す。
「SMPC法」は、1つのプロセッサにおいて格納されたデータをいかなる他のプロセッサにも開示することなく、いくつかのプロセッサまたは全てのプロセッサが複数のプロセッサに格納されたデータに関数を適用した結果を求めるように、該複数のプロセッサがインタラクトすることを可能にする任意のプロトコルを指す。
「SMPC」は、SMPCシステム、またはSMPC法、またはその両方を指す。
図1は、関数f110を第1の信号xおよび第2の信号yに適用した結果190を求めるための方法100を示している。関数fは、正規化和型関数である。本発明の実施の形態は、関数を3つ以上の信号に適用した結果も求める。信号は、任意のデータ表現、たとえば、ベクトル、行列、テーブルを有することができる。たとえば、いくつかの実施の形態では、信号xおよびyは、ベクトル、すなわち、第1のベクトル115および第2のベクトル116である。本方法は、複数のプロセッサを用いて実行され、各プロセッサは、当該技術分野において既知のメモリおよび入力/出力インターフェースを備えることができる。詳細には、第1のベクトルは、第1のプロセッサ117に格納され、第2のベクトルは、第2のプロセッサ118に格納され、関数の計算は、第1のプロセッサおよび第2のプロセッサによって実行され、オプションで第3のプロセッサ119の助けにより実行される。
正規化和型関数
様々な実施の形態において、第1のベクトルX115および第2のベクトルY116は、それぞれn個の要素を有する。第1のベクトルXの個々の要素は、Xによって表され、指数iは、1からnまで変化する。同様に、第2のベクトルYの個々の要素は、Yによって表され、指数iは、1からnまで変化する。関数f(X,Y)110は、以下の形式の「正規化和型関数」である。
Figure 0005677252
本発明の実施の形態は、全ての正規化和型関数が経験的同時確率分布(JEPD)の観点から表現可能であるという認識に基づいている。さらに、関数のJEPDは、該関数の複雑度と無関係である。したがって、従来のシステムにおけるように、セキュアなマルチパーティー計算(SMPC)を用いて関数の結果を求める代わりに、本実施の形態は、セキュアなMPC130を用いて第1のベクトルおよび第2のベクトルのJEPD125を求め(120)、次に、関数110の結果190を、JEPDの値と、該関数の対応する値155との積の正規化された総和として求める(140)。
いくつかの実施の形態では、関数は、参照テーブル150の形態でメモリ内に明示的に格納される。テーブルは、第1のベクトルおよび第2のベクトルの値のあり得る対(x,y)、および関数f(x,y)の対応する結果を格納する。
1つの実施の形態では、プロセッサ170によって参照テーブルがあらかじめ求められる(160)。代替的にまたは付加的に、参照テーブルは、第1のプロセッサ、第2のプロセッサ、および第3のプロセッサのうちのいずれかによって求め、格納することができる。
経験的同時確率分布(JEDP)
長さnのベクトルXおよびYを所与とすると、2つのベクトルXおよびYの要素のJEDP H(x,y)は、下式(1)となる。
Figure 0005677252
ここで、N(x,y)は、ベクトルXおよびY内におけるシングルトン要素の対(x,y)の発生数である。N(x,y)は、2つのベクトルXおよびYの同時ヒストグラム(joint histogram)とも呼ばれる。
本発明のいくつかの実施の形態は、2つのベクトルXおよびYの部分JEPDを用いる。これらの実施の形態は、各ベクトルからm<n個の要素をランダムに選択することによって、第1のベクトルおよび第2のベクトルをサブサンプリングし(180)、サブサンプリングされた第1のベクトルX’181およびサブサンプリングされた第2のベクトルY’182を生成する。第1のベクトルおよび第2のベクトルにおける同じ位置から要素mが選択される。
部分JEDP H’(x,y)が、以下に従って求められる。
Figure 0005677252
ここで、L(x,y)は、ランダムにサブサンプリングされたベクトルX’およびY’におけるシングルトン要素の対(x,y)の発生数である。L(x,y)は、ベクトルXおよびYの部分同時ヒストグラムとも呼ばれる。
正規化和型関数は、JEPDの観点から、以下のように表すことができる。
Figure 0005677252
右辺の項は、関数f(X,Y)を求めるには、全ての対(x,y)においてf(x,y)を評価し、次に、JEPDに基づいて関数の値をスケーリングすれば十分であることを示している。したがって、関数f(X,Y)をセキュアに計算するには、第1のプロセッサ、第2のプロセッサ、および第3のプロセッサが、第1のプロセッサが第2のベクトルYを発見せず、第2のプロセッサが第1のベクトルXを発見せず、第3のプロセッサが双方のベクトルXおよびYを発見しないようなJEPD H(x,y)を求めれば十分である。
本発明の実施の形態の背後にある認識によって、解決されるべき問題の根源が明らかとなり、SMPCの分野において、その問題が、従来にはない方法で解決される。
複雑な関数の結果を求める従来の手法は、SMPCプロトコルをその関数の詳細に合わせて設計することである。従来、関数は、代数式として表され、そして、その代数式を評価するのに暗号プリミティブが用いられる。しかしながら、多くの用途において、関数を代数的に表現することが困難であるか、またはさらには不可能であり、それに応じて従来のSMPCが適用困難となるかまたは適用不可能となっている。
さらに、いくつかの用途では、関数は、値のテーブルとしてのみ規定され、それによって、関数の式は提供されない。これらの用途の場合、ラグランジュ補間等の方法を用いて関数の多項式を導出する。多項式が非常に高次である場合、関数を表すのに用いられる代数式は、通例、非常に複雑であり、このため、その式を評価するSMPCプロトコルは、さらに複雑となる。後述するように、本発明の原理を用いる実施の形態は、関数の式を求める必要性を回避する。
したがって、本発明の実施の形態は、従来のSMPC法よりも優れた結果を達成する。特に、本発明の実施の形態は、関数を求めることを、2つのベクトルのJEDPを求めることから切り離し、これによって、複数の用途において、計算複雑度および送信オーバーヘッドが大幅に減少する。
たとえば、1つの実施の形態は、閉形式の式を有しない関数の結果を求める。この関数は、全てのあり得る対(x,y)および対応する値f(x,y)を含む参照テーブルの形式で明示的に規定される。実施の形態は、プライバシーを保護する形でJEPD H(x,y)を求めるSMPCプロトコルを実行し、JEPDを用いて関数f(x,y)の結果を得る。
同様に、別の実施の形態では、関数f(・,・)は、複雑な式、たとえば、下式を有する。
Figure 0005677252
この場合、関数fの従来のプライバシーを保護するプロトコルは、各プロセッサにおいて、非常に高い計算複雑度を有し、プロセッサのいずれの対間でも送信オーバーヘッドは、実現不可能なほど高い。いくつかの実施の形態では、最新技術のプライバシーを保護するプロトコルを用いて、fを評価することが不可能である場合さえある。
実施の形態は、式(2)を用い、関数fのためのそのようなプロトコルを構築しない。その代わり、SMPCを用いて、大幅に低い計算複雑度および低い送信オーバーヘッドでJEPDを求める。
JEPDを求めるためのSMPC
概して、本発明の実施の形態は、JEPDを求めるように構成された任意のSMPCプロトコルを用いることができる。そのようなSMPCプロトコルには、限定ではないが、計算機密性または無条件機密性に基づくプロトコルが含まれる。
1つの実施の形態は、公開鍵暗号化、紛失通信、および準同型関数等の暗号プリミティブを用いてJEPDを求める。暗号プリミティブにより達成されるこの形態の機密性は、計算機密性であり、すなわち、機密性は、大きな数の因数分解等のある数学問題は解くのが困難であるという仮定に依拠する。
この実施の形態の1つの変形形態は、多項式秘密共有を用いてヒストグラムの加法シェア、すなわち、換言すればJEPDを求める。任意の一般関数の加法シェアを直接評価するために適用される多項式秘密共有は、送信オーバーヘッドおよび計算複雑度の観点から複雑である。しかしながら、本発明者らの認識によれば、JEPDの加法シェアは、常に低い送信オーバーヘッドおよび低い計算複雑度で計算可能である。
別の実施の形態は、無条件機密性を用いてJEPDを求める。この実施の形態は、以下でより詳細に説明するように、2つのベクトルのJEPDは、難読化に対し不変であるという別の認識に基づく。
本明細書において定義されるとき、平易な意味を用いれば、難読化とは、通信において意図される意味を秘匿することであり、通信を混乱させ、意図的にあいまいにし、解釈をより困難にする。特に、暗号法の分野において既知のように、難読化は、機密性を保持するためにある暗号化方式でデータを符号化することを指す。
いくつかの実施の形態は、多項式秘密共有に基づく手法が、計算機密性と対照的に、無条件機密性を提供するということを検討する。無条件機密性は、証明されていない数学的仮定に基づかないので、計算機密性よりも強い機密性の概念であると考えられる。
JEPDが難読化に対し不変であることに基づくSMPC
図2は、加法シェアおよび2つのベクトルの可逆的難読化を用いた、ベクトル115および116への関数110の適用の結果190を求めるための方法を示している。この実施の形態は、半正直(semi-honest)設定を考察する。この設定において、各プロセッサは、規則、すなわち、本方法のステップに正確に従い、各プロセッサは、詮索的(curious)であり、すなわち、プロトコルのステップ中に取得した情報を用いて、他のプロセッサが利用可能なデータに関して、可能な限りの情報を推測する。半正直設定は「正直であるが詮索的」設定とも呼ばれる。
第1のプロセッサ117は、難読化の第1の規則211に基づいて、第1のベクトルを可逆的に難読化する(220)。たとえば、第1のプロセッサは、第1のベクトルXを難読化して、第1の難読化されたベクトルX225を生成する。第1のプロセッサは、第1の難読化されたベクトルXを第3のプロセッサ119に送信する。
この実施の形態の1つの変形形態では、第1のプロセッサは、第1のベクトルXの要素と同じシンボルアルファベットAからn個のシンボルの第1のパッドベクトル(pad vector)Wを、ランダムに選択する。いくつかの実施の形態では、アルファベットAは、バイナリである。他の実施の形態では、アルファベットは、|A|で表される値の有限正数である。次に、シンボルアルファベットを下式に従って有限加法群として扱いながら、加法演算によりベクトルXおよびWから対応する要素を組み合わせることによって、第1の難読化されたベクトルXの各要素が生成される。
Figure 0005677252
同様に、第2のプロセッサ118は、難読化の第2の規則212に基づいて第2のベクトルを可逆的に難読化し(230)、第2の難読化されたベクトルYを生成し、該第2の難読化されたベクトルYを第3のプロセッサに送信する。たとえば、第2のプロセッサは、n個のシンボルの第2のパッドベクトルZをランダムに選択する。通例、ベクトルYおよびZの要素は、|B|個の要素を有する同じアルファベット集合Bに属する。上述したように、いくつかの実施の形態では、|B|=2である。第2のベクトルは、以下に従って難読化される。
Figure 0005677252
第3のプロセッサは、第1のベクトルおよび第2のベクトルの受信に基づいて、かつ、該受信に応じて、難読化されたJEPD245を求める(240)。ここで、第1のベクトルおよび第2のベクトルは、それぞれ第1の難読化規則および第2の難読化規則に基づいて、可逆的に難読化される。たとえば、1つの実施の形態では、第3のプロセッサは、2つの受信したベクトルXおよびYからの(X ,Y )によって表される全ての対応する要素対について、|A|個の行および|B|個の列を有するインジケーター行列Mを求める。1からnまでの範囲をとる各指数iについて、インジケーター行列Mは、対(X ,Y )のためのインジケーター関数を表す。このため、行列内の(X ,Y )位置における要素は、1に設定される一方、全ての他の要素は、0に設定される。したがって、1組のインジケーター行列は、難読化されたJEPDを表す。
次に、第3のプロセッサは、難読化されたJEPDを第1の加法シェア251および第2の加法シェア252に分割し(250)、該第1の加法シェアおよび該第2の加法シェアをそれぞれ第1のプロセッサおよび第2のプロセッサに送信する。
たとえば、上述した実施の形態では、第3のプロセッサは、要素毎の有限体加算がMとなるように十分大きな有限体にわたって値をとる2つの行列をランダムに選択することによって、各インジケーター行列Mを、加法シェアM{A,i}およびM{B,i}に分割する。このため、M=M{A,i}+M{B,i}modFであり、ここで、Fは、アルファベット|A|および|B|のサイズよりもサイズが大きい有限体である。したがって、第3のプロセッサは、1組のインジケーター行列M{A,1},M{A,2},...,M{A,n}を第1のプロセッサに送信し、1組のインジケーター行列M{B,1},M{B,2},...,M{b,n}を第2のプロセッサに送信する。
第1のプロセッサおよび第2のプロセッサは、第1の難読化規則および第2の難読化規則を用いて加法シェアの逆難読化260を適用する。その目的のために、1つの実施の形態では、第1のプロセッサおよび第2のプロセッサは、難読化の規則を交換する。たとえば、第1のプロセッサは、第1のパッドベクトルWを第2のプロセッサに送信し、第2のプロセッサは、第2のパッドベクトルZを第1のプロセッサに送信する。
この実施の形態の1つの変形形態では、第1のパッドベクトルおよび第2のパッドベクトルは、同一であり、すなわち、W=Zである。しかしながら、パッドベクトルWおよびZが異なる場合、第1のプロセッサは、各インジケーター行列がベクトルXおよびYの要素の各対に対応するインジケーター関数行列の加法シェアとなるように、パッドベクトルWおよびZを用いてインジケーター行列M{A,1},M{A,2},...,M{A,n}の行および列を再配置する。
同様に、第2のプロセッサは、パッドベクトルWおよびZを用いてインジケーター行列M{B,1},M{B,2},...,M{B,n}の行および列を再配置する。
次に、第1のプロセッサは、再配置された行列を加算して、JEPDを表す行列の加法シェア261である行列Nを生成する。第2のプロセッサは、再配置された行列を加算して、行列N、すなわち、JEPDの対応する加法シェア262を生成する。
第1のプロセッサおよび第2のプロセッサは、JEPDの加法シェアを用いて、関数110の結果190の第1の加法シェアF270および第2の加法シェアF271を求める。1つの実施の形態では、関数の結果の加法シェアは、参照テーブル150を用いて、式(1)に従って求められる。たとえば、第1のプロセッサは、下式に従って、f(X,Y)の第1の加法シェアを求める。
Figure 0005677252
また、第2のプロセッサは、下式に従って、f(X,Y)の第2の加法シェアを求める。
Figure 0005677252
次に、それぞれ第1のプロセッサおよび第2のプロセッサから受信した関数の結果の第1の加法シェアおよび第2の加法シェアに基づいて、第3のプロセッサによって関数の結果が求められる。付加的にまたは代替的に、第1のプロセッサおよび第2のプロセッサは、加法シェアの総和が変化しないように、関数の結果の第1の加法シェアおよび第2の加法シェアに共通変更子を減算および加算することによって、関数の結果のそれぞれの加法シェアを変更することができる。
たとえば、第1のプロセッサおよび第2のプロセッサは、共通変更子S、たとえば、第1のプロセッサによってランダムに選択され、第2のプロセッサに送信された数を求める。第1のプロセッサは、第3のプロセッサにF+Sを送信する。第2のプロセッサは、第3のプロセッサにF−Sを送信する。第3のプロセッサは、受信した加法シェアを加算し、F+S+F−S=F+F=f(X,Y)を求める。
実施例
図3は、第1のベクトルおよび第2のベクトルの要素の1つの対305のJEPDを求める例を示している。例は、限定ではなく、明確化の目的でのみ提供される。たとえば、第1のベクトルの要素xは、1であり、第2のベクトルの対応する要素yは、2である。第1のベクトルのアルファベットのサイズは、2であり、すなわち、|A|=2、A={0,1}である。第2のベクトルのアルファベットのサイズは、3であり、すなわち、|B|=3、B={0,1,2}である。第1のベクトルは、第1のパッドベクトルWおよびたとえば対応するw=5を用いて難読化される。第2のベクトルは、第2のパッドベクトルZおよびたとえば対応するz=2を用いて難読化される。
このため、第1のベクトルの難読化された要素x は、x =1+5mod2=0である。
同様に、第2のベクトルの難読化された要素y は、y =2+2mod3=1である。
したがって、第3のベクトルは、可逆的に難読化された要素の対(0,1)310を受信し(320)、インジケーター行列335を求める(330)。図3に示すように、行列の(x ,y )位置にある要素は、1に設定される一方、全ての他の要素は、0に設定される。インジケーター行列は、インジケーター行列の第1の加法シェアおよび第2の加法シェア、たとえば、加法的行列341および342に分割される(340)。分割は、任意に、たとえば、ランダムに実行される。唯一の要件は、2つ加法的行列の対応する要素の和によって、インジケーター行列が生成されることである。次に、2つの加法シェアが、それぞれ第1のプロセッサおよび第2のプロセッサに送信される(350および355)。
後述するように、第1のプロセッサおよび第2のプロセッサは、関数の結果の第1の加法シェアおよび第2の加法シェアを求める。第3のプロセッサは、それぞれ第1のプロセッサおよび第2のプロセッサから受信した(360)関数の結果の第1の加法シェアおよび第2の加法シェアに基づいて、関数の結果190を求める(370)。
図4は、第1のプロセッサおよび第2のプロセッサによって関数の結果の加法シェアを求める例を示している。第1のパッドベクトルおよび第2のパッドベクトルを交換した(405)後、第1のプロセッサおよび第2のプロセッサは、難読化の効果を逆にする(410および450)。たとえば、wmod2=5mod2=1であるので、第1のパッドベクトルを用いた難読化の効果は、加法シェア行列の行を入れ替えることによって逆にされる。入れ替えの結果、行列415および455となる。
同様に、zmod3=2mod3=2であるので、第2のパッドベクトルを用いた難読化の効果は、加法シェア行列の列を、難読化の方向と反対の方向に動かす、すなわち、左に2列、すなわち、−2列動かすことによって逆にされる。逆にした結果、逆にされた行列425および465となる。特に、行列425および465の和は、要素(1,2)以外全てゼロの要素を有する行列となる。この行列は、難読化前の第1のベクトルおよび第2のベクトルの要素305の元の値を反映している。
第1のベクトルおよび第2のベクトルの全ての対応する要素が処理されると、第1のプロセッサおよび第2のプロセッサの全ての逆にされた行列を結合したもの430および470が、JEPD加法シェア、すなわち、第1のJEPD加法シェア261および第2のJEPD加法シェア262となる。次に、関数の結果の第1の加法シェアおよび第2の加法シェアが、第1のプロセッサおよび第2のプロセッサによって、JEPDの値と参照テーブル150から選択された関数の対応する値と積の正規化された総和440および480として求められる。
ランダムサブサンプリング
上述したように、本発明のいくつかの実施の形態は、2つのベクトルXおよびYの部分JEPDを用いる。これらの実施の形態は、各ベクトルからm<n個の要素をランダムに選択することによって、第1のベクトルおよび第2のベクトルをサブサンプリングし(180)、サブサンプリングされた第1のベクトルX’181、およびサブサンプリングされた第2のベクトルY’182を生成する。要素mは、第1のベクトルおよび第2のベクトルの同じ位置から選択されるべきである。次に、部分JEPDの観点から関数f(X’,Y’)が表現され、解かれる。
XおよびYのランダムに選択されたサブサンプルから構築された部分JEPDは、XおよびYの全ての要素から構築されたJEPDに収束する。特に、サブサンプリングされたベクトルX’およびY’に基づく部分JEPDと、全ての要素に基づくJEPDとの間の最大期待絶対誤差は、m、すなわち、サブサンプル数の平方根に反比例する。したがって、関数f(X’,Y’)の結果は、関数f(X,Y)の結果の近似である。この近似は、mが十分に大きいがnよりはるかに小さいときに、f(X,Y)に収束する。
ベクトルXおよびYをランダムにサンプリングすることによって関数の近似を評価する利点は、各プロセッサにおける計算複雑度の低減、および任意のセキュアなMPCプロトコルによって要求される送信オーバーヘッドの低減である。計算複雑度および送信オーバーヘッドの双方が関数の引数の長さに直接比例する。このため、関数評価のためにランダムに選択されたサンプルのより小さな集合を用いることは、ベクトルXおよびYの全ての要素を用いるよりも効率的である。この実施の形態は、特に、データのサイズが大きく、非常に精度が高いが正確ではない計算しか必要でない用途に関する。
いくつかの実施の形態では、経験的同時確率分布のランダムサンプリングおよび評価を、第1の2つのプロセッサのみを用いて計算することもできる。

Claims (12)

  1. 第1のベクトルおよび第2のベクトルに関数を適用した結果を求めるための方法であって、該関数は、正規化和型関数であり、前記第1のベクトルは、第1のプロセッサにおいて格納され、前記第2のベクトルは、第2のプロセッサにおいて格納され、該方法は、
    セキュアなマルチパーティー計算(SMPC)を用いて前記第1のベクトルおよび前記第2のベクトルの値の全ての取り得る対の経験的同時確率分布(JEPD)を求めるステップと、
    前記関数の前記結果を、前記全ての取り得る対に関して、前記JEPDの値と該関数の対応する値との積の正規化された総和として求めるステップと
    を含み、該方法の前記2つのステップは、前記第1のプロセッサ前記第2のプロセッサ、または第3のプロセッサのいずれかによって実行可能であり
    前記第3のプロセッサにより、前記第1のベクトルおよび前記第2のベクトルの受信に応じて難読化されたJEPDを求めるステップであって、前記第1のベクトルおよび前記第2のベクトルは、それぞれ第1の難読化規則および第2の難読化規則に基づいて可逆的に難読化される、求めるステップと、
    前記第3のプロセッサにより、前記難読化されたJEPDを第1の加法シェアおよび第2の加法シェアに分割するステップと、
    前記第1の加法シェアを前記第1のプロセッサに送信し、前記第2の加法シェアを前記第2のプロセッサに送信するステップであって、前記第1のプロセッサが前記第1の難読化規則および前記第2の難読化規則に基づいて前記第1の加法シェアを逆にして前記関数の前記結果の第1の加法シェアを求め、前記第2のプロセッサが前記第1の難読化規則および前記第2の難読化規則に基づいて前記第2の加法シェアを逆にして前記関数の前記結果の第2の加法シェアを求めるようにする、送信するステップと、
    前記第3のプロセッサにより、前記第1のプロセッサから受信した前記第1の加法シェアおよび前記第2のプロセッサから受信した前記第2の加法シェアに基づいて、前記関数の前記結果を求めるステップと
    をさらに含む、方法。
  2. 第1のベクトルおよび第2のベクトルに関数を適用した結果を求めるための方法であって、該関数は、正規化和型関数であり、前記第1のベクトルは、第1のプロセッサにおいて格納され、前記第2のベクトルは、第2のプロセッサにおいて格納され、該方法は、
    セキュアなマルチパーティー計算(SMPC)を用いて前記第1のベクトルおよび前記第2のベクトルの値の全ての取り得る対の経験的同時確率分布(JEPD)を求めるステップと、
    前記関数の前記結果を、前記全ての取り得る対に関して、前記JEPDの値と該関数の対応する値との積の正規化された総和として求めるステップと
    を含み、該方法の前記2つのステップは、前記第1のプロセッサ前記第2のプロセッサ、または第3のプロセッサのいずれかによって実行可能であり
    前記第3のプロセッサにより、可逆的に難読化された形式で前記第1のベクトルおよび前記第2のベクトルを受信するステップと、
    前記第3のプロセッサにより、前記第1のベクトルおよび前記第2のベクトルの要素の対応する対毎に、難読化されたJEPDを表す1組のインジケーター行列を求めるステップと、
    前記第3のプロセッサにより、前記1組のインジケーター行列を第1の加法シェアおよび第2の加法シェアに分割するステップと、
    前記第1の加法シェアを前記第1のプロセッサに送信し、前記第2の加法シェアを前記第2のプロセッサに送信するステップであって、前記第1のプロセッサが前記第1の難読化規則および前記第2の難読化規則に基づいて前記第1の加法シェアを逆にして前記関数の前記結果の第1の加法シェアを求め、前記第2のプロセッサが前記第1の難読化規則および前記第2の難読化規則に基づいて前記第2の加法シェアを逆にして前記関数の前記結果の第2の加法シェアを求めるようにする、送信するステップと、
    前記第3のプロセッサにより、前記第1のプロセッサから受信した前記第1の加法シェアおよび前記第2のプロセッサから受信した前記第2の加法シェアに基づいて、前記関数の前記結果を求めるステップと
    をさらに含む、方法。
  3. 前記難読化されたJEPDに対応する1組のインジケーター行列を求めるステップであって、各該インジケーター行列が前記第1の加法シェアおよび前記第2の加法シェアに分割されるようにする、求めるステップ
    をさらに含む、請求項に記載の方法。
  4. 前記第1のベクトルおよび前記第2のベクトルは、要素をランダムに選択することによってサブサンプリングされる、請求項1または2に記載の方法。
  5. 前記JEPDは部分JEPDである、請求項に記載の方法。
  6. 前記JEPDを求めるステップにおいて、前記SMPCは、計算機密性に基づくプロトコル、無条件機密性に基づくプロトコル、およびそれらの組み合わせからなるグループから選択されたプロトコルである、請求項1または2に記載の方法。
  7. 前記SMPCは、前記第1のベクトルおよび前記第2のベクトルのJEPDが、難読化に対して不変であることに基づいている、請求項1または2に記載の方法。
  8. 前記第1のベクトルおよび前記第2のベクトルは、それぞれ第1のパッドベクトルおよび第2のパッドベクトルに基づいて、前記第1のベクトルおよび前記第2のベクトルからの要素を、それぞれ前記第1のパッドベクトルおよび前記第2のパッドベクトルの対応する要素と結合することによって可逆的に難読化され、前記第1のベクトルおよび前記第2のベクトルのそれぞれのアルファベットは、有限加法群として扱われる、請求項に記載の方法。
  9. 前記アルファベットは、バイナリである、請求項に記載の方法。
  10. 第3のプロセッサを用いて第1のベクトルおよび第2のベクトルに関数を適用した結果をセキュアに求めるためのシステムであって、該関数は、正規化和型関数であり、前記第1のベクトルは、第1のプロセッサのみにおいて格納され、前記第2のベクトルは、第2のプロセッサのみにおいて格納され、該システムは、
    前記第3のプロセッサにより、セキュアなマルチパーティー計算(SMPC)を用いて前記第1のベクトルおよび前記第2のベクトルの値の全ての取り得る対の経験的同時確率分布(JEPD)を求める手段と、
    前記第3のプロセッサにより、前記関数を、前記全ての取り得る対に関して、前記JEPDの値と該関数の対応する値との積の正規化された総和として求める手段と
    を備えシステム。
  11. 前記第3のプロセッサにより、可逆的に難読化された形式で、前記第1のプロセッサから前記第1のベクトルを受信し、前記第2のプロセッサから前記第2のベクトルを受信する手段と、
    前記第3のプロセッサにより、前記第1のベクトルおよび前記第2のベクトルの要素の対応する対毎に、難読化されたJEPDを表す1組のインジケーター行列を求める手段と、
    前記第3のプロセッサにより、前記1組のインジケーター行列を第1の加法シェアおよび第2の加法シェアに分割する手段と、
    前記第3のプロセッサにより、前記第1の加法シェアを前記第1のプロセッサに送信し、前記第2の加法シェアを前記第2のプロセッサに送信する手段であって、前記第1のプロセッサが前記第1の難読化規則および前記第2の難読化規則に基づいて前記第1の加法シェアを逆にして前記関数の前記結果の第1の加法シェアを求め、前記第2のプロセッサが前記第1の難読化規則および前記第2の難読化規則に基づいて前記第2の加法シェアを逆にして前記関数の前記結果の第2の加法シェアを求めるようにする、送信する手段と、
    前記第3のプロセッサにより、前記第1のプロセッサから受信した前記第1の加法シェアおよび前記第2のプロセッサから受信した前記第2の加法シェアに基づいて前記関数の前記結果を求める手段と
    をさらに備える、請求項10に記載のシステム。
  12. 前記第1のベクトルおよび前記第2のベクトルの値の対応する対に関する前記関数の結果を格納するためのメモリをさらに備える、請求項10に記載のシステム。
JP2011206944A 2010-09-24 2011-09-22 第1のベクトルおよび第2のベクトルに関数を適用した結果を求めるための方法、および第3のプロセッサを用いて第1のベクトルおよび第2のベクトルに関数を適用した結果を求めるためのシステム Active JP5677252B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/890,151 2010-09-24
US12/890,151 US8473537B2 (en) 2009-08-14 2010-09-24 Secure multi-party computation of normalized sum-type functions

Publications (3)

Publication Number Publication Date
JP2012070380A JP2012070380A (ja) 2012-04-05
JP2012070380A5 JP2012070380A5 (ja) 2014-09-04
JP5677252B2 true JP5677252B2 (ja) 2015-02-25

Family

ID=46172995

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011206944A Active JP5677252B2 (ja) 2010-09-24 2011-09-22 第1のベクトルおよび第2のベクトルに関数を適用した結果を求めるための方法、および第3のプロセッサを用いて第1のベクトルおよび第2のベクトルに関数を適用した結果を求めるためのシステム

Country Status (1)

Country Link
JP (1) JP5677252B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101331706B (zh) * 2005-12-13 2012-09-05 皇家飞利浦电子股份有限公司 安全阈值解密协议计算
JP5578754B2 (ja) * 2007-01-22 2014-08-27 日本電信電話株式会社 暗号変換方法および装置、並びにプログラム
JP4979068B2 (ja) * 2007-01-22 2012-07-18 日本電信電話株式会社 秘匿関数計算方法及び装置、並びにプログラム
JP5400705B2 (ja) * 2010-02-24 2014-01-29 日本電信電話株式会社 秘密計算システム、秘密計算方法、計算装置

Also Published As

Publication number Publication date
JP2012070380A (ja) 2012-04-05

Similar Documents

Publication Publication Date Title
US8473537B2 (en) Secure multi-party computation of normalized sum-type functions
US11323444B2 (en) Method for faster secure multiparty inner product computation with SPDZ
Liu et al. Efficient and privacy-preserving outsourced calculation of rational numbers
CN111512589B (zh) 用于利用spdz的快速安全多方内积的方法
US11341269B2 (en) Providing security against user collusion in data analytics using random group selection
US9489522B1 (en) Method for secure and resilient distributed generation of elliptic curve digital signature algorithm (ECDSA) based digital signatures with proactive security
WO2022237450A1 (zh) 多方安全计算方法、装置、设备及存储介质
US20150381349A1 (en) Privacy-preserving ridge regression using masks
US20220045840A1 (en) Methods and systems for somewhat homomorphic encryption and key updates based on geometric algebra for distributed ledger/blockchain technology
AU2018222992A1 (en) System and method for secure two-party evaluation of utility of sharing data
CN114614970A (zh) 一种基于多计算方和同态加密的隐私数据安全处理方法
Boer et al. Secure sum outperforms homomorphic encryption in (current) collaborative deep learning
CN116170142B (zh) 分布式协同解密方法、设备和存储介质
Ugwuoke et al. Secure fixed-point division for homomorphically encrypted operands
Aly et al. Practically efficient secure distributed exponentiation without bit-decomposition
Pei et al. Smart contract based multi-party computation with privacy preserving and settlement addressed
EP3376706B1 (en) Method and system for privacy-preserving order statistics in a star network
Kumar et al. Image encryption using a novel hybrid chaotic map and dynamic permutation− diffusion
JP5677252B2 (ja) 第1のベクトルおよび第2のベクトルに関数を適用した結果を求めるための方法、および第3のプロセッサを用いて第1のベクトルおよび第2のベクトルに関数を適用した結果を求めるためのシステム
KR20240004830A (ko) 완전 동형 암호화에서 사용하기 위한 블라인드 회전
Wu et al. Identity-based threshold proxy re-encryption scheme from lattices and its applications
CN113645022A (zh) 一种确定隐私集合交集方法、装置、电子设备及存储介质
Sasikaladevi et al. SNAP-compressive lossless sensitive image authentication and protection scheme based on Genus-2 hyper elliptic curve
Al-Attab et al. Lightweight effective encryption algorithm for securing data in cloud computing
Pathak et al. Efficient Protocols for Principal Eigenvector Computation over Private Data.

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140716

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140716

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20140716

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20140728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140819

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141114

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: 20141202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141226

R150 Certificate of patent or registration of utility model

Ref document number: 5677252

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250