JP6885325B2 - 暗号化装置、復号装置、暗号化方法、復号方法、プログラム - Google Patents
暗号化装置、復号装置、暗号化方法、復号方法、プログラム Download PDFInfo
- Publication number
- JP6885325B2 JP6885325B2 JP2017250124A JP2017250124A JP6885325B2 JP 6885325 B2 JP6885325 B2 JP 6885325B2 JP 2017250124 A JP2017250124 A JP 2017250124A JP 2017250124 A JP2017250124 A JP 2017250124A JP 6885325 B2 JP6885325 B2 JP 6885325B2
- Authority
- JP
- Japan
- Prior art keywords
- ske
- vector
- key
- ciphertext
- cyclic group
- 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
Description
まず、記法や基礎的概念に関する用語について説明する。
共通鍵暗号SKEは鍵生成アルゴリズムSKE.Gen、暗号化アルゴリズムSKE.Enc、復号アルゴリズムSKE.Decの3つのアルゴリズムにより構成される。つまり、SKE=(SKE.Gen, SKE.Enc, SKE.Dec)である。鍵生成アルゴリズムSKE.Genは秘密鍵Kを出力する。暗号化アルゴリズムSKE.Encは、秘密鍵Kとメッセージmを入力とし、暗号文cを出力する。つまり、c=SKE.Enc(K, m)となる。復号アルゴリズムSKE.Decは、秘密鍵Kと暗号文cを入力とし、メッセージm(またはエラー⊥)を出力する。つまり、m=SKE.Dec(K, c)となる。
(参考非特許文献1:COSC 530: Lecture Notes on Symmetric-Key Encryption, [online], [平成29年12月4日検索]、インターネット<URL: http://people.cs.georgetown.edu/~adam/fa15530/cs530-lec4.pdf>)
PRF={Fк: FSк×Domк→Rngк}кを鍵空間{FSк}к、定義域{Domк}к、値域{Rngк}кを持つ関数族とする。このとき、もし任意の多項式時間の識別者Dに対して、関数Fкと真正ランダム関数RFк: Domк→Rngкが見分けられなければ、PRF={Fк}кを擬似ランダム関数族と呼ぶ。擬似ランダム関数の具体例は、例えば、参考非特許文献2に記載されている。
(参考非特許文献2:O.ゴールドライヒ,“現代暗号・確率的証明・擬似乱数”,シュプリンガー・フェアラーク東京,2001年)
なお、共通鍵暗号及び擬似ランダム関数は任意の一方向性関数から構成できることが広く知られている。また、実用上、共通鍵暗号を実現したものとしてAES(Advanced Encryption Standard)を用いることが多い。
位数が素数pの巡回群~G1, ~G2, ~GTを考える。また、巡回群~G1, ~G2, ~GTの生成元をそれぞれG1, G2, gTとする。これらの巡回群の間には非退化双線型写像e: ~G1×~G2→~GTがあるものとする。このとき、~V=~G1 m, ~V*=~G2 mはそれぞれZp上のm次元ベクトル空間となり、これらを合わせて双対ペアリングベクトル空間DPVS=(p, ~G1, ~G2, ~GT, G1, G2, gT, e, ~V, ~V*)と呼ぶ。詳しくは、例えば、参考非特許文献3に記載されている。
(参考非特許文献3:T. Okamoto and K. Takashima, “Fully secure functional encryption with general relations from the decisional linear assumption”, In T. Rabin, editor, CRYPTO 2010, vol. 6223 of LNCS, pp. 191-208, Springer, Heidelberg, Aug. 2010.)
(参考非特許文献4:D. Boneh and M. K. Franklin, “Identity-based encryption from the Weil pairing”, In J. Kilian, editor, CRYPTO 2001, vol. 2139 of LNCS, pp. 213-229, Springer, Heidelberg, Aug. 2001.)
(参考非特許文献5:Allison B. Lewko and Brent Waters, “Efficient pseudorandom functions from the decisional linear assumption and weaker variants”, Proceedings of the 2009 ACM Conference on Computer and Communications Security, CCS 2009, Chicago, Illinois, USA, pp. 112-120, Nov. 2009.)
(参考非特許文献6:David Freeman, Michael Scott and Edlyn Teske, “A taxonomy of pairing-friendly elliptic curves, IACR Cryptology ePrint Archive, vol. 2006, pp. 372, http://eprint.iacr.org/2006/372, 2006.)
以下、2つの関数秘匿性を持つ複数入力内積関数型暗号について説明する。1つ目が引数に制限がある複数入力内積関数型暗号であり、2つ目が引数に制限がない複数入力内積関数型暗号である。ここで、引数に制限がないとは、当該暗号の利用開始時に引数の集合を決定する必要がなく、暗号化や復号鍵生成時に任意の引数を指定できることをいう。
[引数に制限がある複数入力内積関数型暗号]
引数に制限がある複数入力内積関数型暗号は、Setup, KeyGen, Enc, Decの4つのアルゴリズムから構成される。
kを任意の自然数とする。ただし、kの値が大きいほど安全性は高くなる。
(1) Zp上の2m+2k+1次元正則行列B1, …, Bnをランダムに選ぶ。
(2) すべてのι∈[n]に対して、Bι *=ν(Bι -1)Tとする。
(3) SKE.Genにより生成した共通鍵暗号の秘密鍵Kとする。
(4) 秘密鍵Kと同じビット長λのビット列κ1, …, κnを以下の式を満たすようにランダムに選ぶ。
鍵生成アルゴリズムKeyGenは、引数のインデックス1, …, nに対応するm次元ベクトルy1, …, ynを埋め込んだ復号鍵skを生成、出力する。具体的には、復号鍵skを以下のように生成する。なお、m次元ベクトルy1, …, ynが内積関数の定義に用いるベクトルである。
(1) {rι}ι∈[n]をZpから以下の式を満たすようにランダムに選ぶ。
(3) sk=SKE.Enc(K, {kι}ι∈[n])とする。
暗号化アルゴリズムEncは、入力されたm次元ベクトルxιを引数のインデックスιに対応させて暗号化し、暗号文ctιを生成、出力する。具体的には、暗号文ctιを以下のように生成する。
(1) 2m+2k+1次元ベクトルcιを以下のように計算する。
(2) Cι=SKE.Enc(K, cι)とし、ctι=(κι, Cι, ι)とする。
復号アルゴリズムDecは、引数1, …, nに対応する暗号文ct1, …, ctnを一つずつとり、復号鍵skを用いてそれらを復号、関数値Σxι・yιを生成、出力する。具体的には、関数値Σxι・yιを以下のように生成する。
(1) 共通鍵暗号の秘密鍵K'を以下の式で計算する。
(3) hTを以下の式で計算する。
(4) gT z=hTを満たすz(zはZpの要素)を探索し、見つかったらそれを関数値Σxι・yιとして出力する。
ここでは、共通鍵暗号の鍵生成アルゴリズムSKE.Genが出力する秘密鍵はλビットのビット列集合からランダムに選んだビット列であるものとする。また、kを任意の自然数として、F1, F2をF1:{0, 1}λ×{0, 1}λ→Zp (2m+2k+1)×(2m+2k+1), F2: {0, 1}λ×{0, 1}λ→{0, 1}λであるような鍵空間、定義域、値域を持つ擬似ランダム関数とする。さらに、引数のインデックス集合をSとし、集合Sの要素を昇順に並べたときのi番目の要素をsiと表記する。
kは任意の自然数とする。ただし、kの値が大きいほど安全性は高くなる。
(1) 2m+2k+1次元正則行列Dをランダムに選ぶ。
(2) D*=ν(D-1)Tとする。
(3) 擬似ランダム関数の鍵K1, K2をλビットのビット列としてランダムに選ぶ。
(4) msk=(D, D*, K1, K2)とする。
鍵生成アルゴリズムKeyGenは、引数のインデックス集合Sと集合Sに対応するm次元ベクトル{yι}ι∈Sを入力とし、ベクトル{yι}ι∈Sを埋め込んだ復号鍵skSを生成、出力する。具体的には、復号鍵skSを以下のように生成する。なお、m次元ベクトル{yι}ι∈Sが内積関数の定義に用いるベクトルである。
(1) すべてのι∈Sに対して、擬似ランダム関数値Wι=F1(K1, ι), κι=F2(K2, ι)を計算する。ここで、Wιは、Zp上の2m+2k+1次元行列、κιは、λビットのビット列である。
(2) すべてのι∈Sに対して、Bι *=D*(Wι -1)Tとする。Wιが一つでも逆行列を持たなかった場合は処理を終了する。
(3) {rι}ι∈SをZpから以下の式を満たすようにランダムに選ぶ。
(5) {kι}ι∈Sを以下のように繰り返し暗号化する。
暗号化アルゴリズムEncは、入力されたベクトルxιを引数のインデックスιに対応させて暗号化し、暗号文ctιを生成、出力する。具体的には、暗号文ctιを以下のように生成する。
(1) 擬似ランダム関数値Wι=F1(K1, ι), κι=F2(K2, ι)を計算する。
(2) Bι=DWιとする。
(3) 2m+2k+1次元ベクトルcιを以下のように計算する。
(4) ctι=(κι, cι, ι)とする。
復号アルゴリズムDecは、引数のインデックス集合Sの要素に対応する暗号文{ctι}ι∈Sを一つずつとり、集合Sに対応する復号鍵skSを用いてそれらを復号、関数値Σxι・yιを生成、出力する。具体的には、関数値Σxι・yιを以下のように生成する。
(1) 共通鍵暗号で暗号化されている復号鍵skSを、暗号文に添付されている秘密鍵{κι}ι∈Sで繰り返し復号する。
(3) gT z=hTを満たすz(zはZpの要素)を探索し、見つかったらそれを関数値Σxι・yιとして出力する。
ここでは、<技術的背景>の[引数に制限がある複数入力内積関数型暗号]で説明した内積関数型暗号を実行するシステムである内積関数型暗号システム10について説明する。
図1を参照して、内積関数型暗号システム10について説明する。図1は、内積関数型暗号システム10の構成の一例を示すブロック図である。内積関数型暗号システム10は、システムパラメータ生成装置100、鍵生成装置200、暗号化装置300、復号装置400を含む。システムパラメータ生成装置100、鍵生成装置200、暗号化装置300、復号装置400は、インターネットなどのネットワーク900に接続し、相互に通信可能である。
以下、図6〜図10を参照して、システムパラメータ生成装置100、鍵生成装置200、暗号化装置300、復号装置400の各装置における処理について説明する。
システムパラメータ生成装置100は、セットアップアルゴリズムSetupに対応する処理を実行する装置である。システムパラメータ生成装置100は、公開パラメータppとマスター秘密鍵mskを生成する。以下、生成手順について説明する(図6参照)。
鍵生成装置200は、鍵生成アルゴリズムKeyGenに対応する処理を実行する装置である。鍵生成装置200は、内積関数の定義に用いるm次元ベクトル{yι}ι∈[n]から復号鍵skを生成する。以下、生成手順について説明する(図8参照)。
暗号化装置300は、暗号化アルゴリズムEncに対応する処理を実行する装置である。暗号化装置300は、暗号化対象であるm次元ベクトル{xι}ι∈[n]から暗号文{ctι}ι∈[n]を生成する。以下、生成手順について説明する(図9参照)。
復号装置400は、復号アルゴリズムDecに対応する処理を実行する装置である。復号装置400は、暗号文{ctι}ι∈[n]から関数値f(x1, …, xn)=Σι∈[n]xι・yιを生成する。以下、生成手順について説明する(図10参照)。
ここでは、<技術的背景>の[引数に制限がない複数入力内積関数型暗号]で説明した内積関数型暗号を実行するシステムである内積関数型暗号システム50について説明する。
図11を参照して、内積関数型暗号システム50について説明する。図11は、内積関数型暗号システム50の構成の一例を示すブロック図である。内積関数型暗号システム50は、システムパラメータ生成装置500、鍵生成装置600、暗号化装置700、復号装置800を含む。システムパラメータ生成装置500、鍵生成装置600、暗号化装置700、復号装置800は、インターネットなどのネットワーク900に接続し、相互に通信可能である。
以下、図16〜図20を参照して、システムパラメータ生成装置500、鍵生成装置600、暗号化装置700、復号装置800の各装置における処理について説明する。
システムパラメータ生成装置500は、セットアップアルゴリズムSetupに対応する処理を実行する装置である。システムパラメータ生成装置500は、公開パラメータppとマスター秘密鍵mskを生成する。以下、生成手順について説明する(図16参照)。
鍵生成装置600は、鍵生成アルゴリズムKeyGenに対応する処理を実行する装置である。鍵生成装置600は、インデックス集合Sと内積関数の定義に用いるm次元ベクトル{yι}ι∈Sから復号鍵sksを生成する。以下、生成手順について説明する(図18参照)。
暗号化装置700は、暗号化アルゴリズムEncに対応する処理を実行する装置である。暗号化装置700は、インデックス集合Sと暗号化対象であるm次元ベクトル{xι}ι∈Sから暗号文{ctι}ι∈Sを生成する。以下、生成手順について説明する(図19参照)。
復号装置800は、復号アルゴリズムDecに対応する処理を実行する装置である。復号装置800は、暗号文{ctι}ι∈Sから関数値f({xι}ι∈S)=Σι∈Sxι・yιを生成する。以下、生成手順について説明する(図20参照)。
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
Claims (8)
- Zを整数の集合、pを素数、Zp=Z/pZ、SKE=(SKE.Gen, SKE.Enc, SKE.Dec)を共通鍵暗号、~G1, ~G2, ~GTをそれぞれ位数が素数pの巡回群、G1, G2, gTをそれぞれ巡回群~G1, ~G2, ~GTの生成元、e: ~G1×~G2→~GTを非退化双線型写像、~V=~G1 m, ~V*=~G2 mをそれぞれZp上のm次元ベクトル空間(ただし、mは1以上の整数)、(p, ~G1, ~G2, ~GT, G1, G2, gT, e, ~V, ~V*)を双対ペアリングベクトル空間とし、
前記巡回群~G1, ~G2, ~GTはk-線形仮定を満たす双線型群であり、
kを1以上の整数、f(x1, …, xn)=Σι∈[n]xι・yιを内積関数(ただし、nは1以上の整数、y1, …, ynは内積関数の定義に用いるm次元ベクトル)、νをe(G1, G2)ν=gTを満たすZpの要素、ppをアリティn、ベクトルの次元m、巡回群~G1, ~G2, ~GTの記述、巡回群の位数p、非退化双線型写像eの記述、巡回群~G1, ~G2, ~GTの生成元G1, G2, gTからなる公開パラメータ、msk=(B1, …, Bn, B1 *, …, Bn *, κ1, …, κn)をマスター秘密鍵(ただし、B1, …, BnはZp上の2m+2k+1次元正則行列、Bι *=ν(Bι -1)T (ι∈[n])、KはSKE.Genにより生成した共通鍵暗号の秘密鍵、κ1, …, κnは次式を満たす秘密鍵Kと同じビット長のビット列)とし、
マスター秘密鍵mskを用いて、前記ベクトル{xι}ι∈[n]から次式により2m+2k+1次元ベクトル{cι}ι∈[n]を計算するベクトル計算部と、
を含む暗号化装置。 - Zを整数の集合、pを素数、Zp=Z/pZ、SKE=(SKE.Gen, SKE.Enc, SKE.Dec)を共通鍵暗号、~G1, ~G2, ~GTをそれぞれ位数が素数pの巡回群、G1, G2, gTをそれぞれ巡回群~G1, ~G2, ~GTの生成元、e: ~G1×~G2→~GTを非退化双線型写像、~V=~G1 m, ~V*=~G2 mをそれぞれZp上のm次元ベクトル空間(ただし、mは1以上の整数)、(p, ~G1, ~G2, ~GT, G1, G2, gT, e, ~V, ~V*)を双対ペアリングベクトル空間とし、
前記巡回群~G1, ~G2, ~GTはk-線形仮定を満たす双線型群であり、
kを1以上の整数、f(x1, …, xn)=Σι∈[n]xι・yιを内積関数(ただし、nは1以上の整数、y1, …, ynは内積関数の定義に用いるm次元ベクトル)、νをe(G1, G2)ν=gTを満たすZpの要素、ppをアリティn、ベクトルの次元m、巡回群~G1, ~G2, ~GTの記述、巡回群の位数p、非退化双線型写像eの記述、巡回群~G1, ~G2, ~GTの生成元G1, G2, gTからなる公開パラメータ、sk=SKE.Enc(K, {kι}ι∈[n])を復号鍵(ただし、{rι}ι∈[n]はΣι∈[n]rι=0を満たすZpの要素、B1, …, BnはZp上の2m+2k+1次元正則行列、Bι *=ν(Bι -1)T (ι∈[n])、{kι}ι∈[n]は次式で計算される2m+2k+1次元ベクトル)とし、
前記暗号文{ctι}ι∈[n]から、次式により秘密鍵K'を計算する秘密鍵計算部と、
前記{k'ι}ι∈[n]と前記{c'ι}ι∈[n]から、次式により双線型写像値hTを計算する双線型写像計算部と、
を含む復号装置。 - Zを整数の集合、pを素数、Zp=Z/pZ、SKE=(SKE.Gen, SKE.Enc, SKE.Dec)を共通鍵暗号、~G1, ~G2, ~GTをそれぞれ位数が素数pの巡回群、G1, G2, gTをそれぞれ巡回群~G1, ~G2, ~GTの生成元、e: ~G1×~G2→~GTを非退化双線型写像、~V=~G1 m, ~V*=~G2 mをそれぞれZp上のm次元ベクトル空間(ただし、mは1以上の整数)、(p, ~G1, ~G2, ~GT, G1, G2, gT, e, ~V, ~V*)を双対ペアリングベクトル空間とし、
前記巡回群~G1, ~G2, ~GTはk-線形仮定を満たす双線型群であり、
k、λを1以上の整数、νをe(G1, G2)ν=gTを満たすZpの要素、ppをベクトルの次元m、巡回群~G1, ~G2, ~GTの記述、巡回群の位数p、非退化双線型写像eの記述、巡回群~G1, ~G2, ~GTの生成元G1, G2, gTからなる公開パラメータ、msk=(D, D*, K1, K2)をマスター秘密鍵(ただし、DはZp上の2m+2k+1次元正則行列、D*=ν(D-1)T、K1, K2はλビットのビット列)とし、
F1:{0, 1}λ×{0, 1}λ→Zp (2m+2k+1)×(2m+2k+1), F2: {0, 1}λ×{0, 1}λ→{0, 1}λを擬似ランダム関数、S={s1, …, s|S|}を引数のインデックス集合(ただし、siはインデックス集合Sの要素を昇順に並べたときのi番目の要素)、f({xι}ι∈S)=Σι∈Sxι・yιを内積関数(ただし、yι (ι∈S)は内積関数の定義に用いるm次元ベクトル)とし、
m次元ベクトル{xι}ι∈Sから暗号文{ctι}ι∈Sを生成する暗号化装置であって、
マスター秘密鍵mskを用いて、擬似ランダム関数値{Wι}ι∈S(ただし、Wι=F1(K1, ι)), {κι}ι∈S(ただし、κι=F2(K2, ι))を計算する擬似ランダム関数値計算部と、
マスター秘密鍵mskを用いて、前記擬似ランダム関数値{Wι}ι∈Sから行列積{Bι}ι∈S(ただし、Bι=DWι)を計算する行列積計算部と、
前記行列積{Bι}ι∈Sと前記ベクトル{xι}ι∈Sから次式により2m+2k+1次元ベクトル{cι}ι∈Sを計算するベクトル計算部と、
を含む暗号化装置。 - Zを整数の集合、pを素数、Zp=Z/pZ、SKE=(SKE.Gen, SKE.Enc, SKE.Dec)を共通鍵暗号、~G1, ~G2, ~GTをそれぞれ位数が素数pの巡回群、G1, G2, gTをそれぞれ巡回群~G1, ~G2, ~GTの生成元、e: ~G1×~G2→~GTを非退化双線型写像、~V=~G1 m, ~V*=~G2 mをそれぞれZp上のm次元ベクトル空間(ただし、mは1以上の整数)、(p, ~G1, ~G2, ~GT, G1, G2, gT, e, ~V, ~V*)を双対ペアリングベクトル空間とし、
前記巡回群~G1, ~G2, ~GTはk-線形仮定を満たす双線型群であり、
k、λを1以上の整数、νをe(G1, G2)ν=gTを満たすZpの要素、ppをベクトルの次元m、巡回群~G1, ~G2, ~GTの記述、巡回群の位数p、非退化双線型写像eの記述、巡回群~G1, ~G2, ~GTの生成元G1, G2, gTからなる公開パラメータとし、
F1:{0, 1}λ×{0, 1}λ→Zp (2m+2k+1)×(2m+2k+1), F2: {0, 1}λ×{0, 1}λ→{0, 1}λを擬似ランダム関数、S={s1, …, s|S|}を引数のインデックス集合(ただし、siはインデックス集合Sの要素を昇順に並べたときのi番目の要素)、f({xι}ι∈S)=Σι∈Sxι・yιを内積関数(ただし、yι (ι∈S)は内積関数の定義に用いるm次元ベクトル)、skS=(C|S|, S)を復号鍵(ただし、K1, K2はλビットのビット列、Wι=F1(K1, ι) (ι∈S), κι=F2(K2, ι) (ι∈S)、DはZp上の2m+2k+1次元正則行列、D*=ν(D-1)T、Bι *=D*(Wι -1)T (ι∈S)、{rι}ι∈SはΣι∈Srι=0を満たすZpの要素、{kι}ι∈Sは次式で計算される2m+2k+1次元ベクトル)とし、
を含む復号装置。 - Zを整数の集合、pを素数、Zp=Z/pZ、SKE=(SKE.Gen, SKE.Enc, SKE.Dec)を共通鍵暗号、~G1, ~G2, ~GTをそれぞれ位数が素数pの巡回群、G1, G2, gTをそれぞれ巡回群~G1, ~G2, ~GTの生成元、e: ~G1×~G2→~GTを非退化双線型写像、~V=~G1 m, ~V*=~G2 mをそれぞれZp上のm次元ベクトル空間(ただし、mは1以上の整数)、(p, ~G1, ~G2, ~GT, G1, G2, gT, e, ~V, ~V*)を双対ペアリングベクトル空間とし、
前記巡回群~G1, ~G2, ~GTはk-線形仮定を満たす双線型群であり、
kを1以上の整数、f(x1, …, xn)=Σι∈[n]xι・yιを内積関数(ただし、nは1以上の整数、y1, …, ynは内積関数の定義に用いるm次元ベクトル)、νをe(G1, G2)ν=gTを満たすZpの要素、ppをアリティn、ベクトルの次元m、巡回群~G1, ~G2, ~GTの記述、巡回群の位数p、非退化双線型写像eの記述、巡回群~G1, ~G2, ~GTの生成元G1, G2, gTからなる公開パラメータ、msk=(B1, …, Bn, B1 *, …, Bn *, κ1, …, κn)をマスター秘密鍵(ただし、B1, …, BnはZp上の2m+2k+1次元正則行列、Bι *=ν(Bι -1)T (ι∈[n])、KはSKE.Genにより生成した共通鍵暗号の秘密鍵、κ1, …, κnは次式を満たす秘密鍵Kと同じビット長のビット列)とし、
マスター秘密鍵mskを用いて、前記ベクトル{xι}ι∈[n]から次式により2m+2k+1次元ベクトル{cι}ι∈[n]を計算するベクトル計算ステップと、
を含む暗号化方法。 - Zを整数の集合、pを素数、Zp=Z/pZ、SKE=(SKE.Gen, SKE.Enc, SKE.Dec)を共通鍵暗号、~G1, ~G2, ~GTをそれぞれ位数が素数pの巡回群、G1, G2, gTをそれぞれ巡回群~G1, ~G2, ~GTの生成元、e: ~G1×~G2→~GTを非退化双線型写像、~V=~G1 m, ~V*=~G2 mをそれぞれZp上のm次元ベクトル空間(ただし、mは1以上の整数)、(p, ~G1, ~G2, ~GT, G1, G2, gT, e, ~V, ~V*)を双対ペアリングベクトル空間とし、
前記巡回群~G1, ~G2, ~GTはk-線形仮定を満たす双線型群であり、
kを1以上の整数、f(x1, …, xn)=Σι∈[n]xι・yιを内積関数(ただし、nは1以上の整数、y1, …, ynは内積関数の定義に用いるm次元ベクトル)、νをe(G1, G2)ν=gTを満たすZpの要素、ppをアリティn、ベクトルの次元m、巡回群~G1, ~G2, ~GTの記述、巡回群の位数p、非退化双線型写像eの記述、巡回群~G1, ~G2, ~GTの生成元G1, G2, gTからなる公開パラメータ、sk=SKE.Enc(K, {kι}ι∈[n])を復号鍵(ただし、{rι}ι∈[n]はΣι∈[n]rι=0を満たすZpの要素、B1, …, BnはZp上の2m+2k+1次元正則行列、Bι *=ν(Bι -1)T (ι∈[n])、{kι}ι∈[n]は次式で計算される2m+2k+1次元ベクトル)とし、
前記暗号文{ctι}ι∈[n]から、次式により秘密鍵K'を計算する秘密鍵計算ステップと、
前記{k'ι}ι∈[n]と前記{c'ι}ι∈[n]から、次式により双線型写像値hTを計算する双線型写像計算ステップと、
を含む復号方法。 - 請求項1または3に記載の暗号化装置としてコンピュータを機能させるためのプログラム。
- 請求項2または4に記載の復号装置としてコンピュータを機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017250124A JP6885325B2 (ja) | 2017-12-26 | 2017-12-26 | 暗号化装置、復号装置、暗号化方法、復号方法、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017250124A JP6885325B2 (ja) | 2017-12-26 | 2017-12-26 | 暗号化装置、復号装置、暗号化方法、復号方法、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019117232A JP2019117232A (ja) | 2019-07-18 |
JP6885325B2 true JP6885325B2 (ja) | 2021-06-16 |
Family
ID=67304414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017250124A Active JP6885325B2 (ja) | 2017-12-26 | 2017-12-26 | 暗号化装置、復号装置、暗号化方法、復号方法、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6885325B2 (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4565628B2 (ja) * | 2004-11-26 | 2010-10-20 | 日本電信電話株式会社 | 秘密計算方法及びシステム、並びにプログラム |
JP5606351B2 (ja) * | 2011-02-09 | 2014-10-15 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、鍵委譲装置、暗号処理方法及び暗号処理プログラム |
CN104081390B (zh) * | 2012-01-25 | 2017-11-03 | 三菱电机株式会社 | 数据检索装置、数据检索方法、数据检索程序、数据登记装置、数据登记方法、数据登记程序以及信息处理装置 |
WO2014184894A1 (ja) * | 2013-05-15 | 2014-11-20 | 三菱電機株式会社 | 暗号システム、暗号方法及び暗号プログラム |
JP2015099961A (ja) * | 2013-11-18 | 2015-05-28 | 三菱電機株式会社 | 情報配信システム、サーバ装置、情報生成装置、端末装置、情報配信方法及びプログラム |
-
2017
- 2017-12-26 JP JP2017250124A patent/JP6885325B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019117232A (ja) | 2019-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5985123B1 (ja) | 秘匿検索システム、管理装置、秘匿検索方法及び秘匿検索プログラム | |
JP5144991B2 (ja) | 暗号文復号権限委譲システム | |
JP6363032B2 (ja) | 鍵付替え方向制御システムおよび鍵付替え方向制御方法 | |
CN110635909B (zh) | 一种基于属性的抗合谋攻击的代理重加密方法 | |
WO2012132136A1 (ja) | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム | |
JP5432736B2 (ja) | 暗号化された情報のためのキーワード検索システム、キーワード検索方法、検索要求装置、検索代行装置、プログラム、記録媒体 | |
JP5814880B2 (ja) | 暗号システム、暗号方法、暗号プログラム及び復号装置 | |
JPWO2019130528A1 (ja) | 変換鍵生成装置、暗号文変換装置、秘匿情報処理システム、変換鍵生成方法、変換鍵生成プログラム、暗号文変換方法及び暗号文変換プログラム | |
KR20130036044A (ko) | 비밀 분산 시스템, 분산 장치, 분산 관리 장치, 취득 장치, 비밀 분산 방법, 프로그램, 및 기록 매체 | |
CN110169010B (zh) | 同态运算装置、加密系统和计算机能读取的存储介质 | |
Sokouti et al. | Medical image encryption: an application for improved padding based GGH encryption algorithm | |
JP2013156675A (ja) | 暗号文検索システム、検索情報生成装置、検索実行装置、検索要求装置、暗号文検索方法、検索情報生成方法、検索実行方法、検索要求方法、およびプログラム | |
WO2007011071A1 (ja) | タイム装置、暗号化装置、復号化装置、暗号化/復号化システム | |
JP5325755B2 (ja) | 暗号文復号権限委譲システム、暗号文復号権限委譲方法、暗号文変換装置、復号権限所持者用装置および暗号文変換プログラム | |
JP5135070B2 (ja) | 暗号文復号権限委譲システム | |
JP2013243441A (ja) | 秘密分散システム、データ分散装置、データ復元装置、秘密分散方法、およびプログラム | |
Li et al. | Efficient and adaptively secure attribute-based proxy reencryption scheme | |
Nayak et al. | SEMKC: secure and efficient computation over outsourced data encrypted under multiple keys | |
JP5469618B2 (ja) | 暗号化システム、復号方法、鍵更新方法、鍵生成装置、受信装置、代理計算装置、プログラム | |
JP2010160235A (ja) | 検索システム、端末装置、データベース装置、検索方法及びプログラム | |
JP6971917B2 (ja) | 復号装置、暗号化装置及び暗号システム | |
WO2019220900A1 (ja) | 暗号化システム、暗号化装置、復号装置、暗号化方法、復号方法、及びプログラム | |
JP7325689B2 (ja) | 暗号文変換システム、変換鍵生成方法、及び、変換鍵生成プログラム | |
JP6885325B2 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法、プログラム | |
JP5713947B2 (ja) | プロキシ暗号システム,プロキシ暗号方法,委託装置,プロキシ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191213 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210105 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210304 |
|
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: 20210413 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210426 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6885325 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |