JP6270683B2 - 暗号システム、暗号方法、普遍再暗号化鍵生成装置及び再暗号化鍵生成装置 - Google Patents

暗号システム、暗号方法、普遍再暗号化鍵生成装置及び再暗号化鍵生成装置 Download PDF

Info

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
Application number
JP2014204445A
Other languages
English (en)
Other versions
JP2016076759A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2014204445A priority Critical patent/JP6270683B2/ja
Publication of JP2016076759A publication Critical patent/JP2016076759A/ja
Application granted granted Critical
Publication of JP6270683B2 publication Critical patent/JP6270683B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、属性ベース暗号における代理人再暗号化(Attribute−Based Proxy Re―Encrtyption、AB−PRE)に関するものである。
代理人再暗号化は、暗号文を復号することなく、暗号文の復号権限を他者に委譲するシステムである。言い換えると、代理人再暗号化は、暗号文を復号することなく、暗号文の復号可能な範囲を変更するシステムである。
非特許文献1には、AB−PRE方式に関する記載がある。非特許文献2には、属性を特定のユーザが任意に変更できる属性ベース暗号(Adaptable Attribute−Based Encryption,Ad−PRE)方式に関する記載がある。
Song Luo, Jianbin Hu, and Zhong Chen "Ciphertext Policy Attribute−Based Proxy Re−encryption" Junzuo Lai and Robert H. Deng and Yanjiang Yang and Jian Weng. "Adaptable Ciphertext−Policy Attribute−Based Encryption"
PREにおいて、暗号文のアクセス範囲を変更する際に用いられる再暗号化鍵は、変更したいアクセス範囲毎に異なるものを生成する必要がある。非特許文献1に記載されているAB−PRE方式では、再暗号化鍵を生成するためには、ユーザの秘密鍵、又は、マスター秘密鍵が必要である。そのため、再暗号化鍵を生成する度に、ユーザが秘密鍵を用いた処理を行わなければならず利便性が低くなる、あるいは、再暗号化鍵を生成する度に、マスター秘密鍵を用いた処理を行わなければならず安全性が低くなるという課題がある。
非特許文献2に記載されているAd−PRE方式では、特定の高い権限を持ったエンティティであれば、どのような暗号文のアクセス範囲も自由に変更することができる。しかし、どのような暗号文も、いかなるアクセス範囲にも変更できてしまうため、安全性の面で課題がある。
この発明は、利便性と安全性との少なくとも一方を高めた代理人再暗号化方式を提供することを目的とする。
この発明に係る暗号システムは、
ユーザ秘密鍵で復号可能なオリジナル暗号文を復号できないように前記ユーザ秘密鍵を変換して普遍再暗号化鍵を生成する普遍再暗号化鍵生成装置と、
前記ユーザ秘密鍵で復号可能なオリジナル暗号文についての復号可能な範囲を変更する再暗号化をするための再暗号化鍵であって、前記オリジナル暗号文を復号可能な範囲を示す情報が設定された再暗号化鍵を前記普遍再暗号化鍵生成装置が生成した前記普遍再暗号化鍵から生成する再暗号化鍵生成装置と
を備える。
この発明に係る暗号システムでは、普遍再暗号化鍵生成装置が生成した普遍再暗号化鍵から再暗号化鍵生成装置が再暗号化鍵を生成する。普遍再暗号化鍵生成装置が普遍再暗号化鍵を1つ生成すれば、再暗号化鍵生成装置は変更したいアクセス範囲毎の再暗号化鍵を生成することが可能である。そのため、利便性と安全性との少なくとも一方を高めることが可能である。
実施の形態1に係る暗号システム10の構成図。 実施の形態1に係る鍵生成装置100の機能構成図。 実施の形態1に係る暗号化装置200の機能構成図。 実施の形態1に係る普遍再暗号化鍵生成装置700の機能構成図。 実施の形態1に係る再暗号化鍵生成装置300の機能構成図。 実施の形態1に係る再暗号化装置400の機能構成図。 実施の形態1に係る復号装置500の機能構成図。 実施の形態1に係る再暗号文復号装置600の機能構成図。 実施の形態1に係るSetupアルゴリズムの処理を示すフローチャート。 実施の形態1に係るKGアルゴリズムの処理を示すフローチャート。 実施の形態1に係るEncアルゴリズムの処理を示すフローチャート。 実施の形態1に係るURKGアルゴリズムの処理を示すフローチャート。 実施の形態1に係るRKGアルゴリズムの処理を示すフローチャート。 実施の形態1に係るREncアルゴリズムの処理を示すフローチャート。 実施の形態1に係るDecEncアルゴリズムの処理を示すフローチャート。 実施の形態1に係るDecReEncアルゴリズムの処理を示すフローチャート。 実施の形態1に示した鍵生成装置100と、暗号化装置200と、再暗号化鍵生成装置300と、再暗号化装置400と、復号装置500と、再暗号文復号装置600と、普遍再暗号化鍵生成装置700とのハードウェア構成の例を示す図。
実施の形態1.
***記法の説明***
以下の説明における記法について説明する。
Aがランダムな値または分布であるとき、数101は、Aの分布に従いAからyをランダムに選択することを表す。つまり、数101において、yは乱数である。
Figure 0006270683
Aが集合であるとき、数102は、Aからyを一様に選択することを表す。つまり、数102において、yは一様乱数である。
Figure 0006270683
数103は、yにzが設定されたこと、yがzにより定義されたこと、又はyがzを代入されたことを表す。
Figure 0006270683
aが定数であるとき、数104は、機械(アルゴリズム)Aが入力xに対しaを出力することを表す。
Figure 0006270683
数105は、位数pの群を表す。
Figure 0006270683
数106は、群Zにおけるベクトル表現を表す。
Figure 0006270683
***基礎となる概念の説明***
<双線形写像>
対称双線形ペアリング群(p,G,G,g,e)は、素数pと、位数pの巡回加法群Gと、位数pの巡回乗法群Gと、g≠0∈Gと、多項式時間で計算可能な非退化双線形ペアリングe:G×G→Gとの組である。非退化双線形ペアリングは、e(sg,tg)=e(g,g)stであり、e(g,g)≠1である。
<アクセス構造>
以下に説明するAB−PRE方式では、モノトーンアクセス構造が用いられる。
{P,...,P}をユーザの集合とする。ユーザの集合族F⊆2{P1,...,Pn}と任意のユーザの集合P及び集合Pとについて、P∈FかつP⊆Pならば、P∈Fである場合、ユーザの集合族Fはモノトーンである。ここで、F⊆2{P1,...,Pn}の{P1,...,Pn}は{P,...,P}のことである。
集合族Fがモノトーンであることに加えて、集合族Fが要素として空集合を含まない場合、集合族Fはモノトーンアクセス構造を構成する。集合族F内の集合を有資格集合と呼ぶ。
ABEでは、属性をユーザの集合で表す。つまり、アクセス構造Fは、属性の有資格集合から構成される。
<線形秘密分散法>
条件1,2を満たす場合、秘密分散法Πは、集合族Fの下、群Z上で線形である。つまり、線形秘密分散法である。
条件1:集合族Fの各集合に割り当てられる共有情報は、群Z上のベクトルで形成される。そこで、共有情報をシェアベクトルと呼ぶ。
条件2:秘密分散法Πに対して、共有生成行列と呼ばれるL行r列の行列Mが存在する。i=1,...,Lの各整数iについて、集合族Fの集合を、行列Mのi番目の行に対して割り当てるインデックスρ(i)の集合ρと、ベクトルv=(s,r,...,r)とが設定される。ここで、秘密値s∈Zであり、乱数値r,...,r∈Zである。そして、Mv={M,...,M}が秘密分散法Πの秘密値sのL個のシェアベクトルとなっている。シェアベクトルMは、インデックスρ(i)に対応する。
アクセス構造Fは、上述した行列Mと、インデックスの集合ρとの組とする。つまり、F=(M,ρ)である。
秘密分散法Πがアクセス構造F=(M,ρ)の下、LSSSであるとする。すると、任意の有資格集合S∈Fとし、I⊂{1,2,...,L}をI={i:ρ(i)∈S}とする。もし、{λ=Mi∈Iが秘密分散法Πに従った秘密値sの正しいシェアベクトルの組である場合、Σi∈Iω・λ=sとなる定数{ω∈Zi∈Iが存在する。また、定数{ω∈Z}は、行列Mのサイズに対して多項式時間で計算可能である。
***構成の説明***
実施の形態1では、暗号文ポリシーのAB−PRE方式について説明する。暗号文ポリシーとは、暗号文にポリシーが埋め込まれること、つまりアクセス構造Fが埋め込まれることを意味する。
AB−PRE方式の基本構成について説明する。
AB−PRE方式は、Setup、KG、URKG、RKG、Enc、REnc、DecEnc、DecReEncの8つのアルゴリズムを備える暗号方法である。
(Setup:セットアップ工程)
Setupアルゴリズムは、属性Uと、セキュリティパラメータ1λとを入力として、公開鍵pkと、マスター秘密鍵mskと、再暗号化秘密鍵rskとを出力する確率的アルゴリズムである。
(KG:鍵生成工程)
KGアルゴリズムは、公開鍵pkと、マスター秘密鍵mskと、属性の有資格集合Sとを入力として、ユーザ秘密鍵skを出力する確率的アルゴリズムである。
(Enc:暗号化工程)
Encアルゴリズムは、公開鍵pkと、アクセス構造Fと、メッセージmとを入力として、オリジナル暗号文octを出力する確率的アルゴリズムである。
(URKG:普遍暗号化鍵生成工程)
URKGアルゴリズムは、公開鍵pkと、ユーザ秘密鍵skとを入力として、普遍再暗号化鍵urkを出力する確率的アルゴリズムである。
(RKG:再暗号化鍵生成工程)
RKGアルゴリズムは、公開鍵pkと、普遍再暗号化鍵urkと、再暗号化秘密鍵rskと、アクセス構造F’とを入力として、再暗号化鍵rkS→F’を出力する確率的アルゴリズムである。
(REnc:再暗号化工程)
REncアルゴリズムは、公開鍵pkと、再暗号化鍵rkS→F’と、オリジナル暗号文octとを入力として、再暗号文rctF’を出力する確率的アルゴリズムである。
(DecEnc:復号工程)
DecEncアルゴリズムは、公開鍵pkと、ユーザ秘密鍵skと、オリジナル暗号文octとを入力として、メッセージm、又は、復号失敗を表す記号⊥を出力する確定的アルゴリズムである。
(DecReEnc:再暗号文復号工程)
DecReEncアルゴリズムは、公開鍵pkと、ユーザ秘密鍵skS’と、再暗号文rctF’とを入力として、メッセージm、又は、復号失敗を表す記号⊥を出力する確定的アルゴリズムである。
図1は、実施の形態1に係る暗号システム10の構成図である。
暗号システム10は、鍵生成装置100と、暗号化装置200と、再暗号化鍵生成装置300と、再暗号化装置400と、復号装置500と、再暗号文復号装置600とを備える。鍵生成装置100は、普遍再暗号化鍵生成装置700を備える。
なお、ここでは、属性の有資格集合Sを有するユーザが使用する装置が復号装置500であり、属性の有資格集合S’を有するユーザが使用する装置が再暗号文復号装置600であるする。
鍵生成装置100は、属性Uとセキュリティパラメータ1λとを入力として、Setupアルゴリズムを実行して、公開鍵pkと、マスター秘密鍵mskと、再暗号化秘密鍵rskとを生成する。また、鍵生成装置100は、公開鍵pkと、マスター秘密鍵mskと、ユーザの属性の有資格集合Sとを入力として、KGアルゴリズムを実行して、属性の有資格集合Sが設定されたユーザ秘密鍵skを生成する。同様に、鍵生成装置100は、公開鍵pkと、マスター秘密鍵mskと、ユーザの属性の有資格集合S’とを入力として、KGアルゴリズムを実行して、属性の有資格集合S’が設定されたユーザ秘密鍵skS’を生成する。
そして、鍵生成装置100は、公開鍵pkを公開する。また、鍵生成装置100は、ユーザ秘密鍵skを復号装置500と、普遍再暗号化鍵生成装置700とへ秘密裡に出力し、鍵生成装置100は、ユーザ秘密鍵skS’を再暗号文復号装置600へ秘密裡に出力する。また、鍵生成装置100は、再暗号化秘密鍵rskを再暗号化鍵生成装置300へ秘密裡に出力する。
なお、Setupアルゴリズムは、暗号システム10のセットアップ時に1度だけ実行される。その後、Setupアルゴリズムは、例えば、公開鍵pkとマスター秘密鍵mskと再暗号化秘密鍵rskとの少なくともいずれかを変更する必要がある場合に実行される。KGアルゴリズムは、各ユーザのユーザ秘密鍵を生成する度に実行される。
暗号化装置200は、公開鍵pkと、アクセス構造Fと、メッセージmとを入力として、Encアルゴリズムを実行して、復号可能な範囲を示す情報としてアクセス構造Fを設定してメッセージmを暗号化したオリジナル暗号文octを生成する。暗号化装置200は、オリジナル暗号文octを再暗号化装置400と復号装置500とへ出力する。
普遍再暗号化鍵生成装置700は、公開鍵pkと、ユーザ秘密鍵skとを入力として、URKGアルゴリズムを実行して、ユーザ秘密鍵skで復号可能な暗号文を復号できないようにユーザ秘密鍵skを変換して普遍再暗号化鍵urkを生成する。普遍再暗号化鍵生成装置700は、普遍再暗号化鍵urkを再暗号化鍵生成装置300へ秘密裡に出力する。
再暗号化鍵生成装置300は、公開鍵pkと、普遍再暗号化鍵urkと、再暗号化秘密鍵rskと、アクセス構造F’とを入力として、RKGアルゴリズムを実行して、再暗号化鍵rkS→F’を生成する。ここで生成される再暗号化鍵rkS→F’は、普遍再暗号化鍵urkの生成時に利用したユーザ秘密鍵skで復号可能な暗号文octについての復号可能な範囲変更するための鍵であり、復号可能な範囲を示す情報としてアクセス構造F’が設定されている。再暗号化鍵生成装置300は、再暗号化鍵rkS→F’を再暗号化装置400へ出力する。
再暗号化装置400は、公開鍵pkと、再暗号化鍵rkS→F’と、オリジナル暗号文octとを入力として、REncアルゴリズムを実行して、オリジナル暗号文octに設定された復号可能な範囲を示す情報を、アクセス構造Fからアクセス構造F’に変更して再暗号文rctF’を生成する。再暗号化装置400は、再暗号文rctF’を再暗号文復号装置600へ出力する。
復号装置500は、公開鍵pkと、ユーザ秘密鍵skと、オリジナル暗号文octとを入力として、DecEncアルゴリズムを実行して、メッセージm、又は、復号失敗を表す記号⊥を出力する。
再暗号文復号装置600は、公開鍵pkと、ユーザ秘密鍵skS’と、再暗号文rctF’とを入力として、DecReEncアルゴリズムを実行して、メッセージm、又は、復号失敗を表す記号⊥を出力する。
図2は、実施の形態1に係る鍵生成装置100の機能構成図である。
鍵生成装置100は、情報取得部110と、マスター鍵生成部120と、マスター鍵記憶部130と、ユーザ秘密鍵生成部140と、鍵出力部150とを備える。
また、上述した通り、鍵生成装置100は、普遍再暗号化鍵生成装置700を備える。普遍再暗号化鍵生成装置700の構成については後述する。
情報取得部110は、暗号システム10の管理者によって入力された属性U及びセキュリティパラメータ1λ及び属性の有資格集合Sと、マスター鍵記憶部130に記憶された公開鍵pk及びマスター秘密鍵mskとを取得する。情報取得部110は、各情報を取得する機能として、セキュリティパラメータ取得部111と、属性カテゴリ取得部112と、マスター鍵取得部113と、有資格集合取得部114とを備える。
マスター鍵生成部120は、情報取得部110によって取得されたセキュリティパラメータ1λと属性Uとを用いて、公開鍵pkと、マスター秘密鍵mskと、再暗号化秘密鍵rskとを生成する。マスター鍵生成部120は、写像生成部121と、パラメータ生成部122と、アクセス構造生成部123と、エンコード関数生成部124と、鍵要素生成部125とを備える。
マスター鍵記憶部130は、マスター鍵生成部120によって生成された公開鍵pkと、マスター秘密鍵mskと、再暗号化秘密鍵rskとを記憶する。
ユーザ秘密鍵生成部140は、情報取得部110によって取得された属性の有資格集合Sと公開鍵pkとマスター秘密鍵mskとを用いて、属性の有資格集合Sを含むユーザ秘密鍵skを生成する。ユーザ秘密鍵生成部140は、属性集合判定部141と、乱数生成部142と、鍵要素生成部143とを備える。
鍵出力部150は、マスター鍵生成部120によって生成された公開鍵pkを公開用のサーバへ出力すること等により、公開する。また、鍵出力部150は、マスター鍵生成部120によって生成された再暗号化秘密鍵rskを再暗号化鍵生成装置300へ出力する。また、鍵出力部150は、ユーザ秘密鍵生成部140によって生成されたユーザ秘密鍵skを復号装置500と普遍再暗号化鍵生成装置700とへ出力する。出力するとは、例えば、ネットワークを介して送信することである。
図3は、実施の形態1に係る暗号化装置200の機能構成図である。
暗号化装置200は、情報取得部210と、暗号文生成部220と、暗号文出力部230とを備える。
情報取得部210は、鍵生成装置100によって生成された公開鍵pkと、暗号化装置200のユーザによって入力されたメッセージm及びアクセス構造Fとを取得する。情報取得部210は、各情報を取得する機能として、公開鍵取得部211と、メッセージ取得部212と、アクセス構造取得部213とを備える。
暗号文生成部220は、情報取得部210によって取得された公開鍵pkとアクセス構造Fとを用いて、メッセージmを暗号化してオリジナル暗号文octの暗号要素C,C,C2.i,Dを生成する。暗号文生成部220は、ランダムベクトル生成部221と、乱数生成部222と、暗号要素生成部223とを備える。
暗号文出力部230は、情報取得部210によって取得されたアクセス構造Fと、暗号文生成部220によって生成された暗号要素C,C,C2.i,Dとを含むオリジナル暗号文octを復号装置500及び再暗号化装置400へ出力する。出力するとは、例えば、ネットワークを介して送信することである。
図4は、実施の形態1に係る普遍再暗号化鍵生成装置700の機能構成図である。
普遍再暗号化鍵生成装置700は、情報取得部710と、普遍再暗号化鍵生成部720と、普遍再暗号化鍵出力部730とを備える。
情報取得部710は、鍵生成装置100によって生成された公開鍵pkとユーザ秘密鍵skとを取得する。情報取得部710は、各情報を取得する機能として、公開鍵取得部711と、ユーザ秘密鍵取得部712とを備える。
普遍再暗号化鍵生成部720は、情報取得部710によって取得された公開鍵pkとユーザ秘密鍵skとを用いて、普遍再暗号化鍵urkの要素である変換後ユーザ秘密鍵sk:=(RK,RK,RK2.i)とパラメータ暗号文ctdF^:=(RC^,RC^,RC^2.i,RD^)とを生成する。普遍再暗号化鍵生成部720は、乱数生成部721と、復号鍵変換部722と、ランダムベクトル生成部723と、パラメータ暗号化部724とを備える。
普遍再暗号化鍵出力部730は、情報取得部710によって取得されたユーザ秘密鍵skに含まれる属性の有資格集合Sと、普遍再暗号化鍵生成部720によって生成された変換後ユーザ秘密鍵skとパラメータ暗号文ctdF^とを含む普遍再暗号化鍵urkを再暗号化鍵生成装置300へ出力する。出力するとは、例えば、ネットワークを介して送信することである。
図5は、実施の形態1に係る再暗号化鍵生成装置300の機能構成図である。
再暗号化鍵生成装置300は、情報取得部310と、再暗号化鍵生成部320と、再暗号化鍵出力部330とを備える。
情報取得部310は、鍵生成装置100によって生成された公開鍵pk及び再暗号化秘密鍵rskと、普遍再暗号化鍵生成装置700によって生成された普遍再暗号化鍵urkと、ユーザ秘密鍵skを使用するユーザ等によって入力されたアクセス構造F’とを取得する。情報取得部310は、各情報を取得する機能として、公開鍵取得部311と、普遍再暗号化鍵取得部312と、アクセス構造取得部313とを備える。
再暗号化鍵生成部320は、情報取得部310によって取得された公開鍵pkと再暗号化秘密鍵rskと普遍再暗号化鍵urkとアクセス構造F’とを用いて、再暗号化鍵rkS→F’の要素である変換後暗号文ctdF’:=(RC^’,RC^’,RC^’2.i,RD^’)を生成する。再暗号化鍵生成部320は、ランダムベクトル生成部321と、乱数生成部322と、属性設定部323とを備える。
再暗号化鍵出力部330は、情報取得部310によって取得された普遍再暗号化鍵urkに含まれる属性の有資格集合Sと、情報取得部310によって取得されたアクセス構造F’と、再暗号化鍵生成部320によって生成された変換後暗号文ctdFとを含む再暗号化鍵rkS→F’を再暗号化装置400へ出力する。出力するとは、例えば、ネットワークを介して送信することである。
図6は、実施の形態1に係る再暗号化装置400の機能構成図である。
再暗号化装置400は、情報取得部410と、再暗号化判定部420と、再暗号化部430と、再暗号文出力部440とを備える。
情報取得部410は、鍵生成装置100によって生成された公開鍵pkと、再暗号化鍵生成装置300によって生成された再暗号化鍵rkS→F’と、暗号化装置200によって生成されたオリジナル暗号文octとを取得する。情報取得部410は、各情報を取得する機能として、公開鍵取得部411と、再暗号化鍵取得部412と、オリジナル暗号文取得部413とを備える。
再暗号化判定部420は、情報取得部410によって取得された再暗号化鍵rkS→F’に含まれる属性の有資格集合Sと、情報取得部410によって取得されたオリジナル暗号文octに含まれるアクセス構造Fとに基づき、再暗号化が可能か判定する。
再暗号化部430は、再暗号化が可能であると再暗号化判定部420によって判定された場合、情報取得部410によって取得された公開鍵pkと再暗号化鍵rkS→F’とオリジナル暗号文octとを用いて、再暗号文rctF’の要素である復号情報dec=ReCを生成する。再暗号化部430は、定数計算部431と、ペアリング演算部432とを備える。
再暗号文出力部440は、情報取得部410によって取得された再暗号化鍵rkS→F’に含まれるアクセス構造F’及び変換後暗号文ctdF と、オリジナル暗号文octに含まれる暗号要素ReC=Cと、再暗号化部430によって生成された変換後ユーザ秘密鍵skを含む再暗号文rctF’を、再暗号文復号装置600へ出力する。出力するとは、例えば、ネットワークを介して送信することである。
図7は、実施の形態1に係る復号装置500の機能構成図である。
復号装置500は、情報取得部510と、暗号文判定部520と、復号部530と、結果出力部540とを備える。
情報取得部510は、鍵生成装置100によって生成された公開鍵pk及びユーザ秘密鍵skと、暗号化装置200によって生成されたオリジナル暗号文octとを取得する。情報取得部510は、各情報を取得する機能として、公開鍵取得部511と、ユーザ秘密鍵取得部512と、オリジナル暗号文取得部513とを備える。
暗号文判定部520は、情報取得部510によって取得されたユーザ秘密鍵skに含まれる属性の有資格集合Sと、情報取得部510によって取得されたオリジナル暗号文octに含まれるアクセス構造Fとに基づき、復号が可能か判定する。
復号部530は、復号が可能であると暗号文判定部520によって判定された場合、情報取得部510によって取得された公開鍵pkとユーザ秘密鍵skとを用いて、情報取得部510によって取得されたオリジナル暗号文octを復号してメッセージmを生成する。復号部530は、定数計算部531と、ペアリング演算部532とを備える。
結果出力部540は、復号が可能であると暗号文判定部520によって判定された場合、復号部530によって復号されたメッセージmを出力する。結果出力部540は、復号が不可能であると暗号文判定部520によって判定された場合、復号失敗を表す記号⊥を出力する。出力するとは、例えば、表示装置に表示することである。
図8は、実施の形態1に係る再暗号文復号装置600の機能構成図である。
再暗号文復号装置600は、情報取得部610と、暗号文判定部620と、復号部630と、結果出力部640とを備える。
情報取得部610は、鍵生成装置100によって生成された公開鍵pk及びユーザ秘密鍵skS’と、再暗号化装置400によって生成された再暗号文rctF’とを取得する。情報取得部610は、各情報を取得する機能として、公開鍵取得部611と、ユーザ秘密鍵取得部612と、再暗号文取得部613とを備える。
暗号文判定部620は、情報取得部610によって取得されたユーザ秘密鍵skS’に含まれる属性の有資格集合S’と、情報取得部610によって取得された再暗号文rctF’に含まれるアクセス構造F’とに基づき、復号が可能か判定する。
復号部630は、復号が可能であると暗号文判定部620によって判定された場合、情報取得部610によって取得された公開鍵pkとユーザ秘密鍵skS’とを用いて、情報取得部510によって取得された再暗号文rctF’を復号する。復号部630は、定数計算部631と、ペアリング演算部632と、デコード部633と、メッセージ計算部634とを備える。
結果出力部640は、復号が可能であると暗号文判定部620によって判定された場合、復号部630によって復号されたメッセージmを出力する。結果出力部640は、復号が不可能であると暗号文判定部620によって判定された場合、復号失敗を表す記号⊥を出力する。出力するとは、例えば、表示装置に表示することである。
***動作の説明***
図9は、Setupアルゴリズムの処理を示すフローチャートである。
Setupアルゴリズムは、図2に示す鍵生成装置100によって実行される。
(S101:情報取得処理)
セキュリティパラメータ取得部111は、暗号システム10の管理者等によって入力装置により入力された、セキュリティパラメータ1λを取得する。
属性カテゴリ取得部112は、暗号システム10で使用する属性U={1,2,...,|U|}を取得する。属性Uとは、例えば、所属部、所属課、社員ID等の属性カテゴリを示す情報である。
(S102:写像生成処理)
写像生成部121は、S101で取得されたセキュリティパラメータ1λを入力として、双線形ペアリング群のパラメータparam:=(p,G,G,g,e)を生成する。ここで、巡回加法群Gと巡回乗法群Gとは位数pの剰余群である。
(S103:パラメータ生成処理)
パラメータ生成部122は、処理装置により、数107に示すパラメータを生成する。
Figure 0006270683
(S104:アクセス構造生成処理)
アクセス構造生成部123は、処理装置により、アクセス構造Fを満たす属性の有資格集合Sが存在しないアクセス構造F=(M,ρ)を生成する。ここで、アクセス構造Fに含まれる行列Mは、L行r列の行列である。
アクセス構造Fは、非正規の手順により、普遍再暗号化鍵urkから後述するパラメータdを取り出されることがないようにために利用される。アクセス構造Fを満たす属性の有資格集合Sが存在すると、その有資格集合Sから生成されたユーザ秘密鍵skS*を使えば、普遍再暗号化鍵urkからパラメータdを取り出すことが可能になってしまう。そのため、アクセス構造Fを満たす属性の有資格集合Sが存在しないアクセス構造Fを生成する必要がある。
(S105:エンコード関数生成処理)
エンコード関数生成部124は、処理装置により、位数pの群Zの要素を、巡回乗法群Gの要素へ変換するエンコード関数Eを生成する。
(S106:鍵生成処理)
鍵要素生成部125は、処理装置により、S102で生成された双線形ペアリング群のパラメータparamと、S103で生成されたパラメータと、S104で生成されたアクセス構造Fと、S105で生成されたエンコード関数Eとを用いて、数108に示す公開鍵pkと、数109に示すマスター秘密鍵mskと、数110に示す再暗号化秘密鍵rskとを生成する。
Figure 0006270683
Figure 0006270683
Figure 0006270683
マスター鍵記憶部130は、S106で生成された公開鍵pkとマスター秘密鍵mskと再暗号化秘密鍵rskとを記憶装置に記憶する。
(S107:鍵出力処理)
鍵出力部150は、公開鍵pkをネットワークを介して公開用のサーバへ出力すること等により、公開鍵pkを公開する。
また、鍵出力部150は、再暗号化秘密鍵rskをネットワークを介して再暗号化鍵生成装置300へ秘密裡に出力する。秘密裡に出力するとは、例えば、他の暗号方式により、再暗号化秘密鍵rskを暗号化して、再暗号化鍵生成装置300へ送信することである。もちろん、これに限らず、第三者へ漏洩しない他の方法により、再暗号化秘密鍵rskを再暗号化鍵生成装置300へ出力してもよい。
図10は、実施の形態1に係るKGアルゴリズムの処理を示すフローチャートである。
KGアルゴリズムは、図2に示す鍵生成装置100によって実行される。
(S201:情報取得処理)
マスター鍵取得部113は、Setupアルゴリズムで生成された公開鍵pk及びマスター秘密鍵mskを取得する。
有資格集合取得部114は、暗号システム10の管理者等によって入力装置により入力された、ユーザ秘密鍵を使用するユーザの属性の有資格集合Sを取得する。ユーザの属性の有資格集合Sとは、そのユーザの属性を表す情報である。例えば、S101で入力された属性Uが所属部、所属課、社員IDという属性カテゴリを表す場合、属性の有資格集合Sは、そのユーザの所属部、所属課、社員IDを表す情報である。
(S202:属性集合判定処理)
属性集合判定部141は、処理装置により、S201で取得された属性の有資格集合Sが、公開鍵pkに含まれるアクセス構造Fを満たすか否か判定する。
この判定の具体的な方法は、アクセス構造Fの設計によって異なる。しかし、線形秘密分散法の説明で述べた、I={i:ρ(i)∈S}とした場合に、Σi∈Iω・λ=sとなる定数{ω∈Zi∈Iが存在するか否かを判定することにより、判定することができる。
属性の有資格集合Sがアクセス構造Fを満たさない場合、処理をS203へ進め、属性の有資格集合Sがアクセス構造Fを満たす場合、処理を終了する。
また、S104では、アクセス構造Fを満たす属性の有資格集合Sが存在しないアクセス構造Fを生成した。したがって、原則として、S201で入力された属性の有資格集合Sがアクセス構造Fを満たすことはないので、この処理は省略してもよい。
(S203:乱数生成処理)
乱数生成部142は、処理装置により、数111に示す乱数を生成する。
Figure 0006270683
(S204:鍵要素生成処理)
鍵要素生成部143は、処理装置により、S201で取得された公開鍵pk及びマスター秘密鍵sk及び属性の有資格集合Sと、S203で生成された乱数とを用いて、数112に示す鍵要素K,K,K2.i,K^,K^,K^2.iを生成する。
Figure 0006270683
鍵要素K,K,K2.iは、オリジナル暗号文を復号するために用いられる要素である。一方、鍵要素K^,K^,K^2.iは、再暗号文を復号するために用いられる要素である。
鍵要素K2.i及び鍵要素K^2.iには、ユーザ秘密鍵を使用するユーザの属性情報である属性の有資格集合Sが設定されている。つまり、オリジナル暗号文を復号するために用いられる要素と、再暗号文を復号するために用いられる要素との両方に、ユーザ秘密鍵を使用するユーザの属性情報である属性の有資格集合Sが設定されている。
(S205:鍵出力処理)
鍵出力部150は、S201で取得された属性の有資格集合Sと、S204で生成された鍵要素K,K,K2.i,K^,K^,K^2.iとを含むユーザ秘密鍵skをネットワークを介して復号装置500へ秘密裡に出力する。
ここでは、ユーザ秘密鍵skを生成する場合について説明した。しかし、ユーザ秘密鍵skS’もユーザ秘密鍵skと同様に生成される。
ユーザ秘密鍵skS’を生成する場合、S201で、属性の有資格集合S’が入力され、S204で、鍵要素K’,K’,K’2.i,K^’,K^’,K^’2.iが生成される。そして、S205で、属性の有資格集合S’と、鍵要素K’,K’,K’2.i,K^’,K^’,K^’2.iとを含むユーザ秘密鍵skS’がネットワークを介して再暗号文復号装置600へ秘密裡に出力される。
図11は、実施の形態1に係るEncアルゴリズムの処理を示すフローチャートである。
Encアルゴリズムは、図3に示す暗号化装置200によって実行される。
(S301:情報取得処理)
公開鍵取得部211は、Setupアルゴリズムで生成された公開鍵pkを取得する。
メッセージ取得部212は、暗号化装置200のユーザによって入力装置により入力された、暗号化対象のメッセージmを取得する。
アクセス構造取得部213は、暗号化装置200のユーザによって入力装置により入力された、オリジナル暗号文octを復号可能な範囲を示すアクセス構造F=(M,ρ)を取得する。ここで、アクセス構造Fに含まれる行列Mは、L行r列の行列である。
(S302:ランダムベクトル生成処理)
ランダムベクトル生成部221は、処理装置により、ランダムにベクトルv=(s,v,...,v)∈Z を生成する。ここで、ベクトルvの先頭要素sが秘密値となる乱数であり、残りの要素v,...,vは特に意味を持たない乱数である。Z のrは、ベクトルの要素数がr個であることを意味している。
(S303:乱数生成処理)
乱数生成部222は、処理装置により、数113に示す乱数を生成する。
Figure 0006270683
(S304:暗号要素生成処理)
暗号要素生成部223は、処理装置により、S301で取得された公開鍵pk及びメッセージm及びアクセス構造Fと、S302で生成されたベクトルvと、S303で生成された乱数とを用いて、数114に示す暗号要素C,C,C2.i,Dを生成する。
Figure 0006270683
暗号要素C2.iには、オリジナル暗号文octを復号可能な範囲を示す属性情報であるアクセス構造Fが設定されている。
(S305:暗号文出力処理)
暗号文出力部230は、S301で取得されたアクセス構造Fと、S304で生成された暗号要素C,C,C2.i,Dとを含むオリジナル暗号文octをネットワークを介して復号装置500及び再暗号化装置400へ秘密裡に出力する。
図12は、実施の形態1に係るURKGアルゴリズムの処理を示すフローチャートである。
URKGアルゴリズムは、図4に示す普遍再暗号化鍵生成装置700によって実行される。
(S401:情報取得処理)
公開鍵取得部711は、Setupアルゴリズムで生成された公開鍵pkを取得する。ユーザ秘密鍵取得部712は、KGアルゴリズムで生成されたユーザ秘密鍵skを取得する。
(S402:パラメータd生成処理)
乱数生成部721は、処理装置により、数115に示す乱数であるパラメータdを生成する。
Figure 0006270683
(S403:復号鍵変換処理)
復号鍵変換部722は、処理装置により、S401で取得された公開鍵pk及びユーザ秘密鍵skと、S402で生成されたパラメータdとを用いて、数116に示す変換後ユーザ秘密鍵skの鍵要素RK,RK,RK2.iを生成する。
Figure 0006270683
つまり、復号鍵変換部722は、パラメータdでユーザ秘密鍵skを変換して、変換後ユーザ秘密鍵skを生成する。ここで、パラメータdは乱数であるため、ユーザ秘密鍵skがランダム化されて、変換後ユーザ秘密鍵skが生成されている。
(S404:ランダムベクトル生成処理)
ランダムベクトル生成部723は、処理装置により、ランダムにベクトルv=(s,v ,...,v r〜)∈Z r〜を生成する。ここで、ベクトルvの先頭要素sが秘密値となる乱数であり、残りの要素v ,...,v は特に意味を持たない乱数である。なお、ベクトルvにおけるr〜はrのことである。
(S405:乱数生成処理)
乱数生成部721は、処理装置により、数117に示す乱数を生成する。
Figure 0006270683
(S406:パラメータ暗号化処理)
パラメータ暗号化部724は、処理装置により、S401で取得された公開鍵pkと、S402で生成されたパラメータdと、S404で生成されたベクトルvと、S405で生成された乱数とを用いて、数118に示すパラメータ暗号文ctdF^の暗号要素RC^,RC^,RC^2.i,RD^を生成する。
Figure 0006270683
つまり、パラメータ暗号化部724は、公開鍵pkに含まれる属性情報であるアクセス構造Fを設定したパラメータdを暗号化して、パラメータ暗号文ctdF^を生成する。
(S407:普遍再暗号化鍵出力処理)
普遍再暗号化鍵出力部730は、S401で取得されたユーザ秘密鍵skに含まれる属性の有資格集合Sと、S403で生成された変換後ユーザ秘密鍵skの鍵要素RK,RK,RK2.iと、S406で生成されたパラメータ暗号文ctdF^の暗号要素RC^,RC^,RC^2.i,RD^とを含む普遍再暗号化鍵urkをネットワークを介して再暗号化鍵生成装置300へ秘密裡に出力する。
なお、普遍再暗号化鍵出力部730は、普遍再暗号化鍵urkを鍵生成装置100の鍵出力部150へ出力し、鍵出力部150が普遍再暗号化鍵urkを再暗号化鍵生成装置300へ秘密裡に出力してもよい。
図13は、実施の形態1に係るRKGアルゴリズムの処理を示すフローチャートである。
RKGアルゴリズムは、図5に示す再暗号化鍵生成装置300によって実行される。
(S501:情報取得処理)
公開鍵取得部311は、Setupアルゴリズムで生成された公開鍵pk及び再暗号化秘密鍵rskを取得する。
普遍再暗号化鍵取得部312は、URKGアルゴリズムで生成された普遍再暗号化鍵urkを取得する。
アクセス構造取得部313は、ユーザ秘密鍵skを使用するユーザ等によって入力装置により入力された、再暗号文rctF’を復号可能な範囲を示すアクセス構造F’=(M’,ρ’)を取得する。ここで、アクセス構造F’に含まれる行列M’は、L’行r’列の行列である。
(S502:ランダムベクトル生成処理)
ランダムベクトル生成部321は、処理装置により、ランダムにベクトルv^=(s^=s+s’,v^,...,v^r’)∈Z r’を生成する。ここで、ベクトルv^の先頭要素s’が秘密値となる乱数であり、残りの要素v^,...,v^は特に意味を持たない乱数である。
(S503:乱数生成処理)
乱数生成部322は、処理装置により、数119に示す乱数を生成する。
Figure 0006270683
(S504:属性設定処理)
属性設定部323は、処理装置により、S501で取得された公開鍵pk及び再暗号化秘密鍵rsk及び普遍再暗号化鍵urk及びアクセス構造F’と、S502で生成されたベクトルv^と、S503で生成された乱数とを用いて、数120に示す変換後暗号文ctdF’の暗号要素RC^’,RC^’,RC^’2.i,RD^’を生成する。
Figure 0006270683
つまり、属性設定部323は、普遍再暗号化鍵urkのパラメータ暗号文ctdF^の暗号要素に、属性情報であるアクセス構造F’を設定して、変換後暗号文ctdF’を生成する。
(S505:再暗号化鍵出力処理)
再暗号化鍵出力部330は、S501で取得されたアクセス構造F’及び普遍再暗号化鍵urkに含まれる属性の有資格集合S及び変換後ユーザ秘密鍵skの鍵要素RK,RK,RK2.iと、S504で生成された変換後暗号文ctdF’の暗号要素RC^’,RC^’,RC^’2.i,RD^’とを含む再暗号化鍵rkS→F’をネットワークを介して再暗号化装置400へ秘密裡に出力する。
図14は、実施の形態1に係るREncアルゴリズムの処理を示すフローチャートである。
REncアルゴリズムは、図6に示す再暗号化装置400によって実行される。
(S601:情報取得処理)
公開鍵取得部411は、Setupアルゴリズムで生成された公開鍵pkを取得する。
再暗号化鍵取得部412は、RKGアルゴリズムで生成された再暗号化鍵rkS→F’を取得する。
オリジナル暗号文取得部413は、Encアルゴリズムで生成されたオリジナル暗号文octを取得する。
(S602:再暗号化判定処理)
再暗号化判定部420は、処理装置により、S601で取得された再暗号化鍵rkS→F’に含まれる属性の有資格集合Sが、オリジナル暗号文octに含まれるアクセス構造Fを満たすか否か判定する。
この判定の方法については、S202で説明した属性の有資格集合Sがアクセス構造Fを満たすか否か判定する方法と同様である。
属性の有資格集合Sがアクセス構造Fを満たす場合、処理をS603へ進め、属性の有資格集合Sがアクセス構造Fを満たさない場合、処理を終了する。
(S603:定数計算処理)
定数計算部431は、処理装置により、I={i:ρ(i)∈S}とした場合に、Σi∈Iω=(1,0,...,0)となる定数ω∈Zを計算する。ここで、Mは、行列Mのi番目の行である。
S202で説明した通り、属性の有資格集合Sがアクセス構造Fを満たす場合、I={i:ρ(i)∈S}とした場合に、Σi∈Iω・λ=sとなる定数{ω∈Zi∈Iが存在する。したがって、定数ωを計算可能である。
(S604:ペアリング演算処理)
ペアリング演算部432は、処理装置により、S601で取得された公開鍵及び再暗号化鍵rkS→F’及びオリジナル暗号文octと、S603で計算された定数ωとを用いて、数121に示す演算を実行して、復号情報dec=ReCを生成する。
Figure 0006270683
つまり、ペアリング演算部432は、オリジナル暗号文octを、再暗号化鍵rkS→F’に含まれる変換後ユーザ秘密鍵skの鍵要素RK,RK,RK2.iで復号して、復号情報dec=ReCを生成する。
(S605:再暗号文出力処理)
再暗号文出力部440は、S601で取得された再暗号化鍵rkS→F’に含まれるアクセス構造F’及び変換後暗号文ctdF’の暗号要素RC^’,RC^’,RC^’2.i,RD^’と、オリジナル暗号文octに含まれるC=ReCと、S604で生成された復号情報dec=ReCとを含む再暗号文rctF’をネットワークを介して秘密裡に再暗号文復号装置600へ出力する。
図15は、実施の形態1に係るDecEncアルゴリズムの処理を示すフローチャートである。
DecEncアルゴリズムは、図7に示す復号装置500によって実行される。
(S701:情報取得処理)
公開鍵取得部511は、Setupアルゴリズムで生成された公開鍵pkを取得する。
ユーザ秘密鍵取得部512は、KGアルゴリズムで生成されたユーザ秘密鍵skを取得する。
オリジナル暗号文取得部513は、Encアルゴリズムで生成されたオリジナル暗号文octを取得する。
(S702:暗号文判定処理)
暗号文判定部520は、処理装置により、S701で取得されたユーザ秘密鍵skに含まれる属性の有資格集合Sが、オリジナル暗号文octに含まれるアクセス構造Fを満たすか否か判定する。
この判定の方法については、S202で説明した属性の有資格集合Sがアクセス構造Fを満たすか否か判定する方法と同様である。
属性の有資格集合Sがアクセス構造Fを満たす場合、処理をS703へ進め、属性の有資格集合Sがアクセス構造Fを満たさない場合、処理をS705へ進める。
(S703:定数計算処理)
定数計算部531は、処理装置により、I={i:ρ(i)∈S}とした場合に、Σi∈Iω=(1,0,...,0)となる定数ω∈Zを計算する。S703の処理は、S603の処理と同様である。
(S704:ペアリング演算処理)
ペアリング演算部532は、処理装置により、S701で取得された公開鍵pk及びユーザ秘密鍵sk及びオリジナル暗号文octと、S703で計算された定数ωとを用いて、数122に示す演算を実行して、メッセージmを生成する。
Figure 0006270683
つまり、ペアリング演算部532は、オリジナル暗号文octを、ユーザ秘密鍵skの鍵要素K,K,K2.iを用いて復号して、メッセージmを生成する。
(S705:結果出力処理)
結果出力部540は、S704でメッセージmを生成した場合には、生成されたメッセージmを出力する。一方、S702で属性の有資格集合Sがアクセス構造Fを満たさない場合には、復号失敗を表す記号⊥を出力する。
図16は、実施の形態1に係るDecReEncアルゴリズムの処理を示すフローチャートである。
DecReEncアルゴリズムは、図8に示す再暗号文復号装置600によって実行される。
(S801:情報取得処理)
公開鍵取得部611は、Setupアルゴリズムで生成された公開鍵pkを取得する。
ユーザ秘密鍵取得部612は、KGアルゴリズムで生成されたユーザ秘密鍵skS’を取得する。
再暗号文取得部613は、REncアルゴリズムで生成された再暗号文rctF’を取得する。
(S802:暗号文判定処理)
暗号文判定部620は、処理装置により、S801で取得されたユーザ秘密鍵skS’に含まれる属性の有資格集合S’が、再暗号文rctF’に含まれるアクセス構造F’を満たすか否か判定する。
この判定の方法については、S202で説明した属性の有資格集合Sがアクセス構造Fを満たすか否か判定する方法と同様である。
属性の有資格集合S’がアクセス構造F’を満たす場合、処理をS803へ進め、属性の有資格集合S’がアクセス構造F’を満たさない場合、処理をS807へ進める。
(S803:定数計算処理)
定数計算部631は、処理装置により、I’={i:ρ’(i)∈S’}とした場合に、Σi∈I’ω’M’=(1,0,...,0)となる定数ω’∈Zを計算する。ここで、M’は、行列M’のi番目の行である。
(S804:ペアリング演算処理)
ペアリング演算部632は、処理装置により、S801で取得された公開鍵pk及びユーザ秘密鍵skS’及び再暗号文rctF’と、S803で計算された定数ω’とを用いて、数123に示す演算を実行して、パラメータE(d)を生成する。
Figure 0006270683
つまり、ペアリング演算部632は、変換後暗号文ctdF’を、ユーザ秘密鍵skS’の鍵要素K^’,K^’,K^’2.iを用いて復号して、パラメータE(d)を生成する。
(S805:デコード処理)
デコード部633は、処理装置により、S801で取得された公開鍵pkに含まれるエンコード関数Eを用いて、S804で生成されたパラメータE(d)をデコードし、パラメータdを生成する。
(S806:メッセージ計算処理)
メッセージ計算部634は、処理装置により、S801で取得された再暗号文rctF’と、S805で生成されたパラメータdとを用いて、数124に示す演算を実行して、メッセージmを計算する。
Figure 0006270683
つまり、メッセージ計算部634は、パラメータdが埋め込まれた復号情報dec=ReCからパラメータdを取り除いて得られた情報を用いて、暗号要素ReCからメッセージmを計算する。
(S807:結果出力処理)
結果出力部640は、S806でメッセージmを生成した場合には、生成されたメッセージmを出力する。一方、S802で属性の有資格集合S’がアクセス構造F’を満たさない場合には、復号失敗を表す記号⊥を出力する。
***効果の説明***
以上のように、実施の形態1に係る暗号システム10では、普遍再暗号化鍵生成装置700がユーザ秘密鍵skから普遍再暗号化鍵urkを生成し、再暗号化鍵生成装置300が普遍再暗号化鍵urkから再暗号化鍵rks→F’を生成する。そして、ユーザ秘密鍵skは、普遍再暗号化鍵urkを生成する際に必要なだけで、再暗号化鍵rks→F’を生成する際には必要ない。普遍再暗号化鍵urkは1つ生成すれば、変更したいアクセス範囲毎の再暗号化鍵rkを生成することが可能である。
そのため、例えば、鍵生成装置100がユーザ秘密鍵skを生成した際、普遍再暗号化鍵生成装置700が普遍再暗号化鍵urkを生成してしまえば、以降、ユーザ秘密鍵skもマスター秘密鍵mskも用いることなく、再暗号化鍵rkを生成することが可能である。したがって、再暗号化鍵rkを生成する度に、ユーザがユーザ秘密鍵skを用いた処理を行う必要はなく、利便性が高い。また、再暗号化鍵rkを生成する度に、マスター秘密鍵mskを用いた処理を行う必要はなく、安全性が高い。
なお、上記説明では、暗号文ポリシーのAB−PRE方式について説明した。しかし、鍵ポリシーのAB−PRE方式についても同様の考え方に基づき実現可能である。
この場合、鍵生成装置100は、属性の有資格集合Sに代えて、アクセス構造Fを入力として、ユーザ秘密鍵を生成する。暗号化装置200は、アクセス構造Fに代えて、属性の有資格集合Sを入力として、オリジナル暗号文を生成する。再暗号化鍵生成装置300は、アクセス構造F’に代えて、属性の有資格集合S’を入力として、再暗号化鍵を生成する。
したがって、暗号文ポリシーのAB−PRE方式と、鍵ポリシーのAB−PRE方式との両方式をまとめると、次のようになる。
鍵生成装置100は、互いに対応する属性情報である属性の有資格集合Sとアクセス構造Fとのうちの一方が設定されたユーザ秘密鍵を生成する。暗号化装置200は、属性の有資格集合Sとアクセス構造Fとのうちの他方が設定されたオリジナル暗号文を生成する。
普遍再暗号化鍵生成装置700は、互いに対応する属性情報である属性の有資格集合Sとアクセス構造Fとのうちの一方が設定されたユーザ秘密鍵をパラメータdで変換した変換後ユーザ秘密鍵と、パラメータdを暗号化したパラメータ暗号文とを含む普遍再暗号化鍵を生成する。再暗号化鍵生成装置300は、変換後ユーザ秘密鍵と、互いに対応する属性情報である属性の有資格集合S’とアクセス構造F’とのうちの一方をパラメータ暗号文に設定した変換後暗号文とを含む再暗号化鍵を生成する。
再暗号化装置400は、属性情報である属性の有資格集合Sとアクセス構造Fとのうちの他方が設定されたオリジナル暗号文を、再暗号化鍵に含まれる変換後ユーザ秘密鍵で復号した復号情報と、変換後暗号文とを含む再暗号文を生成する。
復号装置500は、属性情報である属性の有資格集合Sとアクセス構造Fとのうちの他方が設定されたユーザ秘密鍵により、オリジナル暗号文を復号する。再暗号文復号装置600は、属性情報である属性の有資格集合S’とアクセス構造F’とのうちの他方が設定されたユーザ秘密鍵により、再暗号文を復号する。
また、上記説明では、対称双線形ペアリング群を用いる場合について説明した。しかし、非対称双線形ペアリング群を用いることも可能であり、上記説明を形式的に非対称双線形ペアリング群を用いた場合の説明に変換することが可能である。
また、上記説明では、鍵生成装置100が普遍再暗号化鍵生成装置700を備えるとした。しかし、普遍再暗号化鍵生成装置700は他の装置と独立していてもよい。この場合にも同様の効果を得ることができる。
また、復号装置500が普遍再暗号化鍵生成装置700を備えていてもよい。この場合には、再暗号化鍵を生成する度に、復号装置500を操作するユーザに手間がかかる恐れがある。
また、上記説明では、暗号化装置200と復号装置500と再暗号文復号装置600とを別の装置とした。しかし、暗号システム10は、暗号化装置200と復号装置500と再暗号文復号装置600とのうちの複数の機能を有する装置を備えてもよい。
図17は、実施の形態1に示した鍵生成装置100と、暗号化装置200と、再暗号化鍵生成装置300と、再暗号化装置400と、復号装置500と、再暗号文復号装置600と、普遍再暗号化鍵生成装置700とのハードウェア構成の例を示す図である。
鍵生成装置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が接続されている。
演算装置901は、プログラムを実行するCPU(Central Processing Unit)等である。外部記憶装置902は、例えばROM(Read Only
Memory)やフラッシュメモリ、ハードディスク装置等である。主記憶装置903は、例えばRAM(Random Access Memory)等である。通信装置904は、例えば通信ボード等である。入出力装置905は、例えばマウス、キーボード、ディスプレイ装置等である。
プログラムは、通常は外部記憶装置902に記憶されており、主記憶装置903にロードされた状態で、順次演算装置901に読み込まれ、実行される。
プログラムは、情報取得部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にファイルとして記憶されている。
なお、図17の構成は、あくまでも鍵生成装置100と、暗号化装置200と、再暗号化鍵生成装置300と、再暗号化装置400と、復号装置500と、再暗号文復号装置600と、普遍再暗号化鍵生成装置700とのハードウェア構成の一例を示すものであり、鍵生成装置100と、暗号化装置200と、再暗号化鍵生成装置300と、再暗号化装置400と、復号装置500と、再暗号文復号装置600と、普遍再暗号化鍵生成装置700とのハードウェア構成は図17に記載の構成に限らず、他の構成であってもよい。
10 暗号システム、100 鍵生成装置、110 情報取得部、111 セキュリティパラメータ取得部、112 属性カテゴリ取得部、113 マスター鍵取得部、114 有資格集合取得部、120 マスター鍵生成部、121 写像生成部、122 パラメータ生成部、123 アクセス構造生成部、124 エンコード関数生成部、125 鍵要素生成部、130 マスター鍵記憶部、140 ユーザ秘密鍵生成部、141 属性集合判定部、142 乱数生成部、143 鍵要素生成部、150 鍵出力部、200 暗号化装置、210 情報取得部、211 公開鍵取得部、212 メッセージ取得部、213 アクセス構造取得部、220 暗号文生成部、221 ランダムベクトル生成部、222 乱数生成部、223 暗号要素生成部、230 暗号文出力部、300 再暗号化鍵生成装置、310 情報取得部、311 公開鍵取得部、312 普遍再暗号化鍵取得部、313 アクセス構造取得部、320 再暗号化鍵生成部、321 ランダムベクトル生成部、322 乱数生成部、323 属性設定部、330 再暗号化鍵出力部、400 再暗号化装置、410 情報取得部、411 公開鍵取得部、412 再暗号化鍵取得部、413 オリジナル暗号文取得部、420 再暗号化判定部、430 再暗号化部、431 定数計算部、432 ペアリング演算部、440 再暗号文出力部、500 復号装置、510 情報取得部、511 公開鍵取得部、512 ユーザ秘密鍵取得部、513 オリジナル暗号文取得部、520 暗号文判定部、530 復号部、531 定数計算部、532 ペアリング演算部、540 結果出力部、600 再暗号文復号装置、610 情報取得部、611 公開鍵取得部、612 ユーザ秘密鍵取得部、613 再暗号文取得部、620 暗号文判定部、630 復号部、631 定数計算部、632 ペアリング演算部、633 デコード部、634 メッセージ計算部、640 結果出力部、700 普遍再暗号化鍵生成装置、710 情報取得部、711 公開鍵取得部、712 ユーザ秘密鍵取得部、720 普遍再暗号化鍵生成部、721 乱数生成部、722 復号鍵変換部、723 ランダムベクトル生成部、724 パラメータ暗号化部、730 普遍再暗号化鍵出力部、U 属性、1λ セキュリティパラメータ、S,S’ 有資格集合、pk 公開鍵、msk マスター秘密鍵、rsk 再暗号化秘密鍵、sk,skS’ ユーザ秘密鍵、m メッセージ、F,F’,F アクセス構造、oct オリジナル暗号文、urk 普遍再暗号化鍵、sk 変換後ユーザ秘密鍵、ctdF^ パラメータ暗号文、rkS→F’ 再暗号化鍵、ctdF’ 変換後暗号文、rctF’ 再暗号文、d パラメータ、Setup セットアップ工程、KG 鍵生成工程、Enc 暗号化工程、URKG 普遍再暗号化鍵生成工程、RKG 再暗号化鍵生成工程、REnc 再暗号化工程、DecEnc 復号工程、DecReEnc 再暗号文復号工程。

Claims (8)

  1. ユーザ秘密鍵で復号可能なオリジナル暗号文を復号できないように前記ユーザ秘密鍵を変換して普遍再暗号化鍵を生成する普遍再暗号化鍵生成装置と、
    前記ユーザ秘密鍵で復号可能なオリジナル暗号文についての復号可能な範囲を変更する再暗号化をするための再暗号化鍵であって、前記オリジナル暗号文を復号可能な範囲を示す情報が設定された再暗号化鍵を前記普遍再暗号化鍵生成装置が生成した前記普遍再暗号化鍵から生成する再暗号化鍵生成装置と
    を備える暗号システム。
  2. 前記普遍再暗号化鍵生成装置は、有資格集合Sとアクセス構造Fとのうちの一方が設定された前記ユーザ秘密鍵をパラメータdで変換した変換後ユーザ秘密鍵と、前記パラメータdを暗号化したパラメータ暗号文とを含む前記普遍再暗号化鍵を生成し、
    前記再暗号化鍵生成装置は、前記変換後ユーザ秘密鍵と、有資格集合S’とアクセス構造F’とのうちの一方を前記パラメータ暗号文に設定した変換後暗号文とを含む再暗号化鍵を生成する
    請求項1に記載の暗号システム。
  3. 前記暗号システムは、さらに、
    前記有資格集合Sと前記アクセス構造Fのうちの他方が設定されたオリジナル暗号文を、前記再暗号化鍵に含まれる前記変換後ユーザ秘密鍵で復号した復号情報と、前記変換後暗号文とを含む再暗号文を生成する再暗号化装置
    を備える請求項2に記載の暗号システム。
  4. 前記暗号システムは、さらに、
    前記有資格集合S’と前記アクセス構造F’のうちの他方が設定されたユーザ秘密鍵により、前記再暗号文を復号する再暗号文復号装置
    を備える請求項3に記載の暗号システム。
  5. 前記普遍再暗号化鍵生成装置は、数1に示す鍵要素K,K,K2.iを含むユーザ秘密鍵から、数2に示す鍵要素RK,RK,RK2.iを含む変換後ユーザ秘密鍵を生成するとともに、数3に示す暗号要素RC^,RC^を含むパラメータ暗号文を生成し、
    前記再暗号化鍵生成装置は、数4に示す暗号要素RC^’,RC^’,RC^’2.i,RD^’を含む変換後暗号文を生成し、
    前記再暗号化装置は、数5に示す暗号要素C,C2.i,Dを含むオリジナル暗号文を、数6に示すように復号した復号情報decと、数7に示す前記オリジナル暗号文の暗号要素ReCとを含む再暗号文を生成し、
    前記再暗号文復号装置は、数8に示す鍵要素K^’,K^’,K^’2.iを含む第2ユーザ秘密鍵により、数9に示すように前記再暗号文を復号する
    請求項4に記載の暗号システム。
    Figure 0006270683
    Figure 0006270683
    Figure 0006270683
    Figure 0006270683
    Figure 0006270683
    Figure 0006270683
    Figure 0006270683
    Figure 0006270683
    Figure 0006270683
  6. 普遍再暗号化鍵生成装置が、ユーザ秘密鍵で復号可能なオリジナル暗号文を復号できないように前記ユーザ秘密鍵を変換して普遍再暗号化鍵を生成する普遍再暗号化鍵生成工程と、
    再暗号化鍵生成装置が、前記ユーザ秘密鍵で復号可能なオリジナル暗号文について、復号可能な範囲を変更する再暗号化をするための再暗号化鍵であって、前記オリジナル暗号文を復号可能な範囲を示す情報が設定された再暗号化鍵を前記普遍再暗号化鍵生成装置が生成した前記普遍再暗号化鍵から生成する再暗号化鍵生成工程と
    を備える暗号方法。
  7. ユーザ秘密鍵をパラメータdで変換して変換後ユーザ秘密鍵を生成する復号鍵変換部と、
    前記パラメータdを暗号化してパラメータ暗号文を生成するパラメータ暗号化部と、
    前記復号鍵変換部が生成した変換後ユーザ秘密鍵と、前記パラメータ暗号化部が生成したパラメータ暗号文とを含む普遍再暗号化鍵を出力する普遍再暗号化鍵出力部と
    を備える普遍再暗号化鍵生成装置。
  8. ユーザ秘密鍵をパラメータdで変換した変換後ユーザ秘密鍵と、前記パラメータdを暗号化したパラメータ暗号文とを含む普遍再暗号化鍵を取得する普遍再暗号化鍵取得部と、
    前記普遍再暗号化鍵取得部が取得した普遍再暗号化鍵に含まれる前記パラメータ暗号文に、属性情報を設定して変換後暗号文を生成する属性設定部と、
    前記普遍再暗号化鍵取得部が取得した普遍再暗号化鍵に含まれる前記変換後ユーザ秘密鍵と、前記属性設定部が生成した変換後暗号文とを含む再暗号化鍵を出力する再暗号化鍵出力部と
    を備える再暗号化鍵生成装置。
JP2014204445A 2014-10-03 2014-10-03 暗号システム、暗号方法、普遍再暗号化鍵生成装置及び再暗号化鍵生成装置 Active JP6270683B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3618345B1 (en) * 2017-06-09 2020-12-30 Mitsubishi Electric Corporation Re-encrypted key generation device, re-encryption device, re-encrypted cipher text decryption device and cryptosystem
CN112671725B (zh) * 2020-12-10 2023-03-24 深圳大学 单向代理重加密方法、装置、电子设备及系统
CN114584295B (zh) * 2022-03-01 2024-04-09 南京大学 针对属性基代理重加密系统的通用黑盒可追踪方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014083784A1 (ja) * 2012-11-30 2014-06-05 日本電気株式会社 暗号システム、データ保存システム、それに用いる装置および方法
JP5905128B2 (ja) * 2013-01-16 2016-04-20 三菱電機株式会社 暗号システム、再暗号化装置及び暗号方法

Cited By (1)

* Cited by examiner, † Cited by third party
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
JP6058237B1 (ja) 暗号文変換装置、暗号文変換プログラム及び暗号文変換方法
JP5905128B2 (ja) 暗号システム、再暗号化装置及び暗号方法
CN110417726A (zh) 一种密钥管理方法及相关设备
RU2017131640A (ru) Управление конфиденциальной связью
JP6194886B2 (ja) 暗号化統計処理システム、復号システム、鍵生成装置、プロキシ装置、暗号化統計データ生成装置、暗号化統計処理方法、および、暗号化統計処理プログラム
KR101606317B1 (ko) 암호 시스템, 암호 방법, 암호 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 및 복호 장치
KR102143525B1 (ko) 교집합 연산을 지원하는 함수 암호를 위한 방법 및 이를 이용한 장치
WO2016088453A1 (ja) 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム
JP6270683B2 (ja) 暗号システム、暗号方法、普遍再暗号化鍵生成装置及び再暗号化鍵生成装置
US11431489B2 (en) Encryption processing system and encryption processing method
EP3079299A1 (en) Data processing system, encryption apparatus, decryption apparatus, and program
JP6081036B2 (ja) 復号条件追加装置及び暗号システム
JP6266130B2 (ja) 暗号システム、マスター鍵更新装置及びマスター鍵更新プログラム
JP7325689B2 (ja) 暗号文変換システム、変換鍵生成方法、及び、変換鍵生成プログラム
KR101929355B1 (ko) 고유 일련번호 및 대칭키를 이용한 암복호화 시스템
KR102284877B1 (ko) 효율적인 교집합 연산을 위한 함수 암호 기술
JP2011091517A (ja) サインクリプションシステムおよびサインクリプション生成方法
KR101793528B1 (ko) 무인증서 공개키 암호 시스템
KR20130022906A (ko) 두 개의 비밀키를 이용하는 프락시 재암호화 방법 및 프락시 재암호화 메시지 복호화방법
KR20200131688A (ko) 비밀키 생성 장치 및 방법, 연산키 생성 장치 및 방법
JP6949276B2 (ja) 再暗号化装置、再暗号化方法、再暗号化プログラム及び暗号システム
JP7126635B2 (ja) 再暗号化装置、暗号システム、再暗号化方法及び再暗号化プログラム
JP2018025587A (ja) 秘匿演算技術およびその方法
Tandon et al. Universal encryption algorithm using logical operations and bits shuffling for unicode
Bakhtiari et al. Lightweight symmetric encryption algorithm in big data

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