JP2012128398A - プライバシを保護したまま暗号化された要素の順序を選択するための方法およびシステム - Google Patents

プライバシを保護したまま暗号化された要素の順序を選択するための方法およびシステム Download PDF

Info

Publication number
JP2012128398A
JP2012128398A JP2011207297A JP2011207297A JP2012128398A JP 2012128398 A JP2012128398 A JP 2012128398A JP 2011207297 A JP2011207297 A JP 2011207297A JP 2011207297 A JP2011207297 A JP 2011207297A JP 2012128398 A JP2012128398 A JP 2012128398A
Authority
JP
Japan
Prior art keywords
encrypted
vector
processor
elements
order
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
Application number
JP2011207297A
Other languages
English (en)
Other versions
JP5762232B2 (ja
Inventor
Shantanu Rane
シャンタヌ・ラーネ
Wei Sun
ウェイ・サン
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
Application filed by Mitsubishi Electric Research Laboratories Inc filed Critical Mitsubishi Electric Research Laboratories Inc
Publication of JP2012128398A publication Critical patent/JP2012128398A/ja
Application granted granted Critical
Publication of JP5762232B2 publication Critical patent/JP5762232B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】プライバシを保護するために、暗号化されたベクトル内の暗号化された要素を、該暗号化されたベクトル内の該暗号化された要素の順序により選択するシステムおよび方法を提供する。
【解決手段】第1プロセッサ101において、暗号化されたベクトルの要素の値は、該暗号化されたベクトル内の該要素の順序が維持されるように、スケーリングされ、そして、順列化されて、スケーリングされ順列化されたベクトルを生成する。上記スケーリングされ順列化されたベクトルの中の要素の順序を示す暗号化された領域の情報は、秘密鍵を有する第2プロセッサ102に与えられる。第2プロセッサ102は、上記暗号化された要素のインデックスを上記要素の順序に基づいて決定するために、上記情報を解読する。上記暗号化された要素は、上記インデックスに基づき、いかなるプロセッサによっても発見されることなく選択される。
【選択図】図1

Description

この発明は、概して、安全なマルチパーティ(多数協同)計算方法およびシステムに関し、特に、暗号化されたベクトルにおける暗号化された要素を、該暗号化されたベクトルにおける該暗号化された要素の順序により、決定するための方法に関するものである。
多数アプリケーションに対して、エレメント(要素)の有限長のシーケンス(配列)の最小または最大を、プライバシを保護するように、決定する問題は重要である。たとえば、要素は、機密(sensitive)のバイオメトリック(生物測定的)、医療的、科学的、技術的、金融的、或いは商業的なデータである。
その問題は以下のように定義される。第1プロセッサは暗号化された要素のシーケンスを格納する。その第1プロセッサは、たとえばそのシーケンスの最小要素の暗号化を決定する第2プロセッサと相互に作用する。その問題の要件は、最小要素の値およびインデックスがいかなるプロセッサによっても発見されないということである。
特にこの問題は多くの安全なマルチパーティ計算方法において生じる。たとえば、第1プロセッサは、2進法の指紋特徴ベクトルのデータベースを有し、また、第2プロセッサは単一の暗号化された指紋特徴ベクトルを有する。そして、安全なマルチパーティ計算方法を使用して、第1プロセッサは、第2プロセッサの単一の特徴ベクトルとデータベースにおける各特徴ベクトルとの間の暗号化されたハミング距離を決定する。このようにして、第1プロセッサは、暗号化されたハミング距離のベクトルを得る。次に、最初の特徴ベクトルに最も類似するデータベース内の指紋特徴ベクトルを見つけるように、最小のハミング距離の暗号化が決定される。
したがって、暗号化されたベクトル内の暗号化された或る(1つの)要素を、該暗号化されたベクトル内の該暗号化された複数の要素の順序により、選択する必要がある。
この発明は、暗号化されたベクトル内の暗号化された或る(1つの)要素を、該暗号化されたベクトル内の該暗号化された要素の順序により、選択するためのシステムおよび方法を提供することを目的とする。暗号化されたベクトル内の暗号化された要素の順序は、秘密鍵で解読された、暗号化されたベクトルの複数の要素の値の順序で決定される。たとえば、いくつかのこの発明の実施の形態では、プライバシを保護するように、暗号化されたベクトルから最小要素を選択する。同様に、いくつかの実施の形態では、暗号化されたベクトル内で、最大の要素あるいは所定の順序を有する要素を選択した。
この発明の実施の形態では、第1プロセッサと第2プロセッサとの間の安全なマルチパーティ(多数共同)通信を使用して、暗号化された要素を選択する。第2プロセッサは強秘匿な(semantically secure)加法的準同形写像暗号システム(additively homomorphic cryptosystem)用の1対の鍵を有し、該1対の鍵は秘密鍵と公開鍵とを含む。第2プロセッサは主に、暗号化されていない領域において動作する。反対に、第1プロセッサは公開鍵だけを格納し、暗号化された領域においてのみ動作する。暗号化されたベクトルは、公開鍵で暗号化され、第1プロセッサに格納される。
この発明の実施の形態は2つの認識に基づく。第一に、第1プロセッサは順序を維持するマッピングを要素のシーケンスに適用して、その結果を第2プロセッサへ送信することができ、該第2プロセッサは、要素を知らずに、要素の順序に基づいて要素のインデックスを決定することができる。第二に、順序を維持するマッピングは、暗号化されたドメイン(領域)において適用することができ、それによって、要素のシーケンス全体を第1プロセッサおよび第2プロセッサの両方から秘密にしておく。
したがって、この発明の実施の形態では、暗号化されたベクトル内の要素の順序が維持されるように、暗号化されたドメイン(領域)における暗号化されたベクトルの値をスケーリング(拡大、縮小)する。順序の順列(permutation)と組み合わせて、順序を維持しながらスケーリングすることにより、スケーリングされ順列化されたベクトル(scaled permuted vector)を生成する。而して、スケーリングされ順列化されたベクトルに関する情報を、秘密鍵を格納する2番目のプロセッサに与えることができ、一方、暗号化されていない領域の情報はスケーリングされ順列化されたベクトル内の要素の順序を表示する。暗号化されたベクトルの実際の値および実際の順序はスケーリングと順列化(permutation)によって隠されるので、そのような伝送(送信)(transmission)が可能である。
したがって、この発明の実施の形態1は、第1プロセッサと第2プロセッサとの間の安全なマルチパーティ通信を使用して、暗号化されたベクトル内の暗号化された要素を、該暗号化されたベクトル内の該暗号化された要素の順序により、選択する方法を開示するものであり、ここで、上記第2プロセッサは強秘匿な加法的準同形写像暗号システムのための1対の鍵を格納し、該1対の鍵は秘密解読鍵および公開暗号鍵を含み、また、上記暗号化されたベクトルは、上記公開鍵で暗号化されて、上記第1プロセッサに格納され、また、上記第1プロセッサは、該第1プロセッサが暗号化された領域においてのみ動作するように、上記公開鍵だけを格納するものであり、
上記方法は、
暗号化されたベクトルの要素の値を、該暗号化されたベクトル内の該要素の順序が維持されるように、スケーリングするステップと、
スケーリングされ順列化されたベクトルを生成するために、上記暗号化されたベクトルの上記要素の順序を順列化する(permuting)ステップと、
上記暗号化された領域の情報を上記第2プロセッサへ提供するステップであって、暗号化されていない領域の情報は、上記スケーリングされ順列化されたベクトルの中の要素の順序を示すものである、ステップと、
上記スケーリングされ順列化されたベクトルの中の暗号化された要素の暗号化されたインデックスを得るステップと、
上記暗号化されたインデックスに基づいて、上記暗号化された要素を選択するステップと、を含み、
本方法の上記各ステップは上記第1プロセッサによって行われる。
他の実施の形態は、システムの第1プロセッサと第2プロセッサとの間の安全なマルチパーティ通信を使用して、暗号化されたベクトル内の暗号化された要素を、該暗号化されたベクトル内の該暗号化された要素の順序により、選択するためのシステムを開示するものであり、ここで、上記第2プロセッサは強秘匿な加法的準同形写像暗号システムのための1対の鍵を格納し、該1対の鍵は秘密解読鍵および公開暗号鍵を含み、また、上記暗号化されたベクトルは、上記公開鍵で暗号化されて、上記第1プロセッサに格納され、また、上記第1プロセッサは暗号化された領域においてのみ動作するものであり、
上記システムは、
上記暗号化されたベクトルの要素の値を、該暗号化されたベクトル内の該要素の順序が維持されるように、スケーリングするための手段と、
スケーリングされ順列化されたベクトルを生成するために、上記暗号化されたベクトルの上記要素の順序を順列化する手段と、
上記暗号化された領域の情報を上記第2プロセッサへ提供するための手段であって、暗号化されていない領域の情報は、上記スケーリングされ順列化されたベクトルの中の要素の順序を示すものである、手段と、
上記スケーリングされ順列化されたベクトルの中の上記暗号化された要素の暗号化されたインデックスを得る手段と、
上記暗号化されたインデックスに基づいて、上記暗号化された要素を選択する手段と、を含み、
本システムの上記各手段は上記第1プロセッサによって行われる。
さらに他の実施の形態は、システムの第1プロセッサと第2プロセッサとの間の安全なマルチパーティ通信を使用して、暗号化されたベクトル内の暗号化された要素を、該暗号化されたベクトル内の該暗号化された要素の順序により、選択するための方法を開示するものであり、ここで、上記第2プロセッサは強秘匿な加法的準同形写像暗号システムのための1対の鍵を格納し、該1対の鍵は秘密暗号鍵および公開解読鍵を含み、また、上記暗号化されたベクトルは、上記公開鍵で暗号化されて、上記第1プロセッサに格納され、また、上記第1プロセッサは暗号化された領域においてのみ動作するものであり、
上記方法は、
上記暗号化されたベクトルの要素の値を、該暗号化されたベクトル内の該要素の順序が維持されるように、スケーリングするステップと、
スケーリングされ順列化されたベクトルを生成するために、上記暗号化されたベクトルの上記要素の順序を順列化するステップと、
上記スケーリングされ順列化されたベクトルを第1加算的ベクトル(first additive vector)と第2加算的ベクトル(second additive vector)とに分割するステップと、
上記第1加算的ベクトルの要素対の差( pairwise differences of elements)のベクトルを決定するステップと、
暗号化されたインデックスを決定するために、上記要素対の差のベクトルおよび上記第2加算的ベクトルを上記第2プロセッサへ与えるステップと、
上記スケーリングされ順列化されたベクトルの中の上記暗号化された要素の暗号化されたインデックスを得るステップと、
上記インデックスの第1摂動項(first perturbation term)および第2摂動関数(second perturbation function)によって修正変更された、上記暗号化されたベクトルを上記第2プロセッサに提供するステップであって、上記暗号化されたインデックスでの上記第2摂動関数の値が零に等しいものである、ステップと、
上記暗号化されたインデックスに対応する、上記暗号化されたベクトルの要素を上記第2プロセッサから得るステップと、
上記暗号化されたベクトルの上記暗号化された要素を得るために、上記暗号化された領域において上記第1摂動項を減算するステップと、を含み、
本方法の上記各ステップは上記第1プロセッサによって行われる。
定義
この発明の実施の形態について記述する際に、次の定義がそれらの実施の形態(上記を含み)を通して適用可能である。
「コンピュータ」とは、構造化された入力を受け付け、所定の規則により該構造化された入力を処理し、また、その処理の結果を出力として生成することができる、あらゆる装置を指すものである。そのようなコンピュータの例としては、コンピュータ、汎用コンピュータ、スーパーコンピュータ、メインフレーム、スーパーミニコンピュータ、ミニコンピュータ、ワークステーション、マイクロコンピュータ、サーバー、対話型テレビジョン、コンピュータと対話型テレビジョンとのハイブリッド結合(組合せ)、およびコンピュータおよび(または)ソフトウェアをエミュレートするアプリケーションに特有のハードウェア、を含む。コンピュータは、単一のロセッサ、あるいは並列におよび(または)並列ではなく動作することができる多数のプロセッサを有することができる。コンピュータはまた、コンピュータ間で情報を送信または受信するために、ネットワークを介して共に接続された2つ以上のコンピュータをも指す。そのようなコンピュータの一例は、ネットワークによってリンク(結合)された複数のコンピュータを介して情報を処理するための分散形計算機システム、を含む。
「中央演算処理装置(CPU)」あるいは「プロセッサ」は、コンピュータ、あるいはソフトウェア命令を読み取って実行するコンピュータのコンポーネント(構成要素)を指す。
「メモリ」あるいは「コンピュータ可読媒体」は、コンピュータによってアクセス可能なデータを格納するための、あらゆる記憶装置を指す。それらの例としては、磁気ハードディスク、フロッピー(登録商標)ディスク、CD−ROMまたはDVDのような光ディスク、磁気テープ、メモリチップ、および電子メールを送受信する際あるいはネットワークにアクセスする際に使用されるような、コンピュータが読み取り可能な電子化データを搬送するのに使用される搬送波とたとえばランダムアクセスメモリ(RAM)等のコンピュータメモリー、を含む。
「ソフトウェア」とは、コンピュータを作動させるための所定の(予め定められた)規則を指す。そのようなソフトウェアの例としては、ソフトウェア、コードセグメント、命令、コンピュータプログラム、およびプログラムされたロジック(論理)、を含む。インテリジェントシステムのソフトウェアは自己学習ができてもよい。
「モジュール」あるいは「ユニット」とは、タスクあるいはタスクの一部を行うコンピュータ内の基本的なコンポーネント(構成要素)を指す。それはソフトウェアやハードウェアのいずれかによって実行することができる。
この発明の実施の形態は、順序を維持したままのスケーリングを使用することにより、ベクトルの要素対(ペア)の比較を回避する。マッピングは、暗号化されていない領域における関心要素のインデックスの決定を可能にする。
この発明の実施の形態1による、暗号化されたベクトル内の暗号化されたエレメント(要素)を選択するための方法のブロック図である。 この発明の実施の形態1による、順序を維持するスケーリング(拡大、縮小)の概略図である。 この発明の実施の形態1による、複数の要素の順序を表す情報を安全に決めるための方法のブロック図である。 この発明の実施の形態1の擬似コードの説明図である。
実施の形態1.
図1は、第1プロセッサ101と第2プロセッサ102との間の安全なマルチパーティ通信を使用して、暗号化されたベクトル105内の暗号化された要素180を、該暗号化されたベクトル105内の該暗号化された要素180の順序(order)により、選択するための方法100を示している。
暗号化されたベクトル内の暗号化された要素の順序は、秘密鍵で解読された、暗号化されたベクトルの複数の要素の値の順序で決定される。暗号化された要素は、順序ルール(規則)151によって選択される。順序規則の例としては、最小要素を選択すること、最大の要素を選択すること、暗号化されたベクトル内の2番目の最小要素を選択すること、あるいは中央の要素を選択すること、を含む。様々な実施の形態では、第2プロセッサあるいは両方のプロセッサが順序規則を知っている。
第2プロセッサは、強秘匿な加法的準同形写像暗号システムのための1対の鍵を有する。その1対の鍵は、秘密解読鍵141および公開暗号鍵161を含む。第2プロセッサは主に、暗号化されていない領域において動作する。反対に、第1プロセッサは暗号化された領域においてのみ動作する。暗号化されたベクトル105は、公開鍵で暗号化され、第1プロセッサに格納される。
たとえば、それらの鍵の対(ペア)(κ、κ)は、強秘匿な加法的準同形写像公開鍵暗号システムのための暗号化/解読の鍵の対である。暗号化関数はξ(・)であり、また、解読関数はξ−1(・)である。加法的準同形写像特性は、要素m,mのベクトルに対して、ξ(m)ξ(m)=ξ(m+m)およびξ(m =ξ(m)を保証する。さらに、要素z∈Zのベクトルに対して、暗号化されたベクトル105はξ(z)=(ξ(z)、ξ(z)、・・・、ξ(z))である。
したがって、第1プロセッサは公開暗号鍵κおよび暗号化されたベクトルξ(z)を有し、第2プロセッサは鍵の対(ペア)(κ、κ)を有する。本方法100を行った後に、第1プロセッサはξ(min1≦i≦N)を得る。第2プロセッサは何も得ない。
この発明の実施の形態1では、暗号化されたドメイン(領域)の暗号化されたベクトル内の要素の値をスケーリング110して、スケーリングされたベクトル115を生成する。そのスケーリングの後、暗号化されたベクトル内の要素の順序は維持されている。たとえば、暗号化されたベクトル内の最小要素のインデックスは、スケーリングされたベクトル内の最小要素のインデックスに等しい。そのスケーリングは、以下により詳細に記述されるように、順序を維持する行列210を使用して行われる。
次に、スケーリングされたベクトル内の要素の順序は、スケーリングされ順列化されたベクトル125を生成するために、順列化120され、また、暗号化された領域の情報135は第2プロセッサに提供130される。ここで、暗号化されていない領域の情報は、スケーリングされ順列化されたベクトルの中の要素の順序を示す。この発明の実施の形態1では、その情報はスケーリングされ順列化されたベクトル自体である。
他の実施の形態では、スケーリングされ順列化されたベクトルを第1加算的ベクトルと第2加算的ベクトルへ分割する。また、情報は、第1加算的ベクトルと第2加算的ベクトルの要素対(ペア)の差のベクトルである。
第2プロセッサは、秘密鍵を使用して情報を解読140して、順序規則151により、暗号化されていない領域の情報142から要素のインデックス151を決定150する。次に、第2プロセッサは公開鍵でそのインデックスを暗号化160して、暗号化されたインデックスを第1プロセッサへ提供165する。
第1プロセッサは、暗号化されたインデック165に基づいて、暗号化された要素180を選択170する。様々な実施の形態では、要素の暗号化されたインデックスに基づく暗号化された要素の選択は、以下に述べるように、第1プロセスと第2プロセッサとの間のオブリビアス(oblivious:紛失)通信に基づいている。
順序を維持するスケーリング
順序を維持するスケーリングの目的は、ベクトルの要素の順序を維持しながら、暗号化されたベクトルの値を修正変更することである。この発明の実施の形態1は、順序を維持するマッピングが、暗号化されたドメイン(領域)において適用することができ、それによって、要素のシーケンス全体を第1プロセッサおよび第2プロセッサの両方から秘密にしておく、という認識に基づく。
図2は、順序を維持するスケーリングの概略図を示す。たとえば、ベクトル220は5つの要素221〜225を有する。要素222および223は等しい値を有する。順序を維持する行列210でベクトル220を乗算することにより、異なる値であるが要素の順序が同じである、5つの要素231〜235を有するスケーリングされたベクトル230を生成する。たとえば、インデックス1を有する要素224がベクトル220内の最小要素である場合、同一のインデックス1を有する要素234はスケーリングされたベクトル230内の最小要素である。
そのスケーリングは、ベクトル220内の同一の値、たとえば要素222−223、を有する要素がスケーリングされたベクトル230において同一の値を有することを保証しない。しかしながら、要素232−233の異なる値は、スケーリングされたベクトル230内の要素の順序を乱さない。
したがって、この発明の実施の形態1では、第1プロセッサは、そのセット{1,2,・・・,N}上で順列πを生成して、ここで、Nは暗号化されたベクトルの大きさであり、順列化(permuted)されたベクトルξ(ν)=π(ξ(z))を得る。そして、第1プロセッサは整数g>0を選択して、次式によって順序を維持する行列G∈ZNxN210を生成する。
Figure 2012128398
この発明の実施の形態1では、スケーリングは、暗号化されたベクトルに順序を維持する行列を乗算することにより達成される。たとえば、スケーリングされ順列化されたベクトルは、ω=Gνである。順序を維持する行列において、要素gは整数である。
如何なる1≦i、j≦Nに対して、ω−ω=g(ν−ν)であり、それは、g>0に対して、Gは順序を維持する行列であること、すなわち、ω≦ωである時かつそのときに限り、ν≦νであることを意味する。加法的準同形写像暗号化の特性を使用して、第1プロセッサはξ(ω)=ξ(Gν)を決定する。
順序を表示する情報
スケーリングされ順列化されたベクトルに関する情報は、秘密鍵を格納する第2プロセッサに与えられ、たとえば、送信される。一方、基礎となる、暗号化されていない領域の情報は、スケーリングされ順列化されたベクトルの中の要素の順序を表わしており、また、気付かずに(obliviously)、順序を維持する行列の構成による暗号化されたベクトル内の要素の順序に関するものである。暗号化されたベクトルの実際の値および実際の順序はスケーリングと順列化(permuting)によって隠されるので、そのような伝送(送信)が可能である。
図3に示される実施の形態では、スケーリングされ順列化されたベクトルが第1加算的ベクトルと第2加算的ベクトルとへ分割され、また、情報は、第1加算的ベクトルおよび第2加算的ベクトル自体の要素対の差のベクトルによって形成される。
具体的には、第1プロセッサは、乱数の第1加算的ベクトル315 a∈Zを生成310する。準同形写像特性を使用して、第1プロセッサは、第2加算的ベクトル325ξ(ω−a)を決定320する。
次に、第1プロセッサは、対(ペア)の差aΔのベクトル335を構成する。ベクトル335の要素は第1加算的ベクトルaの要素対の差である。
したがって、以下となる。
Figure 2012128398
対差のベクトル335および第2加算的ベクトル325は、スケーリングされ順列化されたベクトルの中の要素の順序を表示する情報135を形成する。情報135は第2プロセッサに提供130される。
この発明の実施の形態の1つの変形例では、対差のベクトルの値がノイズベクトル345で修正変更340される。たとえば、第1プロセッサは、間隔[−g,g]に亘ってランダムノイズηを生成し、−g≦ηij≦gおよびΣ1≦i≦j≦N ηij=ηのように、ノイズベクトル
Figure 2012128398
を決定する。対差のベクトルは、aΔ−ηによってノイズベクトルで修正変更され、そして第2プロセッサへ伝送(送信)される。
第2プロセッサは、暗号化された領域において第2付加的(加算的)シェア(second additive share)を得ており、また、要素毎の解読によってb=ω−aを得る。第1プロセッサは第1加算的ベクトルαを有し、また、第2プロセッサは第2加算的ベクトルbを有し、それらはスケーリングされ順列化されたベクトルωの加算的(加法的)なシェアである。したがって、α+b≦α+bのとき、かつそのときに限り、またα−α≦b−bのとき、かつそのときに限り、ω≦ωである。
次に、式により、第2プロセッサは、第2加算的(加法的)シェアの対差のベクトルを決定する。
Figure 2012128398
両方の対差aΔおよびbΔのベクトルは
Figure 2012128398
要素を含む。
第2プロセッサは、aΔ−ηおよび−bΔの対応する要素を比較する。ノイズベクトルηの任意の要素ηijに対して、第2プロセッサは、1≦i<j≦Nに対してα−α−ηij≦b−bであるか否かを決定する。この決定は、行列G行列の構成によって、g(ν−ν)−ηij≦0であるか否かを決定することと等価である。
−g≦ηij≦gであるため、第2プロセッサは、
Figure 2012128398
のとき、かつそのときに限り、
Figure 2012128398
であると決定する。ここで、オペレータ
Figure 2012128398
は、場合に応じて、「より大きい」、または「より小さい」を意味する。而して、ν≠νのとき、順序が維持される。ν=νならば、第1プロセッサによって選択されたノイズベクトルηijの要素の値に依存して、α−α−ηijはb−bより大きくなったり、あるいは、小さくなったりする。しかしながら、このような摂動(変動:perturbation)により、第2プロセッサが、スケーリングされ順列化されたベクトルの要素を知らずに、インデックス151、たとえば、α=arg min1≦i≦Nν、を決定することをさらに可能にする。暗号化されたインデックス165は第1プロセッサに与えられる。
要素の暗号化されたインデックスに基づいて選択すること
様々な実施の形態では、暗号化された要素の選択を該要素の暗号化されたインデックスに基づいて行うことが、第1プロセッサと第2プロセッサとの間のオブリビアス(紛失)通信を使用する。たとえば、1つの実施の形態では、第1プロセッサは、1≦i≦Nに対して、数γおよびβをランダム(無作為)に選択して、ξ(β(i−α)+ν+γ)を決定するために、準同形写像特性を使用する。ここで、γは第1摂動項であり、また、β(i−α)は、その値が暗号化されたインデックスで零と等しいインデックスの第2摂動関数である。第1プロセッサは、その結果として生じる、N個の暗号化されたエントリー(項目)を有するベクトルを第2プロセッサへ与える。
第2プロセッサは、修正変更された要素να+γを得るためインデックスi=αに対応するエントリーを解読する。第2プロセッサは、修正変更された要素を再暗号化して、第1プロセッサに提供する。
第1プロセッサは、次式を介して第1摂動項γにより導入されたノイズを削除して暗号化された要素180を生成するために、加法的準同形写像特性を使用する。
Figure 2012128398
図4は、この実施の形態の、自明である擬似コードを示す。
従来の方法は、安全なミリオネア(millionaire)プロトコルの変形例を使用して、プライバシを保護したままベクトルの要素を決定する。たとえば、それらの方法は、ベクトルの最小要素を決定するために、安全なミリオネアプロトコルを繰り返し適用することを行う。しかしながら、それらの方法は、両方のプロセッサでの通信オーバヘッドがN2に比例するので、計算(演算)上非能率的である。
この発明の実施の形態は、順序を維持したままのスケーリングを使用することにより、ベクトルの要素対(ペア)の比較を回避する。マッピングは、暗号化されていない領域における関心要素のインデックスの決定を可能にする。
この発明は好ましい実施の形態の例として記述されたが、この発明の趣旨および範囲内で、様々な他の改変および変更が行われてもよいことが理解されるべきである。したがって、この発明の真実の趣旨および範囲内に入るような、すべての変更例および変形例をカバーすることが、添付の特許請求の範囲の目的である。

Claims (18)

  1. 第1プロセッサと第2プロセッサとの間の安全なマルチパーティ通信を使用して、暗号化されたベクトル内の暗号化された要素を、該暗号化されたベクトル内の該暗号化された要素の順序により、選択する方法であって、前記第2プロセッサは強秘匿な加法的準同形写像暗号システムのための1対の鍵を格納し、該1対の鍵は秘密解読鍵および公開暗号鍵を含み、また、前記暗号化されたベクトルは、前記公開鍵で暗号化されて、前記第1プロセッサに格納され、また、前記第1プロセッサは、暗号化された領域においてのみ動作するものであり、
    前記方法は、
    前記暗号化されたベクトルの要素の値を、該暗号化されたベクトル内の該要素の順序が維持されるように、スケーリングするステップと、
    スケーリングされ順列化されたベクトルを生成するために、前記暗号化されたベクトルの前記要素の順序を順列化するステップと、
    前記暗号化された領域の情報を前記第2プロセッサへ提供するステップであって、基礎となる、暗号化されていない領域の情報は、前記スケーリングされ順列化されたベクトルの中の要素の順序を示すものである、ステップと、
    前記スケーリングされ順列化されたベクトルの中の前記暗号化された要素の暗号化されたインデックスを得るステップと、
    前記暗号化されたインデックスに基づいて、前記暗号化された要素を選択するステップと、を含み、
    本方法の前記各ステップは前記第1プロセッサによって行われる、方法。
  2. 前記暗号化されたベクトル内の前記暗号化された要素の順序は、前記秘密鍵で前記第2プロセッサにより解読された、前記暗号化されたベクトルの複数の要素の値の順序で決定される、請求項1の方法。
  3. 前記暗号化されたインデックスは、前記暗号化されていない領域において、前記スケーリングされ順列化されたベクトルの中の要素の順序により前記第2プロセッサによって決定され、前記公開鍵で暗号化される、請求項1の方法。
  4. 前記提供するステップは、
    前記スケーリングされ順列化されたベクトルを第1加算的ベクトルと第2加算的ベクトルとに分割するステップと、
    前記第1加算的ベクトルの要素対の差のベクトルを決定するステップと、
    前記暗号化されたインデックスを決定するために、前記要素対の差のベクトルおよび前記第2加算的ベクトルを前記第2プロセッサへ与えるステップと、
    をさらに含む、請求項1の方法。
  5. 前記提供するステップは、
    前記暗号化されたインデックスを決定するために、前記スケーリングされ順列化されたベクトルを前記第2プロセッサへ与えるステップ、
    をさらに含む、請求項1の方法。
  6. 前記選択するステップは、
    前記インデックスの第1摂動項および第2摂動関数によって修正変更された、前記暗号化されたベクトルを前記第2プロセッサに提供するステップであって、前記暗号化されたインデックスでの前記第2摂動関数の値が零に等しいものである、ステップと、
    前記暗号化されたインデックスに対応する、前記暗号化されたベクトルの要素を前記第2プロセッサから得るステップと、
    前記暗号化されたベクトルの前記暗号化された要素を得るために、前記暗号化された領域において前記第1摂動項を減算するステップと、
    をさらに含む、請求項1の方法。
  7. 前記暗号化されたインデックスは、順序規則に基づいて決定される、請求項1の方法。
  8. 前記順序規則は、前記暗号化された要素がそれぞれ、前記暗号化されたベクトル内の最小要素あるいは前記暗号化されたベクトル内の最小要素であるように、最小あるいは最大の要素を選択するものである、請求項7の方法。
  9. 前記スケーリングするステップは、
    順序を維持する行列を構成するステップと、
    前記暗号化されたベクトルに前記順序を維持する行列を乗算するステップと、
    をさらに含む、請求項1の方法。
  10. 整数g>0を選択するステップと、
    次式により順序を維持する行列G∈ZNxNを決定するステップであって、
    Figure 2012128398
    ここで、Zは整数のセット(組)であり、Nは前記暗号化されたベクトル内の要素の数であり、また、要素gは整数である、ステップと、
    をさらに含む、請求項9の方法。
  11. システムの第1プロセッサと第2プロセッサとの間の安全なマルチパーティ通信を使用して、暗号化されたベクトル内の暗号化された要素を、該暗号化されたベクトル内の該暗号化された要素の順序により、選択するためのシステムであって、前記第2プロセッサは強秘匿な加法的準同形写像暗号システムのための1対の鍵を格納し、該1対の鍵は秘密解読鍵および公開暗号鍵を含み、また、前記暗号化されたベクトルは、前記公開鍵で暗号化されて、前記第1プロセッサに格納され、また、前記第1プロセッサは暗号化された領域においてのみ動作するものであり、
    前記システムは、
    前記暗号化されたベクトルの要素の値を、該暗号化されたベクトル内の該要素の順序が維持されるように、スケーリングするための手段と、
    スケーリングされ順列化されたベクトルを生成するために、前記暗号化されたベクトルの前記要素の順序を順列化する手段と、
    前記暗号化された領域の情報を前記第2プロセッサへ提供するための手段であって、暗号化されていない領域の情報は、前記スケーリングされ順列化されたベクトルの中の要素の順序を示すものである、手段と、
    前記スケーリングされ順列化されたベクトルの中の前記暗号化された要素の暗号化されたインデックスを得る手段と、
    前記暗号化されたインデックスに基づいて、前記暗号化された要素を選択する手段と、を含み、
    本システムの前記各手段は前記第1プロセッサによって行われる、システム。
  12. 前記スケーリングされ順列化されたベクトルを第1加算的ベクトルと第2加算的ベクトルとに分割する手段と、
    前記第1加算的ベクトルの要素対の差のベクトルを決定する手段と、
    前記暗号化されたインデックスを決定するために、前記要素対の差のベクトルおよび前記第2加算的ベクトルを前記第2プロセッサへ与える手段と、
    をさらに含む、請求項11のシステム。
  13. 前記暗号化されたインデックスを決定するために、前記スケーリングされ順列化されたベクトルを前記第2プロセッサへ与える手段、
    をさらに含む、請求項11のシステム。
  14. 前記インデックスの第1摂動項および第2摂動関数によって修正変更された、前記暗号化されたベクトルを前記第2プロセッサに提供する手段であって、前記暗号化されたインデックスでの前記第2摂動関数の値が零に等しいものである、手段と、
    前記暗号化されたインデックスに対応する、前記暗号化されたベクトルの要素を前記第2プロセッサから得る手段と、
    前記暗号化されたベクトルの前記暗号化された要素を得るために、前記暗号化された領域において前記第1摂動項を減算する手段と、
    をさらに含む、請求項11のシステム。
  15. 第1プロセッサと第2プロセッサとの間の安全なマルチパーティ通信を使用して、暗号化されたベクトル内の暗号化された要素を、該暗号化されたベクトル内の該暗号化された要素の順序により、選択するための方法であって、前記第2プロセッサは強秘匿な加法的準同形写像暗号システムのための1対の鍵を格納し、該1対の鍵は秘密暗号鍵および公開解読鍵を含み、また、前記暗号化されたベクトルは、前記公開鍵で暗号化されて、第1プロセッサに格納され、また、前記第1プロセッサは暗号化された領域においてのみ動作するものであり、
    前記方法は、
    前記暗号化されたベクトルの要素の値を、該暗号化されたベクトル内の該要素の順序が維持されるように、スケーリングするステップと、
    スケーリングされ順列化されたベクトルを生成するために、前記暗号化されたベクトルの前記要素の順序を順列化するステップと、
    前記スケーリングされ順列化されたベクトルを第1加算的ベクトルと第2加算的ベクトルとに分割するステップと、
    前記第1加算的ベクトルの要素対の差のベクトルを決定するステップと、
    暗号化されたインデックスを決定するために、前記要素対の差のベクトルおよび前記第2加算的ベクトルを前記第2プロセッサへ与えるステップと、
    前記スケーリングされ順列化されたベクトルの中の暗号化された要素の暗号化されたインデックスを得るステップと、
    前記インデックスの第1摂動項および第2摂動関数によって修正変更された、前記暗号化されたベクトルを前記第2プロセッサに提供するステップであって、前記暗号化されたインデックスでの前記第2摂動関数の値が零に等しいものである、ステップと、
    前記暗号化されたインデックスに対応する、前記暗号化されたベクトルの要素を前記第2プロセッサから得るステップと、
    前記暗号化されたベクトルの前記暗号化された要素を得るために、前記暗号化された領域において前記第1摂動項を減算するステップと、を含み、
    本方法の前記各ステップは前記第1プロセッサによって行われる、方法。
  16. 前記暗号化された要素は前記暗号化されたベクトル内の最小要素である、請求項15の方法。
  17. 順序を維持する行列を構成するステップと、
    前記暗号化されたベクトルに前記順序を維持する行列を乗算するステップと、
    をさらに含む、請求項15の方法。
  18. 次式により前記順序を維持する行列G∈ZNxNを決定するステップであって、
    Figure 2012128398
    ここで、gは正の整数であり、Zは整数のセット(組)であり、Nは前記暗号化されたベクトル内の要素の数であり、また、要素gは整数である、ステップ、
    をさらに含む、請求項17の方法。
JP2011207297A 2010-12-10 2011-09-22 プライバシを保護したまま暗号化された要素の順序を選択するための方法およびシステム Expired - Fee Related JP5762232B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/965,066 US8891762B2 (en) 2010-12-10 2010-12-10 Method for privacy-preserving order selection of encrypted element
US12/965,066 2010-12-10

Publications (2)

Publication Number Publication Date
JP2012128398A true JP2012128398A (ja) 2012-07-05
JP5762232B2 JP5762232B2 (ja) 2015-08-12

Family

ID=46645427

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011207297A Expired - Fee Related JP5762232B2 (ja) 2010-12-10 2011-09-22 プライバシを保護したまま暗号化された要素の順序を選択するための方法およびシステム

Country Status (2)

Country Link
US (1) US8891762B2 (ja)
JP (1) JP5762232B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023548727A (ja) * 2021-10-19 2023-11-21 グーグル エルエルシー マルチキー情報検索

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014126865A (ja) * 2012-12-27 2014-07-07 Fujitsu Ltd 暗号処理装置および方法
JP6244728B2 (ja) 2013-08-07 2017-12-13 富士通株式会社 情報処理方法及びプログラム
US10496631B2 (en) * 2017-03-10 2019-12-03 Symphony Communication Services Holdings Llc Secure information retrieval and update
US10356056B2 (en) * 2017-03-13 2019-07-16 Palo Alto Research Center Incorporated Method and system for privacy-preserving order statistics in a star network
US10778409B2 (en) * 2017-12-15 2020-09-15 Crypto Lab Inc. Terminal device performing homomorphic encryption, server device processing ciphertext and methods thereof
US11334547B2 (en) * 2018-08-20 2022-05-17 Koninklijke Philips N.V. Data-oblivious copying from a first array to a second array
CN111737365B (zh) * 2020-07-22 2021-08-17 百度在线网络技术(北京)有限公司 存证处理方法、装置、设备和存储介质
CN112637233B (zh) * 2020-12-29 2022-12-13 深圳大学 一种基于多用户数据的安全求均值方法
CN114172631B (zh) * 2022-02-14 2022-05-06 支付宝(杭州)信息技术有限公司 一种基于秘密分享的排序方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007500910A (ja) * 2003-05-21 2007-01-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 物理オブジェクトを認証する方法及びシステム
JP2008176193A (ja) * 2007-01-22 2008-07-31 Nippon Telegr & Teleph Corp <Ntt> 秘匿関数計算方法及び装置、並びにプログラム
JP2009093618A (ja) * 2007-08-27 2009-04-30 Mitsubishi Electric Research Laboratories Inc オーディオレコーディングのマッチング方法及びシステム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8462940B2 (en) * 2006-01-11 2013-06-11 International Business Machines Corporation Public key cryptosystem and associated method utilizing a hard lattice with O(n log n) random bits for security
JP5564434B2 (ja) * 2008-01-11 2014-07-30 オランジュ 確率的対称暗号化のための方法およびエンティティ
US8724802B2 (en) * 2008-05-20 2014-05-13 Irdeto Corporate B.V. Cryptographic system
WO2010053036A1 (ja) * 2008-11-05 2010-05-14 日本電気株式会社 データ参照システム、データベース提示分散システム、及びデータ参照方法
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
US8385541B2 (en) * 2010-02-18 2013-02-26 King Fahd University Of Petroleum And Minerals Method of performing elliptic polynomial cryptography with elliptic polynomial hopping

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007500910A (ja) * 2003-05-21 2007-01-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 物理オブジェクトを認証する方法及びシステム
JP2008176193A (ja) * 2007-01-22 2008-07-31 Nippon Telegr & Teleph Corp <Ntt> 秘匿関数計算方法及び装置、並びにプログラム
JP2009093618A (ja) * 2007-08-27 2009-04-30 Mitsubishi Electric Research Laboratories Inc オーディオレコーディングのマッチング方法及びシステム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JPN6015003981; 野島 良: '"高速秘匿共通集合計算プロトコルの設計方法について"' 情報通信研究機構季報 Vol.54、Nos.2/3, 2008, p.9-14, 独立行政法人情報通信研究機構[オンライン] *
JPN6015003983; Shantanu Rane, Wei Sun and Anthony Vetro: '"PRIVACY-PRESERVING APPROXIMATION OF L1 DISTANCE FOR MULTIMEDIA APPLICATIONS"' 2010 IEEE International Conference on Multimedia and Expo (ICME) , 20100619, p.492-497, IEEE *
JPN6015003991; Pathak, M. A., Rane, S., Raj, B.: '"Multiparty Differential Privacy via Aggrregation of Locally Trained Classifiers"' MITSUBISHI ELECTRIC RESEARCH LABORATORIES TR2010-042, 201012, [online] *
JPN7012001301; 諸橋 玄武、菊地 浩明、千田 浩司、廣田 啓一: '"比較器ネットワークのための効率的なマルチパーティ計算"' 2007年暗号と情報セキュリティシンポジウム 2D4-2, 20070123, p.1-5, 社団法人電子情報通信学会 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023548727A (ja) * 2021-10-19 2023-11-21 グーグル エルエルシー マルチキー情報検索
JP7440662B2 (ja) 2021-10-19 2024-02-28 グーグル エルエルシー マルチキー情報検索

Also Published As

Publication number Publication date
US20140105385A1 (en) 2014-04-17
JP5762232B2 (ja) 2015-08-12
US8891762B2 (en) 2014-11-18

Similar Documents

Publication Publication Date Title
JP5762232B2 (ja) プライバシを保護したまま暗号化された要素の順序を選択するための方法およびシステム
Liu et al. Efficient and privacy-preserving outsourced calculation of rational numbers
JP6180177B2 (ja) プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム
Liu et al. Toward highly secure yet efficient KNN classification scheme on outsourced cloud data
JP5975490B2 (ja) 検索システム、検索方法、およびプログラム
WO2012067214A1 (ja) 情報処理装置、情報処理方法、及び、プログラム
US20120151205A1 (en) Polynomial evaluation delegation
Jayapandian et al. Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption
CN112800479B (zh) 利用可信第三方的多方联合数据处理方法及装置
CN111555880A (zh) 数据碰撞方法、装置、存储介质及电子设备
JPWO2018016330A1 (ja) 通信端末、サーバ装置、プログラム
EP4080488B1 (en) Secret random number generation system, secret calculation device, secret random number generation method, and program
US20220413807A1 (en) Secure random number generation system, secure computation apparatus, secure random number generation method, and program
Elmogazy et al. Towards healthcare data security in cloud computing
CN116170142B (zh) 分布式协同解密方法、设备和存储介质
JP2014137474A (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
JP2018151620A (ja) スターネットワークにおけるプライバシー保護順序統計の方法およびシステム
Koppaka et al. ElGamal algorithm with hyperchaotic sequence to enhance security of cloud data
WO2013153628A1 (ja) 演算処理システムおよび演算結果認証方法
US20230421351A1 (en) Homomorphic encryption using smart contracts
US20160006563A1 (en) Encrypted data computation system, device, and program
Theodouli et al. Implementing private k-means clustering using a LWE-based cryptosystem
JP6927199B2 (ja) 暗号文照合システム、ノード装置、暗号文照合方法、およびプログラム
CN116455575B (zh) 一种密钥生成、加密、解密方法、电子设备及存储介质
CN113065156B (zh) 一种控制延时的多方联合数据处理方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140702

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150415

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150609

R150 Certificate of patent or registration of utility model

Ref document number: 5762232

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

LAPS Cancellation because of no payment of annual fees