説明

信号に関数を適用した結果を求めるための方法およびシステム

【課題】信号に関数を適用した結果を求めるためのシステム及び方法を開示する。
【解決手段】関数は単項式を含む多項式関数であり、ここで、第1の信号の第1の冪乗が単項式の第1の部分を形成し、第2の信号の第2の冪乗が単項式の第2の部分を形成する。鍵を用いて暗号化された単項式の第1の部分は第1の暗号化信号であり、鍵を用いて暗号化された単項式の第2の部分は第2の暗号化信号である。本方法及びシステムは、第2の公開鍵を用いて暗号化された第1の入力信号を第2のプロセッサに送信するステップであって、該第1の入力信号は第1の暗号化信号を含む、送信するステップと、第1の公開鍵を用いて暗号化された第2の入力信号を第1のプロセッサに送信するステップであって、該第2の入力信号は、第1の暗号化信号と第2の暗号化信号との積を含む、送信するステップとを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、包括的には、信号に関数を適用した結果を求めるための方法に関し、より詳細には、信号のプライバシを守りながら、信号に多項式関数を適用した結果を求めるための方法に関する。
【背景技術】
【0002】
[関連出願]
本出願は、Shantanu Rane他によって2009年12月7日に出願された、「Method for Determining Functions Applied to Signals」と題する米国特許出願第12/631,590号に関し、この特許出願は参照により本明細書に援用される。
【0003】
多くの場合に、信号に関数を適用した結果をセキュアに求めることが必要とされている。たとえば、2つのプロセッサ、たとえばアリス(Alice)及びボブ(Bob)が、それぞれ信号x及びyを有する。第3のプロセッサ、チャーリー(Charlie)が、関数f(x,y)の結果を求めるように要求される。しかしながら、チャーリーは、信号x及びyに関するいかなる知識も受信せず、アリス及びボブは、互いの信号に関するいかなる知識も受信しない。
【0004】
たとえば、第三者機関は、多数の病院における患者の病気に関する統計を分析することを必要とする。患者のプライバシを考慮し、各病院は、この分析が、患者の個人情報を漏洩することなく実施され得ることを確実にしなくてはならない。
【0005】
このような問題は、多くの場合にセキュアマルチパーティ計算(SMC:secure multiparty computation)によって解決される。紛失通信(OT:oblivious transfer)、セキュア内積(SIP:secure inner product)のような計算的にセキュアな方法をプリミティブとして使用して、より複雑な演算を実施することができる。特許文献1は、そのような方法を記載している。その方法は、ユーザによって第三者に供給される画像のセキュアな分類を実施する。第三者は画像を確定することができず、ユーザは分類方法を確定することができない。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】米国特許出願第11/005,293号
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、紛失通信に基づく方法は、構成者間の鍵交換及びデータ転送の観点から大きな通信オーバヘッドを招く。
【0008】
本発明の目的は、信号のプライバシを確保しながら、信号に関数を適用した結果を求めるためのシステム及び方法を提供することである。
【課題を解決するための手段】
【0009】
本発明の実施の形態は、第1のプロセッサ内に格納される第1の信号及び第2のプロセッサ内に格納される第2の信号を含む信号に、関数を適用した結果を求めるためのシステム及び方法を開示する。関数は、この関数における単項式が、この単項式の第1の部分を形成する第1の信号の第1の冪乗と、この単項式の第2の部分を形成する第2の信号の第2の冪乗とを含むような、信号の多項式関数である。秘密鍵を用いて暗号化された単項式の第1の部分は第1の暗号化信号であり、秘密鍵を用いて暗号化された単項式の第2の部分は第2の暗号化信号である。
【0010】
1つの実施の形態では、本方法は、第1のプロセッサから、第1の暗号化信号と係数との第1の積を受信するステップであって、第1の積は、第2の公開鍵を用いて暗号化され、第2の公開鍵に対応する第2の秘密鍵は第2のプロセッサに利用可能である、受信するステップと、第1の積を第2のプロセッサに送信するステップと、第2のプロセッサから、第1の暗号化信号と、第2の暗号化信号と、係数との第2の積を受信するステップであって、第2の積は、第1の公開鍵を用いて暗号化され、第1の公開鍵に対応する第1の秘密鍵は第1のプロセッサに利用可能である、受信するステップと、第2の積を第1のプロセッサに送信するステップと、第1のプロセッサから第1の暗号化信号と第2の暗号化信号との積を受信するステップとを含む。
【0011】
別の実施の形態では、本方法は、第2の公開鍵を用いて暗号化された第1の入力信号を第2のプロセッサに送信するステップであって、第1の入力信号は、第1の暗号化信号を含み、第2のプロセッサは第2の秘密鍵を用いて第1の入力信号を復号するように構成される、送信するステップと、第1の公開鍵を用いて暗号化された第2の入力信号を第1のプロセッサに送信するステップであって、第2の入力信号は、第1の暗号化信号と第2の暗号化信号との積を含み、第1のプロセッサは第1の秘密鍵を用いて第2の入力信号を復号するように構成される、送信するステップと、第1の暗号化信号と第2の暗号化信号との積を受信するステップとを含む。
【0012】
別の実施の形態では、本システムは、第1のプロセッサから、第1の暗号化信号と係数との第1の積を受信する手段であって、第1の積は、第2の公開鍵を用いて暗号化され、第2の公開鍵に対応する第2の秘密鍵は第2のプロセッサに利用可能である、受信する手段と、第1の積を第2のプロセッサに送信する手段と、第2のプロセッサから、第1の暗号化信号と、第2の暗号化信号と、係数との第2の積を受信する手段であって、第2の積は、第1の公開鍵を用いて暗号化され、第1の公開鍵に対応する第1の秘密鍵は第1のプロセッサに利用可能である、受信する手段と、第2の積を第1のプロセッサに送信する手段と、第1のプロセッサから第1の暗号化信号と第2の暗号化信号との積を受信する手段とを備える。
【0013】
また、本発明の実施の形態は、第1の信号及び第2の信号を含む信号に関数を適用した結果を求めるためのシステム及び方法であって、この関数は、この関数における単項式が、第1の最大冪指数以下の冪指数を有する第1の信号を含むような、信号の多項式関数であり、第1の信号は第1の部分信号及び第2の部分信号に分割され、第2の信号及び第2の部分信号を取得するステップと、第1の部分信号の冪乗を暗号化したもののセットを取得するステップであって、この第1の部分信号の冪乗を暗号化したもののセットは、第1の部分信号の冪乗を準同型に暗号化したものを含む、取得するステップと、第2の部分信号、第1の部分信号の冪乗を暗号化したもののセット、及び第2の信号に基づいて関数の暗号化結果を求めるステップとを含む。
【発明の効果】
【0014】
この発明によれば、信号のプライバシを確保しながら、信号に関数を適用した結果を求めることができる。
【図面の簡単な説明】
【0015】
【図1】本発明の実施の形態1に係る、2つの信号に関数を適用した結果をセキュアに求めるための方法のブロック図である。
【図2】本発明の実施の形態2に係る、複数の信号に関数を適用した結果をセキュアの求めるための方法のブロック図である。
【図3】2つの信号の単項式をセキュアに求めるための方法のブロック図である。
【発明を実施するための形態】
【0016】
実施の形態1.
本発明の実施の形態1は、1つの信号が、2つの部分信号に分割されると共に、各プロセッサが1つの部分信号のみを受信するように2つのプロセッサ間で共有される場合に、いずれのプロセッサも信号自体の値を知ることができないという認識に基づく。準同型暗号化技法を使用して、プロセッサは、その信号の関数、及びプロセッサが利用可能な他の信号の関数を、信号のプライバシが守られるようにセキュアに求めることができる。
【0017】
図1は、第1の信号y111及び第2の信号x112に関数f110を適用した結果190を求めるための方法100を示している。後述するように、本発明の実施の形態は、3つ以上の信号に関数を適用した結果も求めることができる。本方法は、当該技術分野において既知のメモリ及び入力/出力インタフェースを備える複数のプロセッサにおいて実行される。
【0018】
本方法は、本方法のステップを実行するための第1のプロセッサ121を使用する。第2のプロセッサ122は第2の信号を取得する。第2の信号は、暗号化されていなくてもよく、又は公開鍵125を用いて暗号化されていてもよい。第1の信号は第3のプロセッサ123に格納される。代替的に、実施の形態1では、第1のプロセッサは信頼できる第三者によって操作され、第1の信号は第1のプロセッサ121に格納される。
【0019】
第1の信号は2つの部分信号、たとえば第1の部分信号d115及び第2の部分信号c116に分割される。第1の部分信号は、第1のプロセッサ121のみに利用可能であり、たとえば第1のプロセッサのみに送信され、第2の部分信号は、第2のプロセッサ122のみに利用可能であり、たとえば第2のプロセッサのみに送信される。このため、第1のプロセッサも第2のプロセッサも第1の信号の値を求めることができない。
【0020】
方法100の目的は、関数f(x,y)110の評価結果を求めることである。関数110は、整数入力、及び整数の冪指数、すなわち多項式関数の次数を有する任意の多項式関数である。信号yにおける多項式関数f(x,y)の次数はnであり、信号xにおける多項式関数f(x,y)の次数はmである。第1のプロセッサ121は、次数n及び第1の部分信号dを取得し、公開鍵125を使用して、全てのk=0,1,...,nについてdn−kを準同型に暗号化し(130)、ξ(dn−k)に従って第1の部分信号の冪乗を暗号化したもののセット135を生成する。ここで、ξ(・)は加法的準同型マッピングである。セット135は第2のプロセッサに送信される。
【0021】
第2のプロセッサは、第1の部分信号の冪乗を暗号化したもののセットを受信し、第2の部分信号116、第1の部分信号の冪乗を暗号化したもののセット、及び第2の信号112に基づいて関数の暗号化結果145を求める(140)。暗号化結果を求めるために、第2のプロセッサは加法的準同型マッピングの特性に基づいて暗号化されたドメインにおいて乗算を実施する。
【0022】
暗号化結果は、第1のプロセッサに送信され、秘密鍵126を使用して復号される(150)。秘密鍵126は公開鍵125に対応する。復号結果190はユーザに出力される。
【0023】
加法的準同型性
関数ξ(・)が加法的準同型マッピングである場合、整数メッセージm、m、及び整数定数kについて、次式が成立する。
【0024】
ξ(m+m)=ξ(m)(m)及びξ(km)=ξ(m
【0025】
そのようなマッピングの例には、Paillier暗号システム及びBenaloh暗号システムが含まれる。f(x,y)=Σi,j≧0γi,jとする。ここで、i、j、及びγi,jは整数である。関数ξ(・)の加法的準同型特性によれば、次式(1)が成立する。式(1)において、0≦i≦m及び0≦j≦nである。
【0026】
【数1】

【0027】
このため、ξ(f(x,y))を求めるには、ξ(x)を求めること、すなわち個々の単項式の暗号化が必要である。y=c+d(ここでc及びdは整数)である場合、次式(2)が成立する。
【0028】
【数2】

【0029】
したがって、方法100は以下のステップを含む。
【0030】
第1のプロセッサが、準同型暗号化のための鍵の対、すなわち公開鍵及び秘密鍵を生成する。第3のプロセッサが、信号yを加法的部分信号c及びdに分割する。すなわちy=c+dである。第3のプロセッサが、第1の部分信号dを第1のプロセッサに送信し、第2の部分信号cを第2のプロセッサに送信する。
【0031】
第1のプロセッサが、全てのk=0,1,...,nについて第1の部分信号dn−kを暗号化し、第1の部分信号の冪乗を暗号化したもののセットξ(dn−k)を第2のプロセッサに送信する。
【0032】
第2のプロセッサが、関数ξ(・)の加法的準同型性を使用して、各j≦n、及びk=0,1,...,jについて、次式に従って暗号化成分を計算し、これによって、式(2)に従って暗号化された単項式ξ(x)を得る。
【0033】
【数3】

【0034】
次に、第2のプロセッサが式(1)を使用して暗号化結果ξ(f(x,y))を求め、暗号化結果を第1のプロセッサに送信する。
【0035】
第1のプロセッサが、秘密鍵を使用して関数f(x,y)を復号し、ユーザに復号結果を出力する。
【0036】
実施の形態2.
図2は、本発明の実施の形態2を示している。ここで、2つのプロセッサ、すなわち第3のプロセッサ210及び第4のプロセッサ220は、関数110の適用結果を求めるために、それぞれ第1の信号及び第2の信号にアクセスすることができる。ここでは簡単にするために2つのプロセッサを用いた実施の形態を説明する。他の実施の形態ではデータプロセッサセンタの数は任意である。
【0037】
プロセッサ210及び220は、それぞれ信号x及びxを、x=c+d及びx=c+dとなるように、部分信号c212、d211、c222、及びd221に分割する。部分信号c及びcは第2のプロセッサ230に送信され、部分信号d及びdは第1のプロセッサ240に送信される。
【0038】
次に、多項式f(x,x)について、加法的準同型暗号化の特性に基づいて単項式が求められる。単項式の準同型暗号化は、次式(3)が成立する。
【0039】
【数4】

【0040】
このため、方法100と同様に、第1のプロセッサ240は、次数m及びn219、並びに部分信号d211及びd221を取得する。第1のプロセッサ240は、全てのk=0,1,...,m及びk’=0,1,...,nについて、dm−kn−k’を暗号化し、ξ(dm−kn−k’)のセット235を第2のプロセッサ230に送信する。
【0041】
第2のプロセッサ230は、全ての0≦i≦m、0≦j≦n、及びk=0,1,...,i、k’=0,1,...,jについて、式(3)に従って
【数5】

及びξ(x)を求める。
【0042】
第2のプロセッサ230は、式(1)に従ってξ(f(x,x))を求め(140)、暗号化結果245を第1のプロセッサ240に返送する。第1のプロセッサ240は復号し(150)、f(x,x)190を得る。
【0043】
複数の補助サーバ
図2において、プロセッサ230は補助サーバとしての役割を果たし、プロセッサ240が関数f(x,x)を評価することを可能にする。本発明の他の実施の形態では、補助サーバの役割は2つ以上のサブプロセッサによって実行される。実施の形態2では、信号は、部分信号の数がサブプロセッサの数以下になるように複数の部分信号に分割され、この部分信号の数は対応するサブプロセッサに送信される。実施の形態の選択は、オーバヘッド、及び攻撃に対する耐性に依拠する。
【0044】
スタートポロジを有するネットワークにおけるプライバシを守る関数評価
スタートポロジを有するネットワークでは、各データセンタは中央プロセッサのみに接続される。データセンタは、中央プロセッサに入力を提供する。中央プロセッサは、入力の関数を評価する。スタートポロジの場合、データセンタの入力が非公開のままであることを確実にするために、異なるプロトコルが必要とされる。以下で、スターネットワークにおけるプライバシを達成するプロトコルを説明する。
【0045】
本発明のこの実施の形態2は、リングネットワークにおいて接続されているデータセンタが計算することができる任意の単項式関数を、信頼されていない中央プロセッサを有するスターネットワークにおいて接続されているデータセンタも計算することができるという認識に基づく。ただし、中央プロセッサへの、データセンタによる入力のプライバシを保護するために暗号化が使用されることを条件とする。さらに、データセンタが他のデータセンタからの入力を発見することを防ぐために、乗法準同型暗号化を使用することができる。
【0046】
乗法準同型暗号化
本発明の実施の形態2は、スターネットワークにおいて、信号が暗号化形式で送信される場合、プライバシの問題を解決することができるという認識に基づく。信号の代数構造は単項式を含み、それによって代数構造が保たれ、準同型評価が暗号化された単項式に対して実行される。上述したように、暗号化形式の単項式が求められる場合、準同型特性に基づいて、暗号化された多項式も求めることができる。
【0047】
図3は、2つの信号、たとえば第1のプロセッサ311に利用可能な第1の信号x及び第2のプロセッサ312に利用可能な第2の信号xの単項式x399を求めるための方法300を示している。第1の信号及び第2の信号は整数値を有する。簡単にするために、第1の信号の第1の冪乗(i乗)を単項式の第1の部分301として定義し、第2の信号の第2の冪乗(j乗)を単項式の第2の部分302として定義する。方法300は、第3のプロセッサ310を使用して単項式399をセキュアに求め、それによって第1の信号及び第2の信号のプライバシが守られる。
【0048】
第1のプロセッサ及び第2のプロセッサは、公開鍵暗号システムの一意の暗号化鍵/復号鍵の対にアクセスすることができる。暗号化鍵Kpub1305及びKpub2307は公開鍵であり、第1のプロセッサ及び第2のプロセッサに利用可能である。復号鍵Kpr1306及びKpr2308は秘密鍵である。秘密鍵Kpr1は公開鍵Kpub1に対応し、第1のプロセッサにのみ利用可能である。秘密鍵Kpr2は公開鍵Kpub2に対応し、第2のプロセッサにのみ利用可能である。暗号化関数は、ζ(・)によって表され、ここで、それぞれ復号が第1のプロセッサによって行われるか又は第2のプロセッサによって行われるかに依拠してm=1又はm=2である。
【0049】
第3のプロセッサは、乗法準同型暗号化θ(・)の暗号化鍵/復号鍵の対Kpub313及びKpr314を生成する。暗号化θ(・)は、乗法準同型マッピングであり、すなわち整数メッセージm、m、及び整数定数kについて、θ(m・m)=θ(m)・θ(m)及びθ(m)=(θ(m))である。非対称鍵暗号化を用いるエルガマル暗号システムは、意味論的にセキュアな乗法準同型暗号システムの一例であり、平文の反復される暗号化の結果として異なる暗号文が生成される。
【0050】
暗号化鍵Kpub313は、第1のプロセッサ及び第2のプロセッサに公開で利用可能であり、信号xの暗号化は、次式で表される。
【0051】
【数6】

【0052】
ここで、第1の信号の暗号化の場合、m=1であり、第2の信号の暗号化の場合、m=2である。このため、乗法準同型特性によって、次式で表される。
【0053】
【数7】

【0054】
復号鍵Kpr314は、第3のプロセッサによって非公開に保持される。
【0055】
第1のプロセッサは、単項式の第1の部分を、鍵Kpub313を用いて暗号化し(315)、第1の暗号化信号
【数8】

316を生成する。次に、第1のプロセッサは係数αを選択し、その係数を第1の暗号化信号と乗算し(320)、第1の積321を生成する。実施の形態2では、係数αはランダムに選択される非ゼロ整数である。第1の積は、第2の公開鍵307を用いて暗号化され(322)、第1の入力信号
【数9】

324として第3のプロセッサに利用可能にされる(323)。第3のプロセッサは、第1の入力信号を取得すると共に、この信号を第2のプロセッサに転送する(325)。
【0056】
第2のプロセッサは、第2の秘密鍵308を用いて第1の入力信号を復号する(330)。また、第2のプロセッサは、鍵Kpub313を用いて単項式302の第2の部分を暗号化し(340)、第2の暗号化信号
【数10】

341を生成する。第2の暗号化信号は、第1の入力信号と乗算され(350)、第2の積354が生成され、第2の積354は第1の鍵305を用いて暗号化されて(355)、第2の入力信号
【数11】

356が生成される。第3のプロセッサは第2の入力信号を取得すると共に、この信号を第1のプロセッサに送信する(360)。
【0057】
第1のプロセッサは、第1の秘密鍵Kpr1を使用して第2の入力信号を復号し(370)、第2の積354を得る。除算によって係数αが取り除かれ(380)、暗号化結果
【数12】

385が第3のプロセッサに利用可能にされる(386)。
【0058】
第3のプロセッサは、秘密鍵Kpr314を使用して暗号化結果を復号し(390)、単項式x399を生成する。
【0059】
第3のプロセッサは、第1のプロセッサ及び第2のプロセッサによって生成された信号の計算結果を得る。通例、s>2個の変数を含む単項式の場合、第3のプロセッサは、少なくともs/2個の他のプロセッサとインタラクトして、全てのプロセッサのデータを求めなくてはならない。プロセッサのサブセットが連携している(collude)場合であっても、他のプロセッサの信号は依然として秘密にされる。
【0060】
実施の形態2は、xのような単項式の積を、和x+xに置き換える。この実施の形態2は、第1の信号及び第2の信号の平均、分散、及び高次モーメントのような統計的特性を求める。特に、第1のプロセッサ及び第2のプロセッサは、共通の数字Mを選択し、第1の信号及び第2の信号をそれぞれ、共通の数字の、第1の信号及び第2の信号に等しい冪指数乗に置き換える。第3のプロセッサは、方法300を実行した後、結果399の底Mの対数をとる。
【0061】
本発明を好ましい実施の形態の例として説明してきたが、本発明の精神及び範囲内で様々な他の適応及び変更を行うことができることは理解されたい。したがって、添付の特許請求の範囲の目的は、本発明の真の精神及び範囲内に入るすべての変形及び変更を包含することである。

【特許請求の範囲】
【請求項1】
第1のプロセッサ内に格納される第1の信号及び第2のプロセッサ内に格納される第2の信号を含む信号に、関数を適用した結果を求めるための方法であって、前記関数は、この関数における単項式が、この単項式の第1の部分を形成する前記第1の信号の第1の冪乗と、この単項式の第2の部分を形成する前記第2の信号の第2の冪乗とを含むような、前記信号の多項式関数であり、秘密鍵を用いて暗号化された前記単項式の前記第1の部分は第1の暗号化信号であり、前記秘密鍵を用いて暗号化された前記単項式の前記第2の部分は第2の暗号化信号であり、
前記第1のプロセッサから、前記第1の暗号化信号と係数との第1の積を受信するステップであって、前記第1の積は第2の公開鍵を用いて暗号化され、前記第2の公開鍵に対応する第2の秘密鍵は前記第2のプロセッサに利用可能である、受信するステップと、
前記第1の積を前記第2のプロセッサに送信するステップと、
前記第2のプロセッサから、前記第1の暗号化信号と、前記第2の暗号化信号と、前記係数との第2の積を受信するステップであって、前記第2の積は、第1の公開鍵を用いて暗号化され、前記第1の公開鍵に対応する第1の秘密鍵は前記第1のプロセッサに利用可能である、受信するステップと、
前記第2の積を前記第1のプロセッサに送信するステップと、
前記第1のプロセッサから前記第1の暗号化信号と前記第2の暗号化信号との積を受信するステップと、
を含む信号に関数を適用した結果を求めるための方法。
【請求項2】
前記積を、前記公開鍵に対応する秘密鍵を用いて復号するステップをさらに含む請求項1に記載の信号に関数を適用した結果を求めるための方法。
【請求項3】
前記第2のプロセッサによって、前記第2の秘密鍵を用いて前記第1の積を復号するステップをさらに含む請求項1に記載の信号に関数を適用した結果を求めるための方法。
【請求項4】
前記第1のプロセッサによって、前記第1の秘密鍵を用いて前記第2の積を復号するステップをさらに含む請求項1に記載の信号に関数を適用した結果を求めるための方法。
【請求項5】
前記第2の積から前記係数を取り除くステップをさらに含む請求項1に記載の信号に関数を適用した結果を求めるための方法。
【請求項6】
前記係数をランダム整数として選択するステップをさらに含む請求項1に記載の信号に関数を適用した結果を求めるための方法。
【請求項7】
前記第1の信号及び前記第2の信号は整数値を有する請求項1に記載の信号に関数を適用した結果を求めるための方法。
【請求項8】
前記秘密鍵及び前記公開鍵を取得するステップであって、前記秘密鍵及び前記公開鍵は、乗法準同型暗号化のための鍵の対である、取得するステップと、
前記公開鍵を、前記第1のプロセッサ及び前記第2のプロセッサに送信するステップと、
をさらに含む請求項1に記載の信号に関数を適用した結果を求めるための方法。
【請求項9】
第1のプロセッサ内に格納される第1の信号及び第2のプロセッサ内に格納される第2の信号を含む信号に、関数を適用した結果を求めるための方法であって、前記関数は、この関数における単項式が、この単項式の第1の部分を形成する前記第1の信号の第1の冪乗と、この単項式の第2の部分を形成する前記第2の信号の第2の冪乗とを含むような、前記信号の多項式関数であり、鍵を用いて暗号化された前記単項式の前記第1の部分は第1の暗号化信号であり、前記鍵を用いて暗号化された前記単項式の前記第2の部分は第2の暗号化信号であり、
第2の公開鍵を用いて暗号化された第1の入力信号を前記第2のプロセッサに送信するステップであって、前記第1の入力信号は前記第1の暗号化信号を含み、前記第2のプロセッサは第2の秘密鍵を用いて前記第1の入力信号を復号するように構成される、送信するステップと、
第1の公開鍵を用いて暗号化された第2の入力信号を前記第1のプロセッサに送信するステップであって、前記第2の入力信号は、前記第1の暗号化信号と前記第2の暗号化信号との積を含み、前記第1のプロセッサは第1の秘密鍵を用いて前記第2の入力信号を復号するように構成される、送信するステップと、
前記第1の暗号化信号と前記第2の暗号化信号との積を受信するステップと、
を含む信号に関数を適用した結果を求めるための方法。
【請求項10】
前記第1の鍵及び前記第2の鍵は公開鍵暗号化のための鍵である請求項9に記載の信号に関数を適用した結果を求めるための方法。
【請求項11】
前記第1の鍵及び前記第2の鍵は、加法的準同型暗号システムの鍵である請求項9に記載の信号に関数を適用した結果を求めるための方法。
【請求項12】
前記第1の鍵及び前記第2の鍵は、乗法準同型暗号システムの鍵である請求項9に記載の信号に関数を適用した結果を求めるための方法。
【請求項13】
前記積を前記公開鍵に対応する秘密鍵を用いて復号するステップをさらに含む請求項9に記載の信号に関数を適用した結果を求めるための方法。
【請求項14】
第1のプロセッサ内に格納される第1の信号及び第2のプロセッサ内に格納される第2の信号を含む信号に、関数を適用した結果を求めるためのシステムであって、前記関数は、この関数における単項式が、この単項式の第1の部分を形成する前記第1の信号の第1の冪乗と、この単項式の第2の部分を形成する前記第2の信号の第2の冪乗とを含むような、前記信号の多項式関数であり、秘密鍵を用いて暗号化された前記単項式の前記第1の部分は第1の暗号化信号であり、前記秘密鍵を用いて暗号化された前記単項式の前記第2の部分は第2の暗号化信号であり、
前記第1のプロセッサから、前記第1の暗号化信号と係数との第1の積を受信する手段であって、前記第1の積は第2の公開鍵を用いて暗号化され、前記第2の公開鍵に対応する第2の秘密鍵は前記第2のプロセッサに利用可能である、受信する手段と、
前記第1の積を前記第2のプロセッサに送信する手段と、
前記第2のプロセッサから、前記第1の暗号化信号と、前記第2の暗号化信号と、前記係数との第2の積を受信する手段であって、前記第2の積は、第1の公開鍵を用いて暗号化され、前記第1の公開鍵に対応する第1の秘密鍵は前記第1のプロセッサに利用可能である、受信する手段と、
前記第2の積を前記第1のプロセッサに送信する手段と、
前記第1のプロセッサから前記第1の暗号化信号と前記第2の暗号化信号との積を受信する手段と、
を備える信号に関数を適用した結果を求めるためのシステム。
【請求項15】
前記積を前記公開鍵に対応する秘密鍵を用いて復号する手段をさらに備える請求項14に記載の信号に関数を適用した結果を求めるためのシステム。
【請求項16】
前記第2のプロセッサは、
前記第2の秘密鍵を用いて前記第1の積を復号する手段をさらに備える請求項14に記載の信号に関数を適用した結果を求めるためのシステム。
【請求項17】
前記第1のプロセッサは、
前記第1の秘密鍵を用いて前記第2の積を復号する手段をさらに備える請求項14に記載の信号に関数を適用した結果を求めるためのシステム。
【請求項18】
前記第1のプロセッサは、
前記第2の積から前記係数を取り除く手段をさらに備える請求項14に記載の信号に関数を適用した結果を求めるためのシステム。
【請求項19】
信号に関数を適用した結果を求めるための方法であって、前記信号は第1の信号と第2の信号とを含み、前記第1の信号は第1の部分信号と第2の部分信号とに分割され、前記関数は、この関数における単項式が、第1の最大冪指数以下の冪指数を有する前記第1の信号を含むような、前記信号の多項式関数であり、
前記第1のプロセッサによって前記第1の部分信号を取得するステップと、
前記第2のプロセッサによって前記第2の部分信号を取得するステップと、
前記第1のプロセッサによって前記第1の部分信号の冪乗を準同型に暗号化するステップであって、前記第1の部分信号の冪乗を暗号化したもののセットを生成し、前記冪乗は0から前記第1の最大冪指数まで変動する、暗号化するステップと、
前記第1の部分信号の冪乗を暗号化したもののセットを前記第2のプロセッサに送信するステップと、
前記第2のプロセッサによって、加法的準同型性を使用して、前記第2の部分信号、前記第2の信号、及び前記第1の部分信号の冪乗を暗号化したもののセットに基づいて前記関数の暗号化結果を求めるステップと、
を含む信号に関数を適用した結果を求めるための方法。
【請求項20】
前記第2のプロセッサによって前記第2の信号を取得するステップであって、前記第2の信号は暗号化されていない、取得するステップをさらに含む請求項19に記載の信号に関数を適用した結果を求めるための方法。
【請求項21】
前記関数における前記単項式は、第2の最大冪指数以下の冪指数を有する前記第2の信号を含み、前記第2の信号は、第3の部分信号及び第4の部分信号に分割され、前記方法は、
前記第2のプロセッサによって前記第3の部分信号を取得するステップであって、前記第3の部分信号は暗号化されていない、取得するステップと、
前記第2のプロセッサによって前記第4の部分信号を取得するステップであって、前記第4の部分信号は準同型に暗号化されている、取得するステップと、
をさらに含む請求項19に記載の信号に関数を適用した結果を求めるための方法。
【請求項22】
部分信号の数が前記方法の前記ステップを実行するためのサブプロセッサの数以下となるように前記第1の信号を複数の部分信号に分割するステップと、
対応するサブプロセッサによって前記複数の部分信号にアクセスするステップと、
をさらに含む請求項19に記載の信号に関数を適用した結果を求めるための方法。
【請求項23】
前記求めるステップは、
ξ(km)=ξ(mに従って前記関数の各暗号化された単項式を求めるステップであって、mは整数部分信号であり、kは整数定数であり、ξ(・)は加法的準同型マッピングである、求めるステップと、
ξ(m+m)=ξ(m)(m)に従って前記関数の前記暗号化結果を求めるステップであって、m及びmは整数部分信号である、求めるステップと、
をさらに含む請求項19に記載の信号に関数を適用した結果を求めるための方法。
【請求項24】
前記公開鍵及び対応する秘密鍵を含む、準同型暗号化のための鍵の対を生成するステップをさらに含む請求項19に記載の信号に関数を適用した結果を求めるための方法。
【請求項25】
全てのk=0,1,...,jについて、ξ(dj−k)に従って前記第1の部分信号の冪乗を暗号化したもののセットを求めるステップであって、dは前記第1の部分信号であり、jは前記第1の最大冪指数であり、ξ(・)は加法的準同型マッピングである、求めるステップをさらに含む請求項19に記載の信号に関数を適用した結果を求めるための方法。
【請求項26】
前記求めるステップは、
各k=0,1,...,iについて、
【数1】

に従って暗号化された成分を計算するステップと、
【数2】

に従って、加法的準同型性の特性を使用して前記関数の暗号化された単項式を計算するステップと、
【数3】

に従って前記関数の前記暗号化結果を計算するステップと、
をさらに含み、
iは前記第2の信号xの冪指数であり、jは前記第1の信号yの冪指数であり、γi,jは前記単項式の定数係数であり、dは前記第1の部分信号であり、cは前記第2の部分信号であり、ξ(・)は加法的準同型マッピングである請求項19に記載の信号に関数を適用した結果を求めるための方法。
【請求項27】
第1の信号及び第2の信号を含む信号に関数を適用した結果を求めるための方法であって、前記関数は、この関数における単項式が、第1の最大冪指数以下の冪指数を有する前記第1の信号を含むような、前記信号の多項式関数であり、前記第1の信号は第1の部分信号及び第2の部分信号に分割され、
第2の信号及び第2の部分信号を取得するステップと、
前記第1の部分信号の冪乗を暗号化したもののセットを取得するステップであって、前記第1の部分信号の冪乗を暗号化したもののセットは、前記第1の部分信号の冪乗を準同型に暗号化したものを含む、取得するステップと、
第2の部分信号、前記第1の部分信号の冪乗を暗号化したもののセット、及び前記第2の信号に基づいて前記関数の暗号化結果を求めるステップと、
を含む信号に関数を適用した結果を求めるための方法。
【請求項28】
前記冪指数は0から前記第1の最大冪指数まで変動する請求項27に記載の信号に関数を適用した結果を求めるための方法。
【請求項29】
前記求めるステップは加法的準同型性を使用する請求項27に記載の信号に関数を適用した結果を求めるための方法。
【請求項30】
前記暗号化結果を復号するステップをさらに含む請求項27に記載の信号に関数を適用した結果を求めるための方法。
【請求項31】
第1の信号及び第2の信号を含む信号に関数を適用した結果を求めるためのシステムであって、前記関数は、この関数における単項式が、第1の最大冪指数以下の冪指数を有する前記第1の信号を含むような、前記信号の多項式関数であり、前記第1の信号は第1の部分信号及び第2の部分信号に分割され、
第2の信号及び第2の部分信号を取得する手段と、
前記第1の部分信号の冪乗を暗号化したもののセットを取得する手段であって、前記第1の部分信号の冪乗を暗号化したもののセットは、前記第1の部分信号の冪乗を準同型に暗号化したものを含む、取得する手段と、
第2の部分信号、前記第1の部分信号の冪乗を暗号化したもののセット、及び前記第2の信号に基づいて前記関数の暗号化結果を求める手段と、
を備える信号に関数を適用した結果を求めるためのシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2011−118387(P2011−118387A)
【公開日】平成23年6月16日(2011.6.16)
【国際特許分類】
【外国語出願】
【出願番号】特願2010−263460(P2010−263460)
【出願日】平成22年11月26日(2010.11.26)
【出願人】(597067574)ミツビシ・エレクトリック・リサーチ・ラボラトリーズ・インコーポレイテッド (484)
【住所又は居所原語表記】201 BROADWAY, CAMBRIDGE, MASSACHUSETTS 02139, U.S.A.
【Fターム(参考)】