JP6270683B2 - 暗号システム、暗号方法、普遍再暗号化鍵生成装置及び再暗号化鍵生成装置 - Google Patents
暗号システム、暗号方法、普遍再暗号化鍵生成装置及び再暗号化鍵生成装置 Download PDFInfo
- Publication number
- JP6270683B2 JP6270683B2 JP2014204445A JP2014204445A JP6270683B2 JP 6270683 B2 JP6270683 B2 JP 6270683B2 JP 2014204445 A JP2014204445 A JP 2014204445A JP 2014204445 A JP2014204445 A JP 2014204445A JP 6270683 B2 JP6270683 B2 JP 6270683B2
- Authority
- JP
- Japan
- Prior art keywords
- key
- encryption
- ciphertext
- encryption key
- universal
- 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
非特許文献1には、AB−PRE方式に関する記載がある。非特許文献2には、属性を特定のユーザが任意に変更できる属性ベース暗号(Adaptable Attribute−Based Encryption,Ad−PRE)方式に関する記載がある。
ユーザ秘密鍵で復号可能なオリジナル暗号文を復号できないように前記ユーザ秘密鍵を変換して普遍再暗号化鍵を生成する普遍再暗号化鍵生成装置と、
前記ユーザ秘密鍵で復号可能なオリジナル暗号文についての復号可能な範囲を変更する再暗号化をするための再暗号化鍵であって、前記オリジナル暗号文を復号可能な範囲を示す情報が設定された再暗号化鍵を前記普遍再暗号化鍵生成装置が生成した前記普遍再暗号化鍵から生成する再暗号化鍵生成装置と
を備える。
***記法の説明***
以下の説明における記法について説明する。
Aがランダムな値または分布であるとき、数101は、Aの分布に従いAからyをランダムに選択することを表す。つまり、数101において、yは乱数である。
<双線形写像>
対称双線形ペアリング群(p,G,GT,g,e)は、素数pと、位数pの巡回加法群Gと、位数pの巡回乗法群GTと、g≠0∈Gと、多項式時間で計算可能な非退化双線形ペアリングe:G×G→GTとの組である。非退化双線形ペアリングは、e(sg,tg)=e(g,g)stであり、e(g,g)≠1である。
以下に説明するAB−PRE方式では、モノトーンアクセス構造が用いられる。
条件1,2を満たす場合、秘密分散法Πは、集合族Fの下、群Zp上で線形である。つまり、線形秘密分散法である。
条件1:集合族Fの各集合に割り当てられる共有情報は、群Zp上のベクトルで形成される。そこで、共有情報をシェアベクトルと呼ぶ。
条件2:秘密分散法Πに対して、共有生成行列と呼ばれるL行r列の行列Mが存在する。i=1,...,Lの各整数iについて、集合族Fの集合を、行列Mのi番目の行に対して割り当てるインデックスρ(i)の集合ρと、ベクトルv→=(s,r2,...,rL)とが設定される。ここで、秘密値s∈Zpであり、乱数値r2,...,rL∈Zpである。そして、Mv→={M1v→,...,MLv→}が秘密分散法Πの秘密値sのL個のシェアベクトルとなっている。シェアベクトルMiv→は、インデックスρ(i)に対応する。
秘密分散法Πがアクセス構造F=(M,ρ)の下、LSSSであるとする。すると、任意の有資格集合S∈Fとし、I⊂{1,2,...,L}をI={i:ρ(i)∈S}とする。もし、{λi=Miv→}i∈Iが秘密分散法Πに従った秘密値sの正しいシェアベクトルの組である場合、Σi∈Iωi・λi=sとなる定数{ωi∈Zp}i∈Iが存在する。また、定数{ωi∈Zp}は、行列Mのサイズに対して多項式時間で計算可能である。
実施の形態1では、暗号文ポリシーのAB−PRE方式について説明する。暗号文ポリシーとは、暗号文にポリシーが埋め込まれること、つまりアクセス構造Fが埋め込まれることを意味する。
AB−PRE方式は、Setup、KG、URKG、RKG、Enc、REnc、DecEnc、DecReEncの8つのアルゴリズムを備える暗号方法である。
Setupアルゴリズムは、属性Uと、セキュリティパラメータ1λとを入力として、公開鍵pkと、マスター秘密鍵mskと、再暗号化秘密鍵rskとを出力する確率的アルゴリズムである。
KGアルゴリズムは、公開鍵pkと、マスター秘密鍵mskと、属性の有資格集合Sとを入力として、ユーザ秘密鍵skSを出力する確率的アルゴリズムである。
Encアルゴリズムは、公開鍵pkと、アクセス構造Fと、メッセージmとを入力として、オリジナル暗号文octFを出力する確率的アルゴリズムである。
URKGアルゴリズムは、公開鍵pkと、ユーザ秘密鍵skSとを入力として、普遍再暗号化鍵urkSを出力する確率的アルゴリズムである。
RKGアルゴリズムは、公開鍵pkと、普遍再暗号化鍵urkSと、再暗号化秘密鍵rskと、アクセス構造F’とを入力として、再暗号化鍵rkS→F’を出力する確率的アルゴリズムである。
REncアルゴリズムは、公開鍵pkと、再暗号化鍵rkS→F’と、オリジナル暗号文octFとを入力として、再暗号文rctF’を出力する確率的アルゴリズムである。
DecEncアルゴリズムは、公開鍵pkと、ユーザ秘密鍵skSと、オリジナル暗号文octFとを入力として、メッセージm、又は、復号失敗を表す記号⊥を出力する確定的アルゴリズムである。
DecReEncアルゴリズムは、公開鍵pkと、ユーザ秘密鍵skS’と、再暗号文rctF’とを入力として、メッセージm、又は、復号失敗を表す記号⊥を出力する確定的アルゴリズムである。
暗号システム10は、鍵生成装置100と、暗号化装置200と、再暗号化鍵生成装置300と、再暗号化装置400と、復号装置500と、再暗号文復号装置600とを備える。鍵生成装置100は、普遍再暗号化鍵生成装置700を備える。
なお、ここでは、属性の有資格集合Sを有するユーザが使用する装置が復号装置500であり、属性の有資格集合S’を有するユーザが使用する装置が再暗号文復号装置600であるする。
そして、鍵生成装置100は、公開鍵pkを公開する。また、鍵生成装置100は、ユーザ秘密鍵skSを復号装置500と、普遍再暗号化鍵生成装置700とへ秘密裡に出力し、鍵生成装置100は、ユーザ秘密鍵skS’を再暗号文復号装置600へ秘密裡に出力する。また、鍵生成装置100は、再暗号化秘密鍵rskを再暗号化鍵生成装置300へ秘密裡に出力する。
なお、Setupアルゴリズムは、暗号システム10のセットアップ時に1度だけ実行される。その後、Setupアルゴリズムは、例えば、公開鍵pkとマスター秘密鍵mskと再暗号化秘密鍵rskとの少なくともいずれかを変更する必要がある場合に実行される。KGアルゴリズムは、各ユーザのユーザ秘密鍵を生成する度に実行される。
鍵生成装置100は、情報取得部110と、マスター鍵生成部120と、マスター鍵記憶部130と、ユーザ秘密鍵生成部140と、鍵出力部150とを備える。
また、上述した通り、鍵生成装置100は、普遍再暗号化鍵生成装置700を備える。普遍再暗号化鍵生成装置700の構成については後述する。
暗号化装置200は、情報取得部210と、暗号文生成部220と、暗号文出力部230とを備える。
普遍再暗号化鍵生成装置700は、情報取得部710と、普遍再暗号化鍵生成部720と、普遍再暗号化鍵出力部730とを備える。
再暗号化鍵生成装置300は、情報取得部310と、再暗号化鍵生成部320と、再暗号化鍵出力部330とを備える。
再暗号化装置400は、情報取得部410と、再暗号化判定部420と、再暗号化部430と、再暗号文出力部440とを備える。
復号装置500は、情報取得部510と、暗号文判定部520と、復号部530と、結果出力部540とを備える。
再暗号文復号装置600は、情報取得部610と、暗号文判定部620と、復号部630と、結果出力部640とを備える。
図9は、Setupアルゴリズムの処理を示すフローチャートである。
Setupアルゴリズムは、図2に示す鍵生成装置100によって実行される。
セキュリティパラメータ取得部111は、暗号システム10の管理者等によって入力装置により入力された、セキュリティパラメータ1λを取得する。
属性カテゴリ取得部112は、暗号システム10で使用する属性U={1,2,...,|U|}を取得する。属性Uとは、例えば、所属部、所属課、社員ID等の属性カテゴリを示す情報である。
写像生成部121は、S101で取得されたセキュリティパラメータ1λを入力として、双線形ペアリング群のパラメータparamG:=(p,G,GT,g,e)を生成する。ここで、巡回加法群Gと巡回乗法群GTとは位数pの剰余群である。
アクセス構造生成部123は、処理装置により、アクセス構造F〜を満たす属性の有資格集合Sが存在しないアクセス構造F〜=(M〜,ρ〜)を生成する。ここで、アクセス構造F〜に含まれる行列M〜は、L〜行r〜列の行列である。
アクセス構造F〜は、非正規の手順により、普遍再暗号化鍵urkSから後述するパラメータdを取り出されることがないようにために利用される。アクセス構造F〜を満たす属性の有資格集合S*が存在すると、その有資格集合S*から生成されたユーザ秘密鍵skS*を使えば、普遍再暗号化鍵urkSからパラメータdを取り出すことが可能になってしまう。そのため、アクセス構造F〜を満たす属性の有資格集合Sが存在しないアクセス構造F〜を生成する必要がある。
エンコード関数生成部124は、処理装置により、位数pの群Zpの要素を、巡回乗法群GTの要素へ変換するエンコード関数Eを生成する。
鍵要素生成部125は、処理装置により、S102で生成された双線形ペアリング群のパラメータparamGと、S103で生成されたパラメータと、S104で生成されたアクセス構造F〜と、S105で生成されたエンコード関数Eとを用いて、数108に示す公開鍵pkと、数109に示すマスター秘密鍵mskと、数110に示す再暗号化秘密鍵rskとを生成する。
鍵出力部150は、公開鍵pkをネットワークを介して公開用のサーバへ出力すること等により、公開鍵pkを公開する。
また、鍵出力部150は、再暗号化秘密鍵rskをネットワークを介して再暗号化鍵生成装置300へ秘密裡に出力する。秘密裡に出力するとは、例えば、他の暗号方式により、再暗号化秘密鍵rskを暗号化して、再暗号化鍵生成装置300へ送信することである。もちろん、これに限らず、第三者へ漏洩しない他の方法により、再暗号化秘密鍵rskを再暗号化鍵生成装置300へ出力してもよい。
KGアルゴリズムは、図2に示す鍵生成装置100によって実行される。
マスター鍵取得部113は、Setupアルゴリズムで生成された公開鍵pk及びマスター秘密鍵mskを取得する。
有資格集合取得部114は、暗号システム10の管理者等によって入力装置により入力された、ユーザ秘密鍵を使用するユーザの属性の有資格集合Sを取得する。ユーザの属性の有資格集合Sとは、そのユーザの属性を表す情報である。例えば、S101で入力された属性Uが所属部、所属課、社員IDという属性カテゴリを表す場合、属性の有資格集合Sは、そのユーザの所属部、所属課、社員IDを表す情報である。
属性集合判定部141は、処理装置により、S201で取得された属性の有資格集合Sが、公開鍵pkに含まれるアクセス構造F〜を満たすか否か判定する。
この判定の具体的な方法は、アクセス構造F〜の設計によって異なる。しかし、線形秘密分散法の説明で述べた、I={i:ρ(i)∈S}とした場合に、Σi∈Iωi・λi=sとなる定数{ωi∈Zp}i∈Iが存在するか否かを判定することにより、判定することができる。
属性の有資格集合Sがアクセス構造F〜を満たさない場合、処理をS203へ進め、属性の有資格集合Sがアクセス構造F〜を満たす場合、処理を終了する。
鍵要素生成部143は、処理装置により、S201で取得された公開鍵pk及びマスター秘密鍵sk及び属性の有資格集合Sと、S203で生成された乱数とを用いて、数112に示す鍵要素K0,K1,K2.i,K^0,K^1,K^2.iを生成する。
鍵要素K2.i及び鍵要素K^2.iには、ユーザ秘密鍵を使用するユーザの属性情報である属性の有資格集合Sが設定されている。つまり、オリジナル暗号文を復号するために用いられる要素と、再暗号文を復号するために用いられる要素との両方に、ユーザ秘密鍵を使用するユーザの属性情報である属性の有資格集合Sが設定されている。
鍵出力部150は、S201で取得された属性の有資格集合Sと、S204で生成された鍵要素K0,K1,K2.i,K^0,K^1,K^2.iとを含むユーザ秘密鍵skSをネットワークを介して復号装置500へ秘密裡に出力する。
ユーザ秘密鍵skS’を生成する場合、S201で、属性の有資格集合S’が入力され、S204で、鍵要素K’0,K’1,K’2.i,K^’0,K^’1,K^’2.iが生成される。そして、S205で、属性の有資格集合S’と、鍵要素K’0,K’1,K’2.i,K^’0,K^’1,K^’2.iとを含むユーザ秘密鍵skS’がネットワークを介して再暗号文復号装置600へ秘密裡に出力される。
Encアルゴリズムは、図3に示す暗号化装置200によって実行される。
(S301:情報取得処理)
公開鍵取得部211は、Setupアルゴリズムで生成された公開鍵pkを取得する。
メッセージ取得部212は、暗号化装置200のユーザによって入力装置により入力された、暗号化対象のメッセージmを取得する。
アクセス構造取得部213は、暗号化装置200のユーザによって入力装置により入力された、オリジナル暗号文octFを復号可能な範囲を示すアクセス構造F=(M,ρ)を取得する。ここで、アクセス構造Fに含まれる行列Mは、L行r列の行列である。
ランダムベクトル生成部221は、処理装置により、ランダムにベクトルv=(s,v2,...,vr)∈Zp rを生成する。ここで、ベクトルvの先頭要素sが秘密値となる乱数であり、残りの要素v2,...,vrは特に意味を持たない乱数である。Zp rのrは、ベクトルの要素数がr個であることを意味している。
暗号要素生成部223は、処理装置により、S301で取得された公開鍵pk及びメッセージm及びアクセス構造Fと、S302で生成されたベクトルvと、S303で生成された乱数とを用いて、数114に示す暗号要素C0,C1,C2.i,Diを生成する。
暗号文出力部230は、S301で取得されたアクセス構造Fと、S304で生成された暗号要素C0,C1,C2.i,Diとを含むオリジナル暗号文octFをネットワークを介して復号装置500及び再暗号化装置400へ秘密裡に出力する。
URKGアルゴリズムは、図4に示す普遍再暗号化鍵生成装置700によって実行される。
公開鍵取得部711は、Setupアルゴリズムで生成された公開鍵pkを取得する。ユーザ秘密鍵取得部712は、KGアルゴリズムで生成されたユーザ秘密鍵skSを取得する。
復号鍵変換部722は、処理装置により、S401で取得された公開鍵pk及びユーザ秘密鍵skSと、S402で生成されたパラメータdとを用いて、数116に示す変換後ユーザ秘密鍵skdの鍵要素RK0,RK1,RK2.iを生成する。
ランダムベクトル生成部723は、処理装置により、ランダムにベクトルv〜=(s〜,v〜 2,...,v〜 r〜)∈Zp r〜を生成する。ここで、ベクトルv〜の先頭要素s〜が秘密値となる乱数であり、残りの要素v〜 2,...,v〜 rは特に意味を持たない乱数である。なお、ベクトルv〜におけるr〜はr〜のことである。
パラメータ暗号化部724は、処理装置により、S401で取得された公開鍵pkと、S402で生成されたパラメータdと、S404で生成されたベクトルv〜と、S405で生成された乱数とを用いて、数118に示すパラメータ暗号文ctdF^の暗号要素RC^0,RC^1,RC^2.i,RD^iを生成する。
普遍再暗号化鍵出力部730は、S401で取得されたユーザ秘密鍵skSに含まれる属性の有資格集合Sと、S403で生成された変換後ユーザ秘密鍵skdの鍵要素RK0,RK1,RK2.iと、S406で生成されたパラメータ暗号文ctdF^の暗号要素RC^0,RC^1,RC^2.i,RD^iとを含む普遍再暗号化鍵urkSをネットワークを介して再暗号化鍵生成装置300へ秘密裡に出力する。
なお、普遍再暗号化鍵出力部730は、普遍再暗号化鍵urkSを鍵生成装置100の鍵出力部150へ出力し、鍵出力部150が普遍再暗号化鍵urkSを再暗号化鍵生成装置300へ秘密裡に出力してもよい。
RKGアルゴリズムは、図5に示す再暗号化鍵生成装置300によって実行される。
公開鍵取得部311は、Setupアルゴリズムで生成された公開鍵pk及び再暗号化秘密鍵rskを取得する。
普遍再暗号化鍵取得部312は、URKGアルゴリズムで生成された普遍再暗号化鍵urkSを取得する。
アクセス構造取得部313は、ユーザ秘密鍵skSを使用するユーザ等によって入力装置により入力された、再暗号文rctF’を復号可能な範囲を示すアクセス構造F’=(M’,ρ’)を取得する。ここで、アクセス構造F’に含まれる行列M’は、L’行r’列の行列である。
ランダムベクトル生成部321は、処理装置により、ランダムにベクトルv^=(s^=s〜+s’,v^2,...,v^r’)∈Zp r’を生成する。ここで、ベクトルv^の先頭要素s’が秘密値となる乱数であり、残りの要素v^2,...,v^rは特に意味を持たない乱数である。
属性設定部323は、処理装置により、S501で取得された公開鍵pk及び再暗号化秘密鍵rsk及び普遍再暗号化鍵urkS及びアクセス構造F’と、S502で生成されたベクトルv^と、S503で生成された乱数とを用いて、数120に示す変換後暗号文ctdF’の暗号要素RC^’0,RC^’1,RC^’2.i,RD^’iを生成する。
再暗号化鍵出力部330は、S501で取得されたアクセス構造F’及び普遍再暗号化鍵urkSに含まれる属性の有資格集合S及び変換後ユーザ秘密鍵skdの鍵要素RK0,RK1,RK2.iと、S504で生成された変換後暗号文ctdF’の暗号要素RC^’0,RC^’1,RC^’2.i,RD^’iとを含む再暗号化鍵rkS→F’をネットワークを介して再暗号化装置400へ秘密裡に出力する。
REncアルゴリズムは、図6に示す再暗号化装置400によって実行される。
公開鍵取得部411は、Setupアルゴリズムで生成された公開鍵pkを取得する。
再暗号化鍵取得部412は、RKGアルゴリズムで生成された再暗号化鍵rkS→F’を取得する。
オリジナル暗号文取得部413は、Encアルゴリズムで生成されたオリジナル暗号文octFを取得する。
再暗号化判定部420は、処理装置により、S601で取得された再暗号化鍵rkS→F’に含まれる属性の有資格集合Sが、オリジナル暗号文octFに含まれるアクセス構造Fを満たすか否か判定する。
この判定の方法については、S202で説明した属性の有資格集合Sがアクセス構造F〜を満たすか否か判定する方法と同様である。
属性の有資格集合Sがアクセス構造Fを満たす場合、処理をS603へ進め、属性の有資格集合Sがアクセス構造Fを満たさない場合、処理を終了する。
定数計算部431は、処理装置により、I={i:ρ(i)∈S}とした場合に、Σi∈IωiMi=(1,0,...,0)となる定数ωi∈Zpを計算する。ここで、Miは、行列Mのi番目の行である。
S202で説明した通り、属性の有資格集合Sがアクセス構造Fを満たす場合、I={i:ρ(i)∈S}とした場合に、Σi∈Iωi・λi=sとなる定数{ωi∈Zp}i∈Iが存在する。したがって、定数ωiを計算可能である。
ペアリング演算部432は、処理装置により、S601で取得された公開鍵及び再暗号化鍵rkS→F’及びオリジナル暗号文octFと、S603で計算された定数ωiとを用いて、数121に示す演算を実行して、復号情報decd=ReC1を生成する。
再暗号文出力部440は、S601で取得された再暗号化鍵rkS→F’に含まれるアクセス構造F’及び変換後暗号文ctdF’の暗号要素RC^’0,RC^’1,RC^’2.i,RD^’iと、オリジナル暗号文octFに含まれるC0=ReC0と、S604で生成された復号情報decd=ReC1とを含む再暗号文rctF’をネットワークを介して秘密裡に再暗号文復号装置600へ出力する。
DecEncアルゴリズムは、図7に示す復号装置500によって実行される。
公開鍵取得部511は、Setupアルゴリズムで生成された公開鍵pkを取得する。
ユーザ秘密鍵取得部512は、KGアルゴリズムで生成されたユーザ秘密鍵skSを取得する。
オリジナル暗号文取得部513は、Encアルゴリズムで生成されたオリジナル暗号文octFを取得する。
暗号文判定部520は、処理装置により、S701で取得されたユーザ秘密鍵skSに含まれる属性の有資格集合Sが、オリジナル暗号文octFに含まれるアクセス構造Fを満たすか否か判定する。
この判定の方法については、S202で説明した属性の有資格集合Sがアクセス構造F〜を満たすか否か判定する方法と同様である。
属性の有資格集合Sがアクセス構造Fを満たす場合、処理をS703へ進め、属性の有資格集合Sがアクセス構造Fを満たさない場合、処理をS705へ進める。
定数計算部531は、処理装置により、I={i:ρ(i)∈S}とした場合に、Σi∈IωiMi=(1,0,...,0)となる定数ωi∈Zpを計算する。S703の処理は、S603の処理と同様である。
ペアリング演算部532は、処理装置により、S701で取得された公開鍵pk及びユーザ秘密鍵skS及びオリジナル暗号文octFと、S703で計算された定数ωiとを用いて、数122に示す演算を実行して、メッセージmを生成する。
結果出力部540は、S704でメッセージmを生成した場合には、生成されたメッセージmを出力する。一方、S702で属性の有資格集合Sがアクセス構造Fを満たさない場合には、復号失敗を表す記号⊥を出力する。
DecReEncアルゴリズムは、図8に示す再暗号文復号装置600によって実行される。
公開鍵取得部611は、Setupアルゴリズムで生成された公開鍵pkを取得する。
ユーザ秘密鍵取得部612は、KGアルゴリズムで生成されたユーザ秘密鍵skS’を取得する。
再暗号文取得部613は、REncアルゴリズムで生成された再暗号文rctF’を取得する。
暗号文判定部620は、処理装置により、S801で取得されたユーザ秘密鍵skS’に含まれる属性の有資格集合S’が、再暗号文rctF’に含まれるアクセス構造F’を満たすか否か判定する。
この判定の方法については、S202で説明した属性の有資格集合Sがアクセス構造F〜を満たすか否か判定する方法と同様である。
属性の有資格集合S’がアクセス構造F’を満たす場合、処理をS803へ進め、属性の有資格集合S’がアクセス構造F’を満たさない場合、処理をS807へ進める。
定数計算部631は、処理装置により、I’={i:ρ’(i)∈S’}とした場合に、Σi∈I’ω’iM’i=(1,0,...,0)となる定数ω’i∈Zpを計算する。ここで、M’iは、行列M’のi番目の行である。
ペアリング演算部632は、処理装置により、S801で取得された公開鍵pk及びユーザ秘密鍵skS’及び再暗号文rctF’と、S803で計算された定数ω’iとを用いて、数123に示す演算を実行して、パラメータE(d)を生成する。
デコード部633は、処理装置により、S801で取得された公開鍵pkに含まれるエンコード関数Eを用いて、S804で生成されたパラメータE(d)をデコードし、パラメータdを生成する。
メッセージ計算部634は、処理装置により、S801で取得された再暗号文rctF’と、S805で生成されたパラメータdとを用いて、数124に示す演算を実行して、メッセージmを計算する。
結果出力部640は、S806でメッセージmを生成した場合には、生成されたメッセージmを出力する。一方、S802で属性の有資格集合S’がアクセス構造F’を満たさない場合には、復号失敗を表す記号⊥を出力する。
以上のように、実施の形態1に係る暗号システム10では、普遍再暗号化鍵生成装置700がユーザ秘密鍵skSから普遍再暗号化鍵urkSを生成し、再暗号化鍵生成装置300が普遍再暗号化鍵urkSから再暗号化鍵rks→F’を生成する。そして、ユーザ秘密鍵skSは、普遍再暗号化鍵urkSを生成する際に必要なだけで、再暗号化鍵rks→F’を生成する際には必要ない。普遍再暗号化鍵urkSは1つ生成すれば、変更したいアクセス範囲毎の再暗号化鍵rkを生成することが可能である。
そのため、例えば、鍵生成装置100がユーザ秘密鍵skSを生成した際、普遍再暗号化鍵生成装置700が普遍再暗号化鍵urkSを生成してしまえば、以降、ユーザ秘密鍵skSもマスター秘密鍵mskも用いることなく、再暗号化鍵rkを生成することが可能である。したがって、再暗号化鍵rkを生成する度に、ユーザがユーザ秘密鍵skSを用いた処理を行う必要はなく、利便性が高い。また、再暗号化鍵rkを生成する度に、マスター秘密鍵mskを用いた処理を行う必要はなく、安全性が高い。
この場合、鍵生成装置100は、属性の有資格集合Sに代えて、アクセス構造Fを入力として、ユーザ秘密鍵を生成する。暗号化装置200は、アクセス構造Fに代えて、属性の有資格集合Sを入力として、オリジナル暗号文を生成する。再暗号化鍵生成装置300は、アクセス構造F’に代えて、属性の有資格集合S’を入力として、再暗号化鍵を生成する。
鍵生成装置100は、互いに対応する属性情報である属性の有資格集合Sとアクセス構造Fとのうちの一方が設定されたユーザ秘密鍵を生成する。暗号化装置200は、属性の有資格集合Sとアクセス構造Fとのうちの他方が設定されたオリジナル暗号文を生成する。
普遍再暗号化鍵生成装置700は、互いに対応する属性情報である属性の有資格集合Sとアクセス構造Fとのうちの一方が設定されたユーザ秘密鍵をパラメータdで変換した変換後ユーザ秘密鍵と、パラメータdを暗号化したパラメータ暗号文とを含む普遍再暗号化鍵を生成する。再暗号化鍵生成装置300は、変換後ユーザ秘密鍵と、互いに対応する属性情報である属性の有資格集合S’とアクセス構造F’とのうちの一方をパラメータ暗号文に設定した変換後暗号文とを含む再暗号化鍵を生成する。
再暗号化装置400は、属性情報である属性の有資格集合Sとアクセス構造Fとのうちの他方が設定されたオリジナル暗号文を、再暗号化鍵に含まれる変換後ユーザ秘密鍵で復号した復号情報と、変換後暗号文とを含む再暗号文を生成する。
復号装置500は、属性情報である属性の有資格集合Sとアクセス構造Fとのうちの他方が設定されたユーザ秘密鍵により、オリジナル暗号文を復号する。再暗号文復号装置600は、属性情報である属性の有資格集合S’とアクセス構造F’とのうちの他方が設定されたユーザ秘密鍵により、再暗号文を復号する。
また、復号装置500が普遍再暗号化鍵生成装置700を備えていてもよい。この場合には、再暗号化鍵を生成する度に、復号装置500を操作するユーザに手間がかかる恐れがある。
鍵生成装置100と、暗号化装置200と、再暗号化鍵生成装置300と、再暗号化装置400と、復号装置500と、再暗号文復号装置600と、普遍再暗号化鍵生成装置700とは、コンピュータである。鍵生成装置100と、暗号化装置200と、再暗号化鍵生成装置300と、再暗号化装置400と、復号装置500と、再暗号文復号装置600と、普遍再暗号化鍵生成装置700との各要素をプログラムで実現することができる。
鍵生成装置100と、暗号化装置200と、再暗号化鍵生成装置300と、再暗号化装置400と、復号装置500と、再暗号文復号装置600と、普遍再暗号化鍵生成装置700とのハードウェア構成としては、バスに、演算装置901、外部記憶装置902、主記憶装置903、通信装置904、入出力装置905が接続されている。
Memory)やフラッシュメモリ、ハードディスク装置等である。主記憶装置903は、例えばRAM(Random Access Memory)等である。通信装置904は、例えば通信ボード等である。入出力装置905は、例えばマウス、キーボード、ディスプレイ装置等である。
プログラムは、情報取得部110と、マスター鍵生成部120と、ユーザ秘密鍵生成部140と、鍵出力部150と、情報取得部210と、暗号文生成部220と、暗号文出力部230と、情報取得部310と、再暗号化鍵生成部320と、再暗号化鍵出力部330と、情報取得部410と、再暗号化判定部420と、再暗号化部430と、再暗号文出力部440と、情報取得部510と、暗号文判定部520と、復号部530と、結果出力部540と、情報取得部610と、暗号文判定部620と、復号部630と、結果出力部640と、情報取得部710と、普遍再暗号化鍵生成部720と、普遍再暗号化鍵出力部730として説明している機能を実現するプログラムである。
更に、外部記憶装置902にはオペレーティングシステム(OS)も記憶されており、OSの少なくとも一部が主記憶装置903にロードされ、演算装置901はOSを実行しながら、上記プログラムを実行する。
また、実施の形態1の説明において、マスター鍵記憶部130が記憶すると説明した情報や、上記機能が取得する、生成する、出力する等と説明した情報等が主記憶装置903にファイルとして記憶されている。
Claims (8)
- ユーザ秘密鍵で復号可能なオリジナル暗号文を復号できないように前記ユーザ秘密鍵を変換して普遍再暗号化鍵を生成する普遍再暗号化鍵生成装置と、
前記ユーザ秘密鍵で復号可能なオリジナル暗号文についての復号可能な範囲を変更する再暗号化をするための再暗号化鍵であって、前記オリジナル暗号文を復号可能な範囲を示す情報が設定された再暗号化鍵を前記普遍再暗号化鍵生成装置が生成した前記普遍再暗号化鍵から生成する再暗号化鍵生成装置と
を備える暗号システム。 - 前記普遍再暗号化鍵生成装置は、有資格集合Sとアクセス構造Fとのうちの一方が設定された前記ユーザ秘密鍵をパラメータdで変換した変換後ユーザ秘密鍵と、前記パラメータdを暗号化したパラメータ暗号文とを含む前記普遍再暗号化鍵を生成し、
前記再暗号化鍵生成装置は、前記変換後ユーザ秘密鍵と、有資格集合S’とアクセス構造F’とのうちの一方を前記パラメータ暗号文に設定した変換後暗号文とを含む再暗号化鍵を生成する
請求項1に記載の暗号システム。 - 前記暗号システムは、さらに、
前記有資格集合Sと前記アクセス構造Fのうちの他方が設定されたオリジナル暗号文を、前記再暗号化鍵に含まれる前記変換後ユーザ秘密鍵で復号した復号情報と、前記変換後暗号文とを含む再暗号文を生成する再暗号化装置
を備える請求項2に記載の暗号システム。 - 前記暗号システムは、さらに、
前記有資格集合S’と前記アクセス構造F’のうちの他方が設定されたユーザ秘密鍵により、前記再暗号文を復号する再暗号文復号装置
を備える請求項3に記載の暗号システム。 - 前記普遍再暗号化鍵生成装置は、数1に示す鍵要素K0,K1,K2.iを含むユーザ秘密鍵から、数2に示す鍵要素RK0,RK1,RK2.iを含む変換後ユーザ秘密鍵を生成するとともに、数3に示す暗号要素RC^0,RC^1を含むパラメータ暗号文を生成し、
前記再暗号化鍵生成装置は、数4に示す暗号要素RC^’0,RC^’1,RC^’2.i,RD^’iを含む変換後暗号文を生成し、
前記再暗号化装置は、数5に示す暗号要素C1,C2.i,Diを含むオリジナル暗号文を、数6に示すように復号した復号情報decdと、数7に示す前記オリジナル暗号文の暗号要素ReC0とを含む再暗号文を生成し、
前記再暗号文復号装置は、数8に示す鍵要素K^’0,K^’1,K^’2.iを含む第2ユーザ秘密鍵により、数9に示すように前記再暗号文を復号する
請求項4に記載の暗号システム。
- 普遍再暗号化鍵生成装置が、ユーザ秘密鍵で復号可能なオリジナル暗号文を復号できないように前記ユーザ秘密鍵を変換して普遍再暗号化鍵を生成する普遍再暗号化鍵生成工程と、
再暗号化鍵生成装置が、前記ユーザ秘密鍵で復号可能なオリジナル暗号文について、復号可能な範囲を変更する再暗号化をするための再暗号化鍵であって、前記オリジナル暗号文を復号可能な範囲を示す情報が設定された再暗号化鍵を前記普遍再暗号化鍵生成装置が生成した前記普遍再暗号化鍵から生成する再暗号化鍵生成工程と
を備える暗号方法。 - ユーザ秘密鍵をパラメータdで変換して変換後ユーザ秘密鍵を生成する復号鍵変換部と、
前記パラメータdを暗号化してパラメータ暗号文を生成するパラメータ暗号化部と、
前記復号鍵変換部が生成した変換後ユーザ秘密鍵と、前記パラメータ暗号化部が生成したパラメータ暗号文とを含む普遍再暗号化鍵を出力する普遍再暗号化鍵出力部と
を備える普遍再暗号化鍵生成装置。 - ユーザ秘密鍵をパラメータdで変換した変換後ユーザ秘密鍵と、前記パラメータdを暗号化したパラメータ暗号文とを含む普遍再暗号化鍵を取得する普遍再暗号化鍵取得部と、
前記普遍再暗号化鍵取得部が取得した普遍再暗号化鍵に含まれる前記パラメータ暗号文に、属性情報を設定して変換後暗号文を生成する属性設定部と、
前記普遍再暗号化鍵取得部が取得した普遍再暗号化鍵に含まれる前記変換後ユーザ秘密鍵と、前記属性設定部が生成した変換後暗号文とを含む再暗号化鍵を出力する再暗号化鍵出力部と
を備える再暗号化鍵生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014204445A JP6270683B2 (ja) | 2014-10-03 | 2014-10-03 | 暗号システム、暗号方法、普遍再暗号化鍵生成装置及び再暗号化鍵生成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014204445A JP6270683B2 (ja) | 2014-10-03 | 2014-10-03 | 暗号システム、暗号方法、普遍再暗号化鍵生成装置及び再暗号化鍵生成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016076759A JP2016076759A (ja) | 2016-05-12 |
JP6270683B2 true JP6270683B2 (ja) | 2018-01-31 |
Family
ID=55951739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014204445A Active JP6270683B2 (ja) | 2014-10-03 | 2014-10-03 | 暗号システム、暗号方法、普遍再暗号化鍵生成装置及び再暗号化鍵生成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6270683B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11824638B2 (en) | 2019-05-24 | 2023-11-21 | Mitsubishi Electric Corporation | Re-encryption device, method and computer readable medium to change the access range for ciphertext |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018225248A1 (ja) * | 2017-06-09 | 2018-12-13 | 三菱電機株式会社 | 再暗号化鍵生成装置、再暗号化装置、再暗号化暗号文復号装置及び暗号システム |
CN112671725B (zh) * | 2020-12-10 | 2023-03-24 | 深圳大学 | 单向代理重加密方法、装置、电子设备及系统 |
CN114584295B (zh) * | 2022-03-01 | 2024-04-09 | 南京大学 | 针对属性基代理重加密系统的通用黑盒可追踪方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6115573B2 (ja) * | 2012-11-30 | 2017-04-19 | 日本電気株式会社 | 暗号システム、データ保存システム、それに用いる装置および方法 |
WO2014112048A1 (ja) * | 2013-01-16 | 2014-07-24 | 三菱電機株式会社 | 暗号システム、再暗号化鍵生成装置、再暗号化装置、暗号方法及び暗号プログラム |
-
2014
- 2014-10-03 JP JP2014204445A patent/JP6270683B2/ja active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11824638B2 (en) | 2019-05-24 | 2023-11-21 | Mitsubishi Electric Corporation | Re-encryption device, method and computer readable medium to change the access range for ciphertext |
Also Published As
Publication number | Publication date |
---|---|
JP2016076759A (ja) | 2016-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tong et al. | Cloud-assisted mobile-access of health data with privacy and auditability | |
CN110417726A (zh) | 一种密钥管理方法及相关设备 | |
JP6058237B1 (ja) | 暗号文変換装置、暗号文変換プログラム及び暗号文変換方法 | |
JP5905128B2 (ja) | 暗号システム、再暗号化装置及び暗号方法 | |
JP6194886B2 (ja) | 暗号化統計処理システム、復号システム、鍵生成装置、プロキシ装置、暗号化統計データ生成装置、暗号化統計処理方法、および、暗号化統計処理プログラム | |
RU2017131640A (ru) | Управление конфиденциальной связью | |
KR101606317B1 (ko) | 암호 시스템, 암호 방법, 암호 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 및 복호 장치 | |
WO2016088453A1 (ja) | 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム | |
KR102143525B1 (ko) | 교집합 연산을 지원하는 함수 암호를 위한 방법 및 이를 이용한 장치 | |
US20210135851A1 (en) | Encryption processing system and encryption processing method | |
CN107454975A (zh) | 加密系统和密钥生成装置 | |
JP6270683B2 (ja) | 暗号システム、暗号方法、普遍再暗号化鍵生成装置及び再暗号化鍵生成装置 | |
WO2015083210A1 (ja) | データ処理システム及び暗号装置及び復号装置及びプログラム | |
JP6081036B2 (ja) | 復号条件追加装置及び暗号システム | |
JP6266130B2 (ja) | 暗号システム、マスター鍵更新装置及びマスター鍵更新プログラム | |
JP7325689B2 (ja) | 暗号文変換システム、変換鍵生成方法、及び、変換鍵生成プログラム | |
KR102284877B1 (ko) | 효율적인 교집합 연산을 위한 함수 암호 기술 | |
KR101929355B1 (ko) | 고유 일련번호 및 대칭키를 이용한 암복호화 시스템 | |
JP7126635B2 (ja) | 再暗号化装置、暗号システム、再暗号化方法及び再暗号化プログラム | |
JP6949276B2 (ja) | 再暗号化装置、再暗号化方法、再暗号化プログラム及び暗号システム | |
Barbàra et al. | DLT-Based Personal Data Access Control with Key-Redistribution | |
JP7598600B1 (ja) | 情報処理方法、情報処理プログラム、および情報処理システム | |
Singh et al. | Security of Data with 3DES & Watermarking Algorithm | |
Bakhtiari et al. | Lightweight symmetric encryption algorithm in big data | |
JP2018025587A (ja) | 秘匿演算技術およびその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170116 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171026 |
|
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: 20171128 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171226 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6270683 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |