JP6952337B2 - 暗号化システム - Google Patents

暗号化システム Download PDF

Info

Publication number
JP6952337B2
JP6952337B2 JP2017228792A JP2017228792A JP6952337B2 JP 6952337 B2 JP6952337 B2 JP 6952337B2 JP 2017228792 A JP2017228792 A JP 2017228792A JP 2017228792 A JP2017228792 A JP 2017228792A JP 6952337 B2 JP6952337 B2 JP 6952337B2
Authority
JP
Japan
Prior art keywords
inner product
indicates
value
equation
ciphertext
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
Application number
JP2017228792A
Other languages
English (en)
Other versions
JP2019101083A (ja
Inventor
立華 王
立華 王
良範 青野
良範 青野
チュウ フォン レ
チュウ フォン レ
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 Information and Communications Technology
Original Assignee
National Institute of Information and Communications Technology
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 Information and Communications Technology filed Critical National Institute of Information and Communications Technology
Priority to JP2017228792A priority Critical patent/JP6952337B2/ja
Publication of JP2019101083A publication Critical patent/JP2019101083A/ja
Application granted granted Critical
Publication of JP6952337B2 publication Critical patent/JP6952337B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、多項式の演算が可能な準同型暗号方式を用いた暗号化システムに関するものである。
従来、統計計算や機械学習の分野において、最も基本的で有用な操作の1つとして、行列乗算が挙げられる。行列乗算は、例えばクラウドサーバ等の必ずしも安全ではない環境において、機密情報を含むデータの解析を行う必要がある場合に用いられる。特に、データの解析を委託する際、情報漏洩を防止するために、準同型暗号が注目を集めている。
準同型暗号とは、データを暗号化した状態で計算できる技術である。例えば、加法と乗法とが計算できる公開鍵準同型暗号(Somewhat PHE)であれば、暗号化前の平文に対応する行列の各項目が暗号化されたセキュアな行列乗算の自明な構成ができる。準同型暗号方式を用いた技術として、例えば特許文献1、非特許文献1、及び非特許文献2等が開示されている。
特許文献1では、c1=e1A+pe2、c2=e1P+pe3+mに従い、クライアントの公開鍵(A,P,n,s)で暗号化された、ベクトル形式を有する暗号データc=(c1,c2)を複数記憶保持し、クライアントから、複数の暗号データのうちの2つの暗号データc、c’に対応する2つの平文データについて内積を求めるべき情報がもたらされたときに該情報を受け付け、この情報に基づいて、n行n列の正方行列W1=c1T1、n行l列の行列W2=c1T2+c1 T2’、およびスカラーξ=c22 Tを算出し、正方行列W1、行列W2、およびスカラーξをクライアントに提供する旨の技術が開示されている。
非特許文献1では、効率の良いセキュアな行列乗算が提案されている。非特許文献1では、既存のセキュアな内積演算のためのパッキング方法(非特許文献3)を拡張し、非特許文献4により提案されたBV-PHEというRing-LWEベース準同型暗号に基づく行列演算が開示されている。
非特許文献2では、行列のトレースの性質を用いて、準同型内積演算の一般的構成法が開示されている。
特開2017−97102号公報
Dung, D. H., Mishra, P. K., Yasuda, M.: Efficient secure matrix multiplication over LWE-based homomorphic encryption. In: Tatra Mt. Math. Publ. vol. 67, pp. 69-83 (2016) 林 卓也,青野 良範,レ チュウ フォン,王 立華,"効率的な準同型内積演算の一般的構成"SCIS2017, Jan. 2017 Yasuda, M., Shimoyama,T., Kogure, J., Yokoyama, K., Koshiba, T.: Secure statistical analysis using RLWE-based homomorphic encryption. In: Foo, E., Stebila, D. (eds.) ACISP 2015. LNCS, vol. 9144, pp. 471-487. Springer, Cham (2015) Brakerski, Z., Vaikuntanathan, V.: Fully homomorphic encryption from ring-LWE and security for key dependent messages. In: P. Rogaway (Ed.) CRYPTO 2011.LNCS, vol. 6841, pp. 505-524. Springer, Heidelberg (2011)
しかしながら、上述した開示技術では、パッキング法を用いる回数が多い点や、暗号文の復号時における計算量が多い点等に起因する計算効率の悪さが課題として挙げられている。
そこで本発明は、上述した問題点に鑑みて案出されたものであり、その目的とするところは、計算効率の向上を図ることができる暗号化システムを提供することにある。
本発明者らは、上述した問題点を解決するために、多項式の演算が可能な準同型暗号方式を用い、鍵生成手段と、導出手段と、暗号文算出手段と、内積手段と、復号文算出手段とを備える暗号化システムを発明した。鍵生成手段は、平文に対応する暗号文の算出に用いる暗号化鍵と、暗号文に対応する復号文の算出に用いる復号鍵とを生成する。導出手段は、m行k列で示される第1平文から第1要素、及びk行l列で示される第2平文から第2要素をそれぞれ導出する。暗号文算出手段は、第1要素から第1暗号文、及び第2要素から第2暗号文をそれぞれ算出する。内積手段は、第1暗号文と、第2暗号文との内積を演算し、第1内積値、第2内積値、第3内積値、及び第4内積値を取得する。復号文算出手段は、第1内積値、第2内積値、第3内積値、及び第4内積値から復号文を算出する。復号文は、第1平文と第2平文との行列乗算の結果を含む。
請求項1に記載の暗号化システムは、多項式の演算が可能な準同型暗号方式を用いた暗号化システムであって、平文に対応する暗号文の算出に用いる暗号化鍵と、前記暗号文に対応する復号文の算出に用いる復号鍵とを生成する鍵生成手段と、下記の[数1]に基づき、m行k列で示される第1平文から第1要素、及びk行l列で示される第2平文から第2要素をそれぞれ導出する導出手段と、下記の[数2]に示す暗号化アルゴリズムを用いて、前記第1要素から第1暗号文、及び前記第2要素から第2暗号文をそれぞれ算出する暗号文算出手段と、前記第1暗号文と、前記第2暗号文との内積を演算し、下記の[数3]に示す第1内積値、第2内積値、第3内積値、及び第4内積値を取得する内積手段と、下記の[数4]に示す復号アルゴリズムを用いて、前記第1内積値、前記第2内積値、前記第3内積値、及び前記第4内積値から前記復号文を算出する復号文算出手段と、を備え、前記復号文は、下記の[数5]に基づく前記第1平文と前記第2平文との行列乗算の結果を含むことを特徴とする。
Figure 0006952337
ここで、左辺M(ハット)は、前記第1要素又は前記第2要素を示し、Mβ (r)は前記第1平文又は前記第2平文のβ行に対応するベクトルを示し、Mβ (c)は前記第1平文又は前記第2平文のβ列に対応するベクトルを示し、値βは値m、値k、及び値lのうち最大の値と等しく、値xは変数を示し、変数ベクトルXは下記の[数6]で示される。
Figure 0006952337
ここで、Encは、前記暗号化鍵(pk)を用いる前記暗号化アルゴリズムを示し、A(ハット)は、前記第1要素を示し、B(ハット)は、前記第2要素を示し、1及びcは、前記第1暗号文の暗号文要素を示し、d及びdは、前記第2暗号文の暗号文要素を示し、Rqは暗号文空間を示す。
Figure 0006952337
ここで、ipは前記第1暗号文と、前記第2暗号文との内積演算の結果を示し、は前記第1内積値を示し、W21は前記第2内積値を示し、W22は前記第3内積値を示し、ξは前記第4内積値を示し、qは素数を示し、Zqは暗号文空間の集合を示す。
Figure 0006952337
ここで、DecIPは前記復号鍵(S)を用いた前記復号アルゴリズムを示し、S=SSは内積算出対応復号鍵を示し、nは正の整数を示し、w、u、及びvはそれぞれ係数を示す。
Figure 0006952337
ここで、mijは前記復号文に含まれる要素を示し、pは前記素数qよりも小さい素数を示し、Vecは下記の[数7]で示される係数ベクトルを示す。
Figure 0006952337
Figure 0006952337
ここで、Rは平文空間を示す。
請求項2に記載の暗号化システムは、請求項1記載の暗号化システムにおいて、前記値βは、下記の[数8]で示す条件を満たすことを特徴とする。
Figure 0006952337
請求項3に記載の暗号化システムは、請求項1又は請求項2記載の暗号化システムにおいて、前記内積手段は、下記の[数9]及び[数10]に基づき、前記第1内積値、前記第2内積値、前記第3内積値、及び前記第4内積値を取得することを特徴とする。
Figure 0006952337
Figure 0006952337
ここで、W2は前記第2内積値W21及び前記第3内積値W22を含む内積値示す。
請求項4に記載の暗号化システムは、請求項3記載の暗号化システムにおいて、前記復号文算出手段は、下記の[数11]及び前記[数5]に基づき、前記復号文を算出することを特徴とする。
Figure 0006952337
請求項5に記載の暗号化システムは、請求項1〜請求項4の何れか記載の暗号化システムにおいて、前記値kは、前記値m及び前記値lとは異なる値であることを特徴とする。
上述した構成からなる本発明によれば、導出手段は、[数1]に基づき、第1平文から第1要素、及び第2平文から第2要素をそれぞれ導出する。このため、1つの平文に対して導出される要素を1つに抑制することができ、暗号文算出手段における算出回数を最小限に抑えることができる。これにより、計算効率の向上を図ることが可能となる。また、計算量及びデータ通信量を低減させることが可能となる。
また、上述した構成からなる本発明によれば、内積手段は、[数3]に示す第1内積値〜第4内積値を取得し、復号文算出手段は、[数4]に示す復号アルゴリズムを用いて、復号文を算出する。このとき、復号文は、[数5]に基づく第1平文と第2平文との行列乗算の結果を含む。このため、1回の復号計算により第1平文と第2平文との行列乗算の結果を取得することができる。これにより、計算効率の向上を図ることが可能となる。
また、上述した構成からなる本発明によれば、例えば値kは、値m及び値lとは異なる値である。このため、各平文が長方行列の場合においても、正方行列の場合と同様に処理を実行することができる。これにより、平文の自由度を大幅に拡大することが可能となる。
本発明が適用される暗号化システムの一例を示す模式図である。 本発明が適用される暗号化システムの動作の一例を示すフローチャートである。 本発明が適用される暗号化システムに用いることができるアルゴリズムの一例を示す図である。 分析者端末等の構成の一例を示す模式図である。
(実施形態:暗号化システム100の構成)
以下、本発明の実施形態としての暗号化システム100について詳細に説明する。図1は、本実施形態における暗号化システム100の一例を示す模式図である。
暗号化システム100は、多項式の演算が可能な準同型暗号方式を用いており、主に秘匿性の高いデータを扱う場合に用いられる。図1に示すように、暗号化システム100は、分析者端末10と、サーバ20と、プロバイダ端末30とを備え、それぞれ公衆通信網40を介して接続される。
暗号化システム100では、例えばプロバイダ端末30が平文に対応する暗号文を取得する。その後、サーバ20が準同型暗号方式を用いて、暗号文に対して統計処理を行う。そして、分析者端末10が、演算処理の結果から平文に対応する復号文を算出する。
このため、平文が秘匿性の高いデータを含む場合、データの内容を外部に漏らすことなくプロバイダ端末30から分析者端末10へと送ることができる。
上記に加え、データの内容を暗号化した状態で統計処理を行うことができる。これにより、統計処理を外部に委託した場合においても、情報漏洩等の発生を防止することが可能となる。
暗号化システム100では、任意の行列で示される平文から、多項式で示される要素を導出し(パッキング方法)、要素から暗号文が算出される。また、2つの暗号文における内積を演算して取得された内積値から、復号文が算出される。
暗号文は、暗号化アルゴリズムを用いて算出され、復号文は、復号アルゴリズムを用いて算出される。暗号化アルゴリズムに用いられる暗号化鍵、及び復号アルゴリズムに用いられる復号鍵は、分析者端末10で生成される。暗号化鍵は、生成された後に公開され、プロバイダ端末30等で用いることができる。復号鍵は、生成された後、公開せず分析者端末10に記憶される。
このとき、分析者端末10は、例えば内積準同型方式を用いて演算処理した結果のみから復号文に算出可能となり、プロバイダ端末30から直接暗号文を取得できない状態で用いられる。例えば図1に示すように、分析者端末10とプロバイダ端末30とが異なる公衆通信網40a、40bに接続されてもよい。
<分析者端末10>
分析者端末10は、例えば暗号化システム100の管理者等が保有する端末を示す。分析者端末10は、生成部11と、復号文算出部12と、記憶部13と、通信インターフェース14とを有する。
生成部11は、暗号化システム100に用いられる各種情報を生成する。生成部11は、例えばパラメータ生成部11aと、鍵生成部11bとを有する。パラメータ生成部11aは、暗号化鍵及び復号鍵を生成するために必要となるパラメータを生成する。鍵生成部11bは、平文に対応する暗号文の算出に用いられる暗号化鍵と、暗号文から平文に対応する復号文の算出に用いられる復号鍵とを生成する。復号文算出部12は、復号アルゴリズムを用いて、内積値から復号文を算出する。このとき、復号文は、2つの平文の行列乗算の結果を含む。
記憶部13は、暗号化鍵や復号鍵等の各種情報を記憶する。通信インターフェース14は、公衆通信網40と接続され、外部と各種情報を送受信する。
<サーバ20>
サーバ20は、例えばクラウドサーバのように、管理者等に代わって各種情報の記憶や統計処理を行う第三者機関(業務委託先等)が保有するサーバを示す。サーバ20は、内積部21と、記憶部22と、通信インターフェース23とを有する。
内積部21は、2つの暗号文における内積を演算し、内積値を取得する。記憶部22は、暗号文や内積等の各種情報を記憶する。通信インターフェース23は、公衆通信網40と接続され、外部と各種情報を送受信する。
<プロバイダ端末30>
プロバイダ端末30は、例えば秘匿性の高いデータを扱うプロバイダが保有する端末を示す。プロバイダ端末30は、導出部31と、暗号文算出部32と、記憶部33と、通信インターフェース34とを有する。なお、プロバイダ端末30は、図1では2つ(30a、30b)接続されているが、接続される数は任意である。
導出部31は、平文から要素を導出する。暗号文算出部32は、暗号化アルゴリズムを用いて、要素から暗号文を算出する。記憶部33は、平文、要素や暗号文等の各種情報を記憶する。通信インターフェース34は、公衆通信網40と接続され、外部と各種情報を送受信する。
(実施形態:暗号化システム100の動作)
次に、本実施形態における暗号化システム100の動作について詳細に説明する。図2は、本実施形態における暗号化システム100の動作の一例を示すフローチャートである。
暗号化システム100の動作は、鍵生成手段S110と、導出手段S120と、暗号文算出手段S130と、内積手段S140と、復号文算出手段S150とを有する。各手段は、下記の[数12]〜[数14]、[数16]、[数18]及び図3の3a、3bに示すアルゴリズム(The Ring-LWE-based LNV scheme)を適宜用いてもよい。
<鍵生成手段:S110>
先ず、平文に対応する暗号文の算出に用いる暗号化鍵と、暗号文に対応する復号文の算出に用いる復号鍵とを生成する(鍵生成手段S110)。鍵生成手段S110は、例えば第1ステップS110aと、第2ステップS110bとを有する。
第1ステップS110aは、暗号化鍵及び復号鍵を生成するために必要となるパラメータを生成する。パラメータ生成部11aは、下記の[数12]に示すパラメータ生成アルゴリズム(ParamGen(1λ)→pp)に基づき、パラメータpp=(q、n、p)を生成する。パラメータ生成部11aは、素数q、素数qよりも小さい素数p、及び正の整数nを生成する。
Figure 0006952337
ここで、Z+は正の整数の集合を示し、λはセキュリティパラメータを示す。
このとき、パラメータ生成部11aは、下記の[数13]に基づきパラメータを設定する。
Figure 0006952337
ここで、Rは多項式環を示し、Rpは平文空間を示し、Rqは暗号文空間を示す。
(0s 2 )は、中心0、分散s2>0の整数上の離散ガウス分布を示し、R(0s 2 )は多項式環Rの各係数を離散ガウス分布Z(0s 2 )から独立に抽出した環上の離散ガウス分布を示す。
その後、第2ステップS110bは、暗号化鍵及び復号鍵を生成する。鍵生成部11bは、下記の[数14]に示す鍵生成アルゴリズム(KeyGen(1λ、pp)→(pk、sk))に基づき、暗号化鍵pk=(a、P)、及び復号鍵sk=Sを生成する。鍵生成部11bは、環上の離散ガウス分布R(0s 2 )から抽出した値r及び値S、並びに暗号文空間Rqから一様ランダム抽出した値aを生成する。
Figure 0006952337
ここで、R+は正の実数の集合を示す。
その後、例えばプロバイダ端末30は、例えば各通信インターフェース14、34を介して、暗号化鍵pkを取得する。
<導出手段:S120>
次に、下記の[数1]に基づき、平文から要素を導出する(導出手段S120)。プロバイダ端末30の導出部31は、m行k列で示される第1平文から第1要素、及びk行l列で示される第2平文をそれぞれ導出する。なお、第1平文及び第2平文は、それぞれ下記の[数15]で示す行列として導出部31によって生成又は取得される。
Figure 0006952337
ここで、左辺M(ハット)は、各要素(第1要素、第2要素)を示し、Mβ (r)は各平文(第1平文、第2平文)のβ行に対応するベクトルを示し、Mβ (c)は各平文のβ列に対応するベクトルを示し、値βは値m、値k、及び値lのうち最大の値と等しく、値xは変数を示し、変数ベクトルXは下記の[数6]で示される。すなわち、各要素は、多項式を含むスカラー量で示される。
Figure 0006952337
Figure 0006952337
ここで、Zpは平文空間の集合を示す。
このとき、例えば値βは、下記の[数8]に示す条件を満たしてもよい。この場合、第1要素及び第2要素を示す多項式の項数を所定の数に抑えることができる。
Figure 0006952337
また、値kは、値m及び値lと同じ値であるほか、例えば値m及び値lとは異なる値でもよい。すなわち、各平文が長方行列の場合においても、平行行列の場合と同様に処理を実行することができる。なお、値mは、値lと同じ値であるほか、例えば値lと異なる値でもよい。
<暗号文算出手段:S130>
次に、下記の[数2]に示す暗号化アルゴリズムを用いて、要素から暗号文を算出する(暗号文算出手段S130)。暗号文算出部32は、第1要素から第1暗号文、及び第2要素から第2暗号文をそれぞれ算出する。
Figure 0006952337
ここで、Encは、暗号化鍵pkを用いる暗号化アルゴリズムを示し、c1及びc2は、第1暗号文の暗号文要素を示し、d1及びd2は、第2暗号文の暗号文要素を示し、Rqは暗号文空間を示す。
なお、例えば下記の[数16]に示すアルゴリズムに基づき、暗号化アルゴリズムが用いられる。暗号文算出部32は、環上の離散ガウス分布R(0s 2 )から抽出したノイズe1、e2、e3を生成する。
Figure 0006952337
ここで、meは平文から算出された各要素(第1要素、第2要素)を示す。
<内積手段:S140>
次に、2つの暗号文における内積を演算し、内積値を取得する(内積手段S140)。サーバ20の内積部21は、各通信インターフェース23、34を介して、第1暗号文及び第2暗号文を取得する。内積部21は、第1暗号文と、第2暗号文との内積を演算し、下記の[数3]に示す第1内積値〜第4内積値を取得する。
Figure 0006952337
ここで、W1は第1内積値を示し、W21は第2内積値を示し、W22は第3内積値を示し、ξは第4内積値を示し、Zqは暗号文空間の集合を示す。
内積部21は、例えば下記の[数9]及び[数10]に基づき、第1内積値〜第4内積値を取得する。
Figure 0006952337
Figure 0006952337
ここで、W2は第2内積値W21及び第3内積値W22を含む内積値示す。
なお、内積部21は、内積の演算において下記の[数17](係数転置変換性質)を用いて第1内積値〜第4内積値を取得する。
Figure 0006952337
例えば内積部21は、第1暗号文と、第2暗号文との内積を演算する前に、図3に示したアルゴリズムを用いて、各暗号文同士の加算等を演算してもよい。
例えば、[数1]及び[数2]を用いて暗号化された同じサイズ(m行m列)の第1暗号文c及び第2暗号文c’に対して、3a枠に示す加算アルゴリズムAdd(c,c’)に基づきcadd=c+c’を計算できる。この場合、分析者端末10の復号文算出部12において、3b枠に示す復号アルゴリズムDecA(S,cadd)=Dec(S,cadd)に基づきm+m’を計算できる。更に、3a枠に示す加算アルゴリズムの出力を用いた後、[数3]、並びに後述する[数4]及び[数5]を用いることで、第1平文Aと第2平文Bに対して(A+B)2を計算することもできる。
<復号文算出手段:S150>
次に、第1内積値〜第4内積値から復号文を算出する(復号文算出手段S150)。分析者端末10の復号文算出部12は、各通信インターフェース14、23を介して、第1内積値〜第4内積値を取得する。復号文算出部12は、下記の[数4]に示す復号アルゴリズムを用いて、第1内積値〜第4内積値から復号文を算出する。
Figure 0006952337
ここで、DecIP*は復号鍵Sを用いた復号アルゴリズムを示し、S*=SSTは内積算出対応復号鍵を示し、値wk、値uk、及び値vkはそれぞれ係数を示す。
復号文算出部12は、例えば下記の[数11]に基づき、復号文を算出する。このとき、復号文算出部12は、[数17]を用いて復号文を算出する。
Figure 0006952337
なお、例えば下記の[数18]に示すアルゴリズムに基づき、復号アルゴリズムが用いられる。
Figure 0006952337
ここで、mは復号文を示す。ここで、復号文mに含まれる要素mijは、下記の[数5]で示すように、第1平文及び第2平文の行列要素を用いて表すことができる。すなわち、[数5]は[数11]と等しい値を示し、復号文mは第1平文と第2平文との行列乗算の結果を含む。なお、復号文mとして、例えば要素mijを行列要素とした行列が用いられるほか、例えばスカラー量が用いられてもよい。
Figure 0006952337
ここで、Vecは下記の[数7]で示される係数ベクトルを示す。
Figure 0006952337
上述した動作を実施することで、本実施形態における暗号化システム100の動作は終了する。なお、上述した導出手段S120では、1つのプロバイダ端末30を用いて第1要素及び第2要素が導出されるほか、例えば第1プロバイダ端末30aを用いて第1要素、及び第2プロバイダ端末30bを用いて第2要素が導出されてもよい。
次に、本実施形態における分析者端末10の構成の一例を説明する。なお、サーバ20及びプロバイダ端末30においても、分析者端末10と同様の構成を備えることができるため、説明を省略する。
図4は、分析者端末10の構成の一例を示す模式図である。分析者端末10として、パーソナルコンピュータ(PC)等の電子機器が用いられるほか、例えばウェブサーバ等により具現化されてもよい。分析者端末10は、と、CPU101と、ROM102と、RAM103と、保存部104と、I/F105〜107とを備える。各構成101〜107は、内部バス110により接続され、筐体111内に格納される。
CPU(Central Processing Unit)101は、分析者端末10全体を制御する。ROM(Read Only Memory)102は、CPU101の動作コードを格納する。RAM(Random Access Memory)103は、CPU101の動作時に使用される作業領域である。保存部104は、記憶部13を介して各種情報が保存される。保存部104としてデータ保存装置が用いられ、例えばHDD(Hard Disk Drive)、SSD(solid state drive)等が用いられる。
I/F105は、公衆通信網40等と接続するためのインターフェース部品であり、例えばI/F105を介してサーバ20等との各種情報の送受信が行われる。
I/F106は、入力部分108との情報の送受信を行うためのインターフェース部品である。入力部分108として、例えばキーボードが用いられ、分析者端末10の利用者等は、入力部分108を介して、各種情報又は分析者端末10の制御コマンド等を入力できる。I/F107は、出力部分109との各種情報の送受信を行うためのインターフェース部品である。出力部分109は、保存部104に保存された各種情報、又は分析者端末10の処理状況等を出力できる。出力部分109として、例えばディスプレイが用いられる。なお、生成部11、復号文算出部12、記憶部13、及び通信インターフェース14は、CPU101が、RAM103を作業領域として、保存部104等に保存されたプログラム(命令)を実行することにより実現される。
本実施形態によれば、導出手段S120は、[数1]に基づき、第1平文から第1要素、及び第2平文から第2要素をそれぞれ導出する。このため、1つの平文に対して導出される要素を1つに抑制することができ、暗号文算出手段S130における算出回数を最小限に抑えることができる。これにより、計算効率の向上を図ることが可能となる。また、計算量及びデータ通信量を低減させることが可能となる。
また、本実施形態によれば、内積手段S140は、[数3]に示す第1内積値〜第4内積値を取得し、復号文算出手段S150は、[数4]に示す復号アルゴリズムを用いて、復号文を算出する。このとき、復号文は、[数5]に基づく第1平文と第2平文との行列乗算の結果を含む。このため、1回の復号計算により第1平文と第2平文との行列乗算の結果を取得することができる。これにより、計算効率の向上を図ることが可能となる。
また、本実施形態によれば、例えば値kは、値m及び値lとは異なる値でもよい。このとき、各平文が長方行列の場合においても、正方行列の場合と同様に処理を実行することができる。これにより、平文の自由度(柔軟性)を向上させることが可能となる。
また、本実施形態によれば、例えば第1平文Aと第2平文Bとの乗算ABに加え、乗算BAが必要なときにおいても、第1平文A及び第2平文Bに対してそれぞれ1通りのパッキング方法により上述した計算を実現することが可能となる。これにより、乗算AB及び乗算BAを演算するときのコストを削減することが可能となる。
例えば、下記の[数19]で示すm行k列の第1平文A及びk行m列の第2平文Bで示される場合、[数1]、[数2]、[数3]、下記の[数20]、下記の[数21]を用いて復号文を算出できる。この結果は、下記の[数22]乗算ABm×m、及び乗算BAk×kに対応するため、乗算AB及び乗算BAを1回復号で計算できることが示される。
Figure 0006952337
Figure 0006952337
Figure 0006952337
ここで、ηkは係数を示し、第1内積値W1、第2内積値W21、第3内積値W22は[数3]の値が用いられ、第4内積値ξは[数20]の値が用いられる。
Figure 0006952337
上記より、第1平文Aの列と第2平文Bの行、及び第1平文Bの行と第2平文の列とが等しいとき、[数3]に示したξを簡易に示すことができ、[数4]よりも係数の少ない[数21]に示す復号アルゴリズムを用いることができる。
また、本実施形態によれば、例えばm行k列の第1平文A、k行l列の第2平文B、及びl行m列の第3平文Cを用いた場合、乗算ABと乗算CAとの演算が必要なときにおいても、第1平文Aに対して1通りのパッキング方法により上述した計算を実現することが可能となる。
また、本実施形態によれば、プライバシー保護、PCA(主成分分析)計算、データの次元圧縮等への応用を実現することが可能となる。
10 :分析者端末
11 :生成部
11a :パラメータ生成部
11b :鍵生成部
12 :復号文算出部
13 :記憶部
14 :通信インターフェース
20 :サーバ
21 :内積部
22 :記憶部
23 :通信インターフェース
30 :プロバイダ端末
31 :導出部
32 :暗号文算出部
33 :記憶部
34 :通信インターフェース
40 :公衆通信網
100 :暗号化システム
101 :CPU
102 :ROM
103 :RAM
104 :保存部
105 :I/F
106 :I/F
107 :I/F
108 :入力部分
109 :出力部分
110 :内部バス
111 :筐体
S110 :鍵生成手段
S110a :第1ステップ
S110b :第2ステップ
S120 :導出手段
S130 :暗号文算出手段
S140 :内積手段
S150 :復号文算出手段

Claims (5)

  1. 多項式の演算が可能な準同型暗号方式を用いた暗号化システムであって、
    平文に対応する暗号文の算出に用いる暗号化鍵と、前記暗号文に対応する復号文の算出に用いる復号鍵とを生成する鍵生成手段と、
    下記の[数1]に基づき、m行k列で示される第1平文から第1要素、及びk行l列で示される第2平文から第2要素をそれぞれ導出する導出手段と、
    下記の[数2]に示す暗号化アルゴリズムを用いて、前記第1要素から第1暗号文、及び前記第2要素から第2暗号文をそれぞれ算出する暗号文算出手段と、
    前記第1暗号文と、前記第2暗号文との内積を演算し、下記の[数3]に示す第1内積値、第2内積値、第3内積値、及び第4内積値を取得する内積手段と、
    下記の[数4]に示す復号アルゴリズムを用いて、前記第1内積値、前記第2内積値、前記第3内積値、及び前記第4内積値から前記復号文を算出する復号文算出手段と、
    を備え、
    前記復号文は、下記の[数5]に基づく前記第1平文と前記第2平文との行列乗算の結果を含むこと
    を特徴とする暗号化システム。
    Figure 0006952337
    ここで、左辺M(ハット)は、前記第1要素又は前記第2要素を示し、Mβ (r)は前記第1平文又は前記第2平文のβ行に対応するベクトルを示し、Mβ (c)は前記第1平文又は前記第2平文のβ列に対応するベクトルを示し、値βは値m、値k、及び値lのうち最大の値と等しく、値xは変数を示し、変数ベクトルXは下記の[数6]で示される。
    Figure 0006952337
    ここで、Encは、前記暗号化鍵(pk)を用いる前記暗号化アルゴリズムを示し、A(ハット)は、前記第1要素を示し、B(ハット)は、前記第2要素を示し、1及びcは、前記第1暗号文の暗号文要素を示し、d及びdは、前記第2暗号文の暗号文要素を示し、Rqは暗号文空間を示す。
    Figure 0006952337
    ここで、ipは前記第1暗号文と、前記第2暗号文との内積演算の結果を示し、は前記第1内積値を示し、W21は前記第2内積値を示し、W22は前記第3内積値を示し、ξは前記第4内積値を示し、qは素数を示し、Zqは暗号文空間の集合を示す。
    Figure 0006952337
    ここで、DecIPは前記復号鍵(S)を用いた前記復号アルゴリズムを示し、S=SSは内積算出対応復号鍵を示し、nは正の整数を示し、w、u、及びvはそれぞれ係数を示す。
    Figure 0006952337
    ここで、mijは前記復号文に含まれる要素を示し、pは前記素数qよりも小さい素数を示し、Vecは下記の[数7]で示される係数ベクトルを示す。
    Figure 0006952337
    Figure 0006952337
    ここで、Rは平文空間を示す。
  2. 前記値βは、下記の[数8]で示す条件を満たすこと
    を特徴とする請求項1記載の暗号化システム。
    Figure 0006952337
  3. 前記内積手段は、下記の[数9]及び[数10]に基づき、前記第1内積値、前記第2内積値、前記第3内積値、及び前記第4内積値を取得すること
    を特徴とする請求項1又は2記載の暗号化システム。
    Figure 0006952337
    Figure 0006952337
    ここで、Wは前記第2内積値W21及び前記第3内積値W22を含む内積値示す。
  4. 前記復号文算出手段は、下記の[数11]及び前記[数5]に基づき、前記復号文を算出すること
    を特徴とする請求項3記載の暗号化システム。
    Figure 0006952337
  5. 前記値kは、前記値m及び前記値lとは異なる値であること
    を特徴とする請求項1〜4の何れか1項記載の暗号化システム。
JP2017228792A 2017-11-29 2017-11-29 暗号化システム Active JP6952337B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017228792A JP6952337B2 (ja) 2017-11-29 2017-11-29 暗号化システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017228792A JP6952337B2 (ja) 2017-11-29 2017-11-29 暗号化システム

Publications (2)

Publication Number Publication Date
JP2019101083A JP2019101083A (ja) 2019-06-24
JP6952337B2 true JP6952337B2 (ja) 2021-10-20

Family

ID=66976850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017228792A Active JP6952337B2 (ja) 2017-11-29 2017-11-29 暗号化システム

Country Status (1)

Country Link
JP (1) JP6952337B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7101430B1 (ja) 2021-10-28 2022-07-15 Eaglys株式会社 暗号処理プログラム、暗号処理方法、暗号処理装置、暗号処理システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8861716B2 (en) * 2010-03-30 2014-10-14 International Business Machines Corporation Efficient homomorphic encryption scheme for bilinear forms
JP5966877B2 (ja) * 2012-11-20 2016-08-10 富士通株式会社 復号方法、復号プログラム、復号装置、および鍵生成方法
JP6083234B2 (ja) * 2012-12-27 2017-02-22 富士通株式会社 暗号処理装置
JP2016027391A (ja) * 2014-06-25 2016-02-18 公立大学法人広島市立大学 秘匿ベクトル内積計算システム、データ処理装置、秘匿ベクトル内積計算方法、秘匿ベクトル内積プログラム、および、記録媒体

Also Published As

Publication number Publication date
JP2019101083A (ja) 2019-06-24

Similar Documents

Publication Publication Date Title
US10581812B2 (en) Device, system and method for fast and secure proxy re-encryption
EP2936731B1 (en) Managed secure computations on encrypted data
KR102251697B1 (ko) 암호화 장치, 암호화 방법 및 컴퓨터 판독가능 기록매체
JP6273951B2 (ja) 暗号化装置、暗号化方法、情報処理装置および暗号化システム
JP6459658B2 (ja) 暗号処理装置、暗号処理方法、および暗号処理プログラム
KR101600016B1 (ko) 동형 암호화 알고리즘을 이용한 암호화 방법 및 이를 수행하는 컴퓨팅 장치
US10938547B2 (en) Method and system for providing encrypted data
JP6194886B2 (ja) 暗号化統計処理システム、復号システム、鍵生成装置、プロキシ装置、暗号化統計データ生成装置、暗号化統計処理方法、および、暗号化統計処理プログラム
CN110635909B (zh) 一种基于属性的抗合谋攻击的代理重加密方法
Benzekki et al. A secure cloud computing architecture using homomorphic encryption
WO2014007296A1 (ja) 順序保存暗号化システム、暗号化装置、復号化装置、暗号化方法、復号化方法およびこれらのプログラム
US11075748B2 (en) Encryption for low-end devices through computation offloading
US10511434B2 (en) Method and encryption node for encrypting message
JP6952337B2 (ja) 暗号化システム
US10615961B2 (en) Method and encryption node for encrypting message
Sattar et al. Secured aerial photography using Homomorphic Encryption
Morales-Sandoval et al. A secure scheme for storage, retrieval, and sharing of digital documents in cloud computing using attribute-based encryption on mobile devices
JP2020056960A (ja) 復号装置、暗号システム、復号方法及び復号プログラム
Theodouli et al. Implementing private k-means clustering using a LWE-based cryptosystem
JP6093719B2 (ja) 暗号化装置、復号装置、およびプログラム
JP6643756B2 (ja) サーバ、サービス方法
Shi et al. Obfuscatable multi-recipient re-encryption for secure privacy-preserving personal health record services
JP6189788B2 (ja) 鍵生成装置、再暗号化装置、およびプログラム
US11818263B2 (en) Computing key rotation period for block cipher-based encryption schemes system and method
JP5687601B2 (ja) 画像評価方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201029

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210706

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210810

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210917

R150 Certificate of patent or registration of utility model

Ref document number: 6952337

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150