JP2013125039A - 暗号処理方法、復号処理方法、装置及びプログラム - Google Patents
暗号処理方法、復号処理方法、装置及びプログラム Download PDFInfo
- Publication number
- JP2013125039A JP2013125039A JP2011271878A JP2011271878A JP2013125039A JP 2013125039 A JP2013125039 A JP 2013125039A JP 2011271878 A JP2011271878 A JP 2011271878A JP 2011271878 A JP2011271878 A JP 2011271878A JP 2013125039 A JP2013125039 A JP 2013125039A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- attribute
- encryption
- processing
- aggregation
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 197
- 230000008569 process Effects 0.000 title claims abstract description 145
- 238000013500 data storage Methods 0.000 claims abstract description 164
- 230000002776 aggregation Effects 0.000 claims description 334
- 238000004220 aggregation Methods 0.000 claims description 334
- 238000012545 processing Methods 0.000 claims description 311
- 238000004364 calculation method Methods 0.000 claims description 90
- 238000003672 processing method Methods 0.000 claims description 41
- 239000000284 extract Substances 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 description 60
- 238000010586 diagram Methods 0.000 description 44
- 238000004891 communication Methods 0.000 description 36
- 238000000605 extraction Methods 0.000 description 15
- 238000012805 post-processing Methods 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 10
- 230000004044 response Effects 0.000 description 10
- 150000003839 salts Chemical class 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000007418 data mining Methods 0.000 description 7
- 235000013305 food Nutrition 0.000 description 7
- 239000002131 composite material Substances 0.000 description 4
- 238000013480 data collection Methods 0.000 description 4
- 238000007405 data analysis Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【解決手段】複数の属性の各々について属性値を含むデータを格納するデータ格納部に格納されている上記データについて、複数の属性のうち集計単位が予め設定されている第1の属性の属性値に応じて、集計単位を特定する処理と、特定された集計単位に応じた準同型暗号処理を、上記データに含まれる複数の属性のうち第1の属性以外の第2の属性の属性値に対して実施し、暗号化された第2の属性の属性値を、データ格納部に格納する処理を行う。
【選択図】図3
Description
本実施の形態では、図2に示すように、性別、年齢及び年収という複数の属性の属性値を含む複数のレコードが秘匿化された状態で、男性の平均年収、20代の平均年収といったように、「年収」という集計すべき属性とは異なる属性「性別」や「年齢」の集計単位(例えば「男」や「女」、「20歳代」「30歳代」など)毎に集計を行う。集計単位は、「20代男性」といったように複数の属性の属性値の組み合わせである場合もある。
(A)鍵のセットアップ
前処理として鍵のセットアップを実施する。秘密鍵sを、0<s<n−1(nは素数の法)を満たす乱数により生成する。また、秘密鍵として、集計単位の個数bに対応する素数pa(a=1,2,..,b)を生成する。
ローカル環境に、例えば図4に示すような暗号化処理装置100を設ける。暗号化処理装置100は、データ入力部101と、送信部102と、データ格納部103と、公開鍵格納部104と、元選択部105と、暗号文生成部106と、乱数生成部107とを有する。
C=gr1+r2+...rt(mod n)
D=yr1+r2+...+rtg1 M1g2 M2・・・gt Mt(mod n)
ローカル環境に、例えば図6に示すような復号化処理装置120を設ける。
Z=Vpi(mod n)
V=Z1/pi(mod n)
性別「男」及び「女」に分けて集計すればよいのであれば、2つの元g1及びg2を生成する。また、年齢を「20歳以下」「20歳超から60歳以下」「60歳超」の3つに分類し、性別を「男」及び「女」の2つに分類して、合計6つに分類する場合には、6種類の元g1乃至g6を生成して用いる。
例えば、個人の年収を1万円単位で取り扱う場合、piには32ビットの素数を設定すれば十分である。例えば、平均年収が1000万円を超えず、且つ最大登録個人数を400万とすると、年収値を1000万円/1万円は、10ビット数値として表現でき、個人の総数400万は22ビット数値なので、すべての個人年収値を合計しても、32ビットの範囲に収まる。すなわち、個人年収値の合計値の最大値として、32ビット素数を用いるのが適切である。ただし、これらの素数piは、互いに異なる値に設定するものとする。
但し、qは十分大きな素数(80ビットから128ビット)であり、kは任意の偶数である。
C=gr1+r2+...rt(mod n)
D=yr1+r2+...+rtg1 M1g2 M2・・・gt Mt(mod n)
が得られるようになる。すなわち、M=M1+M2+...Mtであり、Mが集計単位に拘わらず集計対象の属性の属性値を合計した値であり、M1は集計単位1の集計結果、M2は集計単位2の集計結果、Mtは集計単位tの集計結果である。このように集計単位に応じて元を使い分ければ、集計単位の集計結果が各元に振り分けられる。
C=gr1+r2(mod n)
D=yr1+r2g1 M1g2 M2(mod n)
ga=gp1×p2×...×p(a-1)×p(a+1)..×pt×q×k(mod n)
と設定することで、
ga pa(mod n)=gp1×p2×...×p(a-1)×pa×p(a+1)..×pt×q×k(mod n)=gn-1(mod n)=1
だからである。
n=2×p1×p2×・・・×pt×q+1
である。
すなわち、p1×p2×・・・×pt=(n−1)/2qである。(n−1)/2qのビット長は、1024−80−1=943ビットであることを考慮すると、p1×p2×・・・×ptが、943ビットの範囲に収まる必要があることを意味している。p1,...ptは、集計単位における集計結果の最大値であるが、全ての値を30ビットに設定した場合、tの最大値は31となる。すなわち、扱える属性値は、最大31とおりとなる。一般化すると、以下のように表される。
(集計結果の最大値のビット長)×(集計単位の数)≦(nのビット長)−(q,kのビット長の合計)
(A)鍵のセットアップ
秘密鍵として素数p及びqを生成し、sをp−1とq−1の最小公倍数として生成する。
ローカル環境に、例えば図8に示すような暗号化処理装置140を設ける。暗号化処理装置140は、データ入力部141と、送信部142と、データ格納部143と、公開鍵格納部144と、乱数生成部145と、シフト処理部146と、暗号文生成部147とを有する。
(1)00000000|00000001
(2)00000000|00000010
(3)00000000|00000011
(4)00000000|00000100
(5)00000001|00000100
(6)00000010|00000100
(7)00000010|00000101
ローカル環境に、例えば図10に示すような復号化処理装置160を設ける。
M=L(cs(mod n2))/L(gs(mod n2))(mod n2)
なお、L(x)=(x−1)/nという関数である。この演算は従来と同じである。
(制約1)e1<e2<・・・<et且つetはnのビット長未満であり、et+1はnのビット長である。
(制約2)et+1をnのビット長としたとき、ew+1−ewが集計単位wに対応する集計値の最大値のビット長を表す。
本実施の形態では、ElGamalベースの方法を用いて、顧客の購入履歴データを秘匿化し、集計処理を実施する。購入履歴データのデータベースでは、顧客のデータ(顧客ID、年齢、性別)、購入毎のデータ(10円単位の購入額、商品ID及び購入年月)が蓄積される。そして、本実施の形態では、年齢及び性別という属性の属性値の組み合わせで集計単位が設定されるものとする。なお、顧客IDは、個人毎のユニークな値である。年齢は、20歳以下、20歳代、30歳代、40歳代、50歳代、60歳代、70歳代、80歳以上という8つの属性値が設定可能であり、性別は「男」及び「女」の2つの属性値が設定可能である。従って集計単位は16とおりとなる。
Z=Vpi(mod n)
V=Z1/pi(mod n)
本実施の形態ではPaillerベースの方法を採用する。但し、購入履歴データを取り扱う点は第2の実施の形態と同じであり、購入履歴データに含まれる属性の種類及び集計単位が設定されている属性についても同様である。
mci,2=mi,2<<512 || 1<<32
=200...00(0が120個)0000000100000000
M=L(cs(mod n2))/L(gs(mod n2))(mod n2)
なお、L(x)=(x−1)/nという関数である。この演算は従来と同じである。
本実施の形態では、第2の実施の形態において購入履歴データの属性として商品セグメントをも取り扱うことができるようにすることを考える。例えば、4種類の商品セグメント(例えば、本、家電、ソフトウエア、食品)を導入して、これらについても分析を行うことができるようにするためには、これまでの集計単位16種類×4種類=64の集計単位が設定されることになる。集計値の上限を32ビット値に設定した場合、32×64=2048ビットとなってしまう。nのビット長を増やすことで対応できるが、計算量が膨大となるので、代わりに暗号文の数を増加させることで、計算量の増加を抑えることとする。本実施の形態では、商品セグメント毎に暗号文を設けることにする。
本実施の形態は、第4の実施の形態と同様に、商品セグメントを導入するように第3の実施の形態を変形するものである。
複数の属性の各々について属性値を含むデータを格納するデータ格納部に格納されている前記データについて、前記複数の属性のうち集計単位が予め設定されている第1の属性の属性値に応じて、集計単位を特定するステップと、
特定された前記集計単位に応じた準同型暗号処理を、前記データに含まれる前記複数の属性のうち前記第1の属性以外の第2の属性の属性値に対して実施し、暗号化された前記第2の属性の属性値を、前記データ格納部に格納するステップと、
を含み、コンピュータにより実行される暗号処理方法。
前記集計単位に応じた準同型暗号処理が、
前記集計単位に応じて公開鍵に含まれる元を選択し、当該元を用いた準同型暗号処理を実施する処理である
付記1記載の暗号処理方法。
前記集計単位に応じた準同型暗号処理が、
前記集計単位に応じてビットシフト量を特定し、特定された前記ビットシフト量だけ前記第2の属性の属性値を左ビットシフトさせた上で準同型暗号処理を実施する処理である
付記1記載の暗号処理方法。
素数の法がnであり、
0<s<n−1を満たす第1の乱数を秘密鍵sとし、
前記第2の属性の属性値がmであり、
法n上の原始元がgであり、
暗号化鍵がy=gs (mod n)であり、
選択された前記元がgaであるとすると、
前記準同型暗号処理が、
0<r<n−1を満たす第2の乱数rを生成し、
暗号文c=gr(mod n)を算出し、
暗号文d=yrgam(mod n)を算出する
処理を含む
付記2記載の暗号処理方法。
特定された前記ビットシフト量だけ左ビットシフトさせた前記第2の属性の属性値をmとし、
2つの素数の積がnであり、
元をgとすると、
前記準同型暗号処理が、
0<r<n−1を満たす乱数rを生成し、
暗号文c=rngm(mod n2)を算出する
処理を含む
付記3記載の暗号処理方法。
前記集計単位に応じた準同型暗号処理が、
前記集計単位に応じて、当該集計単位について前記第2の属性の属性値を集計するための第1の元及び当該集計単位の出現回数を計数するための第2の元を選択し、当該第1の元及び第2の元を用いた準同型暗号処理を実施する処理を含む
付記1記載の暗号処理方法。
前記集計単位に応じた準同型暗号処理が、
前記集計単位に応じて第1のビットシフト量を特定し、特定された前記第1のビットシフト量だけ前記第2の属性の属性値を左ビットシフトさせることで第1のビット列を生成し、
前記集計単位に応じて当該集計単位の出現回数をカウントするために設定されている第2のビットシフト量を特定し、特定された前記第2のビットシフト量だけ1を左ビットシフトさせることで第2のビット列を生成し、
前記第1のビット列と前記第2のビット列とを結合させたビット列に対して準同型暗号処理を実施する処理を含む
付記1記載の暗号処理方法。
前記集計単位に応じた準同型暗号処理が、
前記集計単位に応じて当該集計単位の出現回数をカウントするための第2のビットシフト量を特定し、特定された前記第2のビットシフト量だけ1を左ビットシフトさせることで第2のビット列を生成し、前記第2のビット列に対して準同型暗号処理をさらに実施する処理を含む
付記3記載の暗号処理方法。
前記複数の属性のうち前記第1の属性及び前記第2の属性以外の第3の属性の属性値に応じて、前記第2の属性の属性値に対して用意されるべき複数の暗号文のうち特定の暗号文を選択し、
前記複数の暗号文のうち前記特定の暗号文以外の暗号文を、0に対する前記準同型暗号処理を実施することで生成し、
前記複数の暗号文のうち前記特定の暗号文を、特定された前記集計単位に応じた準同型暗号処理を前記第2の属性の属性値に対して実施することで生成する
付記1記載の暗号処理方法。
平文データに含まれる第1の属性の属性値によって特定される集計単位に応じて異なる準同型暗号の暗号化処理を第2の属性の属性値に対して実施することで得られる暗号文について前記準同型暗号の加算演算を実施した結果である暗号化演算結果を受信し、データ格納部に格納するステップと、
前記データ格納部に格納されている前記暗号化演算結果に対して、特定の集計単位に応じた、前記準同型暗号の復号化処理を実施し、前記特定の集計単位についての、前記第2の属性の属性値の集計結果を抽出し、前記データ格納部に格納するステップと、
を含み、コンピュータにより実行される復号処理方法。
前記特定の集計単位に応じた、前記準同型暗号の復号処理が、
前記特定の集計単位に対応する元以外の元のべき乗部分が1になるように、前記暗号化演算結果に対して演算を実施する処理
を含む付記10記載の復号処理方法。
前記特定の集計単位に応じた、前記準同型暗号の復号処理が、
前記暗号化演算結果に対して秘密鍵を用いて復号演算を実施することで平文のビット列を生成し、
前記平文のビット列から、前記特定の集計単位に対応するビット範囲を抽出する処理
を含む付記10記載の復号処理方法。
素数の法がnであり、
各前記集計単位aに対応する元gaについて、ga pa(mod n)=1を満たす素数paが用意されており、
前記暗号化演算結果が、第1の暗号化演算結果C及び第2の暗号化演算結果Dを含み、
秘密鍵がsであるとすると、
前記特定の集計単位に応じた、前記準同型暗号の復号処理が、
U=Cs(mod n)及びV=D×U-1(mod n)を算出し、
前記特定の集計単位以外の各集計単位iに対応する素数piについて、Z=Vpi(mod n)及びV=Z1/pi(mod n)の演算を前記特定の集計単位以外の各集計単位iについて繰り返し行う
処理を含む付記10記載の復号処理方法。
2つの素数の積がnであり、
元がgであり、
前記暗号化演算結果が、第1の暗号化演算結果C及び第2の暗号化演算結果Dを含み、
秘密鍵がsであり、
L(x)は(x−1)/nという関数であるとすると、
前記特定の集計単位に応じた、前記準同型暗号の復号処理が、
M=L(Cs(mod n2))/L(gs(mod n2))(mod n2)を算出し、
前記Mから、前記特定の集計単位に対応するビット範囲を抽出する
処理を含む付記10記載の復号処理方法。
前記特定の集計単位に応じた、前記準同型暗号の復号処理が、
前記特定の集計単位に対応する、前記第2の属性の属性値を集計するための元以外の元のべき乗部分が1になるように、前記暗号化演算結果に対して演算を実施する処理と、
前記特定の集計単位の出現回数を計数するための元以外の元のべき乗部分が1になるように、前記暗号化演算結果に対して演算を実施する処理と、
を含む付記10記載の復号処理方法。
前記特定の集計単位に応じた、前記準同型暗号の復号処理が、
前記暗号化演算結果に対して秘密鍵を用いて復号演算を実施することで平文のビット列を生成し、
前記平文のビット列から、前記特定の集計単位に対応し且つ前記第2の属性の属性値の集計のために設定されているビット範囲を抽出する処理と、
前記平文のビット列から、前記特定の集計単位に対応し且つ前記特定の集計単位の出現回数を計数するために設定されているビット範囲を抽出する処理と、
を含む付記10記載の復号処理方法。
前記暗号化演算結果が、前記第2の属性の属性値の集計結果のための第1の暗号化演算結果と、前記集計単位の出現回数の計数結果のための第2の暗号化演算結果とを含み、
前記特定の集計単位に応じた、前記準同型暗号の復号処理が、
前記第1の暗号化演算結果に対して秘密鍵を用いて復号演算を実施することで平文の第1のビット列を生成し、
前記平文の第1のビット列から、前記特定の集計単位に対応するビット範囲を抽出し、
前記第2の暗号化演算結果に対して秘密鍵を用いて復号演算を実施することで平文の第2のビット列を生成し、
前記平文の第2のビット列から、前記特定の集計単位に対応するビット範囲を抽出する
処理を含む付記10記載の復号処理方法。
前記第1の属性及び前記第2の属性以外の第3の属性の属性値に応じて前記第2の属性の属性値に対する前記準同型暗号の暗号処理の結果を複数種類の暗号文のうち第1の種類の暗号文に割り当て且つ残余の種類の暗号文については0に対する前記準同型暗号の暗号処理の結果を割り当てることで得られる前記複数種類の暗号文の種類毎に前記準同型暗号の加算演算を実施した結果である複数の暗号化演算結果を、前記暗号化演算結果が含み、
前記複数の暗号化演算結果のうち前記第3の属性の特定の属性値に対応する暗号化演算結果を特定し、
特定された前記暗号化演算結果に対して前記準同型暗号の復号処理を実施する
付記10記載の復号処理方法。
複数の属性の各々について属性値を含むデータを格納するデータ格納部に格納されている前記データについて、前記複数の属性のうち集計単位が予め設定されている第1の属性の属性値に応じて、集計単位を特定するステップと、
特定された前記集計単位に応じた準同型暗号処理を、前記データに含まれる前記複数の属性のうち前記第1の属性以外の第2の属性の属性値に対して実施し、暗号化された前記第2の属性の属性値を、前記データ格納部に格納するステップと、
を、コンピュータに実行させるための暗号処理プログラム。
平文データに含まれる第1の属性の属性値によって特定される集計単位に応じて異なる準同型暗号の暗号化処理を第2の属性の属性値に対して実施することで得られる暗号文について前記準同型暗号の加算演算を実施した結果である暗号化演算結果を受信し、データ格納部に格納するステップと、
前記データ格納部に格納されている前記暗号化演算結果に対して、特定の集計単位に応じた、前記準同型暗号の復号化処理を実施し、前記特定の集計単位についての、前記第2の属性の属性値の集計結果を抽出し、前記データ格納部に格納するステップと、
を、コンピュータに実行させるための復号処理プログラム。
複数の属性の各々について属性値を含むデータを格納するデータ格納部に格納されている前記データについて、前記複数の属性のうち集計単位が予め設定されている第1の属性の属性値に応じて、集計単位を特定する特定部と、
特定された前記集計単位に応じた準同型暗号処理を、前記データに含まれる前記複数の属性のうち前記第1の属性以外の第2の属性の属性値に対して実施し、暗号化された前記第2の属性の属性値を、前記データ格納部に格納する処理部と、
を有する暗号処理装置。
平文データに含まれる第1の属性の属性値によって特定される集計単位に応じて異なる準同型暗号の暗号化処理を第2の属性の属性値に対して実施することで得られる暗号文について前記準同型暗号の加算演算を実施した結果である暗号化演算結果を受信し、データ格納部に格納する受信部と、
前記データ格納部に格納されている前記暗号化演算結果に対して、特定の集計単位に応じた、前記準同型暗号の復号化処理を実施し、前記特定の集計単位についての、前記第2の属性の属性値の集計結果を抽出し、前記データ格納部に格納する処理部と、
を有する復号処理装置。
102 送信部
103 データ格納部
104 公開鍵格納部
105 元選択部
106 暗号文生成部
107 乱数生成部
121 入力部
122 通信部
123 データ格納部
124 鍵格納部
125 素数選択部
126 復号演算部
127 BSGS処理部
Claims (22)
- 複数の属性の各々について属性値を含むデータを格納するデータ格納部に格納されている前記データについて、前記複数の属性のうち集計単位が予め設定されている第1の属性の属性値に応じて、集計単位を特定するステップと、
特定された前記集計単位に応じた準同型暗号処理を、前記データに含まれる前記複数の属性のうち前記第1の属性以外の第2の属性の属性値に対して実施し、暗号化された前記第2の属性の属性値を、前記データ格納部に格納するステップと、
を含み、コンピュータにより実行される暗号処理方法。 - 前記集計単位に応じた準同型暗号処理が、
前記集計単位に応じて公開鍵に含まれる元を選択し、当該元を用いた準同型暗号処理を実施する処理である
請求項1記載の暗号処理方法。 - 前記集計単位に応じた準同型暗号処理が、
前記集計単位に応じてビットシフト量を特定し、特定された前記ビットシフト量だけ前記第2の属性の属性値を左ビットシフトさせた上で準同型暗号処理を実施する処理である
請求項1記載の暗号処理方法。 - 素数の法がnであり、
0<s<n−1を満たす第1の乱数を秘密鍵sとし、
前記第2の属性の属性値がmであり、
法n上の原始元がgであり、
暗号化鍵がy=gs (mod n)であり、
選択された前記元がgaであるとすると、
前記準同型暗号処理が、
0<r<n−1を満たす第2の乱数rを生成し、
暗号文c=gr(mod n)を算出し、
暗号文d=yrgam(mod n)を算出する
処理を含む
請求項2記載の暗号処理方法。 - 特定された前記ビットシフト量だけ左ビットシフトさせた前記第2の属性の属性値をmとし、
2つの素数の積がnであり、
元をgとすると、
前記準同型暗号処理が、
0<r<n−1を満たす乱数rを生成し、
暗号文c=rngm(mod n2)を算出する
処理を含む
請求項3記載の暗号処理方法。 - 前記集計単位に応じた準同型暗号処理が、
前記集計単位に応じて、当該集計単位について前記第2の属性の属性値を集計するための第1の元及び当該集計単位の出現回数を計数するための第2の元を選択し、当該第1の元及び第2の元を用いた準同型暗号処理を実施する処理を含む
請求項1記載の暗号処理方法。 - 前記集計単位に応じた準同型暗号処理が、
前記集計単位に応じて第1のビットシフト量を特定し、特定された前記第1のビットシフト量だけ前記第2の属性の属性値を左ビットシフトさせることで第1のビット列を生成し、
前記集計単位に応じて当該集計単位の出現回数をカウントするために設定されている第2のビットシフト量を特定し、特定された前記第2のビットシフト量だけ1を左ビットシフトさせることで第2のビット列を生成し、
前記第1のビット列と前記第2のビット列とを結合させたビット列に対して準同型暗号処理を実施する処理を含む
請求項1記載の暗号処理方法。 - 前記集計単位に応じた準同型暗号処理が、
前記集計単位に応じて当該集計単位の出現回数をカウントするための第2のビットシフト量を特定し、特定された前記第2のビットシフト量だけ1を左ビットシフトさせることで第2のビット列を生成し、前記第2のビット列に対して準同型暗号処理をさらに実施する処理を含む
請求項3記載の暗号処理方法。 - 前記複数の属性のうち前記第1の属性及び前記第2の属性以外の第3の属性の属性値に応じて、前記第2の属性の属性値に対して用意されるべき複数の暗号文のうち特定の暗号文を選択し、
前記複数の暗号文のうち前記特定の暗号文以外の暗号文を、0に対する前記準同型暗号処理を実施することで生成し、
前記複数の暗号文のうち前記特定の暗号文を、特定された前記集計単位に応じた準同型暗号処理を前記第2の属性の属性値に対して実施することで生成する
請求項1記載の暗号処理方法。 - 平文データに含まれる第1の属性の属性値によって特定される集計単位に応じて異なる準同型暗号の暗号化処理を第2の属性の属性値に対して実施することで得られる暗号文について前記準同型暗号の加算演算を実施した結果である暗号化演算結果を受信し、データ格納部に格納するステップと、
前記データ格納部に格納されている前記暗号化演算結果に対して、特定の集計単位に応じた、前記準同型暗号の復号化処理を実施し、前記特定の集計単位についての、前記第2の属性の属性値の集計結果を抽出し、前記データ格納部に格納するステップと、
を含み、コンピュータにより実行される復号処理方法。 - 前記特定の集計単位に応じた、前記準同型暗号の復号処理が、
前記特定の集計単位に対応する元以外の元のべき乗部分が1になるように、前記暗号化演算結果に対して演算を実施する処理
を含む請求項10記載の復号処理方法。 - 前記特定の集計単位に応じた、前記準同型暗号の復号処理が、
前記暗号化演算結果に対して秘密鍵を用いて復号演算を実施することで平文のビット列を生成し、
前記平文のビット列から、前記特定の集計単位に対応するビット範囲を抽出する処理
を含む請求項10記載の復号処理方法。 - 素数の法がnであり、
各前記集計単位aに対応する元gaについて、ga pa(mod n)=1を満たす素数paが用意されており、
前記暗号化演算結果が、第1の暗号化演算結果C及び第2の暗号化演算結果Dを含み、
秘密鍵がsであるとすると、
前記特定の集計単位に応じた、前記準同型暗号の復号処理が、
U=Cs(mod n)及びV=D×U-1(mod n)を算出し、
前記特定の集計単位以外の各集計単位iに対応する素数piについて、Z=Vpi(mod n)及びV=Z1/pi(mod n)の演算を前記特定の集計単位以外の各集計単位iについて繰り返し行う
処理を含む請求項10記載の復号処理方法。 - 2つの素数の積がnであり、
元がgであり、
前記暗号化演算結果が、第1の暗号化演算結果C及び第2の暗号化演算結果Dを含み、
秘密鍵がsであり、
L(x)は(x−1)/nという関数であるとすると、
前記特定の集計単位に応じた、前記準同型暗号の復号処理が、
M=L(Cs(mod n2))/L(gs(mod n2))(mod n2)を算出し、
前記Mから、前記特定の集計単位に対応するビット範囲を抽出する
処理を含む請求項10記載の復号処理方法。 - 前記特定の集計単位に応じた、前記準同型暗号の復号処理が、
前記特定の集計単位に対応する、前記第2の属性の属性値を集計するための元以外の元のべき乗部分が1になるように、前記暗号化演算結果に対して演算を実施する処理と、
前記特定の集計単位の出現回数を計数するための元以外の元のべき乗部分が1になるように、前記暗号化演算結果に対して演算を実施する処理と、
を含む請求項10記載の復号処理方法。 - 前記特定の集計単位に応じた、前記準同型暗号の復号処理が、
前記暗号化演算結果に対して秘密鍵を用いて復号演算を実施することで平文のビット列を生成し、
前記平文のビット列から、前記特定の集計単位に対応し且つ前記第2の属性の属性値の集計のために設定されているビット範囲を抽出する処理と、
前記平文のビット列から、前記特定の集計単位に対応し且つ前記特定の集計単位の出現回数を計数するために設定されているビット範囲を抽出する処理と、
を含む請求項10記載の復号処理方法。 - 前記暗号化演算結果が、前記第2の属性の属性値の集計結果のための第1の暗号化演算結果と、前記集計単位の出現回数の計数結果のための第2の暗号化演算結果とを含み、
前記特定の集計単位に応じた、前記準同型暗号の復号処理が、
前記第1の暗号化演算結果に対して秘密鍵を用いて復号演算を実施することで平文の第1のビット列を生成し、
前記平文の第1のビット列から、前記特定の集計単位に対応するビット範囲を抽出し、
前記第2の暗号化演算結果に対して秘密鍵を用いて復号演算を実施することで平文の第2のビット列を生成し、
前記平文の第2のビット列から、前記特定の集計単位に対応するビット範囲を抽出する
処理を含む請求項10記載の復号処理方法。 - 前記第1の属性及び前記第2の属性以外の第3の属性の属性値に応じて前記第2の属性の属性値に対する前記準同型暗号の暗号処理の結果を複数種類の暗号文のうち第1の種類の暗号文に割り当て且つ残余の種類の暗号文については0に対する前記準同型暗号の暗号処理の結果を割り当てることで得られる前記複数種類の暗号文の種類毎に前記準同型暗号の加算演算を実施した結果である複数の暗号化演算結果を、前記暗号化演算結果が含み、
前記複数の暗号化演算結果のうち前記第3の属性の特定の属性値に対応する暗号化演算結果を特定し、
特定された前記暗号化演算結果に対して前記準同型暗号の復号処理を実施する
請求項10記載の復号処理方法。 - 複数の属性の各々について属性値を含むデータを格納するデータ格納部に格納されている前記データについて、前記複数の属性のうち集計単位が予め設定されている第1の属性の属性値に応じて、集計単位を特定するステップと、
特定された前記集計単位に応じた準同型暗号処理を、前記データに含まれる前記複数の属性のうち前記第1の属性以外の第2の属性の属性値に対して実施し、暗号化された前記第2の属性の属性値を、前記データ格納部に格納するステップと、
を、コンピュータに実行させるための暗号処理プログラム。 - 平文データに含まれる第1の属性の属性値によって特定される集計単位に応じて異なる準同型暗号の暗号化処理を第2の属性の属性値に対して実施することで得られる暗号文について前記準同型暗号の加算演算を実施した結果である暗号化演算結果を受信し、データ格納部に格納するステップと、
前記データ格納部に格納されている前記暗号化演算結果に対して、特定の集計単位に応じた、前記準同型暗号の復号化処理を実施し、前記特定の集計単位についての、前記第2の属性の属性値の集計結果を抽出し、前記データ格納部に格納するステップと、
を、コンピュータに実行させるための復号処理プログラム。 - 複数の属性の各々について属性値を含むデータを格納するデータ格納部に格納されている前記データについて、前記複数の属性のうち集計単位が予め設定されている第1の属性の属性値に応じて、集計単位を特定する特定部と、
特定された前記集計単位に応じた準同型暗号処理を、前記データに含まれる前記複数の属性のうち前記第1の属性以外の第2の属性の属性値に対して実施し、暗号化された前記第2の属性の属性値を、前記データ格納部に格納する処理部と、
を有する暗号処理装置。 - 平文データに含まれる第1の属性の属性値によって特定される集計単位に応じて異なる準同型暗号の暗号化処理を第2の属性の属性値に対して実施することで得られる暗号文について前記準同型暗号の加算演算を実施した結果である暗号化演算結果を受信し、データ格納部に格納する受信部と、
前記データ格納部に格納されている前記暗号化演算結果に対して、特定の集計単位に応じた、前記準同型暗号の復号化処理を実施し、前記特定の集計単位についての、前記第2の属性の属性値の集計結果を抽出し、前記データ格納部に格納する処理部と、
を有する復号処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011271878A JP5790471B2 (ja) | 2011-12-13 | 2011-12-13 | 暗号処理方法、復号処理方法、装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011271878A JP5790471B2 (ja) | 2011-12-13 | 2011-12-13 | 暗号処理方法、復号処理方法、装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013125039A true JP2013125039A (ja) | 2013-06-24 |
JP5790471B2 JP5790471B2 (ja) | 2015-10-07 |
Family
ID=48776339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011271878A Expired - Fee Related JP5790471B2 (ja) | 2011-12-13 | 2011-12-13 | 暗号処理方法、復号処理方法、装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5790471B2 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019501438A (ja) * | 2015-10-23 | 2019-01-17 | オラクル・インターナショナル・コーポレイション | データテーブルを共有するためのサポートを有する構成の自己記述 |
CN109643504A (zh) * | 2016-08-30 | 2019-04-16 | 三菱电机株式会社 | 加密系统、加密方法以及加密程序 |
US10594473B2 (en) | 2015-02-10 | 2020-03-17 | Kabushikikaisha Rnai | Terminal device, database server, and calculation system |
JP2021189431A (ja) * | 2020-05-29 | 2021-12-13 | バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド | ブロックチェーンのプライバシーデータ処理方法、装置、デバイス及び記憶媒体 |
CN114124349A (zh) * | 2021-11-19 | 2022-03-01 | 北京数牍科技有限公司 | 一种用于同态加密方案的快速解密方法 |
CN114221809A (zh) * | 2021-12-14 | 2022-03-22 | 北方工业大学 | 一种抗异常数据且保隐私的数据聚合系统及方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210132928A (ko) | 2020-04-28 | 2021-11-05 | 삼성전자주식회사 | 메모리 컨트롤러의 구동방법, 클라우드 컴퓨팅 장치의 구동방법 및 에지 컴퓨터의 구동 방법 |
US11671239B2 (en) | 2020-05-08 | 2023-06-06 | Samsung Electronics Co., Ltd. | Encryption method and apparatus based on homomorphic encryption using odd function property |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04181372A (ja) * | 1990-11-15 | 1992-06-29 | Nec Software Ltd | データの表形式の集計方式 |
JPH08137967A (ja) * | 1994-11-07 | 1996-05-31 | Hitachi Ltd | 表デ−タ処理方法 |
JPH09288658A (ja) * | 1996-04-19 | 1997-11-04 | Nec Corp | 集計結果分析システム及び集計結果分析方法 |
JP2008109308A (ja) * | 2006-10-24 | 2008-05-08 | Nippon Telegr & Teleph Corp <Ntt> | 個別情報を秘匿するクロス集計方法および装置、並びにプログラム |
JP2011232727A (ja) * | 2010-04-27 | 2011-11-17 | Fuji Xerox Co Ltd | 暗号化データ・セット保存および論理演算実行システム、暗号化データ保存および論理演算実行方法、暗号化データ保存および演算実行システム、暗号化データ・セット保存および論理演算実行プログラム |
-
2011
- 2011-12-13 JP JP2011271878A patent/JP5790471B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04181372A (ja) * | 1990-11-15 | 1992-06-29 | Nec Software Ltd | データの表形式の集計方式 |
JPH08137967A (ja) * | 1994-11-07 | 1996-05-31 | Hitachi Ltd | 表デ−タ処理方法 |
JPH09288658A (ja) * | 1996-04-19 | 1997-11-04 | Nec Corp | 集計結果分析システム及び集計結果分析方法 |
JP2008109308A (ja) * | 2006-10-24 | 2008-05-08 | Nippon Telegr & Teleph Corp <Ntt> | 個別情報を秘匿するクロス集計方法および装置、並びにプログラム |
JP2011232727A (ja) * | 2010-04-27 | 2011-11-17 | Fuji Xerox Co Ltd | 暗号化データ・セット保存および論理演算実行システム、暗号化データ保存および論理演算実行方法、暗号化データ保存および演算実行システム、暗号化データ・セット保存および論理演算実行プログラム |
Non-Patent Citations (4)
Title |
---|
JPN6015012633; 谷川浩司 他: 'プライバシを保護した授業評価アンケートの実装 An Implementation of a Privacy Enhancing Questionnaire' 電子情報通信学会技術研究報告 第106巻 第176号, 20060714, p.145-151 * |
JPN6015012634; Canny, J.: 'Collaborative Filtering with Privacy' Proceedings 2002 IEEE Symposium on Security and Privacy , 2002, p.45-57 * |
JPN6015012635; Lin, X. et al.: 'MDPA: multidimensional privacy-preserving aggregation' WIRELESS COMMUNICATIONS AND MOBILE COMPUTING Volume 10 Issue 6, 20090505, p.843-856 * |
JPN7015000847; Ge, T. and Zdonik, S.: 'Answering Aggregation Queries in a Secure System Model' Proceedings of the 33rd international conference on Very large data bases , 2007, p.519-530 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10594473B2 (en) | 2015-02-10 | 2020-03-17 | Kabushikikaisha Rnai | Terminal device, database server, and calculation system |
JP2019501438A (ja) * | 2015-10-23 | 2019-01-17 | オラクル・インターナショナル・コーポレイション | データテーブルを共有するためのサポートを有する構成の自己記述 |
CN109643504A (zh) * | 2016-08-30 | 2019-04-16 | 三菱电机株式会社 | 加密系统、加密方法以及加密程序 |
CN109643504B (zh) * | 2016-08-30 | 2022-03-01 | 三菱电机株式会社 | 加密系统、加密方法以及计算机可读的存储介质 |
JP2021189431A (ja) * | 2020-05-29 | 2021-12-13 | バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド | ブロックチェーンのプライバシーデータ処理方法、装置、デバイス及び記憶媒体 |
US11665000B2 (en) | 2020-05-29 | 2023-05-30 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method and apparatus for processing privacy data of block chain, device, and storage medium |
CN114124349A (zh) * | 2021-11-19 | 2022-03-01 | 北京数牍科技有限公司 | 一种用于同态加密方案的快速解密方法 |
CN114124349B (zh) * | 2021-11-19 | 2024-04-09 | 北京数牍科技有限公司 | 一种用于同态加密方案的快速解密方法 |
CN114221809A (zh) * | 2021-12-14 | 2022-03-22 | 北方工业大学 | 一种抗异常数据且保隐私的数据聚合系统及方法 |
CN114221809B (zh) * | 2021-12-14 | 2024-01-26 | 北方工业大学 | 一种抗异常数据且保隐私的数据聚合系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
JP5790471B2 (ja) | 2015-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5790471B2 (ja) | 暗号処理方法、復号処理方法、装置及びプログラム | |
Bos et al. | Private predictive analysis on encrypted medical data | |
CN105122721B (zh) | 用于管理针对加密数据的托管安全计算的方法和系统 | |
JP2007501975A (ja) | データ処理システム及びその方法 | |
TW201448551A (zh) | 使用部份同態之加密及遮罩之隱私保護脊狀回歸 | |
JP2008500598A (ja) | 通信効率の良い秘匿情報検索及び紛失通信のための方法及び装置 | |
CN107078906A (zh) | 公钥加密系统 | |
EP3202079B1 (en) | Exponent splitting for cryptographic operations | |
CN114175028B (zh) | 密码假名映射方法、计算机系统、计算机程序和计算机可读介质 | |
Hajny et al. | Performance evaluation of primitives for privacy-enhancing cryptography on current smart-cards and smart-phones | |
CN109992979A (zh) | 一种岭回归训练方法、计算设备、介质 | |
Burattin et al. | Toward an anonymous process mining | |
CN114647857A (zh) | 数据处理方法、装置、设备、存储介质及程序产品 | |
Vu et al. | An efficient and practical approach for privacy-preserving Naive Bayes classification | |
Raja et al. | Opposition based joint grey wolf-whale optimization algorithm based attribute based encryption in secure wireless communication | |
Mishra et al. | Enabling efficient deduplication and secure decentralized public auditing for cloud storage: A redactable blockchain approach | |
CN111159730B (zh) | 数据处理方法、查询方法、装置、电子设备和系统 | |
Anwarbasha et al. | An efficient and secure protocol for checking remote data integrity in multi-cloud environment | |
Vamsi et al. | Electronic health record security in cloud: Medical data protection using homomorphic encryption schemes | |
JP5415569B2 (ja) | 評価ユニット、評価方法、評価プログラム、及び記録媒体 | |
JP2016027391A (ja) | 秘匿ベクトル内積計算システム、データ処理装置、秘匿ベクトル内積計算方法、秘匿ベクトル内積プログラム、および、記録媒体 | |
Zhang et al. | Template attack assisted linear cryptanalysis on outer rounds protected DES implementations | |
Arkin et al. | Ciphertext-policy attribute based encryption with selectively-hidden access policy | |
JP3784055B2 (ja) | リストマッチング方法、ネットワークシステム、そのサーバ及び情報端末 | |
Devi et al. | A comparative study on homomorphic encryption algorithms for data security in cloud environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140805 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150120 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150331 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150529 |
|
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: 20150707 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150720 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5790471 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |