説明

鍵生成装置、暗号化装置、復号化装置、暗号化システム、鍵生成方法、暗号化方法、復号化方法、プログラム、および記録媒体

【課題】IDを秘匿化でき、かつ暗号文のサイズが階層の深さに依存しない階層型IDベース暗号技術を提供する。
【解決手段】本発明の暗号化システムは、鍵生成装置、暗号化装置、復号化装置で構成される。鍵生成装置は、マスター秘密鍵Sと復号化装置のID(識別情報D=[D,…,D])を用いて、公開鍵P、配下のすべての階層の階層秘密鍵S(k)を生成できる。暗号化装置200は、平文Mを、公開鍵Pと復号化装置の識別情報D,…,Dを用いて暗号化し、k番目の階層の復号化装置用の暗号文C(k)を得る。1番目の階層の復号化装置は、受信した暗号文C(1)を、階層秘密鍵S(1)を用いて復号化し、平文Mを得る。k番目(ただし、2番目以降)の階層の復号化装置は、受信した暗号文C(k)を、k−1番目の復号化装置の階層秘密鍵S(k−1)、暗号文C(k)、自己の識別情報Dを用いて復号化し、平文Mを得る。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、階層的な復号化装置に対して、復号化装置の識別情報を用いて暗号化、復号化する階層型IDベース暗号の鍵生成装置、暗号化装置、復号化装置、暗号化システム、鍵生成方法、暗号化方法、復号化方法、プログラム、および記録媒体に関する。
【背景技術】
【0002】
階層型IDベース暗号は、非特許文献1で初めて提案された。しかし、非特許文献1の方式では、ID(復号化装置の識別情報)に匿名性を持たせることができなかった。また、階層の深さに依存して暗号文のサイズが増加してしまっていた。
【0003】
非特許文献2は、暗号文のサイズが階層の深さに依存せず、一定となる方式である。しかし、この方式ではIDを秘匿化できなかった。また、IDに秘匿性を持たせる方式として、非特許文献3が提案された。しかし、この方式では、暗号文のサイズが階層の深さに依存して増加してしまう。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】C. Gentry, A. Silverberg, “Hierarchical ID-based cryptography,” in Proceedings of ASIACRYPT 2002, Lecture Notes in Computer Sience, Springer-Verlag, 2002.
【非特許文献2】Dan Boneh, Xavier Boyen, and Eu-Jin Goh, “Hierarchical identity based encryption with constant size ciphertext,” Proceedings of Eurocrypt 2005, volume 3494 of LNCS, pp.440-456, 2005.
【非特許文献3】Xavier Boyen and Brent Waters, “Anonymous hierarchical identity-based encryption (without random oracles),” Proceedings of CRYPTO 2006, volume 411 of LNCS, 2006.
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、ID(復号装置の識別情報)を秘匿化でき、かつ暗号文のサイズが階層の深さに依存しない階層型IDベース暗号技術を提供することである。
【課題を解決するための手段】
【0006】
まず、pとqは素数位数、G^とG^は位数pqを持つ巡回群、Gは素数位数pを持つG^の部分群、Gは素数位数qを持つG^の部分群、eはe:G^×G^→G^となる双線型写像、Kは階層の最大値を示す整数、kは階層を示す1≦k≦Kの整数、Dはk番目の階層の復号化装置を識別するための整数、DはK個の復号化装置を識別するための識別情報であってD=[D,…,D]、暗号文C(k)をC(k)=「C,C,C,C」とする。本発明の鍵生成装置は、鍵生成記録部、公開鍵生成部、鍵生成ランダム値選択部、階層秘密鍵生成部を備える。鍵生成記録部は、群Gの要素であるデータg,f,v,h,…,h,wと、群Gの要素であるデータR,R,R,R,…,R,gと、識別情報Dを記録する。公開鍵生成部は、G=gR、F=fR、V=vR、H=h,…,H=h、E=e(g,w)を計算し、[G,F,V,H,…,H,E]を公開鍵Pとして生成する。鍵生成ランダム値選択部は、整数r,r,s,s,t,t
【0007】
【数1】


を満たさないように、ランダムに選択する。階層秘密鍵生成部は、復号鍵生成手段、引継情報生成手段、秘密鍵生成手段を備え、k番目の階層の階層秘密鍵S(k)を生成する。
復号鍵生成手段は、S(k)を、
【0008】
【数2】


のように求める。引継情報生成手段は、S(k)を、
【0009】
【数3】


のように求める。秘密鍵生成手段は、k番目の階層の階層秘密鍵S(k)を
S(k)←[S(k),S(k)]
のように求める。
【0010】
暗号化装置は、暗号化記録部、暗号化ランダム値選択部、暗号化部を備える。暗号化記録部は、識別情報D、公開鍵P、平文Mを記録する。暗号化ランダム値選択部は、整数sと群Gの要素であるZ,Z,Zをランダムに選択する。暗号化部は、群G^の要素である平文Mから、k番目の階層の復号化装置用の暗号文C(k)を、
【0011】
【数4】


のように求める。
【0012】
k番目(ただし、2番目以降)の階層の復号化装置は、復号化記録部、復号化ランダム値選択部、階層秘密鍵生成部、復号化部を備える。復号化記録部は、k−1番目の階層の階層秘密鍵S(k−1)=[[a,a,a,b,…,b],[α,α,α,β,…,βK],[α’,α’,α’,β’,…,βK’]]、暗号文C(k)、自己の識別情報Dを記録する。復号化ランダム値選択部は、整数γ,γ,γ,δ,δ,δ
【0013】
【数5】


を満たさないように、ランダムに選択する。階層秘密鍵生成部は、復号鍵生成手段、引継情報生成手段、秘密鍵生成手段を備え、k番目の階層の階層秘密鍵S(k)を生成する。復号鍵生成手段は、S(k)を、
【0014】
【数6】


のように求める。引継情報生成手段は、S(k)を、
【0015】
【数7】


のように求める。秘密鍵生成手段はk番目の階層の階層秘密鍵S(k)を
S(k)←[S(k),S(k)]
のように求める。復号化部は、階層秘密鍵S(k)のはじめの3つの要素をA,A,Aとすると、暗号文C(k)を
【0016】
【数8】


のように平文Mに復号する。
1番目の階層の復号化装置は、復号化記録部と復号化部とを備える。復号化記録部は、1番目の階層の階層秘密鍵S(1)、暗号文C(1)を記録する。復号化部は、階層秘密鍵S(1)のはじめの3つの要素をA,A,Aとし、暗号文C(1)を
【0017】
【数9】


のように平文Mに復号する。なお、1番目の階層の復号化部は鍵生成装置と同一でもよい。
【発明の効果】
【0018】
本発明によれば、暗号文C(k)と一緒にID(復号化装置の識別情報)を送信する必要がない。したがって、IDを秘匿化できる。また、暗号文C(k)の長さは階層に依存しない。
【図面の簡単な説明】
【0019】
【図1】本発明の暗号化システムの構成例を示す図。
【図2】本発明の鍵生成装置および1番目の階層の復号化装置の機能構成例を示す図。
【図3】本発明の鍵生成装置の処理フローの例を示す図。
【図4】本発明の暗号化装置の機能構成例を示す図。
【図5】本発明の暗号化装置の処理フローの例を示す図。
【図6】本発明のk番目(ただし、2番目以降)の階層の復号化装置の機能構成例を示す図。
【図7】本発明のk番目(ただし、2番目以降)の階層の復号化装置の処理フローの例を示す図。
【図8】コンピュータの機能構成例を示す図。
【発明を実施するための形態】
【0020】
以下に、本発明について図面を参照しながら説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【実施例1】
【0021】
図1に本発明の暗号化システムの構成例を示す。本発明の暗号化システムは、鍵生成装置100(復号化装置300−1)、暗号化装置200、復号化装置300−2,…,Kで構成される。まず、pとqは素数位数、G^とG^は位数pqを持つ巡回群、Gは素数位数pを持つG^の部分群、Gは素数位数qを持つG^の部分群、eはe:G^×G^→G^となる双線型写像、Kは階層の最大値を示す整数、kは階層を示す1≦k≦Kの整数、Dはk番目の階層の復号化装置300−kを識別するための整数、DはK個の復号化装置300−1,…,Kを識別するための識別情報であってD=[D,…,D]、暗号文C(k)をC(k)=「C,C,C,C」とする。なお、このように定義すると、群G^の任意の要素gとhおよび任意の整数aとbについてe(g,h)=e(g,h)ab、および、群Gの任意の要素hと群Gの任意の要素hについてe(h,h)=1の関係が成り立つ。
【0022】
鍵生成装置100は、マスター秘密鍵Sと復号化装置300−1,…,KのID(識別情報D=[D,…,D])を記録しており、公開鍵P、配下のすべての階層の階層秘密鍵S(k)を生成できる。暗号化装置200は、公開鍵Pと復号化装置300−kのID(識別情報D=[D,…,D])を記録している。暗号化装置200は、平文Mを、公開鍵Pと復号化装置300−1,…,kの識別情報D,…,Dを用いて暗号化し、k番目の階層の復号化装置300−k用の暗号文C(k)を得る。1番目の階層の復号化装置300−1(図1では鍵生成装置100と同一)は、受信した暗号文C(1)を、階層秘密鍵S(1)を用いて復号化し、平文Mを得る。k番目(ただし、2番目以降)の階層の復号化装置300−kは、受信した暗号文C(k)を、k−1番目の復号化装置300−k−1の階層秘密鍵S(k−1)=[[a,a,a,b,…,b],[α,α,α,β,…,βK],[α’,α’,α’,β’,…,βK’]]、暗号文C(k)、自己の識別情報Dを用いて復号化し、平文Mを得る。本発明の暗号化システムでは、暗号文C(k)と一緒に復号化装置の識別情報を送信しないので、IDを秘匿化できる。
【0023】
図2に鍵生成装置100の機能構成例を示す。また、図3に鍵生成装置100の処理フロー例を示す。鍵生成装置100は、鍵生成記録部110、公開鍵生成部120、鍵生成ランダム値選択部130、階層秘密鍵生成部140を備える。鍵生成記録部110は、群Gの要素であるデータg,f,v,h,…,h,wと、群Gの要素であるデータR,R,R,R,…,R,gと、識別情報Dを記録する。なお、データg,f,v,h,…,h,wは、マスター秘密鍵S=[g,f,v,h,…,h,w]として記録される。公開鍵生成部120は、G=gR、F=fR、V=vR、H=h,…,H=h、E=e(g,w)を計算し、[G,F,V,H,…,H,E]を公開鍵Pとして生成する(S120)。鍵生成ランダム値選択部130は、整数r,r,s,s,t,tを、
【0024】
【数10】


を満たさないように、ランダムに選択する(S130)。
階層秘密鍵生成部140は、復号鍵生成手段150、引継情報生成手段160、秘密鍵生成手段170を備え、k番目の階層の階層秘密鍵S(k)を生成する(S140)。復号鍵生成手段150は、S(k)を、
【0025】
【数11】


のように求める(S150)。引継情報生成手段160は、S(k)を、
【0026】
【数12】


のように求める(S160)。秘密鍵生成手段170は、k番目の階層の階層秘密鍵S(k)を
S(k)←[S(k),S(k)]
のように求める(S170)。
【0027】
図4に暗号化装置の機能構成例を示す。また、図5に暗号化装置の処理フローの例を示す。暗号化装置200は、暗号化記録部210、暗号化ランダム値選択部230、暗号化部280を備える。暗号化記録部210は、K個(K層)の復号化装置を識別するための識別情報D、鍵生成装置100が公開した公開鍵P、送信対象の平文Mを記録する。暗号化ランダム値選択部230は、整数sと群Gの要素であるZ,Z,Zをランダムに選択する(S230)。暗号化部280は、群G^の要素である平文Mから、k番目の階層の復号化装置300−k用の暗号文C(k)を、
【0028】
【数13】


のように求め(S280)、k番目の階層の復号化装置300−kに暗号文C(k)を送信する。
【0029】
図6にk番目(ただし、2番目以降)の階層の復号化装置の機能構成例を示す。また、図7にk番目(ただし、2番目以降)の階層の復号化装置の処理フローの例を示す。k番目(ただし、2番目以降)の階層の復号化装置300−kは、復号化記録部310−k、復号化ランダム値選択部330−k、階層秘密鍵生成部340−k、復号化部390−kを備える。復号化記録部310−kは、受信したk−1番目の階層の復号化装置300−k−1の階層秘密鍵S(k−1)=[[a,a,a,b,…,b],[α,α,α,β,…,βK],[α’,α’,α’,β’,…,βK’]]、受信した暗号文C(k)、自己の識別情報Dを記録する。復号化ランダム値選択部330−kは、整数γ,γ,γ,δ,δ,δ
【0030】
【数14】


を満たさないように、ランダムに選択する(S330−k)。例えば、復号化ランダム値選択部330−kは、整数γ,γ,γ,δ,δ,δをランダムに選択し(S331−k)、上記の式を満たすかを確認する(S332−k)。Yesの場合には、整数γ,γ,γ,δ,δ,δをランダムに選択する処理を繰り返す。Noの場合には、次の処理に進む。
【0031】
階層秘密鍵生成部340−kは、復号鍵生成手段350−k、引継情報生成手段360−k、秘密鍵生成手段370−kを備え、自己の(k番目の階層の復号化装置300−k用の)階層秘密鍵S(k)を生成する。復号鍵生成手段350−kは、S(k)を、
【0032】
【数15】


のように求める(S350−k)。引継情報生成手段360−kは、S(k)を、
【0033】
【数16】


のように求める(S360−k)。秘密鍵生成手段370−kは自己の(k番目の階層の復号化装置300−k用の)階層秘密鍵S(k)を
S(k)←[S(k),S(k)]
のように求める(S370−k)。復号化部390−kは、階層秘密鍵S(k)のはじめの3つの要素をA,A,Aとすると、暗号文C(k)を
【0034】
【数17】


のように平文Mに復号する(S390−k)。
【0035】
1番目の階層の復号化装置300−1は、図1の例では鍵生成装置100と同一の装置である。図2中に点線で示した構成部が1番目の階層の復号化装置300−1として機能する構成部である。具体的には、復号化記録部310−1と復号化部390−1である。復号化記録部310は、階層秘密鍵生成部140が生成した1番目の階層の復号化装置用の階層秘密鍵S(1)、受信した暗号文C(1)を記録する。復号化部390−1は、階層秘密鍵S(1)のはじめの3つの要素をA,A,Aとし、暗号文C(1)を
【0036】
【数18】


のように平文Mに復号する(S390−1)。なお、図1の例は1番目の階層の復号化装置は鍵生成装置と同一としたが、別の装置としてもよい。別の装置とする場合には、復号化装置300−1は鍵生成装置100から、1番目の階層の復号化装置用の階層秘密鍵S(1)を受け取っておく必要がある。
検証
【0037】
【数19】


によって平文Mが求められることを確認する。
まず、鍵生成装置100の階層秘密鍵生成部140で求める階層秘密鍵S(k)で確認する。階層秘密鍵生成部140で求める階層秘密鍵S(k)の最初の3つの要素A,A,Aは、次のとおりである。
【0038】
【数20】


また、C,C,C,Cは、次のとおりである。
【0039】
【数21】


したがって、
【0040】
【数22】


は、次のようになる。
【0041】
【数23】

【0042】
また、階層秘密鍵生成部340−kは、自己の(k番目の階層の復号化装置300−k用の)階層秘密鍵S(k)を、k−1番目の階層の復号化装置300−k−1用の階層秘密鍵S(k−1)から生成する。また、
S(k−1)は、
【0043】
【数24】


であり、階層秘密鍵生成部340−kが求める階層秘密鍵S(k)の最初の3つの要素A,A,Aは、次のとおりである。
【0044】
【数25】


したがって、
【0045】
【数26】


となる。これらは、階層秘密鍵生成部140で求める階層秘密鍵S(k)の最初の3つの要素A,A,A
【0046】
【数27】


と同じである。
つまり、k番目(ただし、2番目以降)の階層の復号化装置は、自己(k番目)よりも上位の階層の復号化装置の識別情報D,…,Dk−1を知らなくても暗号文C(k)を復号化できる。よって、暗号文C(k)と一緒にID(復号化装置の識別情報)を送信する必要がなく、ID(復号化装置の識別情報)を秘匿化できる。また、暗号文C(k)は、
【0047】
【数28】


なので、暗号文C(k)の長さは階層に依存しない。
【0048】
図8に、コンピュータの機能構成例を示す。なお、本発明の鍵生成装置、暗号化装置および復号化装置は、コンピュータ2000の記録部2020に、本発明の各構成部としてコンピュータ2000を動作させるプログラムを読み込ませ、処理部2010、入力部2030、出力部2040などを動作させることで実現できる。また、コンピュータに読み込ませる方法としては、プログラムをコンピュータ読み取り可能な記録媒体に記録しておき、記録媒体からコンピュータに読み込ませる方法、サーバ等に記録されたプログラムを、電気通信回線等を通じてコンピュータに読み込ませる方法などがある。
【産業上の利用可能性】
【0049】
本発明は、2台以上の通信装置の間で情報を暗号化して通信するような場合などに利用できる。
【符号の説明】
【0050】
100 鍵生成装置 110 鍵生成記録部
120 公開鍵生成部 130 鍵生成ランダム値選択部
140 階層秘密鍵生成部 150 復号鍵生成手段
160 引継情報生成手段 170 秘密鍵生成手段
200 暗号化装置 210 暗号化記録部
230 暗号化ランダム値選択部 280 暗号化部
300 復号化装置 310 復号化記録部
330 復号化ランダム値選択部 340 階層秘密鍵生成部
350 復号鍵生成手段 360 引継情報生成手段
370 秘密鍵生成手段 390 復号化部

【特許請求の範囲】
【請求項1】
pとqは素数位数、G^とG^は位数pqを持つ巡回群、Gは素数位数pを持つG^の部分群、Gは素数位数qを持つG^の部分群、eはe:G^×G^→G^となる双線型写像、Kは階層の最大値を示す整数、kは階層を示す1≦k≦Kの整数、Dはk番目の階層の復号化装置を識別するための整数、DはK個の復号化装置を識別するための識別情報であってD=[D,…,D]とし、
群Gの要素であるデータg,f,v,h,…,h,wと、群Gの要素であるデータR,R,R,R,…,R,gと、識別情報Dを記録する鍵生成記録部と、
G=gR、F=fR、V=vR、H=h,…,H=h、E=e(g,w)を計算し、[G,F,V,H,…,H,E]を公開鍵Pとして生成する公開鍵生成部と、
整数r,r,s,s,t,t
【数29】


を満たさない条件で、ランダムに選択する鍵生成ランダム値選択部と、
階層秘密鍵S(1)を生成する階層秘密鍵生成部と、
を備え、
前記階層秘密鍵生成部は、
(1)を、
【数30】


のように求める復号鍵生成手段と、
(1)を、
【数31】


のように求める引継情報生成手段と、
階層秘密鍵S(1)を
S(1)←[S(1),S(1)]
のように求める秘密鍵生成手段と
を備える
ことを特徴とする鍵生成装置。
【請求項2】
pとqは素数位数、G^とG^は位数pqを持つ巡回群、Gは素数位数pを持つG^の部分群、Gは素数位数qを持つG^の部分群、eはe:G^×G^→G^となる双線型写像、Kは階層の最大値を示す整数、kは階層を示す1≦k≦Kの整数、Dはk番目の階層の復号化装置を識別するための整数、DはK個の復号化装置を識別するための識別情報であってD=[D,…,D]とし、
群Gの要素であるデータg,f,v,h,…,h,wと、群Gの要素であるデータR,R,R,R,…,R,gと、識別情報Dを記録する鍵生成記録部と、
G=gR、F=fR、V=vR、H=h,…,H=h、E=e(g,w)を計算し、[G,F,V,H,…,H,E]を公開鍵Pとして生成する公開鍵生成部と、
整数r,r,s,s,t,t
【数32】


を満たさないように、ランダムに選択する鍵生成ランダム値選択部と、
k番目の階層の階層秘密鍵S(k)を生成する階層秘密鍵生成部と、
を備え、
前記階層鍵生成部は、
(k)を、
【数33】


のように求める復号鍵生成手段と、
(k)を、
【数34】


のように求める引継情報生成手段と、
k番目の階層の階層秘密鍵S(k)を
S(k)←[S(k),S(k)]
のように求める秘密鍵生成手段と
を備える
ことを特徴とする鍵生成装置。
【請求項3】
pとqは素数位数、G^とG^は位数pqを持つ巡回群、Gは素数位数qを持つG^の部分群、Kは階層の最大値を示す整数、kは階層を示す1≦k≦Kの整数、Dはk番目の階層の復号化装置を識別するための整数、DはK個の復号化装置を識別するための識別情報であってD=[D,…,D]、公開鍵PをP=[G,F,V,H,…,H,E]とし、
識別情報D、公開鍵P、平文Mを記録する暗号化記録部と、
整数sと群Gの要素であるZ,Z,Zをランダムに選択する暗号化ランダム値選択部と、
群G^の要素である平文Mから、k番目の階層の復号化装置用の暗号文C(k)を、
【数35】


のように求める暗号化部と
を備える暗号化装置。
【請求項4】
2番目以降の階層の復号化装置であって、
pとqは素数位数、G^とG^は位数pqを持つ巡回群、Gは素数位数pを持つG^の部分群、Gは素数位数qを持つG^の部分群、eはe:G^×G^→G^となる双線型写像、Kは階層の最大値を示す整数、kは階層を示す2≦k≦Kの整数、k−1番目の階層の階層秘密鍵S(k−1)をS(k−1)=[[a,a,a,b,…,b],[α,α,α,β,…,βK],[α’,α’,α’,β’,…,βK’]]、暗号文C(k)をC(k)=「C,C,C,C」とし、
k−1番目の階層の階層秘密鍵S(k−1)、暗号文C(k)、自己の識別情報Dを記録する復号化記録部と、
整数γ,γ,γ,δ,δ,δ
【数36】


を満たさないように、ランダムに選択する復号化ランダム値選択部と、
k番目の階層の階層秘密鍵S(k)を生成する階層秘密鍵生成部と、
階層秘密鍵S(k)を用いて暗号文Cを平文Mに復号する復号化部
を備え、
前記階層鍵生成部は、
(k)を、
【数37】


のように求める復号鍵生成手段と、
(k)を、
【数38】


のように求める引継情報生成手段と、
k番目の階層の階層秘密鍵S(k)を
S(k)←[S(k),S(k)]
のように求める秘密鍵生成手段と
を備え、
前記復号化部は、
,A,Aを階層秘密鍵S(k)のはじめの3つの要素とすると、
暗号文C(k)を
【数39】


のように平文Mに復号する
ことを特徴とする復号化装置。
【請求項5】
1番目の階層の復号化装置であって、
pとqは素数位数、G^とG^は位数pqを持つ巡回群、Gは素数位数pを持つG^の部分群、Gは素数位数qを持つG^の部分群、eはe:G^×G^→G^となる双線型写像、暗号文C(k)をC(k)=「C,C,C,C」、A,A,Aを階層秘密鍵S(1)のはじめの3つの要素とし、
1番目の階層の階層秘密鍵S(1)、暗号文C(1)を記録する復号化記録部と、
暗号文C(1)を
【数40】


のように平文Mに復号する復号化部
を備え、
整数r,r,s,s,t,tを、
【数41】


を満たさない条件で、ランダムに選択された整数とし、
(1)を、
【数42】


とし、
(1)を、
【数43】


とし、
階層秘密鍵S(1)は、
S(1)←[S(1),S(1)]
のように求められたものである
ことを特徴とする復号化装置。
【請求項6】
鍵生成装置、暗号化装置、階層化されたK−1個の復号化装置で構成された暗号化システムであって、
pとqは素数位数、G^とG^は位数pqを持つ巡回群、Gは素数位数pを持つG^の部分群、Gは素数位数qを持つG^の部分群、eはe:G^×G^→G^となる双線型写像、Kは階層の最大値を示す整数、kは階層を示す1≦k≦Kの整数、Dはk番目の階層の復号化装置を識別するための整数、DはK個の復号化装置を識別するための識別情報であってD=[D,…,D]とし、
前記鍵生成装置は、
群Gの要素であるデータg,f,v,h,…,h,wと、群Gの要素であるデータR,R,R,R,…,R,gと、識別情報Dを記録する鍵生成記録部と、
G=gR、F=fR、V=vR、H=h,…,H=h、E=e(g,w)を計算し、[G,F,V,H,…,H,E]を公開鍵Pとして生成する公開鍵生成部と、
整数r,r,s,s,t,t
【数44】


を満たさない条件で、ランダムに選択する鍵生成ランダム値選択部と、
階層秘密鍵S(1)を生成する階層秘密鍵生成部と、
を備え、
前記階層秘密鍵生成部は、
(1)を、
【数45】


のように求める復号鍵生成手段と、
(1)を、
【数46】


のように求める引継情報生成手段と、
階層秘密鍵S(1)を
S(1)←[S(1),S(1)]
のように求める秘密鍵生成手段と
を備え、
前記暗号化装置は、
識別情報D、公開鍵P、平文Mを記録する暗号化記録部と、
ランダムに整数sと群Gの要素であるZ,Z,Zを選択する暗号化ランダム値選択部と、
群G^の要素である平文Mから、k番目の階層の復号化装置用の暗号文C(k)を、
【数47】


のように求める暗号化部と
を備え、
2番目以降のk番目の階層の前記復号化装置は、
k−1番目の階層の階層秘密鍵S(k−1)をS(k−1)=[[a,a,a,b,…,b],[α,α,α,β,…,βK],[α’,α’,α’,β’,…,βK’]]、暗号文C(k)をC(k)=「C,C,C,C」とし、
k−1番目の階層の階層秘密鍵S(k−1)、暗号文C(k)、自己の識別情報Dを記録する復号化記録部と、
整数γ,γ,γ,δ,δ,δ
【数48】


を満たさないように、ランダムに選択する復号化ランダム値選択部と、
k番目の階層の階層秘密鍵S(k)を生成する階層秘密鍵生成部と、
階層秘密鍵S(k)を用いて暗号文C(k)を平文Mに復号する復号化部
を備え、
前記階層鍵生成部は、
(k)を、
【数49】


のように求める復号鍵生成手段と、
(k)を、
【数50】


のように求める引継情報生成手段と、
k番目の階層の階層秘密鍵S(k)を
S(k)←[S(k),S(k)]
のように求める秘密鍵生成手段と
を備え、
前記復号化部は、
,A,Aを階層秘密鍵S(k)のはじめの3つの要素とすると、
暗号文C(k)を
【数51】


のように平文Mに復号する
ことを特徴とする暗号化システム。
【請求項7】
pとqは素数位数、G^とG^は位数pqを持つ巡回群、Gは素数位数pを持つG^の部分群、Gは素数位数qを持つG^の部分群、eはe:G^×G^→G^となる双線型写像、Kは階層の最大値を示す整数、kは階層を示す1≦k≦Kの整数、Dはk番目の階層の復号化装置を識別するための整数、DはK個の復号化装置を識別するための識別情報であってD=[D,…,D]とし、
あらかじめ鍵生成記録部に、群Gの要素であるデータg,f,v,h,…,h,wと、群Gの要素であるデータR,R,R,R,…,R,gと、識別情報Dを記録しておき、
公開鍵生成部で、G=gR、F=fR、V=vR、H=h,…,H=h、E=e(g,w)を計算し、[G,F,V,H,…,H,E]を公開鍵Pとして生成する公開鍵生成ステップと、
公開鍵生成部で、整数r,r,s,s,t,t
【数52】


を満たさない条件で、ランダムに選択する公開鍵生成ステップと、
階層秘密鍵生成部で、階層秘密鍵S(1)を生成する階層秘密鍵生成ステップと、
を有し、
前記階層秘密鍵生成ステップは、
(1)を、
【数53】


のように求める復号鍵生成サブステップと、
(1)を、
【数54】


のように求める引継情報生成サブステップと、
階層秘密鍵S(1)を
S(1)←[S(1),S(1)]
のように求める秘密鍵生成サブステップと
を有する
ことを特徴とする鍵生成方法。
【請求項8】
pとqは素数位数、G^とG^は位数pqを持つ巡回群、Gは素数位数pを持つG^の部分群、Gは素数位数qを持つG^の部分群、eはe:G^×G^→G^となる双線型写像、Kは階層の最大値を示す整数、kは階層を示す1≦k≦Kの整数、Dはk番目の階層の復号化装置を識別するための整数、DはK個の復号化装置を識別するための識別情報であってD=[D,…,D]とし、
あらかじめ鍵生成記録部に、群Gの要素であるデータg,f,v,h,…,h,wと、群Gの要素であるデータR,R,R,R,…,R,gと、識別情報Dを記録しておき、
公開鍵生成部で、G=gR、F=fR、V=vR、H=h,…,H=h、E=e(g,w)を計算し、[G,F,V,H,…,H,E]を公開鍵Pとして生成する公開鍵生成ステップと、
階層秘密鍵生成部で、整数r,r,s,s,t,t
【数55】


を満たさないように、ランダムに選択する鍵生成ランダム値選択ステップと、
階層秘密鍵生成部で、k番目の階層の階層秘密鍵S(k)を生成する階層秘密鍵生成ステップと、
を有し、
前記階層鍵生成ステップは、
(k)を、
【数56】


のように求める復号鍵生成サブステップと、
(k)を、
【数57】


のように求める引継情報生成サブステップと、
k番目の階層の階層秘密鍵S(k)を
S(k)←[S(k),S(k)]
のように求める秘密鍵生成サブステップと
を有する
ことを特徴とする鍵生成方法。
【請求項9】
pとqは素数位数、G^とG^は位数pqを持つ巡回群、Gは素数位数qを持つG^の部分群、Kは階層の最大値を示す整数、kは階層を示す1≦k≦Kの整数、Dはk番目の階層の復号化装置を識別するための整数、DはK個の復号化装置を識別するための識別情報であってD=[D,…,D]、公開鍵PをP=[G,F,V,H,…,H,E]とし、
あらかじめ暗号化記録部に、識別情報D、公開鍵P、平文Mを記録しておき、
暗号化ランダム値選択部で、整数sと群Gの要素であるZ,Z,Zをランダムに選択する暗号化ランダム値選択ステップと、
暗号化部で、群G^の要素である平文Mから、k番目の階層の復号化装置用の暗号文C(k)を、
【数58】


のように求める暗号化ステップと
を有する暗号化方法。
【請求項10】
2番目以降の階層の復号化方法であって、
pとqは素数位数、G^とG^は位数pqを持つ巡回群、Gは素数位数pを持つG^の部分群、Gは素数位数qを持つG^の部分群、eはe:G^×G^→G^となる双線型写像、Kは階層の最大値を示す整数、kは階層を示す2≦k≦Kの整数、k−1番目の階層の階層秘密鍵S(k−1)をS(k−1)=[[a,a,a,b,…,b],[α,α,α,β,…,βK],[α’,α’,α’,β’,…,βK’]]、暗号文C(k)をC(k)=「C,C,C,C」とし、
あらかじめ復号化記録部に、k−1番目の階層の階層秘密鍵S(k−1)、暗号文C(k)、自己の識別情報Dを記録しておき、
復号化ランダム値選択部で、整数γ,γ,γ,δ,δ,δ
【数59】


を満たさないように、ランダムに選択する復号化ランダム値選択ステップと、
階層秘密鍵生成部で、k番目の階層の階層秘密鍵S(k)を生成する階層秘密鍵生成ステップと、
復号化部で、階層秘密鍵S(k)を用いて暗号文Cを平文Mに復号する復号化ステップ
を有し、
前記階層鍵生成ステップは、
(k)を、
【数60】


のように求める復号鍵生成サブステップと、
(k)を、
【数61】


のように求める引継情報生成サブステップと、
k番目の階層の階層秘密鍵S(k)を
S(k)←[S(k),S(k)]
のように求める秘密鍵生成サブステップと
を有し、
前記復号化ステップは、
,A,Aを階層秘密鍵S(k)のはじめの3つの要素とすると、
暗号文C(k)を
【数62】


のように平文Mに復号する
ことを特徴とする復号化方法。
【請求項11】
1番目の階層の復号化方法であって、
pとqは素数位数、G^とG^は位数pqを持つ巡回群、Gは素数位数pを持つG^の部分群、Gは素数位数qを持つG^の部分群、eはe:G^×G^→G^となる双線型写像、暗号文C(k)をC(k)=「C,C,C,C」、A,A,Aを階層秘密鍵S(1)のはじめの3つの要素とし、
あらかじめ復号化記録部に、1番目の階層の階層秘密鍵S(1)、暗号文C(1)を記録しておき、
復号化部で、暗号文C(1)を
【数63】


のように平文Mに復号する復号化ステップ
を有し、
整数r,r,s,s,t,tを、
【数64】


を満たさない条件で、ランダムに選択された整数とし、
(1)を、
【数65】


とし、
(1)を、
【数66】


とし、
階層秘密鍵S(1)は、
S(1)←[S(1),S(1)]
のように求められたものである
ことを特徴とする復号化方法。
【請求項12】
鍵生成装置、暗号化装置、階層化されたK−1個の復号化装置で構成された暗号化方法であって、
pとqは素数位数、G^とG^は位数pqを持つ巡回群、Gは素数位数pを持つG^の部分群、Gは素数位数qを持つG^の部分群、eはe:G^×G^→G^となる双線型写像、Kは階層の最大値を示す整数、kは階層を示す1≦k≦Kの整数、Dはk番目の階層の復号化装置を識別するための整数、DはK個の復号化装置を識別するための識別情報であってD=[D,…,D]とし、
前記鍵生成装置は、
群Gの要素であるデータg,f,v,h,…,h,wと、群Gの要素であるデータR,R,R,R,…,R,gと、識別情報Dを記録しておき、
G=gR、F=fR、V=vR、H=h,…,H=h、E=e(g,w)を計算し、[G,F,V,H,…,H,E]を公開鍵Pとして生成する公開鍵生成ステップと、
整数r,r,s,s,t,t
【数67】


を満たさない条件で、ランダムに選択する鍵生成ランダム値選択ステップと、
階層秘密鍵S(1)を生成する階層秘密鍵生成ステップと、
を有し、
前記階層秘密鍵生成ステップは、
(1)を、
【数68】


のように求める復号鍵生成サブステップと、
(1)を、
【数69】


のように求める引継情報生成サブステップと、
階層秘密鍵S(1)を
S(1)←[S(1),S(1)]
のように求める秘密鍵生成サブステップと
を有し、
前記暗号化装置は、
識別情報D、公開鍵P、平文Mを記録しておき、
ランダムに整数sと群Gの要素であるZ,Z,Zを選択する暗号化ランダム値選択ステップと、
群G^の要素である平文Mから、k番目の階層の復号化装置用の暗号文C(k)を、
【数70】


のように求める暗号化ステップと
を有し、
2番目以降のk番目の階層の前記復号化装置は、
k−1番目の階層の階層秘密鍵S(k−1)をS(k−1)=[[a,a,a,b,…,b],[α,α,α,β,…,βK],[α’,α’,α’,β’,…,βK’]]、暗号文C(k)をC(k)=「C,C,C,C」とし、
k−1番目の階層の階層秘密鍵S(k−1)、暗号文C(k)、自己の識別情報Dを記録しておき、
整数γ,γ,γ,δ,δ,δ
【数71】


を満たさないように、ランダムに選択する復号化ランダム値選択ステップと、
k番目の階層の階層秘密鍵S(k)を生成する階層秘密鍵生成ステップと、
階層秘密鍵S(k)を用いて暗号文C(k)を平文Mに復号する復号化ステップ
を有し、
前記階層鍵生成ステップは、
(k)を、
【数72】


のように求める復号鍵生成サブステップと、
(k)を、
【数73】


のように求める引継情報生成サブステップと、
k番目の階層の階層秘密鍵S(k)を
S(k)←[S(k),S(k)]
のように求める秘密鍵生成サブステップと
を有し、
前記復号化ステップは、
,A,Aを階層秘密鍵S(k)のはじめの3つの要素とすると、
暗号文C(k)を
【数74】


のように平文Mに復号する
ことを特徴とする暗号化方法。
【請求項13】
請求項1から5のいずれかに記載された装置として、コンピュータを動作させるプログラム。
【請求項14】
請求項13記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate