JP6775231B2 - 計算システム、計算方法及び計算プログラム - Google Patents
計算システム、計算方法及び計算プログラム Download PDFInfo
- Publication number
- JP6775231B2 JP6775231B2 JP2017161658A JP2017161658A JP6775231B2 JP 6775231 B2 JP6775231 B2 JP 6775231B2 JP 2017161658 A JP2017161658 A JP 2017161658A JP 2017161658 A JP2017161658 A JP 2017161658A JP 6775231 B2 JP6775231 B2 JP 6775231B2
- Authority
- JP
- Japan
- Prior art keywords
- terminal
- nodes
- numerical value
- somehat
- calculation
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
秘密計算の一つに、二値の大小比較プロトコルがある。このプロトコルは、例えば非特許文献1でセキュアなk−meansアルゴリズムを実現するサブプロトコルとして用いられる等、広く研究されている。非特許文献2では、二値の大小比較プロトコルの実現手法が提案されている。また、非特許文献3では、Somewhat準同型暗号を用いて二値の大小比較を行う手法が提案されている。
図1は、本実施形態に係る計算システム1の機能構成を示すブロック図である。
計算システム1は、第1の端末Aと、第2の端末Bとを備え、二者がそれぞれ記憶している数値の大小比較を、秘密計算により行う。
取り得る値の範囲が[1,2n]であれば、リーフノード(階層:0)の数は2n、上位の階層1,2,・・・のノード数は、順に半数になり、ルートノード(階層:n)が一つ設けられる。
ここで、二分木におけるノードの値は、階層情報を含む整数値であってよい。例えば、最上位の数字を階層0,・・・,nとすると、リーフノードの値は、01,02,・・・となり、1階層上位のノードの値は、11,12,・・・となる。
この例では、計算対象の数値の取り得る範囲を[1〜8]とし、4階層の二分木により数値をエンコードする場合を示している。
例えば、「6」をエンコードする場合、リーフノード「06」からルートノード「31」までの経路上の全ノード、すなわち「06,13,22,31」がポイントエンコーディングの結果として出力される。
この例では、計算対象の値の取り得る範囲を[1〜8]とし、4階層の二分木により値域(レンジ)をエンコードする場合を示している。
同様にノード04の上位階層にあるノード12は、レンジ外をカバーしているため、ノード04が集合の要素として決定される。
また、レンジエンコーディングの結果は、親子関係にある複数のノードを同時に要素として含まない。したがって、数値xをポイントエンコーディングした結果と、レンジ[y,2n]をレンジエンコーディングした結果とは、x≧yであれば一つのノードのみが一致し、x<yであればいずれのノードも一致しない。
例えば、図3のレンジエンコーディングの結果である「04,22」に対して、階層:1のダミーノード19と、階層:3のダミーノード39とが追加される。ダミーノードは、二分木に存在しない値であるため、ポイントエンコーディングの結果とは一致しない。
Equal−to−Zeroプロトコルは、例えば非特許文献3に記載され、端末Bが秘密鍵を持つ端末Aと協働し、暗号化データを、「0」の暗号データ又は「1」の暗号データに変換することにより、平文が0か否かを判定するための処理である。
なお、Equal−to−Zeroプロトコルは、通信量が多い処理であるため、グループの数(分割数)が多いほど、プロトコルの実行回数が増えて効率が低下する。
一方、グループの数(分割数)を少なくし、グループの要素数を多くすると、乗法準同型による乗算の回数が増えるため、somewhat準同型暗号の乗算可能回数を増やすために処理負荷が増大する。
具体的には、前述のように、数値xをポイントエンコーディングした結果と、レンジ[y,2n]をレンジエンコーディングした結果とは、x≧yであれば一つのノードのみが一致し、x<yであればいずれのノードも一致しないことから、ゼロ比較処理部28の処理結果は、x≧yのときに限り「0」の暗号データが一つだけ存在し、この他は「1」の暗号データとなる。
あるいは、ゼロ比較処理部28の処理結果の平文(0又は1)の総和と、「グループ数−1」との差は、x≧yのときに限り「0」となり、x<yのときは「1」となり、この「0」又は「1」の暗号データが出力される。
あるいは、somewhat準同型暗号は、例えばユーザによって入力されたグループに分割する際の設定数(グループの要素数)に基づいて、乗算可能回数が異なる複数の暗号方式から選択されてもよい。
この例では、図2及び図3の二分木を用いて、二値の大小比較を行っている。
なお、図中のノード及び演算結果の数値は、平文で記述しているが、somewhat準同型暗号により、暗号化されたまま演算される。
そこで、これらの演算値の総和(0+1)から「グループ数−1」(2−1)を減算すると「0」となり、二値の大小関係が「6≧4」であることを示す「0」の暗号データが出力される。
この計算方法を実行する端末Aと端末Bとは、それぞれx,y(≦2n)の値を持ち、互いにx,yに関する情報を渡すことなくx,yの大小比較を実施する。
このとき、端末A及び端末Bの共通パラメータとして、somewhat準同型暗号の乗算可能回数l、ビットサイズnが入力される。
ステップS2において、端末Aは、秘密鍵skに対応する公開鍵pkを生成し端末Bと共有する。
ステップS4において、端末Bは、数値yに対してレンジエンコーディングrangeEnc([y,2n])を実行する。
ステップS5において、端末Bは、ノードの数がnとなるまでダミーノードを追加する。
ステップS8において、端末Aは、端末Bに暗号化したノードの集合を送信する。
ステップS11において、端末Bは、乗法準同型性を利用してグループ毎に、E(R1×・・・×Rl)=E(Q1),E(Rl+1×・・・×R2l)=E(Q2),・・・,E(Rn−l+1×・・・×Rn)=E(Qn/l)を計算する。
ここで、Equal−to−Zeroプロトコルは通信回数が多いため、処理を効率化するにはlを大きくしてグループを少なくしたいが、一方で乗算可能回数が増えるにつれて、暗号化に関する計算(暗号化、復号、暗号化した状態での計算等)に掛かる時間が増大する。したがって、lを調整することで、Equal−to−Zeroプロトコルの実行回数と乗算可能回数との調整が可能となる。
非特許文献2に記載された技術を用いることにより、端末BがE(x)及びE(y)を暗号文として持つ初期状態から、端末A及び端末Bがそれぞれ平文を持つ状態へと変換できる。
この場合、端末Bが持つshareを一度暗号化して端末Aに送り、端末Aは、E(x)=E(xA+xB)及びE(y)=E(yA+yB)を端末Bに送り返す。これにより、端末Bがx,yの暗号文を持つ状態となるため、(1)の手法を用いて変換できる。
10 記憶部
20 制御部
21 鍵共有部
22 ポイントエンコーディング部
23 レンジエンコーディング部
24 ノード追加部
25 暗号化部
26 加法演算部
27 乗法演算部
28 ゼロ比較処理部
29 出力部
Claims (6)
- 第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準同型暗号は、乗算可能回数が異なる複数の暗号方式から選択され、
前記乗法演算部は、前記乗算可能回数に基づいて、分割する際の前記設定数を決定する請求項1に記載の計算システム。 - 前記somewhat準同型暗号は、前記グループに分割する際の前記設定数に基づいて、乗算可能回数が異なる複数の暗号方式から選択される請求項1に記載の計算システム。
- 前記二分木におけるノードの値は、階層情報を含む整数値である請求項1から請求項3のいずれかに記載の計算システム。
- 第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から請求項4のいずれかに記載の計算システムにおける前記第1の端末又は前記第2の端末としてコンピュータを機能させるための計算プログラム。
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 JP2019040047A (ja) | 2019-03-14 |
JP6775231B2 true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115361680B (zh) * | 2022-10-20 | 2023-02-17 | 华信咨询设计研究院有限公司 | 医保数据智能共享交换系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6384149B2 (ja) * | 2014-07-01 | 2018-09-05 | 日本放送協会 | 鍵生成装置、暗号化装置、復号装置およびそれらのプログラム、ならびに、個人情報保護システム |
JP6381128B2 (ja) * | 2015-02-05 | 2018-08-29 | 国立研究開発法人産業技術総合研究所 | 検索システム、クライアント、サーバ、検索プログラムおよび検索方法 |
-
2017
- 2017-08-24 JP JP2017161658A patent/JP6775231B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019040047A (ja) | 2019-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110008717B (zh) | 支持隐私保护的决策树分类服务系统及方法 | |
Liu et al. | An efficient privacy-preserving outsourced calculation toolkit with multiple keys | |
JP6934963B2 (ja) | データを暗号化する方法およびシステム | |
WO2014007310A1 (ja) | 秘密分散システム、データ分散装置、分散データ変換装置、秘密分散方法、およびプログラム | |
JP5657128B2 (ja) | 秘匿計算システム、秘匿計算方法、および秘匿計算プログラム | |
US10880100B2 (en) | Apparatus and method for certificate enrollment | |
Jayapandian et al. | Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption | |
CN110235409A (zh) | 使用同态加密被保护的rsa签名或解密的方法 | |
EP3718250A1 (en) | Cryptography device having secure provision of random number sequences | |
Narayan et al. | Multiterminal secrecy by public discussion | |
CN111639345B (zh) | 基于同态加密的安全的多方云计算的方法和系统 | |
Kuchta et al. | Multi-authority distributed attribute-based encryption with application to searchable encryption on lattices | |
US20210157955A1 (en) | Bit decomposition secure computation apparatus, bit combining secure computation apparatus, method and program | |
Zhao et al. | Quantum-safe HIBE: does it cost a Latte? | |
JP6775231B2 (ja) | 計算システム、計算方法及び計算プログラム | |
Grover et al. | A framework for cloud data security | |
US10116439B2 (en) | Encrypted data computation system, device, and program | |
Klemsa et al. | Wtfhe: neural-network-ready torus fully homomorphic encryption | |
WO2019111319A1 (ja) | 秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム記録媒体 | |
Backes et al. | Fully secure inner-product proxy re-encryption with constant size ciphertext | |
CN106712929A (zh) | 一种大数据的加密方法 | |
El Bansarkhani | LARA: a design concept for lattice-based encryption | |
Liu et al. | Proofs of encrypted data retrievability with probabilistic and homomorphic message authenticators | |
Kiviharju et al. | Tactical cac profile for nato olp? performance estimations for nato olp cryptographic evolution stage | |
Ke et al. | Reversible data hiding in encrypted domain with public key embedding mechanism |
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 |