JP2019040047A - 計算システム、計算方法及び計算プログラム - Google Patents

計算システム、計算方法及び計算プログラム Download PDF

Info

Publication number
JP2019040047A
JP2019040047A JP2017161658A JP2017161658A JP2019040047A JP 2019040047 A JP2019040047 A JP 2019040047A JP 2017161658 A JP2017161658 A JP 2017161658A JP 2017161658 A JP2017161658 A JP 2017161658A JP 2019040047 A JP2019040047 A JP 2019040047A
Authority
JP
Japan
Prior art keywords
terminal
numerical value
nodes
node
unit
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
JP2017161658A
Other languages
English (en)
Other versions
JP6775231B2 (ja
Inventor
知明 三本
Tomoaki Mitsumoto
知明 三本
清本 晋作
Shinsaku Kiyomoto
晋作 清本
ナッタポン アッタラパドゥン
Attrapadung Nattapong
ナッタポン アッタラパドゥン
ヤコブ シュルツ
Schuldt Jacob
ヤコブ シュルツ
花岡 悟一郎
Goichiro Hanaoka
悟一郎 花岡
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.)
National Institute of Advanced Industrial Science and Technology AIST
KDDI Corp
Original Assignee
National Institute of Advanced Industrial Science and Technology AIST
KDDI Corp
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 National Institute of Advanced Industrial Science and Technology AIST, KDDI Corp filed Critical National Institute of Advanced Industrial Science and Technology AIST
Priority to JP2017161658A priority Critical patent/JP6775231B2/ja
Publication of JP2019040047A publication Critical patent/JP2019040047A/ja
Application granted granted Critical
Publication of JP6775231B2 publication Critical patent/JP6775231B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】秘密計算における計算量及び通信量を調節できる大小比較の計算システム、計算方法及び計算プログラムを提供する。【解決手段】計算システム1は、二値が取り得る値をリーフノードとして持つ二分木を記憶する記憶部10と、somewhat準同型暗号の秘密鍵を生成し公開鍵を共有する鍵共有部21と、ポイントエンコーディング部22と、レンジエンコーディング部23と、ダミーノードを追加するノード追加部24と、暗号化部25と、加法準同型性を用いて各階層のノードの減算を行う加法演算部26と、減算の結果を設定数ずつのグループに分割し、乗法準同型性を用いてグループ毎に乗算を行う乗法演算部27と、グループ毎の乗算の結果それぞれについて、Equal−to−Zeroプロトコルを実行するゼロ比較処理部28と、加法準同型性を用いてグループの値の総和とグループの数との差に基づく大小比較結果を出力する出力部29と、を備える。【選択図】図1

Description

本発明は、秘密計算により大小比較を行う計算システム、計算方法及び計算プログラムに関する。
従来、プライバシ保護型のデータマイニングアルゴリズム等を実現するにあたり、二者間での秘密計算(secure computation)、つまり互いの情報を教えることなく演算を行い、演算結果のみを取得する技術が必要とされ、研究されている。
秘密計算の一つに、二値の大小比較プロトコルがある。このプロトコルは、例えば非特許文献1でセキュアなk−meansアルゴリズムを実現するサブプロトコルとして用いられる等、広く研究されている。非特許文献2では、二値の大小比較プロトコルの実現手法が提案されている。また、非特許文献3では、Somewhat準同型暗号を用いて二値の大小比較を行う手法が提案されている。
Bunn, Paul, and Rafail Ostrovsky. "Secure two−party k−means clustering." Proceedings of the 14th ACM conference on Computer and communications security. ACM, 2007. Veugen, Thijs, et al. "Secure comparison protocols in the semi−honest model." IEEE Journal of Selected Topics in Signal Processing 9.7 (2015): 1217−1228. Gentry, Craig, et al. "Private database access with he−over−oram architecture." International Conference on Applied Cryptography and Network Security. Springer International Publishing, 2015.
しかしながら、Somewhat準同型暗号は、原理上、復号可能な乗算の回数に上限があり、この乗算可能回数によって計算時間が異なる。したがって、Somewhat準同型暗号を用いて二値の大小比較プロトコルを実装する場合、計算量又は二者間の通信量が膨大となる可能性があった。
本発明は、秘密計算における計算量及び通信量を調節できる大小比較の計算システム、計算方法及び計算プログラムを提供することを目的とする。
本発明に係る計算システムは、第1の数値を記憶する第1の端末と、第2の数値を記憶する第2の端末との間で、前記第1の数値と前記第2の数値との大小比較を行うシステムであって、前記第1の数値及び前記第2の数値が取り得る値をリーフノードとして持ち、全ノードの値が少なくとも各階層において互いに異なる二分木を記憶する記憶部と、somewhat準同型暗号の秘密鍵を生成し、当該秘密鍵に対応する公開鍵を前記第1の端末及び前記第2の端末で共有する鍵共有部と、前記第1の端末において、前記第1の数値に対応するリーフノードからルートノードまでの経路上の全ノードからなる第1の集合を求めるポイントエンコーディング部と、前記第2の端末において、前記第2の数値以上の値に対応するリーフノードの範囲のみを、全てカバーする最少のノードからなる第2の集合を求めるレンジエンコーディング部と、前記第2の端末において、前記第1の集合のノード数と前記第2の集合のノード数とが等しくなるように、前記第2の集合に対して、前記二分木とは値が異なるダミーノードを追加するノード追加部と、前記第1の集合及び前記第2の集合を、前記somewhat準同型暗号により暗号化する暗号化部と、前記somewhat準同型暗号の加法準同型性を用いて、前記第1の集合及び前記第2の集合の各階層のノードの減算を行う加法演算部と、前記減算の結果を設定数ずつのグループに分割し、前記somewhat準同型暗号の乗法準同型性を用いて、前記グループ毎に前記減算の結果の乗算を行う乗法演算部と、前記グループ毎の乗算の結果それぞれについて、Equal−to−Zeroプロトコルにより、「0」及び「0以外」の暗号データを、「0」及び「1」の暗号データに変換するゼロ比較処理部と、前記somewhat準同型暗号の加法準同型性を用いて、前記グループの値の総和と前記グループの数との差に基づく大小比較結果を出力する出力部と、を備える。
前記somewhat準同型暗号は、乗算可能回数が異なる複数の暗号方式から選択され、前記乗法演算部は、前記乗算可能回数に基づいて、分割する際の前記設定数を決定してもよい。
前記somewhat準同型暗号は、前記グループに分割する際の前記設定数に基づいて、乗算可能回数が異なる複数の暗号方式から選択されてもよい。
前記二分木におけるノードの値は、階層情報を含む整数値であってもよい。
本発明に係る計算方法は、第1の数値を記憶する第1の端末と、第2の数値を記憶する第2の端末との間で、前記第1の数値と前記第2の数値との大小比較を行う方法であって、前記第1の端末及び前記第2の端末がそれぞれ、前記第1の数値及び前記第2の数値が取り得る値をリーフノードとして持ち、全ノードの値が少なくとも各階層において互いに異なる二分木を記憶し、somewhat準同型暗号の秘密鍵を生成し、当該秘密鍵に対応する公開鍵を前記第1の端末及び前記第2の端末で共有する鍵共有ステップと、前記第1の端末において、前記第1の数値に対応するリーフノードからルートノードまでの経路上の全ノードからなる第1の集合を求めるポイントエンコーディングステップと、前記第2の端末において、前記第2の数値以上の値に対応するリーフノードの範囲のみを、全てカバーする最少のノードからなる第2の集合を求めるレンジエンコーディングステップと、前記第2の端末において、前記第1の集合のノード数と前記第2の集合のノード数とが等しくなるように、前記第2の集合に対して、前記二分木とは値が異なるダミーノードを追加するノード追加ステップと、前記第1の集合及び前記第2の集合を、前記somewhat準同型暗号により暗号化する暗号化ステップと、前記somewhat準同型暗号の加法準同型性を用いて、前記第1の集合及び前記第2の集合の各階層のノードの減算を行う加法演算ステップと、前記減算の結果を設定数ずつのグループに分割し、前記somewhat準同型暗号の乗法準同型性を用いて、前記グループ毎に前記減算の結果の乗算を行う乗法演算ステップと、前記グループ毎の乗算の結果それぞれについて、Equal−to−Zeroプロトコルにより、「0」及び「0以外」の暗号データを、「0」及び「1」の暗号データに変換するゼロ比較処理ステップと、前記somewhat準同型暗号の加法準同型性を用いて、前記グループの値の総和と前記グループの数との差に基づく大小比較結果を出力する出力ステップと、を実行する。
本発明に係る計算プログラムは、前記計算システムにおける前記第1の端末又は前記第2の端末としてコンピュータを機能させるためのものである。
本発明によれば、大小比較を行う秘密計算において、計算量及び通信量を調節できる。
実施形態に係る計算システムの機能構成を示すブロック図である。 実施形態に係るポイントエンコーディングを例示する図である。 実施形態に係るレンジエンコーディングを例示する図である。 実施形態に係る二値の大小比較の仕組みを説明する図である。 実施形態に係る計算方法を例示するフローチャートである。
以下、本発明の実施形態の一例について説明する。
図1は、本実施形態に係る計算システム1の機能構成を示すブロック図である。
計算システム1は、第1の端末Aと、第2の端末Bとを備え、二者がそれぞれ記憶している数値の大小比較を、秘密計算により行う。
端末A及び端末Bは、それぞれ記憶部10及び制御部20の他、入出力デバイス及び通信インタフェース等を備えた情報処理装置(コンピュータ)であり、各端末は、それぞれ記憶部10に格納されたソフトウェア(計算プログラム)を制御部20が実行することにより、本実施形態の各機能を実現する。
記憶部10は、端末A及び端末Bが記憶している計算対象の数値が取り得る値をリーフノードとして持ち、全ノードの値が少なくとも各階層において互いに異なる二分木を記憶する。
取り得る値の範囲が[1,2]であれば、リーフノード(階層:0)の数は2、上位の階層1,2,・・・のノード数は、順に半数になり、ルートノード(階層:n)が一つ設けられる。
ここで、二分木におけるノードの値は、階層情報を含む整数値であってよい。例えば、最上位の数字を階層0,・・・,nとすると、リーフノードの値は、01,02,・・・となり、1階層上位のノードの値は、11,12,・・・となる。
制御部20は、鍵共有部21と、ポイントエンコーディング部22と、レンジエンコーディング部23と、ノード追加部24と、暗号化部25と、加法演算部26と、乗法演算部27と、ゼロ比較処理部28と、出力部29とを備える。
鍵共有部21は、somewhat準同型暗号に用いる秘密鍵を生成し、この秘密鍵に対応する公開鍵を端末A及び端末Bで共有する。
ポイントエンコーディング部22は、端末Aにおいて、記憶部10の二分木を参照し、第1の数値に対応するリーフノードからルートノードまでの経路上の全ノードからなる第1の集合を求める。
図2は、本実施形態に係るポイントエンコーディングを例示する図である。
この例では、計算対象の数値の取り得る範囲を[1〜8]とし、4階層の二分木により数値をエンコードする場合を示している。
例えば、「6」をエンコードする場合、リーフノード「06」からルートノード「31」までの経路上の全ノード、すなわち「06,13,22,31」がポイントエンコーディングの結果として出力される。
レンジエンコーディング部23は、端末Bにおいて、記憶部10の二分木を参照し、第2の数値以上の値に対応するリーフノードの範囲のみを、全てカバーする最少のノードからなる第2の集合を求める。
図3は、本実施形態に係るレンジエンコーディングを例示する図である。
この例では、計算対象の値の取り得る範囲を[1〜8]とし、4階層の二分木により値域(レンジ)をエンコードする場合を示している。
例えば、レンジ[4,8]をエンコードする場合、このレンジに対応するリーフノード04〜08のみを全てカバーするノードの集合、すなわち下位の階層へ展開したときに入力レンジと一致するノードの集合が1又は複数選択される。さらに、選択された集合のうち、最もノード数が少ない集合「04,22」がレンジエンコーディングの結果として出力される。
ここで、ノード13及び14も入力レンジの一部をカバーしているが、これらの上位階層にあるノード22も入力レンジの一部をカバーしているため、ノード13及び14よりもノード22が優先される。さらに、ノード22の上位階層にあるノード31は、入力レンジ外もカバーしているため除外され、この結果、ノード22が集合の要素として決定される。
同様にノード04の上位階層にあるノード12は、レンジ外をカバーしているため、ノード04が集合の要素として決定される。
レンジエンコーディングの結果は、各階層に最大一つのノードを含む。
また、レンジエンコーディングの結果は、親子関係にある複数のノードを同時に要素として含まない。したがって、数値xをポイントエンコーディングした結果と、レンジ[y,2]をレンジエンコーディングした結果とは、x≧yであれば一つのノードのみが一致し、x<yであればいずれのノードも一致しない。
ノード追加部24は、端末Bにおいて、ポイントエンコーディングの結果である集合のノード数と、レンジエンコーディングの結果である集合のノード数とが等しくなるように、レンジエンコーディングの結果である集合に対して、二分木に存在するノードとは値が異なるダミーノードを追加する。これにより、ノード数によって一部の情報が漏れることが抑制される。
例えば、図3のレンジエンコーディングの結果である「04,22」に対して、階層:1のダミーノード19と、階層:3のダミーノード39とが追加される。ダミーノードは、二分木に存在しない値であるため、ポイントエンコーディングの結果とは一致しない。
暗号化部25は、端末A及び端末Bのそれぞれにおいて、ポイントエンコーディングの結果である第1の集合、及びダミーノードを追加した後のレンジエンコーディングの結果である第2の集合を、ノード毎にsomewhat準同型暗号により暗号化する。
加法演算部26は、端末Bにおいて、somewhat準同型暗号の加法準同型性を用いて、第1の集合と第2の集合とを階層毎に減算した値の暗号化データの集合を生成する。
乗法演算部27は、加法演算部26による減算の結果を設定数ずつのグループに分割し、somewhat準同型暗号の乗法準同型性を用いて、グループ毎に要素全てを乗算した値の暗号化データを生成する。
ゼロ比較処理部28は、乗法演算部27によるグループ毎の乗算の結果それぞれについて、Equal−to−Zeroプロトコルにより、「0」及び「0以外」の暗号データを、「0」及び「1」の暗号データに変換する。
Equal−to−Zeroプロトコルは、例えば非特許文献3に記載され、端末Bが秘密鍵を持つ端末Aと協働し、暗号化データを、「0」の暗号データ又は「1」の暗号データに変換することにより、平文が0か否かを判定するための処理である。
なお、Equal−to−Zeroプロトコルは、通信量が多い処理であるため、グループの数(分割数)が多いほど、プロトコルの実行回数が増えて効率が低下する。
一方、グループの数(分割数)を少なくし、グループの要素数を多くすると、乗法準同型による乗算の回数が増えるため、somewhat準同型暗号の乗算可能回数を増やすために処理負荷が増大する。
出力部29は、somewhat準同型暗号の加法準同型性を用いて、各グループのゼロ比較処理部28による処理結果の値の総和とグループの数との差に基づく大小比較結果を出力する。
具体的には、前述のように、数値xをポイントエンコーディングした結果と、レンジ[y,2]をレンジエンコーディングした結果とは、x≧yであれば一つのノードのみが一致し、x<yであればいずれのノードも一致しないことから、ゼロ比較処理部28の処理結果は、x≧yのときに限り「0」の暗号データが一つだけ存在し、この他は「1」の暗号データとなる。
したがって、グループ数と、ゼロ比較処理部28の処理結果の平文(0又は1)の総和との差は、x≧yのときに限り「1」となり、x<yのときは「0」となり、この「1」又は「0」の暗号データが出力される。
あるいは、ゼロ比較処理部28の処理結果の平文(0又は1)の総和と、「グループ数−1」との差は、x≧yのときに限り「0」となり、x<yのときは「1」となり、この「0」又は「1」の暗号データが出力される。
本実施形態において、somewhat準同型暗号は、例えばユーザによって、乗算可能回数が異なる複数の暗号方式から選択されてよい。このとき、乗法演算部27は、乗算可能回数に基づいて、分割する際の設定数(グループの要素数)を決定する。
あるいは、somewhat準同型暗号は、例えばユーザによって入力されたグループに分割する際の設定数(グループの要素数)に基づいて、乗算可能回数が異なる複数の暗号方式から選択されてもよい。
図4は、本実施形態に係る二値の大小比較の仕組みを説明する図である。
この例では、図2及び図3の二分木を用いて、二値の大小比較を行っている。
なお、図中のノード及び演算結果の数値は、平文で記述しているが、somewhat準同型暗号により、暗号化されたまま演算される。
数値「6」に対するポイントエンコーディングの結果「06,13,22,31」と、「4」(レンジ[4,8])に対するレンジエンコーディング及びダミーノードの追加の結果「04,19,22,39」とは、「6≧4」であることから、一つのノード「22」のみが一致する。したがって、階層毎の両者の差は、一つの階層のみが「0」となる。
要素数が2の2つのグループに分割して乗算を行い、それぞれEqual−to−Zeroプロトコルを実行すると、一つのグループが「0」となり、他のグループが「1」となる。
そこで、これらの演算値の総和(0+1)から「グループ数−1」(2−1)を減算すると「0」となり、二値の大小関係が「6≧4」であることを示す「0」の暗号データが出力される。
図5は、本実施形態に係る計算方法を例示するフローチャートである。
この計算方法を実行する端末Aと端末Bとは、それぞれx,y(≦2)の値を持ち、互いにx,yに関する情報を渡すことなくx,yの大小比較を実施する。
このとき、端末A及び端末Bの共通パラメータとして、somewhat準同型暗号の乗算可能回数l、ビットサイズnが入力される。
ステップS1において、端末Aは、somewhat準同型暗号の秘密鍵skを生成する。
ステップS2において、端末Aは、秘密鍵skに対応する公開鍵pkを生成し端末Bと共有する。
ステップS3において、端末Aは、数値xに対してポイントエンコーディングpointEnc(x)を実行する。
ステップS4において、端末Bは、数値yに対してレンジエンコーディングrangeEnc([y,2])を実行する。
ステップS5において、端末Bは、ノードの数がnとなるまでダミーノードを追加する。
ステップS6及びS7において、端末Aと端末Bとは、それぞれパラメータとして入力された乗算可能回数のsomewhat準同型暗号を用いて、エンコーディング結果の各ノードを暗号化する。
ステップS8において、端末Aは、端末Bに暗号化したノードの集合を送信する。
ステップS9において、端末Bは、加法準同型性を利用して、各階層のノードに対応する暗号文同士を減算する。これらの暗号文をE(R)(i=1,・・・,n)とすると、x≧yを満たしている場合に限り、R=0となるjが存在する。
ステップS10において、端末Bは、E(R)をl個ずつのグループに分割する。
ステップS11において、端末Bは、乗法準同型性を利用してグループ毎に、E(R×・・・×R)=E(Q),E(Rl+1×・・・×R2l)=E(Q),・・・,E(Rn−l+1×・・・×R)=E(Qn/l)を計算する。
ステップS12において、端末Bは、端末Aと協働し、∀E(Q)に対してEqual−to−Zeroプロトコルを実行する。これにより、E(Q)=E(0)となる暗号文はE(Q’)=E(0)となり、これ以外はE(Q’)=E(1)となる。
ここで、Equal−to−Zeroプロトコルは通信回数が多いため、処理を効率化するにはlを大きくしてグループを少なくしたいが、一方で乗算可能回数が増えるにつれて、暗号化に関する計算(暗号化、復号、暗号化した状態での計算等)に掛かる時間が増大する。したがって、lを調整することで、Equal−to−Zeroプロトコルの実行回数と乗算可能回数との調整が可能となる。
ステップS13において、端末Bは、加法準同型性を利用して、E(Q’+・・・+Q’n/l−(n/l−1))を計算し、二値の比較結果として出力する。このとき、x≧yを満たしている場合に限りE(0)、それ以外はE(1)となる。
なお、以上の計算方法の例では、端末A(第1の端末)がポイントエンコーディングを、端末B(第2の端末)がレンジエンコーディングを行うこととしたが、これには限られず、端末Bがポイントエンコーディングを、端末Aがレンジエンコーディングを行ってもよい。
本実施形態では、初期状態として、端末A及び端末Bがそれぞれ数値x,y(平文)を持っていることとしているが、これには限られず、例えば以下の(1)又は(2)のような変換が公知の技術により実現できる。したがって、これらの入力のバリエーションは、二値比較が用いられる場面に応じて適宜選択される。
(1)端末Aがsomewhat準同型暗号の秘密鍵を持ち、端末BがE(x)及びE(y)を持つ。
非特許文献2に記載された技術を用いることにより、端末BがE(x)及びE(y)を暗号文として持つ初期状態から、端末A及び端末Bがそれぞれ平文を持つ状態へと変換できる。
(2)端末Aが数値x,yのshare x及びyを、端末Bがx,yのshare x及びyを持つ。
この場合、端末Bが持つshareを一度暗号化して端末Aに送り、端末Aは、E(x)=E(x+x)及びE(y)=E(y+y)を端末Bに送り返す。これにより、端末Bがx,yの暗号文を持つ状態となるため、(1)の手法を用いて変換できる。
また、大小比較結果の出力に関しても同様に、端末Bが暗号文として持つ、端末A及び端末Bがshareとして持つ、端末Aが平文として持つといった変換が可能である。
本実施形態によれば、計算システム1は、設定された要素数のグループを作成し、グループ毎に乗法準同型演算とEqual−to−Zeroプロトコルとを実行することにより、秘密計算による二値の大小比較を行う。したがって、二値比較の秘密計算において、Equal−to−Zeroプロトコルの実行回数に応じた通信量と、乗算可能回数に応じた計算量との調節が可能となる。
このとき、グループは、somewhat準同型暗号の乗算可能回数に応じた要素数に分割され、又は要素数に応じた暗号方式が選択されるので、Equal−to−Zeroプロトコルの実行回数、又は乗算可能回数に基づいて、適度な通信量及び計算量に容易に調節が可能である。
また、計算に用いられるノードの値そのものに二分木の階層情報が含まれることにより、データの保持、及び階層毎の演算が容易となる。
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
計算システム1による計算方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD−ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。
1 計算システム
10 記憶部
20 制御部
21 鍵共有部
22 ポイントエンコーディング部
23 レンジエンコーディング部
24 ノード追加部
25 暗号化部
26 加法演算部
27 乗法演算部
28 ゼロ比較処理部
29 出力部

Claims (6)

  1. 第1の数値を記憶する第1の端末と、第2の数値を記憶する第2の端末との間で、前記第1の数値と前記第2の数値との大小比較を行う計算システムであって、
    前記第1の数値及び前記第2の数値が取り得る値をリーフノードとして持ち、全ノードの値が少なくとも各階層において互いに異なる二分木を記憶する記憶部と、
    somewhat準同型暗号の秘密鍵を生成し、当該秘密鍵に対応する公開鍵を前記第1の端末及び前記第2の端末で共有する鍵共有部と、
    前記第1の端末において、前記第1の数値に対応するリーフノードからルートノードまでの経路上の全ノードからなる第1の集合を求めるポイントエンコーディング部と、
    前記第2の端末において、前記第2の数値以上の値に対応するリーフノードの範囲のみを、全てカバーする最少のノードからなる第2の集合を求めるレンジエンコーディング部と、
    前記第2の端末において、前記第1の集合のノード数と前記第2の集合のノード数とが等しくなるように、前記第2の集合に対して、前記二分木とは値が異なるダミーノードを追加するノード追加部と、
    前記第1の集合及び前記第2の集合を、前記somewhat準同型暗号により暗号化する暗号化部と、
    前記somewhat準同型暗号の加法準同型性を用いて、前記第1の集合及び前記第2の集合の各階層のノードの減算を行う加法演算部と、
    前記減算の結果を設定数ずつのグループに分割し、前記somewhat準同型暗号の乗法準同型性を用いて、前記グループ毎に前記減算の結果の乗算を行う乗法演算部と、
    前記グループ毎の乗算の結果それぞれについて、Equal−to−Zeroプロトコルにより、「0」及び「0以外」の暗号データを、「0」及び「1」の暗号データに変換するゼロ比較処理部と、
    前記somewhat準同型暗号の加法準同型性を用いて、前記グループの値の総和と前記グループの数との差に基づく大小比較結果を出力する出力部と、を備える計算システム。
  2. 前記somewhat準同型暗号は、乗算可能回数が異なる複数の暗号方式から選択され、
    前記乗法演算部は、前記乗算可能回数に基づいて、分割する際の前記設定数を決定する請求項1に記載の計算システム。
  3. 前記somewhat準同型暗号は、前記グループに分割する際の前記設定数に基づいて、乗算可能回数が異なる複数の暗号方式から選択される請求項1に記載の計算システム。
  4. 前記二分木におけるノードの値は、階層情報を含む整数値である請求項1から請求項3のいずれかに記載の計算システム。
  5. 第1の数値を記憶する第1の端末と、第2の数値を記憶する第2の端末との間で、前記第1の数値と前記第2の数値との大小比較を行う計算方法であって、
    前記第1の端末及び前記第2の端末がそれぞれ、前記第1の数値及び前記第2の数値が取り得る値をリーフノードとして持ち、全ノードの値が少なくとも各階層において互いに異なる二分木を記憶し、
    somewhat準同型暗号の秘密鍵を生成し、当該秘密鍵に対応する公開鍵を前記第1の端末及び前記第2の端末で共有する鍵共有ステップと、
    前記第1の端末において、前記第1の数値に対応するリーフノードからルートノードまでの経路上の全ノードからなる第1の集合を求めるポイントエンコーディングステップと、
    前記第2の端末において、前記第2の数値以上の値に対応するリーフノードの範囲のみを、全てカバーする最少のノードからなる第2の集合を求めるレンジエンコーディングステップと、
    前記第2の端末において、前記第1の集合のノード数と前記第2の集合のノード数とが等しくなるように、前記第2の集合に対して、前記二分木とは値が異なるダミーノードを追加するノード追加ステップと、
    前記第1の集合及び前記第2の集合を、前記somewhat準同型暗号により暗号化する暗号化ステップと、
    前記somewhat準同型暗号の加法準同型性を用いて、前記第1の集合及び前記第2の集合の各階層のノードの減算を行う加法演算ステップと、
    前記減算の結果を設定数ずつのグループに分割し、前記somewhat準同型暗号の乗法準同型性を用いて、前記グループ毎に前記減算の結果の乗算を行う乗法演算ステップと、
    前記グループ毎の乗算の結果それぞれについて、Equal−to−Zeroプロトコルにより、「0」及び「0以外」の暗号データを、「0」及び「1」の暗号データに変換するゼロ比較処理ステップと、
    前記somewhat準同型暗号の加法準同型性を用いて、前記グループの値の総和と前記グループの数との差に基づく大小比較結果を出力する出力ステップと、を実行する計算方法。
  6. 請求項1から請求項4のいずれかに記載の計算システムにおける前記第1の端末又は前記第2の端末としてコンピュータを機能させるための計算プログラム。
JP2017161658A 2017-08-24 2017-08-24 計算システム、計算方法及び計算プログラム Active JP6775231B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017161658A JP6775231B2 (ja) 2017-08-24 2017-08-24 計算システム、計算方法及び計算プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017161658A JP6775231B2 (ja) 2017-08-24 2017-08-24 計算システム、計算方法及び計算プログラム

Publications (2)

Publication Number Publication Date
JP2019040047A true JP2019040047A (ja) 2019-03-14
JP6775231B2 JP6775231B2 (ja) 2020-10-28

Family

ID=65725621

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017161658A Active JP6775231B2 (ja) 2017-08-24 2017-08-24 計算システム、計算方法及び計算プログラム

Country Status (1)

Country Link
JP (1) JP6775231B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115361680A (zh) * 2022-10-20 2022-11-18 华信咨询设计研究院有限公司 医保数据智能共享交换系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016015571A (ja) * 2014-07-01 2016-01-28 日本放送協会 鍵生成装置、暗号化装置、復号装置およびそれらのプログラム、ならびに、個人情報保護システム
JP2016143048A (ja) * 2015-02-05 2016-08-08 国立研究開発法人産業技術総合研究所 検索システム、クライアント、サーバ、検索プログラムおよび検索方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016015571A (ja) * 2014-07-01 2016-01-28 日本放送協会 鍵生成装置、暗号化装置、復号装置およびそれらのプログラム、ならびに、個人情報保護システム
JP2016143048A (ja) * 2015-02-05 2016-08-08 国立研究開発法人産業技術総合研究所 検索システム、クライアント、サーバ、検索プログラムおよび検索方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SHI, E. ET AL.: "Multi-Dimensional Range Query over Encrypted Data", 2007 IEEE SYMPOSIUM ON SECURITY AND PRIVACY (SP'07), JPN6020031787, 20 May 2007 (2007-05-20), US, pages 1 - 15, ISSN: 0004335022 *
三本 知明 ほか: "二値の大小比較プロトコルについての考察", 電子情報通信学会2017年総合大会講演論文集 基礎・境界/NOLTA, JPN6020031783, 7 March 2017 (2017-03-07), JP, pages 89, ISSN: 0004335020 *
山田 古都子 ほか: "適応的安全な無効化可能属性ベース暗号の一般的構成", 2017年 暗号と情報セキュリティシンポジウム概要集, JPN6020031785, 24 January 2017 (2017-01-24), JP, pages 1 - 8, ISSN: 0004335021 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115361680A (zh) * 2022-10-20 2022-11-18 华信咨询设计研究院有限公司 医保数据智能共享交换系统
CN115361680B (zh) * 2022-10-20 2023-02-17 华信咨询设计研究院有限公司 医保数据智能共享交换系统

Also Published As

Publication number Publication date
JP6775231B2 (ja) 2020-10-28

Similar Documents

Publication Publication Date Title
CN110008717B (zh) 支持隐私保护的决策树分类服务系统及方法
Giacomelli et al. Privacy-preserving ridge regression with only linearly-homomorphic encryption
Wang et al. Cryptanalysis of a symmetric fully homomorphic encryption scheme
Liu et al. An efficient privacy-preserving outsourced calculation toolkit with multiple keys
JP6934963B2 (ja) データを暗号化する方法およびシステム
Liu et al. Efficient and privacy-preserving outsourced calculation of rational numbers
Zhou et al. Efficient homomorphic encryption on integer vectors and its applications
Shao et al. Fine-grained data sharing in cloud computing for mobile devices
US11394525B2 (en) Cryptography device having secure provision of random number sequences
Jayapandian et al. Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption
JP6194886B2 (ja) 暗号化統計処理システム、復号システム、鍵生成装置、プロキシ装置、暗号化統計データ生成装置、暗号化統計処理方法、および、暗号化統計処理プログラム
CN111639345B (zh) 基于同态加密的安全的多方云计算的方法和系统
CN112926064B (zh) 一种模型训练方法及装置、数据处理系统和电子设备
CN112865953B (zh) 基于辅助服务器的安全多方计算方法、装置和系统
Alexandru et al. Secure multi-party computation for cloud-based control
Rangasami et al. Comparative study of homomorphic encryption methods for secured data operations in cloud computing
Biksham et al. A lightweight fully homomorphic encryption scheme for cloud security
Yang et al. Secure and efficient parallel hash function construction and its application on cloud audit
JP2014137474A (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
JP6775231B2 (ja) 計算システム、計算方法及び計算プログラム
Aly et al. Practically efficient secure distributed exponentiation without bit-decomposition
CN116170142A (zh) 分布式协同解密方法、设备和存储介质
Muhammed et al. Improved cloud-based N-primes model for symmetric-based fully homomorphic encryption using residue number system
Backes et al. Fully secure inner-product proxy re-encryption with constant size ciphertext
Yakupoglu et al. Prefhe, prefhe-aes and prefhe-sgx: Secure multiparty computation protocols from fully homomorphic encryption and proxy reencryption with aes and intel sgx

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190927

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200819

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200925

R150 Certificate of patent or registration of utility model

Ref document number: 6775231

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250