説明

暗号化された信号に適用された関数の安全な評価のための方法

【課題】2つ以上の暗号化された信号に適用された関数の安全な評価の方法を提供する。
【解決手段】第1の信号の暗号化された結果の第1の暗号化された信号及び第2の信号の暗号化された結果の第2の暗号化された信号に関数を適用した結果を安全に求めるためのシステム及び方法を示す。関数を準同型成分の線形結合として表現する。準同型成分は、第1の信号及び第2の信号の代数的結合であって、準同型特性を使用して、該代数的結合の暗号化された結果を、第1の暗号化された信号及び第2の暗号化された信号から直接計算するのに適している、代数的結合である。次に、第1の暗号化された信号及び第2の暗号化された信号から準同型成分の暗号化された結果を求め、該準同型成分の暗号化された結果を線形結合に従って結合して、関数の暗号化された結果を生成し、複数のプロセッサによって実行される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、包括的には、2つ以上の暗号化された信号に適用された関数の安全な評価に関し、より詳細には2つの暗号化された信号の準同型に変換可能な関数の暗号化された結果を求めることに関する。
【背景技術】
【0002】
暗号化された信号に関数を適用した結果を安全に求めることが多くの場合に必要とされている。たとえば、2つの暗号化された信号間の差分は、二乗誤差又はハミング距離のような様々な関数を使用して測定することができる。
【0003】
従来の方法は通常、暗号学的ハッシュ関数を使用して、2つの信号が異なっているか否かを判断する。ハッシュの衝突が発生する確率が無視できるほど低いことを前提とすれば、信号x及び信号yのハッシュが等しい場合、信号xは信号yと同じである。このような暗号学的ハッシュの比較は、ほとんどのパスワード管理アプリケーション及び鍵管理アプリケーションにおいて基本となっている。
【0004】
従来の暗号学的ハッシュ関数の本質的な特性は、ハッシュ関数が、評価される信号の基礎構造を保たないことである。特に、2つの信号が幾らかの雑音を除いて概ね類似している場合であっても、それらの2つの概ね類似した信号の暗号学的ハッシュは、雑音が非常に小さいものであっても大きく異なる。したがって、暗号学的ハッシュ関数は、雑音が多い環境、たとえば記憶装置及び通信チャネル内で信号の類似性を評価するのに、単独では使用することができない。同じ理由で、暗号学的ハッシュ関数を2つの信号間の差分を求めるのに使用することができない。これは、信号間の小さな差分が、結果としてそれぞれの暗号学的ハッシュ間の大きな差分となるためである。
【0005】
安全に信号を評価することは、多くの用途において重要である。たとえば、個人の医療データは多くの場合に第三者によって分析及び分類される。個人の医療データを第三者に明らかにしないことが重要である。加えて、第三者は分類方法も、分類に使用されるデータベースも明らかにすることを望まない。
【発明の概要】
【発明が解決しようとする課題】
【0006】
この問題は、多くの場合に安全な複数者間計算(SMC)として定義される。紛失通信(OT)、安全な内積(secure inner product)(SIP)のような計算的に安全な方法を原形として使用して、より複雑な演算を実施することができる。米国特許出願第11/005,293号はそのような方法を記載している。その方法は、ユーザによって分類器に供給される画像を明らかにすることなく物体検出を実施する。同様に、分類器によって使用される分類方法はユーザに明らかにされない。しかしながら、この方法は、ユーザと分類器との間で多数のやりとりを必要とする。やりとり及び鍵管理の観点からの通信オーバヘッドは非常に大きい。
【0007】
本発明の目的は、信号に関数を適用した結果を安全に求めるためのシステム及び方法を提供することである。
【課題を解決するための手段】
【0008】
本発明の実施の形態は、信号の準同型に変換可能な関数が固有の特性を有し、該特性によって暗号化領域内のこれらの関数の解を見つけるのが容易になるという認識に基づく。第1の信号及び第2の信号の準同型に変換可能な関数は、準同型成分(homomorphic component)の線形結合に変換することができる。準同型成分は、入力、すなわち信号の代数的結合であって、該準同型成分の暗号化値を、信号の暗号化値から直接、すなわち復号することなく計算することができるような、代数的結合である。したがって、準同型成分の暗号化された結果の計算は、信号の機密性を守る暗号化領域内で実施される。
【0009】
暗号化準同型成分は、準同型特性を使用して処理することができる。準同型成分の例は、限定ではないが、第1の信号の関数、第2の信号の関数、第1の信号及び第2の信号の積の線形関数等を含む。たとえば、
二乗距離関数:d(x,y)=(x−y)=x+y−2xy、ただしx及びyは実数又は整数である。d(x,y)の二乗根は、信号xと信号yとの間のユークリッド距離と称される。
ハミング距離関数:d(x,y)=x+y−2xy、ただしx及びyは2進数であり、すなわち値0又は1をとる。
何らかの任意関数:f(x,y)=sin(x)+cos(y)+4x
【0010】
本発明の実施の形態は、第1の信号の暗号化された結果の第1の暗号化された信号及び第2の信号の暗号化された結果の第2の暗号化された信号に関数を適用した結果を安全に求めるためのシステム及び方法を説明する。本方法は、関数を準同型成分の線形結合として表現する。準同型成分は、第1の信号及び第2の信号の代数的結合であって、準同型特性を使用して、該代数的結合の暗号化された結果を、第1の暗号化された信号及び第2の暗号化された信号から直接計算するのに適しているような、代数的結合である。次に、本方法は、第1の暗号化された信号及び第2の暗号化された信号から準同型成分の暗号化された結果を求め、該準同型成分の暗号化された結果を線形結合に従って結合して、関数の暗号化された結果を生成する。本方法は複数のプロセッサによって実行される。
【発明の効果】
【0011】
本発明の実施の形態は、準同型暗号化の特性を使用して、2つのプロセッサが、2つの暗号化された信号に関数を適用した結果を計算することを可能にする。1つの実施の形態では、関数は指紋を認証し、ここでクライアントは指紋を明らかにすることなく遠隔認証サーバと対話する。サーバは、該サーバにおけるデータベース内に記憶されている指紋を明らかにすることなく認証を実施する。
【図面の簡単な説明】
【0012】
【図1】本発明の一実施の形態による、2つの暗号化された信号に適用した準同型に変換可能な関数の暗号化された結果を安全に求めるための方法のブロック図である。
【図2】本発明の一実施の形態による2つの信号間の暗号化された差分を求めるための方法のブロック及び動作の図である。
【図3】本発明の一実施の形態による2つの信号間の暗号化された差分を求めるための方法のブロック及び動作の図である。
【図4】本発明の別の実施の形態による生体認証に関する安全な差分計算のための方法の概略図である。
【発明を実施するための形態】
【0013】
本発明の実施の形態は、幾つかの関数が固有の特性を有し、該特性によって、それらの関数が暗号化された信号に適用されるときに、該関数の結果を見つけるのが容易になるという認識に基づく。本明細書及び添付の特許請求の範囲のために、これらの関数を準同型に変換可能な関数として定義する。
【0014】
準同型に変換可能な関数は、準同型成分の線形結合に変換することができる関数である。本明細書において定義されるように、準同型成分は信号の代数的結合であって、該準同型成分の暗号化された結果を、暗号化された信号から直接、すなわち復号することなく計算することができるような、代数的結合である。したがって、準同型成分の暗号化された結果の計算は、信号の機密性を守る。
【0015】
暗号化準同型成分は、準同型特性を使用して処理することができる。準同型成分の例は、第1の信号の関数、第2の信号の関数、並びに第1の信号及び第2の信号の積の線形関数である。
【0016】
準同型に変換可能な関数の幾つかの例は以下である。
二乗距離関数:d(x,y)=(x−y)=x+y−2xy、ただしx及びyは実数又は整数である。上述したように、d(x,y)の二乗根は、信号xと信号yとの間のユークリッド距離である。
ハミング距離関数:d(x,y)=x+y−2xy、ただしx及びyは2進数であり、すなわち値0又は1をとる。
何らかの任意関数:f(x,y)=sin(x)+cos(y)+4x又はf(x,y,z)=sin(x)+sin(y)+sin(z)。
【0017】
準同型特性を使用した処理の例を下記で説明する。
【0018】
図1は、準同型に変換可能な関数110を、第1の信号210及び第2の信号215(図2参照)に適用した結果120を安全に求めるための方法100を示している。暗号化された結果を、安全に通信すると共に、公開鍵150に関連付けられる秘密鍵を用いて復号することができる。
【0019】
本発明の実施の形態は、関数110を、準同型成分、たとえば141、142、及び143の線形結合140に変換する(130)。線形結合の例は、準同型成分の加算及び減算である。準同型成分は公開鍵150を用いて暗号化される。暗号化された信号を使用して、準同型成分の暗号化された結果を個々に評価する(160)。準同型暗号化及び線形結合の特性に起因して、個々の暗号化された結果165を結合して(170)関数の最終的な暗号化された結果120を生成することができる。
【0020】
図2及び図3は、本発明の一実施の形態による、2つの信号に異なる関数を適用した結果を安全に求めるための方法を示している。この実施の形態では、システムは、第1のプロセッサ201及び第2のプロセッサ202を備える。本発明は、3つ以上の信号及び1つ又は複数のプロセッサを用いて機能することができることを理解されたい。
【0021】
第1のプロセッサは第1の信号x=(x,x,…,x)210を記憶し、第2のプロセッサは第2の信号y=(y,y,…,y)215を記憶する。ただし、nは信号の長さである。2つのプロセッサは、いかなる段階においても互いに信号を共有しない。下記で説明するように、1つの実施の形態では、評価される関数はハミング距離関数である。別の実施の形態では、関数は二乗ユークリッド距離関数である。
【0022】
本発明では、関数を3つの成分A、B、及びCの線形結合に変換し、第1の成分Aが第1の信号の関数であり、第2の成分Bが第2の信号の関数であり、第3の成分Cが第1の信号及び第2の信号の積の線形関数であるようにする。
【0023】
したがって、第1のプロセッサは、第1の成分Aを第1の信号xから評価することができる。準同型特性を使用して、成分Aをx又は暗号化されたxから評価することができる。ただし、i=1,2,3,…,nである。
【0024】
第2のプロセッサは、第2の成分Bを第2の信号yから評価する。準同型特性を使用して、成分Bをy又は暗号化されたyから評価することができる。ただし、i=1,2,3,…,nである。
【0025】
一方、2つのプロセッサは、xが第2のプロセッサから秘密にされ、yが第1のプロセッサから秘密にされるように、共同で第3の成分Cを評価する。本発明の実施の形態は、準同型暗号化の特性を使用して、成分Cを安全に求める。
【0026】
図2に示すように、第1のプロセッサ201は、第1の信号の暗号化された要素225を第2のプロセッサ202に送信する(220)。下記でより詳細に説明するように、第2のプロセッサは第1の信号を復号することなく、第2の成分及び第3の成分の線形結合235を求める(230)。第2の成分及び第3の成分の線形結合235を、第1のプロセッサに送信する(240)。第1のプロセッサは、その結合235を暗号化された第1の成分255と結合して、暗号化された結果260を求める(250)。
【0027】
準同型暗号化
準同型暗号化は、平文に対して実施される代数的演算が、暗号文に対して実施される別の既知の代数的演算に対応する暗号化の形式をとる。この特性は、暗号化された入力を使用する計算を、これらの入力を復号する必要なく暗号化領域内で直接実施することを可能にするため、有用である。Pを、二値演算子・Pに関連付けられる平文のセットとし、Hを、二値演算子・Hに関連付けられる暗号文のセットとする。
【0028】
定義1.1
暗号化関数ξ:P→Hは、全てのa,b∈Pについてξ(a・b)=ξ(a)・ξ(b)である場合に準同型である。ただし、ξは暗号化演算子である。
【0029】
多くの公開鍵暗号システムは準同型特性を使用する。本発明の実施の形態は、強秘匿の(semantically secure)準同型暗号化方式、たとえばPaillier準同型暗号化システムを用いて機能する。
【0030】
Paillier準同型暗号化システム
Paillier準同型暗号化システムを使用する好ましい実施の形態を説明する。Paillier暗号化システムは、公開鍵暗号方式のための確率的非対称手順である。
【0031】
構成
2つの素数p、qを選択し、N=pqとする。gcd(L(gλ mod N),N)=1となるように
【0032】
【数1】

【0033】
を選択する。ただし、λ=lcm(p−1,q−1)、及びL(x)=(x−1)/Nである。ここで、gcdは最大公約数を指し、lcmは最小公倍数を指す。(N,g)を公開鍵として使用し、(p,q)を秘密鍵として使用し、上述したように
【0034】
【数2】

【0035】
は、Nを法とする逆数を有する非負整数のセットである。
【0036】
暗号化
m∈Zを平文とすると、暗号文は以下である。
【0037】
【数3】

【0038】
ただし、
【0039】
【数4】

【0040】
はランダムに選択された整数であり、Z={0,1,2,…,N−1}であり、
【0041】
【数5】

【0042】
は、Nを法とする逆数を有する非負整数のセットである。整数rはPaillier暗号化関数のパラメータである。暗号化された結果はこのランダムパラメータに依拠する。メッセージmが異なるrを用いて複数回暗号化される場合、対応する暗号文は異なる。したがって、暗号化値はランダムに選択される定数rに依拠するため、Paillier暗号化の性質は、確率的である。
【0043】
復号
【0044】
【数6】

【0045】
を暗号文とすると、対応する平文は以下である。
【0046】
【数7】

【0047】
関数L(.)は、L(x)=(x−1)/Nとして定義される。復号は、暗号化中に使用されるrの値に関わらず結果mを与える。
【0048】
準同型特性は、平文セット(Z,+)から暗号文セット
【0049】
【数8】

【0050】
へのPaillier暗号化関数、すなわち
【0051】
【数9】

【0052】
にも当てはまる。
【0053】
したがって、総和暗号化値は暗号化値の積である。上記の関係において、r及びrはPaillier暗号化において使用されるパラメータである。式(1)のように、これらのパラメータはセットZからランダムに選択される。
【0054】
上記の特性に加えて、Paillier暗号化の以下の特性も有する。
【0055】
【数10】

【0056】
したがって、2つの信号の積の暗号化値は、1つの信号の暗号化値の累乗法によって得られる。
【0057】
安全なハミング距離推定
図3は、第1のプロセッサ201及び第2のプロセッサ202を使用して第1の信号210と第2の信号215との間の暗号化差分測定値260を求めるための方法を示している。
【0058】
第1のプロセッサは第1の信号x=(x,x,…,x)210を記憶し、第2のプロセッサは第2の信号y=(y,y,…,y)215を記憶する。1つの実施の形態では、差分測定値は二値ベクトル間のハミング距離関数によって定義される。信号x及びyのハミング距離関数d(x,y)を以下の準同型成分の線形結合に変換する。
【0059】
【数11】

【0060】
ただし、
【0061】
【数12】

【0062】
であり、演算子
【0063】
【数13】

【0064】
は、2を法とする加算である。
【0065】
式(3)のハミング距離関数は、準同型に変換可能な関数である。これは、成分A、B、及びCの総和、すなわち加算及び減算によって、線形結合140が形成されるためである。成分Aは第1の信号の関数であり、成分Bは第2の信号の関数であり、成分Cは第1の信号及び第2の信号の積の線形関数である。
【0066】
第1のプロセッサは、公開鍵150を使用して第1の信号の個々の要素を暗号化して(320)、暗号化された要素の第1のセット225を生成し、該暗号化された要素のセットを第2のプロセッサに送信する。
【0067】
第2のプロセッサは、暗号化された要素の第1のセットの対応する要素と、第2の信号との暗号化された積335を求める(330)。i∈{1,2,…,n}毎に、第2のプロセッサは以下を求める。
【0068】
【数14】

【0069】
次に、第2のプロセッサは、公開鍵150を使用して、上記の暗号化された積の暗号化された和340を求めて(335)、第1の暗号化された総和345を生成する。
【0070】
【数15】

【0071】
ただし、
【0072】
【数16】

【0073】
であり、
【0074】
【数17】

【0075】
は積演算子である。第2のプロセッサは暗号化値に対してしか演算しない。したがって、値C及びrは第2のプロセッサには知られない。
【0076】
次に、第2のプロセッサは、第2の信号の個々の要素を合計して(350)、第2の総和355を生成する。第2のプロセッサは第2の総和と第1の暗号化された総和とを合計して(360)、第3の暗号化された総和235を生成する。第2のプロセッサは、r∈Zをランダムに選択し、以下を求める。
【0077】
【数18】

【0078】
ただし、r=r mod N∈Zである。第2のプロセッサは第3の総和235を第1のプロセッサに送信する。rの値は暗号化計算内に内在するが、第2のプロセッサには知られない。
【0079】
第1のプロセッサは、鍵150に従って第1の信号の個々の暗号化された要素を合計して(370)、第4の暗号化された総和255を生成し、第3の暗号化された総和と第4の暗号化された総和との暗号化された和を求めて(250)、暗号化された歪み260を生成する。第1のプロセッサは、r∈Zをランダムに選択し、以下を求める。
【0080】
【数19】

【0081】
ただし、r=r mod N∈Zである。
【0082】
幾つかの実施の形態では、暗号化された差分測定値260を第2のプロセッサに送信する(390)。
【0083】
安全な二乗距離計算
代替的な一実施の形態では、距離測定値は、第1の信号xと第2の信号yとの間の二乗ユークリッド距離関数、すなわち二乗誤差である。
【0084】
【数20】

【0085】
ただし、
【0086】
【数21】

【0087】
である。
【0088】
式(8)の二乗ユークリッド距離関数は、準同型に変換可能な関数である。これは、成分A、B、及びCの加算及び減算によって、線形結合140が形成されるためである。そして、成分Aは第1の信号の関数であり、成分Bは第2の信号の関数であり、成分Cは第1の信号及び第2の信号の積の線形関数である。
【0089】
この実施の形態では、式(3)の成分A、B、及びCの値を、式(8)からの対応する値で置き換え、方法300をさらに変更することなく実施する。
【0090】
個人指紋認証
図4は、本発明の別の実施の形態による、生体データを安全に認証するための方法を示している。この実施の形態では、プロセッサ201及び202は、第3のプロセッサ403、たとえば遠隔認証サーバと対話する。プロセッサ202は、生体信号をプロセッサ201から秘密にしておき、プロセッサ201は、生体データベースをプロセッサ202から秘密にしておく。
【0091】
指紋のような未知の生体計測405から、信号215を抽出する(410)。遠隔認証サーバ403は、信号がデータベース420内の信号のうちの少なくとも1つ、たとえば信号210と、閾値Dth455、たとえばハミング距離未満でマッチする場合、信号215を承認する。
【0092】
プロセッサ201及び202は、信号215と信号210との間の暗号化されたハミング距離を求める。公開鍵150は、第3のプロセッサ403によって提供される。暗号化された差分260を、第3のプロセッサに送信し、秘密鍵451を用いて復号(440)した後、閾値と比較する(450)。比較結果をプロセッサ202に送信する(460)。1つの実施態様では、プロセッサ201は、暗号化された指紋のみを記憶することによって、データベース420をさらに保護する。
【0093】
発明の効果
本発明の実施の形態は、準同型暗号化の特性を使用して、2つのプロセッサが、2つの暗号化された信号に関数を適用した結果を計算することを可能にする。1つの実施の形態では、関数は指紋を認証し、ここでクライアントは指紋を明らかにすることなく遠隔認証サーバと対話する。サーバは、該サーバにおけるデータベース内に記憶されている指紋を明らかにすることなく認証を実施する。
【0094】
本発明を好ましい実施の形態の例として説明してきたが、本発明の精神及び範囲内で様々な他の適応及び変更を行うことができることは理解されたい。したがって、添付の特許請求の範囲の目的は、本発明の真の精神及び範囲内に入るすべての変形及び変更を包含することである。

【特許請求の範囲】
【請求項1】
第1の暗号化された信号及び第2の暗号化された信号に関数を適用した結果を求めるための方法であって、前記第1の暗号化された信号および前記第2の暗号化された信号は第1の信号および第2の信号をそれぞれ暗号化した結果生じ、該方法は、前記第1の信号が第2のプロセッサから秘密にされ、且つ前記第2の信号が第1のプロセッサから秘密にされるように該方法のステップを実施するための前記第1のプロセッサ及び前記第2のプロセッサを使用し、該方法は、
前記関数を準同型成分の線形結合として表現するステップであって、各該準同型成分は、前記第1の信号及び前記第2の信号の代数的結合であって、該代数的結合の準同型特性を使用して、該代数的結合の暗号化された結果を、前記第1の暗号化された信号及び前記第2の暗号化された信号から直接計算するのに適しているような代数的結合であるものと、
前記第1の暗号化された信号及び前記第2の暗号化された信号から前記準同型成分の前記暗号化された結果を求めるステップと、
前記線形結合に従って、前記準同型成分の前記暗号化された結果を結合し、前記第1の信号及び前記第2の信号の機密性が守られるように前記関数の前記暗号化された結果を生成するステップと、
を含む、方法。
【請求項2】
前記準同型成分は、前記第1の信号の第1の関数と、前記第2の信号の第2の関数と、前記第1の信号及び前記第2の信号の積の線形関数とを含む、請求項1に記載の方法。
【請求項3】
前記関数は差分関数であり、前記方法は、
前記関数を第1の成分、第2の成分、及び第3の成分の総和に変換することであって、前記第1の成分が前記第1の信号の関数であり、前記第2の成分が前記第2の信号の関数であり、前記第3の成分が前記第1の信号及び前記第2の信号の積の線形関数であるようにするものと、
前記第1の信号の要素を鍵を用いて個々に暗号化し、暗号化された要素の第1のセットを生成することであって、該暗号化は前記第1のプロセッサによって実施されるものと、
前記暗号化された要素の第1のセット及び前記第2の信号に基づいて、前記第2の成分及び前記第3の成分の線形結合を求めることであって、該求めることは、前記線形結合が前記鍵を用いて暗号化されるように、暗号化領域内で前記第2のプロセッサによって実施されるものと、及び
前記線形結合を前記鍵を用いて暗号化された前記第1の成分と結合し、前記関数の前記暗号化された結果を生成することであって、該結合は前記第1のプロセッサによって実施されるものと、
を含む、請求項1に記載の方法。
【請求項4】
前記関数は差分関数であり、前記方法は、
前記関数を第1の成分、第2の成分、及び第3の成分の総和に変換することであって、前記第1の成分が前記第1の信号の関数であり、前記第2の成分が前記第2の信号の関数であり、前記第3の成分が前記第1の信号及び前記第2の信号の積の線形関数であるようにするものと、
前記第1の信号の要素を鍵を用いて個々に暗号化し、暗号化された要素の第1のセットを生成することと、
前記暗号化された要素の第1のセットの対応する要素及び前記第2の信号の暗号化された積を求めることと、
前記暗号化された積の暗号化された和を求め、第1の暗号化された総和を生成することと、
暗号化領域内で前記第2の信号の要素を合計し、第2の暗号化された総和を生成することと、
前記第2の暗号化された総和及び前記第1の暗号化された総和を乗算し、第3の暗号化された総和を生成することと、
前記鍵に従って、暗号化領域内で、前記第1の信号の要素を合計し、第4の暗号化された総和を生成することと、及び
前記第3の暗号化された総和及び前記第4の暗号化された総和の積を求め、前記暗号化された結果を生成することと、
を含む、請求項1に記載の方法。
【請求項5】
前記第1の信号を前記第1のプロセッサに記憶することと、及び
前記第2の信号を前記第2のプロセッサに記憶することと、
をさらに含む、請求項4に記載の方法。
【請求項6】
前記第1のプロセッサから前記第2のプロセッサに前記暗号化された要素のセットを送信することと、及び
前記第2のプロセッサから前記第1のプロセッサに前記第3の暗号化された総和を送信することと、
をさらに含む、請求項5に記載の方法。
【請求項7】
前記第1のプロセッサから第3のプロセッサに前記暗号化された結果を送信することと、
前記暗号化された結果を閾値と比較し、認証結果を生成することと、及び、
前記認証結果に基づいて前記第2の信号を認証することと、
をさらに含む、請求項4に記載の方法。
【請求項8】
前記暗号化された結果を前記第3のプロセッサによって復号することをさらに含む、請求項7に記載の方法。
【請求項9】
前記第2の信号は未知の指紋から抽出され、前記第1の信号は既知の指紋を表す、請求項7に記載の方法。
【請求項10】
前記第1の信号はx={x,x,…,x}であり、前記第2の信号はy={y,y,…,y}であり、N=pqであり、p及びqは素数であり、前記差分関数はハミング距離関数d(x,y)であり、前記変換は以下に従い、
【数1】

であり、iは指数i∈1,2,…,nであり、Aは前記第1の成分であり、Bは前記第2の成分であり、Cは前記第3の成分であり、
【数2】

は二値XOR演算子である、請求項4に記載の方法。
【請求項11】
前記第1の信号はx={x,x,…,x}であり、前記第2の信号はy={y,y,…,y}であり、N=pqであり、p及びqは素数であり、前記差分関数は二乗ユークリッド距離関数d(x,y)であり、前記変換は以下に従い、
【数3】

であり、iは指数i∈1,2,…,nであり、Aは前記第1の成分であり、Bは前記第2の成分であり、Cは前記第3の成分である、請求項4に記載の方法。
【請求項12】
下記に従って要素xを前記鍵を用いて暗号化することと、
【数4】

ただしrは乱数、
下記に従って前記暗号化された積を求めることと、
【数5】

ただしξは暗号化演算子、
下記に従って前記暗号化された積の前記暗号化された和を求めることと、
【数6】

Πは積演算子、ZはNを法とする逆数を有する非負整数のセット、
下記に従って前記第2の総和と前記第1の暗号化された総和とを合計することと、
【数7】

ただし、rd=r mod N∈Zであり、rは、r∈Zとなるようにランダムに選択される、及び
下記に従って前記暗号化された結果を求めることと、
【数8】

ただし、r=r mod N∈Zであり、rは、r∈Zとなるようにランダムに選択される、
を含む、請求項10に記載の方法。
【請求項13】
第1の暗号化された信号及び第2の暗号化された信号に関数を適用した結果を求めるためのシステムであって、前記第1の暗号化された信号および前記第2の暗号化された信号は第1の信号および第2の信号をそれぞれ暗号化した結果生じ、該システムは、前記第1の信号が第2のプロセッサから秘密にされ、且つ前記第2の信号が第1のプロセッサから秘密にされるように動作を実施するための前記第1のプロセッサ及び前記第2のプロセッサを備え、
前記関数を準同型成分の線形結合として表現する手段であって、該準同型成分は、前記第1の信号及び前記第2の信号の代数的結合であって、準同型特性を使用して、前記代数的結合の暗号化された結果を、前記第1の暗号化された信号及び前記第2の暗号化された信号から直接計算するのに適しているような、代数的結合であるものと、
前記第1の暗号化された信号及び前記第2の暗号化された信号から前記準同型成分の前記暗号化された結果を求める手段と、
前記線形結合に従って、前記準同型成分の前記暗号化された結果を結合し、前記関数の前記暗号化された結果を生成する手段と、
を備える、システム。
【請求項14】
前記準同型成分は、前記第1の信号の関数と、前記第2の信号の関数と、前記第1の信号及び前記第2の信号の積の線形関数とを含む、請求項13に記載のシステム。
【請求項15】
前記関数は差分関数であり、前記システムは、
前記関数を第1の成分、第2の成分、及び第3の成分の総和に変換する手段であって、前記第1の成分が前記第1の信号の関数であり、前記第2の成分が前記第2の信号の関数であり、前記第3の成分が前記第1の信号及び前記第2の信号の積の線形関数であるようにするものと、
前記第1の信号の要素を前記鍵を用いて個々に暗号化する手段であって、暗号化された要素の第1のセットを生成し、該暗号化は前記第1のプロセッサによって実施されるものと、
前記暗号化された要素の第1のセット及び前記第2の信号に基づいて、前記第2の成分及び前記第3の成分の線形結合を求める手段であって、該求めることは、前記線形結合が前記鍵を用いて暗号化されるように、暗号化領域内で前記第2のプロセッサによって実施されるものと、
前記線形結合を前記鍵を用いて暗号化された前記第1の成分と結合する手段であって、前記関数の前記暗号化された結果を生成し、該結合は前記第1のプロセッサによって実施されるものと、
を備える、請求項13に記載のシステム。
【請求項16】
前記関数は差分関数であり、前記システムは、
前記関数を第1の成分、第2の成分、及び第3の成分の総和に変換する手段であって、前記第1の成分が前記第1の信号の関数であり、前記第2の成分が前記第2の信号の関数であり、前記第3の成分が前記第1の信号及び前記第2の信号の積の線形関数であるようにするものと、
前記第1の信号の要素を前記鍵を用いて個々に暗号化する手段であって、暗号化された要素の第1のセットを生成するものと、
前記暗号化された要素の第1のセットの対応する要素及び前記第2の信号の暗号化された積を求める手段と、
前記暗号化された積の暗号化された和を求める手段であって、第1の暗号化された総和を生成するものと、
前記第2の信号の要素を合計する手段であって、第2の総和を生成するものと、
を備える、請求項13に記載のシステム。
【請求項17】
複数の暗号化されていない信号に対応する複数の暗号化された信号の関数の暗号化された結果を求めるための方法であって、該複数の暗号化された信号は、各対応する暗号化されていない信号が、関連しないプロセッサから秘密にされるように、それぞれ複数のプロセッサに関連付けられ、該方法は、
前記関数を準同型成分の線形結合として表現するステップであって、該準同型成分は、前記複数の暗号化されていない信号の代数的結合であって、準同型特性を使用して、前記代数的結合の暗号化された結果を、前記複数の暗号化された信号から直接計算するのに適しているような、代数的結合であるものと、
前記複数の暗号化された信号から前記準同型成分の前記暗号化された結果を求めるステップと、
前記線形結合に従って、前記準同型成分の前記暗号化された結果を結合するステップであって、前記関数の前記暗号化された結果を生成するものと、
を含む、方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


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