(57)【要約】【課題】属性ベクトルｘ→と、述語ベクトルｖ→との次元が同じであるという制約のない、自由度の高い内積述語暗号方式を実現することを目的とする。【解決手段】要素ｃ０と、集合Ｉｘ→に含まれる各インデックスｔについての要素ｃｔとを有する暗号文を、要素ｋ０と、集合Ｉｖ→に含まれる各インデックスｔについての要素ｋｔとを有する復号鍵を用いて、要素ｃ０及び要素ｋ０と、要素ｃｔ及び要素ｋｔとについて対応する基底ベクトル毎のペアリング演算の積を計算することにより復号する。【選択図】図１
2014085358.tif 000002
【特許請求の範囲】
【請求項１】
暗号化装置と復号装置とを備える暗号システムであり、
前記暗号化装置は、
基底ベクトルｂ０，ｒの係数として値ω〜が設定された要素ｃ０と、集合Ｉｘ→に含まれる各インデックスｔについて、基底ベクトルｂｐの係数として属性情報ｘｔが設定され、基底ベクトルｂｑの係数として前記値ω〜が設定された要素ｃｔとを有する暗号文を生成する暗号文生成部
を備え、
前記復号装置は、
集合Ｉｖ→に含まれる各インデックスｔについての値ｓｔの合計が値ｓ０である値ｓｔ及び値ｓ０を用いて生成された要素ｋ０と要素ｋｔとであって、前記基底ベクトルｂ０，ｒに対応する基底ベクトルｂ＊０，ｒの係数として値−ｓ０が設定された要素ｋ０と、集合Ｉｖ→に含まれる各インデックスｔについて、前記基底ベクトルｂｐに対応する基底ベクトルｂ＊ｐの係数として述語情報ｖｔが設定され、前記基底ベクトルｂｑに対応する基底ベクトルｂ＊ｑの係数として値ｓｔが設定された要素ｋｔとを有する復号鍵を記憶する復号鍵記憶部と、
前記暗号文生成部が生成した暗号文を、前記復号鍵記憶部が記憶した復号鍵により復号する復号部であって、前記要素ｃ０及び前記要素ｋ０と、前記集合Ｉｖ→に含まれる各インデックスｔについての要素ｃｔ及び要素ｋｔとに対して、対応する基底ベクトル毎のペアリング演算の積を計算して、前記暗号文を復号する復号部と
を備えることを特徴とする暗号システム。
【請求項２】
前記暗号文生成部は、さらに、基底ベクトルｂｉｎｄｅｘの係数として、インデックスｔに予め割り当てられた情報Ｊが設定された要素ｃｔを生成し、
前記復号鍵記憶部は、さらに、前記基底ベクトルｂｉｎｄｅｘに対応する基底ベクトルｂ＊ｉｎｄｅｘの係数として、インデックスｔに予め割り当てられた前記情報Ｊとの内積が０になる情報Ｊ’が設定された要素ｋｔを生成する
ことを特徴とする請求項１に記載の暗号システム。
【請求項３】
前記暗号文生成部は、数１に示す要素ｃ０及び要素ｃｔを生成し、
前記復号鍵記憶部は、数２に示す要素ｋ０及び要素ｋｔを記憶し、
前記復号部は、数３に示す計算をする
ことを特徴とする請求項２に記載の暗号システム。
【数１】
2014085358.tif 000096
【数２】
2014085358.tif 000097
【数３】
2014085358.tif 000098
【請求項４】
送信装置と受信装置とを備え、インデックスτ毎に、集合Ｉτ，ｘ→に含まれる各インデックスｔについての属性情報ｘτ，ｔを要素として持つ属性ベクトルｘτ→と、集合Ｉτ，ｖ→に含まれる各インデックスｔについての属性情報ｖτ，ｔを要素として持つ述語ベクトルｖτ→との内積が０か否かを判定することにより、暗号プリミティブの処理を実現する暗号システムであり、
前記送信装置は、
インデックスτ毎に、集合Ｉτ，ｘ→に含まれる各インデックスｔについて、基底ベクトルｂｐの係数として属性情報ｘτ，ｔが設定され、基底ベクトルｂｑの係数として値ω〜τが設定された要素ｃτ，ｔを有する送信情報を生成する送信情報生成部
を備え、
前記受信装置は、
インデックスτ毎に、集合Ｉτ，ｖ→に含まれる各インデックスｔについて、前記基底ベクトルｂｐに対応する基底ベクトルｂ＊ｐの係数として属性情報ｖτ，ｔが設定され、前記基底ベクトルｂｑに対応する基底ベクトルｂ＊ｑの係数として値ｓτ，ｔが設定された要素ｋτ，ｔを有する受信情報を記憶する受信情報記憶部と、
各インデックスτについて、前記集合Ｉτ，ｖ→に含まれる各インデックスｔについての要素ｃτ，ｔ及び要素ｋτ，ｔに対して、対応する基底ベクトル毎のペアリング演算の積を計算するペアリング演算部と
を備えることを特徴とする暗号システム。
【請求項５】
暗号化装置と復号装置とを備える暗号システムであり、
前記暗号化装置は、
集合Ｉｘ→に含まれる各インデックスｔについての値ｆｔの合計が値ｆ０である値ｆｔ及び値ｆ０を用いて生成された要素ｃ０と要素ｃｔとであって、基底ベクトルｂ０，ｒの係数として値−ｆ０が設定された要素ｃ０と、集合Ｉｘ→に含まれる各インデックスｔについて、基底ベクトルｂｐの係数として属性情報ｘｔが設定され、基底ベクトルｂｑの係数として値ｆｔが設定された要素ｃｔとを有する暗号文を生成する暗号文生成部
を備え、
前記復号装置は、
前記基底ベクトルｂ０，ｒに対応する基底ベクトルｂ＊０，ｒの係数として値δ〜が設定された要素ｋ０と、集合Ｉｖ→に含まれる各インデックスｔについて、前記基底ベクトルｂｐに対応する基底ベクトルｂ＊ｐの係数として述語情報ｖｔが設定され、前記基底ベクトルｂｑに対応する基底ベクトルｂ＊ｑの係数として前記値δ〜が設定された要素ｋｔとを有する復号鍵を記憶する復号鍵記憶部と、
前記暗号文生成部が生成した暗号文を、前記復号鍵記憶部が記憶した復号鍵により復号する復号部であって、前記要素ｃ０及び前記要素ｋ０と、前記集合Ｉｘ→に含まれる各インデックスｔについての要素ｃｔ及び要素ｋｔとに対して、対応する基底ベクトル毎のペアリング演算の積を計算して、前記暗号文を復号する復号部と
を備えることを特徴とする暗号システム。
【請求項６】
前記暗号文生成部は、さらに、基底ベクトルｂｉｎｄｅｘの係数として、インデックスｔに予め割り当てられた情報Ｊが設定された要素ｃｔを生成し、
前記復号鍵記憶部は、さらに、前記基底ベクトルｂｉｎｄｅｘに対応する基底ベクトルｂ＊ｉｎｄｅｘの係数として、インデックスｔに予め割り当てられた前記情報Ｊとの内積が０になる情報Ｊ’が設定された要素ｋｔを生成する
ことを特徴とする請求項５に記載の暗号システム。
【請求項７】
前記暗号文生成部は、数４に示す要素ｃ０及び要素ｃｔを生成し、
前記復号鍵記憶部は、数５に示す要素ｋ０及び要素ｋｔを記憶し、
前記復号部は、数６に示す計算をする
ことを特徴とする請求項６に記載の暗号システム。
【数４】
2014085358.tif 000099
【数５】
2014085358.tif 000100
【数６】
2014085358.tif 000101
【請求項８】
送信装置と受信装置とを備え、インデックスτ毎に、集合Ｉτ，ｘ→に含まれる各インデックスｔについての属性情報ｘτ，ｔを要素として持つ属性ベクトルｘτ→と、集合Ｉτ，ｖ→に含まれる各インデックスｔについての属性情報ｖτ，ｔを要素として持つ述語ベクトルｖτ→との内積が０か否かを判定することにより、暗号プリミティブの処理を実現する暗号システムであり、
前記送信装置は、
インデックスτ毎に、集合Ｉτ，ｘ→に含まれる各インデックスｔについて、基底ベクトルｂｐの係数として属性情報ｘτ，ｔが設定され、基底ベクトルｂｑの係数として値ｆτ，ｔが設定された要素ｃτ，ｔを有する送信情報を生成する送信情報生成部
を備え、
前記受信装置は、
インデックスτ毎に、集合Ｉτ，ｖ→に含まれる各インデックスｔについて、前記基底ベクトルｂｐに対応する基底ベクトルｂ＊ｐの係数として属性情報ｖτ，ｔが設定され、前記基底ベクトルｂｑに対応する基底ベクトルｂ＊ｑの係数として値δ〜τが設定された要素ｋτ，ｔを有する受信情報を記憶する受信情報記憶部と、
各インデックスτについて、前記集合Ｉτ，ｘ→に含まれる各インデックスｔについての要素ｃτ，ｔ及び要素ｋτ，ｔに対して、対応する基底ベクトル毎のペアリング演算の積を計算するペアリング演算部と
を備えることを特徴とする暗号システム。
【請求項９】
暗号化装置と復号装置とを備える暗号システムであり、
前記暗号化装置は、
ｔ＝１，．．．，ｎ（ｎは１以上の整数）の各インデックスｔについての値ｆｔの合計が値ｆ０である値ｆｔ及び値ｆ０を用いて生成された要素ｃ０と要素ｃｔとであって、基底ベクトルｂ０，ｒの係数として値ω〜が設定され、基底ベクトルｂ０，ｒ’の係数として値−ｆ０が設定された要素ｃ０と、集合Ｉｘ→に含まれる各インデックスｔについて、基底ベクトルｂｐの係数として属性情報ｘｔが設定され、基底ベクトルｂｑの係数として前記値ω〜が設定され、基底ベクトルｂｑ’の係数として値ｆｔが設定された要素ｃｔとを有する暗号文を生成する暗号文生成部
を備え、
前記復号装置は、
前記各インデックスｔについての値ｓｔの合計が値ｓ０である値ｓｔ及び値ｓ０を用いて生成された要素ｋ０と要素ｋｔとであって、前記基底ベクトルｂ０，ｒに対応する基底ベクトルｂ＊０，ｒの係数として値−ｓ０が設定され、基底ベクトルｂ０，ｒ’に対応する基底ベクトルｂ＊０，ｒ’の係数として値δ〜が設定された要素ｋ０と、集合Ｉｖ→に含まれる各インデックスｔについて、前記基底ベクトルｂｐに対応する基底ベクトルｂ＊ｐの係数として述語情報ｖｔが設定され、前記基底ベクトルｂｑに対応する基底ベクトルｂ＊ｑの係数として値ｓｔが設定され、前記基底ベクトルｂｑ’に対応する基底ベクトルｂ＊ｑ’の係数として前記値δ〜が設定された要素ｋｔとを有する復号鍵を記憶する復号鍵記憶部と、
前記暗号文生成部が生成した暗号文を、前記復号鍵記憶部が記憶した復号鍵により復号する復号部であって、前記要素ｃ０及び前記要素ｋ０と、前記各インデックスｔについての要素ｃｔ及び要素ｋｔとに対して、対応する基底ベクトル毎のペアリング演算の積を計算して、前記暗号文を復号する復号部と
を備えることを特徴とする暗号システム。
【請求項１０】
前記暗号文生成部は、さらに、基底ベクトルｂｉｎｄｅｘの係数として、インデックスｔに予め割り当てられた情報Ｊが設定された要素ｃｔを生成し、
前記復号鍵記憶部は、さらに、前記基底ベクトルｂｉｎｄｅｘに対応する基底ベクトルｂ＊ｉｎｄｅｘの係数として、インデックスｔに予め割り当てられた前記情報Ｊとの内積が０になる情報Ｊ’が設定された要素ｋｔを生成する
ことを特徴とする請求項９に記載の暗号システム。
【請求項１１】
前記暗号文生成部は、数７に示す要素ｃ０及び要素ｃｔを生成し、
前記復号鍵記憶部は、数８に示す要素ｋ０及び要素ｋｔを記憶し、
前記復号部は、数９に示す計算をする
ことを特徴とする請求項１０に記載の暗号システム。
【数７】
2014085358.tif 000102
【数８】
2014085358.tif 000103
【数９】
2014085358.tif 000104
【請求項１２】
送信装置と受信装置とを備え、インデックスτ毎に、ｔ＝１，．．．，ｎ（ｎは１以上の整数）の各インデックスｔについての属性情報ｘτ，ｔを要素として持つ属性ベクトルｘτ→と、前記各インデックスｔについての属性情報ｖτ，ｔを要素として持つ述語ベクトルｖτ→との内積が０か否かを判定することにより、暗号プリミティブの処理を実現する暗号システムであり、
前記送信装置は、
インデックスτ毎に、集合Ｉτ，ｘ→に含まれる各インデックスｔについて、基底ベクトルｂｐの係数として属性情報ｘτ，ｔが設定され、基底ベクトルｂｑの係数として値ω〜τが設定され、基底ベクトルｂｑ’の係数として値ｆｔが設定された要素ｃτ，ｔを有する送信情報を生成する送信情報生成部
を備え、
前記受信装置は、
インデックスτ毎に、集合Ｉτ，ｖ→に含まれる各インデックスｔについて、前記基底ベクトルｂｐに対応する基底ベクトルｂ＊ｐの係数として属性情報ｖτ，ｔが設定され、前記基底ベクトルｂｑに対応する基底ベクトルｂ＊ｑの係数として値ｓτ，ｔが設定され、前記基底ベクトルｂｑ’に対応する基底ベクトルｂ＊ｑ’の係数として値δ〜が設定された要素ｋτ，ｔを有する受信情報を記憶する受信情報記憶部と、
各インデックスτ及び各インデックスｔについての要素ｃτ，ｔ及び要素ｋτ，ｔに対して、対応する基底ベクトル毎のペアリング演算の積を計算するペアリング演算部と
を備えることを特徴とする暗号システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、一般化された内積述語暗号方式と、一般化された内積述語暗号方式を下部構造に有する関数型暗号方式及び属性ベース署名方式に関する。
【背景技術】
【０００２】
非特許文献３０，３１には、内積述語暗号方式についての記載がある。
非特許文献３１には、関数型暗号方式についての記載がある。
非特許文献３２には、属性ベース署名方式についての記載がある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ａｔｔｒａｐａｄｕｎｇ，  Ｎ．  ａｎｄ  Ｌｉｂｅｒｔ，  Ｂ．，  Ｆｕｎｃｔｉｏｎａｌ  Ｅｎｃｒｙｐｔｉｏｎ  ｆｏｒ  Ｉｎｎｅｒ  Ｐｒｏｄｕｃｔ：  Ａｃｈｉｅｖｉｎｇ  Ｃｏｎｓｔａｎｔ−Ｓｉｚｅ  Ｃｉｐｈｅｒｔｅｘｔｓ  ｗｉｔｈ  Ａｄａｐｔｉｖｅ  Ｓｅｃｕｒｉｔｙ  ｏｒ  Ｓｕｐｐｏｒｔ  ｆｏｒ  Ｎｅｇａｔｉｏｎ，  ＰＫＣ  ２０１０，  ｐｐ．  ３８４−４０２．  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２０１０）
【非特許文献２】Ｂｅｉｍｅｌ，  Ａ．，  Ｓｅｃｕｒｅ  ｓｃｈｅｍｅｓ  ｆｏｒ  ｓｅｃｒｅｔ  ｓｈａｒｉｎｇ  ａｎｄ  ｋｅｙ  ｄｉｓｔｒｉｂｕｔｉｏｎ．  ＰｈＤ  Ｔｈｅｓｉｓ，  Ｉｓｒａｅｌ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｔｅｃｈｎｏｌｏｇｙ，Ｔｅｃｈｎｉｏｎ，  Ｈａｉｆａ，  Ｉｓｒａｅｌ，  １９９６．
【非特許文献３】Ｂｅｌｌａｒｅ，  Ｍ．，  Ｗａｔｅｒｓ，  Ｂ．，  Ｙｉｌｅｋ，  Ｓ．：  Ｉｄｅｎｔｉｔｙ−ｂａｓｅｄ  ｅｎｃｒｙｐｔｉｏｎ  ｓｅｃｕｒｅ  ａｇａｉｎｓｔ  ｓｅｌｅｃｔｉｖｅ  ｏｐｅｎｉｎｇ  ａｔｔａｃｋ．  Ｉｎ：  Ｉｓｈａｉ，  Ｙ．（ｅｄ．）  ＴＣＣ  ２０１１．  ｐｐ．  ２３５−２５２．  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２０１１）
【非特許文献４】Ｂｅｔｈｅｎｃｏｕｒｔ，  Ｊ．，  Ｓａｈａｉ，  Ａ．，  Ｗａｔｅｒｓ，  Ｂ．：  Ｃｉｐｈｅｒｔｅｘｔ−ｐｏｌｉｃｙ  ａｔｔｒｉｂｕｔｅ−ｂａｓｅｄ  ｅｎｃｒｙｐｔｉｏｎ．  Ｉｎ：  ２００７  ＩＥＥＥ  Ｓｙｍｐｏｓｉｕｍｏｎ  Ｓｅｃｕｒｉｔｙ  ａｎｄ  Ｐｒｉｖａｃｙ，  ｐｐ．  ３２１−３３４．  ＩＥＥＥ  Ｐｒｅｓｓ  （２００７）
【非特許文献５】Ｂｏｎｅｈ，  Ｄ．，  Ｂｏｙｅｎ，  Ｘ．：  Ｅｆｆｉｃｉｅｎｔ  ｓｅｌｅｃｔｉｖｅ−ＩＤ  ｓｅｃｕｒｅ  ｉｄｅｎｔｉｔｙ  ｂａｓｅｄ  ｅｎｃｒｙｐｔｉｏｎ  ｗｉｔｈｏｕｔ  ｒａｎｄｏｍ  ｏｒａｃｌｅｓ．  Ｉｎ：  Ｃａｃｈｉｎ，Ｃ．，  Ｃａｍｅｎｉｓｃｈ，  Ｊ．  （ｅｄｓ．）  ＥＵＲＯＣＲＹＰＴ  ２００４．  ＬＮＣＳ，  ｖｏｌ．  ３０２７，  ｐｐ．  ２２３−２３８．  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２００４）
【非特許文献６】Ｂｏｎｅｈ，  Ｄ．，  Ｂｏｙｅｎ，  Ｘ．：  Ｓｅｃｕｒｅ  ｉｄｅｎｔｉｔｙ  ｂａｓｅｄ  ｅｎｃｒｙｐｔｉｏｎ  ｗｉｔｈｏｕｔ  ｒａｎｄｏｍ  ｏｒａｃｌｅｓ．  Ｉｎ：  Ｆｒａｎｋｌｉｎ，  Ｍ．Ｋ．  （ｅｄ．）  ＣＲＹＰＴＯ２００４．  ＬＮＣＳ，  ｖｏｌ．  ３１５２，  ｐｐ．  ４４３−４５９．  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２００４）
【非特許文献７】Ｂｏｎｅｈ，  Ｄ．，  Ｂｏｙｅｎ，  Ｘ．，  Ｇｏｈ，  Ｅ．：  Ｈｉｅｒａｒｃｈｉｃａｌ  ｉｄｅｎｔｉｔｙ  ｂａｓｅｄ  ｅｎｃｒｙｐｔｉｏｎ  ｗｉｔｈ  ｃｏｎｓｔａｎｔ  ｓｉｚｅ  ｃｉｐｈｅｒｔｅｘｔ．  Ｉｎ：  Ｃｒａｍｅｒ，Ｒ．  （ｅｄ．）  ＥＵＲＯＣＲＹＰＴ  ２００５．  ＬＮＣＳ，  ｖｏｌ．  ３４９４，  ｐｐ．  ４４０−４５６．  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２００５）
【非特許文献８】Ｂｏｎｅｈ，  Ｄ．，  Ｂｏｙｅｎ，  Ｘ．，  Ｓｈａｃｈａｍ，  Ｈ．：  Ｓｈｏｒｔ  ｇｒｏｕｐ  ｓｉｇｎａｔｕｒｅｓ．  Ｉｎ：  Ｆｒａｎｋｌｉｎ，  Ｍ．  （ｅｄ．）  ＣＲＹＰＴＯ  ２００４．  ＬＮＣＳ，  ｖｏｌ．３１５２，  ｐｐ．  ４１−５５．  Ｓｐｒｉｎｇｅｒ，  Ｈｅｉｄｅｌｂｅｒｇ  （２００４）
【非特許文献９】Ｂｏｎｅｈ，  Ｄ．，  Ｆｒａｎｋｌｉｎ，  Ｍ．：  Ｉｄｅｎｔｉｔｙ−ｂａｓｅｄ  ｅｎｃｒｙｐｔｉｏｎ  ｆｒｏｍ  ｔｈｅ  Ｗｅｉｌ  ｐａｉｒｉｎｇ．  Ｉｎ：  Ｋｉｌｉａｎ，  Ｊ．  （ｅｄ．）  ＣＲＹＰＴＯ  ２００１．ＬＮＣＳ，  ｖｏｌ．  ２１３９，  ｐｐ．  ２１３−２２９．  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２００１）
【非特許文献１０】Ｂｏｎｅｈ，  Ｄ．，  Ｈａｍｂｕｒｇ，  Ｍ．：  Ｇｅｎｅｒａｌｉｚｅｄ  ｉｄｅｎｔｉｔｙ  ｂａｓｅｄ  ａｎｄ  ｂｒｏａｄｃａｓｔ  ｅｎｃｒｙｐｔｉｏｎ  ｓｃｈｅｍｅ．  Ｉｎ：  Ｐｉｅｐｒｚｙｋ，  Ｊ．  （ｅｄ．）ＡＳＩＡＣＲＹＰＴ  ２００８．  ＬＮＣＳ，  ｖｏｌ．  ５３５０，  ｐｐ．  ４５５−４７０．  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２００８）
【非特許文献１１】Ｂｏｎｅｈ，  Ｄ．，  Ｋａｔｚ，  Ｊ．，  Ｉｍｐｒｏｖｅｄ  ｅｆｆｉｃｉｅｎｃｙ  ｆｏｒ  ＣＣＡ−ｓｅｃｕｒｅ  ｃｒｙｐｔｏｓｙｓｔｅｍｓ  ｂｕｉｌｔ  ｕｓｉｎｇ  ｉｄｅｎｔｉｔｙ  ｂａｓｅｄ  ｅｎｃｒｙｐｔｉｏｎ．ＲＳＡ−ＣＴ  ２００５，  ＬＮＣＳ，  Ｓｐｒｉｎｇｅｒ  Ｖｅｒｌａｇ  （２００５）
【非特許文献１２】Ｂｏｎｅｈ，  Ｄ．，  Ｗａｔｅｒｓ，  Ｂ．：  Ｃｏｎｊｕｎｃｔｉｖｅ，  ｓｕｂｓｅｔ，  ａｎｄ  ｒａｎｇｅ  ｑｕｅｒｉｅｓ  ｏｎ  ｅｎｃｒｙｐｔｅｄ  ｄａｔａ．  Ｉｎ：  Ｖａｄｈａｎ，  Ｓ．Ｐ．  （ｅｄ．）  ＴＣＣ２００７．  ＬＮＣＳ，  ｖｏｌ．  ４３９２，  ｐｐ．  ５３５−５５４．  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２００７）
【非特許文献１３】Ｂｏｙｅｎ，  Ｘ．，  Ｗａｔｅｒｓ，  Ｂ．：  Ａｎｏｎｙｍｏｕｓ  ｈｉｅｒａｒｃｈｉｃａｌ  ｉｄｅｎｔｉｔｙ−ｂａｓｅｄ  ｅｎｃｒｙｐｔｉｏｎ  （ｗｉｔｈｏｕｔ  ｒａｎｄｏｍ  ｏｒａｃｌｅｓ）．  Ｉｎ：  Ｄｗｏｒｋ，Ｃ．  （ｅｄ．）  ＣＲＹＰＴＯ  ２００６．  ＬＮＣＳ，  ｖｏｌ．  ４１１７，  ｐｐ．  ２９０−３０７．  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２００６）
【非特許文献１４】Ｃａｎｅｔｔｉ，  Ｒ．，  Ｈａｌｅｖｉ  Ｓ．，  Ｋａｔｚ  Ｊ．：  Ｃｈｏｓｅｎ−ｃｉｐｈｅｒｔｅｘｔ  ｓｅｃｕｒｉｔｙ  ｆｒｏｍ  ｉｄｅｎｔｉｔｙ−ｂａｓｅｄ  ｅｎｃｒｙｐｔｉｏｎ．  ＥＵＲＯＣＲＹＰＴ  ２００４，ＬＮＣＳ，  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２００４）
【非特許文献１５】Ｃｈａｓｅ，  Ｍ．：  Ｍｕｌｔｉ−ａｕｔｈｏｒｉｔｙ  ａｔｔｒｉｂｕｔｅ  ｂａｓｅｄ  ｅｎｃｒｙｐｔｉｏｎ．  ＴＣＣ，  ＬＮＣＳ，  ｐｐ．  ５１５−５３４，  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２００７）．
【非特許文献１６】Ｃｈａｓｅ，  Ｍ．  ａｎｄ  Ｃｈｏｗ，  Ｓ．：  Ｉｍｐｒｏｖｉｎｇ  ｐｒｉｖａｃｙ  ａｎｄ  ｓｅｃｕｒｉｔｙ  ｉｎ  ｍｕｌｔｉ−ａｕｔｈｏｒｉｔｙ  ａｔｔｒｉｂｕｔｅ−ｂａｓｅｄ  ｅｎｃｒｙｐｔｉｏｎ，  ＡＣＭ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  ａｎｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｅｃｕｒｉｔｙ，  ｐｐ．  １２１−１３０，  ＡＣＭ  （２００９）．
【非特許文献１７】Ｃｏｃｋｓ，  Ｃ．：  Ａｎ  ｉｄｅｎｔｉｔｙ  ｂａｓｅｄ  ｅｎｃｒｙｐｔｉｏｎ  ｓｃｈｅｍｅ  ｂａｓｅｄ  ｏｎ  ｑｕａｄｒａｔｉｃ  ｒｅｓｉｄｕｅｓ．  Ｉｎ：  Ｈｏｎａｒｙ，  Ｂ．  （ｅｄ．）  ＩＭＡ  Ｉｎｔ．  Ｃｏｎｆ．ＬＮＣＳ，  ｖｏｌ．  ２２６０，  ｐｐ．  ３６０−３６３．  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２００１）
【非特許文献１８】Ｇｅｎｔｒｙ，  Ｃ．：  Ｐｒａｃｔｉｃａｌ  ｉｄｅｎｔｉｔｙ−ｂａｓｅｄ  ｅｎｃｒｙｐｔｉｏｎ  ｗｉｔｈｏｕｔ  ｒａｎｄｏｍ  ｏｒａｃｌｅｓ．  Ｉｎ：  Ｖａｕｄｅｎａｙ，  Ｓ．  （ｅｄ．）  ＥＵＲＯＣＲＹＰＴ２００６．  ＬＮＣＳ，  ｖｏｌ．  ４００４，  ｐｐ．  ４４５−４６４．  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２００６）
【非特許文献１９】Ｇｅｎｔｒｙ，  Ｃ．，  Ｈａｌｅｖｉ，  Ｓ．：  Ｈｉｅｒａｒｃｈｉｃａｌ  ｉｄｅｎｔｉｔｙ−ｂａｓｅｄ  ｅｎｃｒｙｐｔｉｏｎ  ｗｉｔｈ  ｐｏｌｙｎｏｍｉａｌｌｙ  ｍａｎｙ  ｌｅｖｅｌｓ．  Ｉｎ：  Ｒｅｉｎｇｏｌｄ，  Ｏ．（ｅｄ．）  ＴＣＣ  ２００９．  ＬＮＣＳ，  ｖｏｌ．  ５４４４，  ｐｐ．  ４３７−４５６．  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２００９）
【非特許文献２０】Ｇｅｎｔｒｙ，  Ｃ．，  Ｓｉｌｖｅｒｂｅｒｇ，  Ａ．：  Ｈｉｅｒａｒｃｈｉｃａｌ  ＩＤ−ｂａｓｅｄ  ｃｒｙｐｔｏｇｒａｐｈｙ．  Ｉｎ：  Ｚｈｅｎｇ，  Ｙ．  （ｅｄ．）  ＡＳＩＡＣＲＹＰＴ  ２００２．  ＬＮＣＳ，ｖｏｌ．  ２５０１，  ｐｐ．  ５４８−５６６．  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２００２）
【非特許文献２１】Ｇｏｙａｌ，  Ｖ．，  Ｐａｎｄｅｙ，  Ｏ．，  Ｓａｈａｉ，  Ａ．，  Ｗａｔｅｒｓ，  Ｂ．：  Ａｔｔｒｉｂｕｔｅ−ｂａｓｅｄ  ｅｎｃｒｙｐｔｉｏｎ  ｆｏｒ  ｆｉｎｅ−ｇｒａｉｎｅｄ  ａｃｃｅｓｓ  ｃｏｎｔｒｏｌ  ｏｆ  ｅｎｃｒｙｐｔｅｄ  ｄａｔａ．  Ｉｎ：  ＡＣＭ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  ａｎｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｅｃｕｒｉｔｙ  ２００６，  ｐｐ．  ８９−９８，  ＡＣＭ  （２００６）
【非特許文献２２】Ｋａｔｚ，  Ｊ．，  Ｓａｈａｉ，  Ａ．，  Ｗａｔｅｒｓ，  Ｂ．：  Ｐｒｅｄｉｃａｔｅ  ｅｎｃｒｙｐｔｉｏｎ  ｓｕｐｐｏｒｔｉｎｇ  ｄｉｓｊｕｎｃｔｉｏｎｓ，  ｐｏｌｙｎｏｍｉａｌ  ｅｑｕａｔｉｏｎｓ，  ａｎｄ  ｉｎｎｅｒ  ｐｒｏｄｕｃｔｓ．  Ｉｎ：  Ｓｍａｒｔ，  Ｎ．Ｐ．  （ｅｄ．）  ＥＵＲＯＣＲＹＰＴ  ２００８．  ＬＮＣＳ，  ｖｏｌ．  ４９６５，  ｐｐ．  １４６−１６２．  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２００８）
【非特許文献２３】Ｌｅｗｋｏ，  Ａ．，  Ｏｋａｍｏｔｏ，  Ｔ．，  Ｓａｈａｉ，  Ａ．，  Ｔａｋａｓｈｉｍａ，  Ｋ．，  Ｗａｔｅｒｓ，  Ｂ．：  Ｆｕｌｌｙ  ｓｅｃｕｒｅ  ｆｕｎｃｔｉｏｎａｌ  ｅｎｃｒｙｐｔｉｏｎ：  Ａｔｔｒｉｂｕｔｅ−ｂａｓｅｄ  ｅｎｃｒｙｐｔｉｏｎ  ａｎｄ  （ｈｉｅｒａｒｃｈｉｃａｌ）  ｉｎｎｅｒ  ｐｒｏｄｕｃｔ  ｅｎｃｒｙｐｔｉｏｎ，  ＥＵＲＯＣＲＹＰＴ  ２０１０．  ＬＮＣＳ，  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２０１０）  Ｆｕｌｌ  ｖｅｒｓｉｏｎ  ｉｓ  ａｖａｉｌａｂｌｅ  ａｔ  ｈｔｔｐ：／／ｅｐｒｉｎｔ．ｉａｃｒ．ｏｒｇ／２０１０／１１０
【非特許文献２４】Ｌｅｗｋｏ，  Ａ．Ｂ．，Ｗａｔｅｒｓ，  Ｂ．：  Ｎｅｗ  ｔｅｃｈｎｉｑｕｅｓ  ｆｏｒ  ｄｕａｌ  ｓｙｓｔｅｍ  ｅｎｃｒｙｐｔｉｏｎ  ａｎｄ  ｆｕｌｌｙ  ｓｅｃｕｒｅ  ＨＩＢＥ  ｗｉｔｈ  ｓｈｏｒｔ  ｃｉｐｈｅｒｔｅｘｔｓ．Ｉｎ：  Ｍｉｃｃｉａｎｃｉｏ，  Ｄ．  （ｅｄ．）  ＴＣＣ  ２０１０．  ＬＮＣＳ，  ｖｏｌ．  ５９７８，  ｐｐ．  ４５５−４７９．  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２０１０）
【非特許文献２５】Ｌｅｗｋｏ，  Ａ．Ｂ．，  Ｗａｔｅｒｓ，  Ｂ．：  Ｄｅｃｅｎｔｒａｌｉｚｉｎｇ  Ａｔｔｒｉｂｕｔｅ−Ｂａｓｅｄ  Ｅｎｃｒｙｐｔｉｏｎ，  ＥＵＲＯＣＲＹＰＴ  ２０１１．  ＬＮＣＳ，  ｖｏｌ．  ６６３２，  ｐｐ．５６８−５８８．  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２０１１）
【非特許文献２６】Ｌｅｗｋｏ，  Ａ．Ｂ．，  Ｗａｔｅｒｓ，  Ｂ．：  Ｕｎｂｏｕｎｄｅｄ  ＨＩＢＥ  ａｎｄ  ａｔｔｒｉｂｕｔｅ−ｂａｓｅｄ  ｅｎｃｒｙｐｔｉｏｎ，  ＥＵＲＯＣＲＹＰＴ  ２０１１．  ＬＮＣＳ，  ｖｏｌ．６６３２，  ｐｐ．  ５４７−５６７．  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２０１１）
【非特許文献２７】Ｈ．  Ｌｉｎ，  Ｚ．  Ｃａｏ，  Ｘ．  Ｌｉａｎｇ，  ａｎｄ  Ｊ．  Ｓｈａｏ．：  Ｓｅｃｕｒｅ  ｔｈｒｅｓｈｏｌｄ  ｍｕｌｔｉ  ａｕｔｈｏｒｉｔｙ  ａｔｔｒｉｂｕｔｅ  ｂａｓｅｄ  ｅｎｃｒｙｐｔｉｏｎ  ｗｉｔｈｏｕｔ  ａ  ｃｅｎｔｒａｌ  ａｕｔｈｏｒｉｔｙ，  ＩＮＤＯＣＲＹＰＴ，  ＬＮＣＳ，  ｖｏｌ．  ５３６５，  ｐｐ．  ４２６−４３６，  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２００８）．
【非特許文献２８】Ｓ．  Ｍｕｅｌｌｅｒ，  Ｓ．  Ｋａｔｚｅｎｂｅｉｓｓｅｒ，  ａｎｄ  Ｃ．  Ｅｃｋｅｒｔ．；  Ｏｎ  ｍｕｌｔｉ−ａｕｔｈｏｒｉｔｙ  ｃｉｐｈｅｒｔｅｘｔ−ｐｏｌｉｃｙ  ａｔｔｒｉｂｕｔｅ−ｂａｓｅｄ  ｅｎｃｒｙｐｔｉｏｎ，Ｂｕｌｌ．  Ｋｏｒｅａｎ  Ｍａｔｈ  Ｓｏｃ．  ４６，  Ｎｏ．４，  ｐｐ．  ８０３−８１９  （２００９）．
【非特許文献２９】Ｏｋａｍｏｔｏ，  Ｔ．，  Ｔａｋａｓｈｉｍａ，  Ｋ．：  Ｈｏｍｏｍｏｒｐｈｉｃ  ｅｎｃｒｙｐｔｉｏｎ  ａｎｄ  ｓｉｇｎａｔｕｒｅｓ  ｆｒｏｍ  ｖｅｃｔｏｒ  ｄｅｃｏｍｐｏｓｉｔｉｏｎ．  Ｉｎ：  Ｇａｌｂｒａｉｔｈ，Ｓ．Ｄ．，  Ｐａｔｅｒｓｏｎ，  Ｋ．Ｇ．  （ｅｄｓ．）  Ｐａｉｒｉｎｇ  ２００８．  ＬＮＣＳ，  ｖｏｌ．  ５２０９，  ｐｐ．  ５７−７４，  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２００８）
【非特許文献３０】Ｏｋａｍｏｔｏ，  Ｔ．，  Ｔａｋａｓｈｉｍａ，  Ｋ．：  Ｈｉｅｒａｒｃｈｉｃａｌ  ｐｒｅｄｉｃａｔｅ  ｅｎｃｒｙｐｔｉｏｎ  ｆｏｒ  ｉｎｎｅｒ−ｐｒｏｄｕｃｔｓ，  Ｉｎ：  ＡＳＩＡＣＲＹＰＴ  ２００９，Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２００９）
【非特許文献３１】Ｏｋａｍｏｔｏ，  Ｔ．，  Ｔａｋａｓｈｉｍａ，  Ｋ．：  Ｆｕｌｌｙ  ｓｅｃｕｒｅ  ｆｕｎｃｔｉｏｎａｌ  ｅｎｃｒｙｐｔｉｏｎ  ｗｉｔｈ  ｇｅｎｅｒａｌ  ｒｅｌａｔｉｏｎｓ  ｆｒｏｍ  ｔｈｅ  ｄｅｃｉｓｉｏｎａｌ  ｌｉｎｅａｒ  ａｓｓｕｍｐｔｉｏｎ．  Ｉｎ：  Ｒａｂｉｎ，  Ｔ．  （ｅｄ．）  ＣＲＹＰＴＯ  ２０１０．  ＬＮＣＳ，  ｖｏｌ．  ６２２３，  ｐｐ．  １９１−２０８．  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２０１０）．  Ｆｕｌｌ  ｖｅｒｓｉｏｎ  ｉｓ  ａｖａｉｌａｂｌｅ  ａｔ  ｈｔｔｐ：／／ｅｐｒｉｎｔ．ｉａｃｒ．ｏｒｇ／２０１０／５６３
【非特許文献３２】Ｏｋａｍｏｔｏ，  Ｔ．，  Ｔａｋａｓｈｉｍａ，  Ｋ．：  Ｅｆｆｉｃｉｅｎｔ  ａｔｔｒｉｂｕｔｅ−ｂａｓｅｄ  ｓｉｇｎａｔｕｒｅｓ  ｆｏｒ  ｎｏｎ−ｍｏｎｏｔｏｎｅ  ｐｒｅｄｉｃａｔｅｓ  ｉｎ  ｔｈｅ  ｓｔａｎｄａｒｄ  ｍｏｄｅｌ，  Ｉｎ：  ＰＫＣ  ２０１１，  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２０１１）
【非特許文献３３】Ｏｋａｍｏｔｏ，  Ｔ．，  Ｔａｋａｓｈｉｍａ，  Ｋ．：  Ａｃｈｉｅｖｉｎｇ  Ｓｈｏｒｔ  Ｃｉｐｈｅｒｔｅｘｔｓ  ｏｒ  Ｓｈｏｒｔ  Ｓｅｃｒｅｔ−Ｋｅｙｓ  ｆｏｒ  Ａｄａｐｔｉｖｅｌｙ  Ｓｅｃｕｒｅ  Ｇｅｎｅｒａｌ  Ｉｎｎｅｒ−Ｐｒｏｄｕｃｔ  Ｅｎｃｒｙｐｔｉｏｎ．  ＣＡＮＳ  ２０１１，  ＬＮＣＳ，  ｖｏｌ．  ７０９２，  ｐｐ．  １３８−１５９  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２０１１）．
【非特許文献３４】Ｏｋａｍｏｔｏ，  Ｔ．，  Ｔａｋａｓｈｉｍａ，  Ｋ．：  Ａｄａｐｔｉｖｅｌｙ  Ａｔｔｒｉｂｕｔｅ−Ｈｉｄｉｎｇ  （Ｈｉｅｒａｒｃｈｉｃａｌ）  Ｉｎｎｅｒ  Ｐｒｏｄｕｃｔ  Ｅｎｃｒｙｐｔｉｏｎ．  ＥＵＲＯＣＲＹＰＴ  ２０１２，  ＬＮＣＳ，  ｖｏｌ．  ７２３７，  ｐｐ．５９１−６０８，  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２０１２）
【非特許文献３５】Ｏｓｔｒｏｖｓｋｙ，  Ｒ．，  Ｓａｈａｉ，  Ａ．，  Ｗａｔｅｒｓ，  Ｂ．：  Ａｔｔｒｉｂｕｔｅ−ｂａｓｅｄ  ｅｎｃｒｙｐｔｉｏｎ  ｗｉｔｈ  ｎｏｎ−ｍｏｎｏｔｏｎｉｃ  ａｃｃｅｓｓ  ｓｔｒｕｃｔｕｒｅｓ．  Ｉｎ：  ＡＣＭ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  ａｎｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｅｃｕｒｉｔｙ  ２００７，  ｐｐ．  １９５−２０３，  ＡＣＭ  （２００７）
【非特許文献３６】Ｐｉｒｒｅｔｔｉ，  Ｍ．，  Ｔｒａｙｎｏｒ，  Ｐ．，  ＭｃＤａｎｉｅｌ，  Ｐ．，  Ｗａｔｅｒｓ，  Ｂ．：  Ｓｅｃｕｒｅ  ａｔｔｒｉｂｕｔｅ−ｂａｓｅｄ  ｓｙｓｔｅｍｓ．  Ｉｎ：  ＡＣＭ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  ａｎｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｅｃｕｒｉｔｙ  ２００６，  ｐｐ．  ９９−１１２，  ＡＣＭ，  （２００６）
【非特許文献３７】Ｓａｈａｉ，  Ａ．，  Ｗａｔｅｒｓ，  Ｂ．：  Ｆｕｚｚｙ  ｉｄｅｎｔｉｔｙ−ｂａｓｅｄ  ｅｎｃｒｙｐｔｉｏｎ．  Ｉｎ：  Ｃｒａｍｅｒ，  Ｒ．  （ｅｄ．）  ＥＵＲＯＣＲＹＰＴ  ２００５．  ＬＮＣＳ，  ｖｏｌ．３４９４，  ｐｐ．  ４５７−４７３．  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２００５）
【非特許文献３８】Ｓｈｉ，  Ｅ．，  Ｗａｔｅｒｓ，  Ｂ．：  Ｄｅｌｅｇａｔｉｎｇ  ｃａｐａｂｉｌｉｔｙ  ｉｎ  ｐｒｅｄｉｃａｔｅ  ｅｎｃｒｙｐｔｉｏｎ  ｓｙｓｔｅｍｓ．  Ｉｎ：  Ａｃｅｔｏ，  Ｌ．，  Ｄａｍｇ「ａａｒｄ，  Ｉ．，  Ｇｏｌｄｂｅｒｇ，Ｌ．Ａ．，  Ｈａｌｌｄｏｅｒｓｓｏｎ，  Ｍ．Ｍ．，  Ｉｎｇｏｅｌｆｓｄｏｅｔｔｉｒ，  Ａ．，  Ｗａｌｕｋｉｅｗｉｃｚ，  Ｉ．  （ｅｄｓ．）  ＩＣＡＬＰ  （２）  ２００８．  ＬＮＣＳ，  ｖｏｌ．  ５１２６，  ｐｐ．  ５６０−５７８．  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２００８）
【非特許文献３９】Ｗａｔｅｒｓ，  Ｂ．：  Ｅｆｆｉｃｉｅｎｔ  ｉｄｅｎｔｉｔｙ  ｂａｓｅｄ  ｅｎｃｒｙｐｔｉｏｎ  ｗｉｔｈｏｕｔ  ｒａｎｄｏｍ  ｏｒａｃｌｅｓ．  Ｅｕｒｏｃｒｙｐｔ  ２００５，  ＬＮＣＳ，  ｖｏｌ．  ３１５２，  ｐｐ．４４３−４５９．  Ｓｐｒｉｎｇｅｒ  Ｖｅｒｌａｇ，  （２００５）
【非特許文献４０】Ｗａｔｅｒｓ，  Ｂ．：  Ｃｉｐｈｅｒｔｅｘｔ−ｐｏｌｉｃｙ  ａｔｔｒｉｂｕｔｅ−ｂａｓｅｄ  ｅｎｃｒｙｐｔｉｏｎ：  ａｎ  ｅｘｐｒｅｓｓｉｖｅ，  ｅｆｆｉｃｉｅｎｔ，  ａｎｄ  ｐｒｏｖａｂｌｙ  ｓｅｃｕｒｅ  ｒｅａｌｉｚａｔｉｏｎ．  ＰＫＣ  ２０１１，  ＬＮＣＳ，  ｖｏｌ．  ６５７１，  ｐｐ．  ５３−７０．  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２０１１）．  ｅＰｒｉｎｔ，  ＩＡＣＲ，  ｈｔｔｐ：／／ｅｐｒｉｎｔ．ｉａｃｒ．ｏｒｇ／２００８／２９０
【非特許文献４１】Ｗａｔｅｒｓ，  Ｂ．：  Ｄｕａｌ  ｓｙｓｔｅｍ  ｅｎｃｒｙｐｔｉｏｎ：  ｒｅａｌｉｚｉｎｇ  ｆｕｌｌｙ  ｓｅｃｕｒｅ  ＩＢＥ  ａｎｄ  ＨＩＢＥ  ｕｎｄｅｒ  ｓｉｍｐｌｅ  ａｓｓｕｍｐｔｉｏｎｓ．  Ｉｎ：  Ｈａｌｅｖｉ，Ｓ．  （ｅｄ．）  ＣＲＹＰＴＯ  ２００９．  ＬＮＣＳ，  ｖｏｌ．  ５６７７，  ｐｐ．  ６１９−６３６．  Ｓｐｒｉｎｇｅｒ  Ｈｅｉｄｅｌｂｅｒｇ  （２００９）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
非特許文献３０，３１に記載された内積述語暗号方式では、属性ベクトルｘ→（暗号化に用いられるパラメータ）と、述語ベクトルｖ→（秘密鍵に用いられるパラメータ）との次元が同じであるという制約があった。
この発明は、より自由度の高い内積述語暗号方式を実現することを目的とする。
【課題を解決するための手段】
【０００５】
この発明に係る暗号システムは、
暗号化装置と復号装置とを備える暗号システムであり、
前記暗号化装置は、
基底ベクトルｂ０，ｒの係数として値ω〜が設定された要素ｃ０と、集合Ｉｘ→に含まれる各インデックスｔについて、基底ベクトルｂｐの係数として属性情報ｘｔが設定され、基底ベクトルｂｑの係数として前記値ω〜が設定された要素ｃｔとを有する暗号文を生成する暗号文生成部
を備え、
前記復号装置は、
集合Ｉｖ→に含まれる各インデックスｔについての値ｓｔの合計が値ｓ０である値ｓｔ及び値ｓ０を用いて生成された要素ｋ０と要素ｋｔとであって、前記基底ベクトルｂ０，ｒに対応する基底ベクトルｂ＊０，ｒの係数として値−ｓ０が設定された要素ｋ０と、集合Ｉｖ→に含まれる各インデックスｔについて、前記基底ベクトルｂｐに対応する基底ベクトルｂ＊ｐの係数として述語情報ｖｔが設定され、前記基底ベクトルｂｑに対応する基底ベクトルｂ＊ｑの係数として値ｓｔが設定された要素ｋｔとを有する復号鍵を記憶する復号鍵記憶部と、
前記暗号文生成部が生成した暗号文を、前記復号鍵記憶部が記憶した復号鍵により復号する復号部であって、前記要素ｃ０及び前記要素ｋ０と、前記集合Ｉｖ→に含まれる各インデックスｔについての要素ｃｔ及び要素ｋｔとに対して、対応する基底ベクトル毎のペアリング演算の積を計算して、前記暗号文を復号する復号部と
を備えることを特徴とする。
【発明の効果】
【０００６】
この発明に係る暗号システムは、集合Ｉｖ→に含まれるインデックスｔについてのみペアリング演算を行っており、属性ベクトルｘ→と述語ベクトルｖ→との次元が同じである必要はない。そのため、この発明に係る暗号システムは、自由度の高い内積述語暗号方式を実現できる。
【図面の簡単な説明】
【０００７】
【図１】実施の形態１に係る暗号処理システム１０の構成図。
【図２】実施の形態１に係る鍵生成装置１００の機能を示す機能ブロック図。
【図３】実施の形態１に係る暗号化装置２００の機能を示す機能ブロック図。
【図４】実施の形態１に係る復号装置３００の機能を示す機能ブロック図。
【図５】実施の形態１に係るＳｅｔｕｐアルゴリズムの処理を示すフローチャート。
【図６】実施の形態１に係るＫｅｙＧｅｎアルゴリズムの処理を示すフローチャート。
【図７】実施の形態１に係るＥｎｃアルゴリズムの処理を示すフローチャート。
【図８】実施の形態１に係るＤｅｃアルゴリズムの処理を示すフローチャート。
【図９】実施の形態２に係るＫｅｙＧｅｎアルゴリズムの処理を示すフローチャート。
【図１０】実施の形態２に係るＥｎｃアルゴリズムの処理を示すフローチャート。
【図１１】実施の形態２に係るＤｅｃアルゴリズムの処理を示すフローチャート。
【図１２】実施の形態３に係るＳｅｔｕｐアルゴリズムの処理を示すフローチャート。
【図１３】実施の形態３に係るＫｅｙＧｅｎアルゴリズムの処理を示すフローチャート。
【図１４】実施の形態３に係るＥｎｃアルゴリズムの処理を示すフローチャート。
【図１５】実施の形態３に係るＤｅｃアルゴリズムの処理を示すフローチャート。
【図１６】鍵生成装置１００、暗号化装置２００、復号装置３００のハードウェア構成の一例を示す図。
【発明を実施するための形態】
【０００８】
以下、図に基づき、発明の実施の形態を説明する。
以下の説明において、処理装置は後述するＣＰＵ９１１等である。記憶装置は後述するＲＯＭ９１３、ＲＡＭ９１４、磁気ディスク９２０等である。通信装置は後述する通信ボード９１５等である。入力装置は後述するキーボード９０２、通信ボード９１５等である。出力装置は後述するＲＡＭ９１４、磁気ディスク９２０、通信ボード９１５、ＬＣＤ９０１等である。つまり、処理装置、記憶装置、通信装置、入力装置、出力装置はハードウェアである。
【０００９】
以下の説明における記法について説明する。
Ａがランダムな変数または分布であるとき、数１０１は、Ａの分布に従いＡからｙをランダムに選択することを表す。つまり、数１０１において、ｙは乱数である。
【数１０１】
2014085358.tif 000003
Ａが集合であるとき、数１０２は、Ａからｙを一様に選択することを表す。つまり、数１０２において、ｙは一様乱数である。
【数１０２】
2014085358.tif 000004
数１０３は、ｙがｚにより定義された集合であること、又はｙがｚを代入された集合であることを表す。
【数１０３】
2014085358.tif 000005
ａが定数であるとき、数１０４は、機械（アルゴリズム）Ａが入力ｘに対しａを出力することを表す。
【数１０４】
2014085358.tif 000006
数１０５、つまりＦｑは、位数ｑの有限体を示す。
【数１０５】
2014085358.tif 000007
ベクトル表記は、有限体Ｆｑにおけるベクトル表示を表す。つまり、数１０６である。
【数１０６】
2014085358.tif 000008
数１０７は、数１０８に示す２つのベクトルｘ→とｖ→との数１０９に示す内積を表す。
【数１０７】
2014085358.tif 000009
【数１０８】
2014085358.tif 000010
【数１０９】
2014085358.tif 000011
ＸＴは、行列Ｘの転置行列を表す。
数１１０に示す基底Ｂと基底Ｂ＊とに対して、数１１１である。
【数１１０】
2014085358.tif 000012
【数１１１】
2014085358.tif 000013
【００１０】
また、以下の説明において、“δｉ，ｊ”が上付きで示されている場合、このδｉ，ｊは、δｉ，ｊを意味する。
また、ベクトルを意味する“→”が下付き文字又は上付き文字に付されている場合、この“→”は下付き文字又は上付き文字に上付きで付されていることを意味する。
【００１１】
また、以下の説明において、暗号プリミティブの処理は、情報を第三者から秘匿するための狭義の暗号処理だけでなく、署名処理をも含むものであり、鍵生成処理、暗号化処理、復号処理、署名処理、検証処理を含む。
【００１２】
実施の形態１．
実施の形態１では、内積述語暗号方式の基礎となる概念を説明した上で、１つの内積述語暗号方式について説明する。
第１に、属性ベクトルｘ→及び述語ベクトルｖ→の次元について説明する。
第２に、属性カテゴリの追加について説明する。
第３に、内積述語暗号方式を実現するための空間である「双対ペアリングベクトル空間（Ｄｕａｌ  Ｐａｉｒｉｎｇ  Ｖｅｃｔｏｒ  Ｓｐａｃｅｓ（ＤＰＶＳ））」という豊かな数学的構造を有する空間を説明する。
第４に、実施の形態１に係る内積述語暗号方式（Ｔｙｐｅ１）について説明する。
【００１３】
＜第１．属性ベクトルｘ→及びｖ→の次元＞
非特許文献３０，３１に記載された内積述語暗号方式では、属性ベクトルｘ→及び述語ベクトルｖ→の次元が同じであるという制約があった。この制約は、内積ｘ→・ｖ→の関係に対しては不可避であると考えられていた。しかし、様々なアプリケーションにおいて効率を改善するためには、この制約を緩和する必要がある。
【００１４】
一例として、個人の遺伝子データについて考える。個人の遺伝子データは、慎重に扱うべきデータであり、データの処理や検索を行う場合には暗号化されるべきデータである。遺伝子データは膨大な情報量であるが、多くのアプリケーションでは、遺伝子データの一部のみが用いられるという特徴がある。
例えば、アリスの遺伝子データがある特性を有しているか否かを検査する場合、多数（例えば、１００個）の遺伝子プロパティのうち、対象とする数個（例えば、３個）の遺伝子プロパティについて、アリスの遺伝子データが条件を満たしているか否かを判定する。残り（９７個）の遺伝子プロパティについては、条件を満たしているか否か判定する必要はない。
【００１５】
例えば、Ｘ１，．．．，Ｘ１００は１００個の遺伝子プロパティであり、ｘ１，．．．，ｘ１００はアリスについての１００個の遺伝子プロパティの値であるとする。３次の（多変数の）検査多項式ｆに対してｆ（ｘ１，．．．，ｘ１００）＝０か否かを評価するために、又は、対応する述語φｆ（ｘ１，．．．，ｘ１００）の真理値を評価するために、アリスの属性ベクトルｘ→を、３次のアリスの値の単項式ベクトルｘ→：＝（１，ｘ１，．．．，ｘ１００，ｘ１２，ｘ１ｘ２，．．．，ｘ１００２，ｘ１３，ｘ１２ｘ２，．．．，ｘ１００３）に変換する。この属性ベクトルｘ→は、約１０６次元である。
検査に使用される検査式（述語）は、（（Ｘ５＝ａ）∨（Ｘ１６＝ｂ））∧（Ｘ５７＝ｃ）であり、３つの遺伝子プロパティＸ５，Ｘ１６，Ｘ５７にのみ注目したものであるとする。これは、ｒ１（Ｘ５−ａ）（Ｘ１６−ｂ）＋ｒ２（Ｘ５７−ｃ）＝０（ここで、ｒ１、ｒ２は一様乱数）という多項式によって表される。なお、この多項式は、（ｒ１ａｂ−ｒ２ｃ）−ｒ１ｂＸ５−ｒ１ａＸ１６＋ｒ２Ｘ５７＋ｒ１Ｘ５Ｘ１６＝０に変換できる。ｘ→・ｖ→＝０の場合に限り、ｒ１（Ｘ５−ａ）（Ｘ１６−ｂ）＋ｒ２（Ｘ５７−ｃ）＝０とするため、この多項式は、述語ベクトルｖ→は、（（ｒ１ａｂ−ｒ２ｃ），０，．．．，０，−ｒ１ｂ，０，．．．，０，−ｒ１ａ，０，．．．，０，ｒ２，０，．．．，０，ｒ１，０，．．．，０）に変換される。この述語ベクトルｖ→は、有効な次元（０以外の要素を有する次元）は５次元だけであるが、属性ベクトルｘ→と同じ約１０６次元である。
【００１６】
このように、述語ベクトルｖ→は、実際に有効な次元は５次元であるにも関わらず、約１０６次元としなければならないのは、属性ベクトルｘ→及び述語ベクトルｖ→の次元が同じであるという制約があるためである。この制限を取り除ければ、述語ベクトルｖ→を有効な次元（ここでは、５次元）だけで構成することが可能になる。
ここでは、述語ベクトルｖ→を有効な次元だけで構成することを説明したが、同様に、属性ベクトルｘ→を有効な次元だけで構成することも可能である。
【００１７】
＜第２．属性カテゴリの追加＞
属性カテゴリとは、例えば、所属機関、所属部署、役職、年齢、性別等、各ユーザの属性の分類のことである。
【００１８】
以下の実施の形態で説明する内積述語暗号方式は、ユーザの属性に基づくアクセスコントロールを実現する。例えば、情報を第三者から秘匿するための狭義の暗号処理であれば、ユーザの属性に基づき、暗号文を復号できるか否かを制御する。
通常、アクセスコントロールに使用する属性カテゴリは、システム設計時に予め決定される。しかし、後にシステムの運用が変更され、アクセスコントロールに使用する属性カテゴリの追加が必要になる場合がある。
例えば、Ａ会社内のみで使用することを想定して暗号システムを構築したとする。この場合、使用する属性カテゴリとしては、所属部署、役職、個人のＩＤ等が想定される。しかし、後に、Ａ会社だけでなく、Ａ会社の関連会社でも暗号システムを使用するように運用が変更されたとする。この場合、使用する属性カテゴリとして、新たに所属会社を追加する必要がある。
【００１９】
アクセスコントロールに使用する属性カテゴリが、公開パラメータにより規定されている場合、後に属性カテゴリを追加するには、公開パラメータを再発行し、ユーザへ配布し直さなければならない。そのため、後に属性カテゴリを追加することは容易でなく、システム設計時に想定していなかった運用形態を柔軟に採用することができない。
そのため、公開パラメータを再発行することなく、属性カテゴリを追加できることは重要である。
【００２０】
公開パラメータを再発行することなく、属性カテゴリの追加を可能とするために、双対ペアリングベクトル空間における双対システム暗号に、インデックス付けの技法を適用する。
【００２１】
双対ペアリングベクトル空間における双対システム暗号では、双対基底である基底Ｂと基底Ｂ＊とがランダムに生成される。そして、基底Ｂの一部（基底Ｂ＾）が公開パラメータとされる。
【００２２】
非特許文献３１に記載された内積述語暗号方式では、基底Ｂ＾１，．．．，基底Ｂ＾ｄが公開パラメータとして生成される。そして、ｔ＝１，．．．，ｄの各整数ｔについての基底Ｂ＾ｔに、１つの属性カテゴリが割り当てられる。つまり、ｄ個の属性カテゴリを扱うことができる。
ここで、基底Ｂ＾１，．．．，基底Ｂ＾ｄが公開パラメータであることから明らかなように、後に基底Ｂ＾を追加する場合、すなわちｄの値を増やす場合には、公開パラメータを再発行しなければならない。つまり、ｄの値は公開パラメータによって制限されている。
【００２３】
以下に説明する内積述語暗号方式では、基底Ｂ＾が公開パラメータとして生成される。そして、ｔ＝１，．．．，ｄの各整数ｔについて、σｔ（１，ｔ）とμｉ（ｔ，−１）との２次元のインデックスベクトルが暗号文ｃと秘密鍵ｋ＊とに設定され、各整数ｔに対して１つの属性カテゴリが割り当てられる。つまり、ｄ個の属性カテゴリを扱うことができる。
ここで、公開パラメータには、基底Ｂ＾は含まれているものの、インデックスベクトルは含まれていない。そのため、後にインデックスベクトルを追加し、ｄの値を増やす場合、公開パラメータを再発行する必要はない。つまり、ｄの値は公開パラメータによって制限されていない。
【００２４】
＜第３．双対ペアリングベクトル空間＞
以下に説明する内積述語暗号方式は、双対ペアリングベクトル空間において実現される。
【００２５】
まず、対称双線形ペアリング群について説明する。
対称双線形ペアリング群（ｑ，Ｇ，ＧＴ，ｇ，ｅ）は、素数ｑと、位数ｑの巡回加法群Ｇと、位数ｑの巡回乗法群ＧＴと、ｇ≠０∈Ｇと、多項式時間で計算可能な非退化双線形ペアリング（Ｎｏｎｄｅｇｅｎｅｒａｔｅ  Ｂｉｌｉｎｅａｒ  Ｐａｉｒｉｎｇ）ｅ：Ｇ×Ｇ→ＧＴとの組である。非退化双線形ペアリングは、ｅ（ｓｇ，ｔｇ）＝ｅ（ｇ，ｇ）ｓｔであり、ｅ（ｇ，ｇ）≠１である。
以下の説明において、Ｇｂｐｇを、１λを入力として、セキュリティパラメータをλとする双線形ペアリング群のパラメータｐａｒａｍＧ：＝（ｑ，Ｇ，ＧＴ，ｇ，ｅ）の値を出力するアルゴリズムとする。
【００２６】
次に、双対ペアリングベクトル空間について説明する。
双対ペアリングベクトル空間（ｑ，Ｖ，ＧＴ，Ａ，ｅ）は、対称双線形ペアリング群（ｐａｒａｍＧ：＝（ｑ，Ｇ，ＧＴ，ｇ，ｅ））の直積によって構成することができる。双対ペアリングベクトル空間（ｑ，Ｖ，ＧＴ，Ａ，ｅ）は、素数ｑ、数１１２に示すＦｑ上のＮ次元ベクトル空間Ｖ、位数ｑの巡回群ＧＴ、空間Ｖの標準基底Ａ：＝（ａ１，．．．，ａＮ）の組であり、以下の演算（１）（２）を有する。ここで、ａｉは、数１１３に示す通りである。
【数１１２】
2014085358.tif 000014
【数１１３】
2014085358.tif 000015
【００２７】
演算（１）：非退化双線形ペアリング
空間Ｖにおけるペアリングは、数１１４によって定義される。
【数１１４】
2014085358.tif 000016
これは、非退化双線形である。つまり、ｅ（ｓｘ，ｔｙ）＝ｅ（ｘ，ｙ）ｓｔであり、全てのｙ∈Ｖに対して、ｅ（ｘ，ｙ）＝１の場合、ｘ＝０である。また、全てのｉとｊとに対して、ｅ（ａｉ，ａｊ）＝ｅ（ｇ，ｇ）δｉ，ｊである。ここで、ｉ＝ｊであれば、δｉ，ｊ＝１であり、ｉ≠ｊであれば、δｉ，ｊ＝０である。また、ｅ（ｇ，ｇ）≠１∈ＧＴである。
【００２８】
演算（２）：ディストーション写像
数１１５に示す空間Ｖにおける線形変換φｉ，ｊは、数１１６を行うことができる。
【数１１５】
2014085358.tif 000017
【数１１６】
2014085358.tif 000018
ここで、線形変換φｉ，ｊをディストーション写像と呼ぶ。
【００２９】
以下の説明において、Ｇｄｐｖｓを、１λ（λ∈自然数）、Ｎ∈自然数、双線形ペアリング群のパラメータｐａｒａｍＧ：＝（ｑ，Ｇ，ＧＴ，ｇ，ｅ）の値を入力として、セキュリティパラメータがλであり、Ｎ次元の空間Ｖとする双対ペアリングベクトル空間のパラメータｐａｒａｍＶ：＝（ｑ，Ｖ，ＧＴ，Ａ，ｅ）の値を出力するアルゴリズムとする。
【００３０】
なお、ここでは、上述した対称双線形ペアリング群により、双対ペアリングベクトル空間を構成した場合について説明する。なお、非対称双線形ペアリング群により双対ペアリングベクトル空間を構成することも可能である。以下の説明を、非対称双線形ペアリング群により双対ペアリングベクトル空間を構成した場合に応用することは容易である。
【００３１】
＜第４．内積述語暗号方式＞
内積述語暗号方式は、Ｓｅｔｕｐ、ＫｅｙＧｅｎ、Ｅｎｃ、Ｄｅｃの４つの確率的多項式時間アルゴリズムを備える。
（Ｓｅｔｕｐ）
Ｓｅｔｕｐアルゴリズムでは、セキュリティパラメータ１λが入力され、マスター公開鍵ｐｋとマスター秘密鍵ｓｋとが出力される。
（ＫｅｙＧｅｎ）
ＫｅｙＧｅｎアルゴリズムでは、マスター公開鍵ｐｋとマスター秘密鍵ｓｋと述語ベクトルｖ→とが入力され、秘密鍵ｓｋｖが出力される。
（Ｅｎｃ）
Ｅｎｃアルゴリズムでは、マスター公開鍵ｐｋと属性ベクトルｘ→とメッセージｍとが入力され、暗号文ｃｔｘが出力される。
（Ｄｅｃ）
Ｄｅｃアルゴリズムでは、マスター公開鍵ｐｋと秘密鍵ｓｋｖと暗号文ｃｔｘとが入力され、メッセージｍ又は識別情報⊥が出力される。識別情報⊥とは、復号に失敗したことを示す情報である。
【００３２】
内積述語暗号方式のアルゴリズムを実行する暗号処理システム１０について説明する。
図１は、実施の形態１に係る暗号処理システム１０の構成図である。
暗号処理システム１０は、鍵生成装置１００、暗号化装置２００（送信装置）、復号装置３００（受信装置）を備える。
鍵生成装置１００は、セキュリティパラメータλを入力としてＳｅｔｕｐアルゴリズムを実行して、マスター公開鍵ｐｋとマスター秘密鍵ｓｋとを生成する。そして、鍵生成装置１００は、生成したマスター公開鍵ｐｋを公開する。また、鍵生成装置１００は、マスター公開鍵ｐｋとマスター秘密鍵ｓｋと述語ベクトルｖ→とを入力としてＫｅｙＧｅｎアルゴリズムを実行して、秘密鍵ｓｋｖを生成して復号装置３００へ秘密裡に配布する。
暗号化装置２００は、マスター公開鍵ｐｋと属性ベクトルｘ→とメッセージｍとを入力としてＥｎｃアルゴリズムを実行して、暗号文ｃｔｘを生成する。暗号化装置２００は、生成した暗号文ｃｔｘを復号装置３００へ送信する。
復号装置３００は、マスター公開鍵ｐｋと秘密鍵ｓｋｖと暗号文ｃｔｘとを入力としてＤｅｃアルゴリズムを実行して、メッセージｍ又は識別情報⊥を出力する。
【００３３】
図２は、実施の形態１に係る鍵生成装置１００の機能を示す機能ブロック図である。図３は、実施の形態１に係る暗号化装置２００の機能を示す機能ブロック図である。図４は、実施の形態１に係る復号装置３００の機能を示す機能ブロック図である。
図５と図６とは、実施の形態１に係る鍵生成装置１００の動作を示すフローチャートである。なお、図５は実施の形態１に係るＳｅｔｕｐアルゴリズムの処理を示すフローチャートであり、図６は実施の形態１に係るＫｅｙＧｅｎアルゴリズムの処理を示すフローチャートである。図７は、実施の形態１に係る暗号化装置２００の動作を示すフローチャートであり、実施の形態１に係るＥｎｃアルゴリズムの処理を示すフローチャートである。図８は、実施の形態１に係る復号装置３００の動作を示すフローチャートであり、実施の形態１に係るＤｅｃアルゴリズムの処理を示すフローチャートである。
【００３４】
鍵生成装置１００の機能と動作とについて説明する。
図２に示すように、鍵生成装置１００は、マスター鍵生成部１１０、マスター鍵記憶部１２０、情報入力部１３０、復号鍵生成部１４０、鍵配布部１５０を備える。
【００３５】
まず、図５に基づき、Ｓｅｔｕｐアルゴリズムの処理について説明する。
（Ｓ１０１：正規直交基底生成ステップ）
マスター鍵生成部１１０は、処理装置により、数１１７を計算して、パラメータｐａｒａｍと、基底Ｂ０及び基底Ｂ＊０と、基底Ｂ１（基底Ｂ）及び基底Ｂ＊１（基底Ｂ＊）とを生成する。
【数１１７】
2014085358.tif 000019
【００３６】
つまり、マスター鍵生成部１１０は以下の処理を実行する。
（１）マスター鍵生成部１１０は、入力装置により、セキュリティパラメータλ（１λ）を入力する。
（２）マスター鍵生成部１１０は、処理装置により、（１）で入力したセキュリティパラメータλ（１λ）を入力としてアルゴリズムＧｂｐｇを実行して、双線形ペアリング群のパラメータｐａｒａｍＧ：＝（ｑ，Ｇ，ＧＴ，ｇ，ｅ）の値を生成する。
（３）マスター鍵生成部１１０は、処理装置により、乱数ψを生成するとともに、Ｎ０に１＋ｕ０＋１＋ｗ０＋ｚ０を、Ｎ１に４＋ｕ＋ｗ＋ｚを設定する。なお、ｕ０，ｗ０，ｚ０，ｕ，ｗ，ｚはそれぞれ０以上の整数である。
【００３７】
続いて、マスター鍵生成部１１０は、ｔ＝０，１の各ｔについて以下の（４）から（８）までの処理を実行する。
（４）マスター鍵生成部１１０は、処理装置により、（１）で入力したセキュリティパラメータλ（１λ）と、（３）で設定したＮｔと、（２）で生成したｐａｒａｍＧ：＝（ｑ，Ｇ，ＧＴ，ｇ，ｅ）の値とを入力としてアルゴリズムＧｄｐｖｓを実行して、双対ペアリングベクトル空間のパラメータｐａｒａｍＶｔ：＝（ｑ，Ｖｔ，ＧＴ，Ａｔ，ｅ）の値を生成する。
（５）マスター鍵生成部１１０は、処理装置により、（３）で設定したＮｔと、Ｆｑとを入力として、線形変換Ｘｔ：＝（χｔ，ｉ，ｊ）ｉ，ｊをランダムに生成する。なお、ＧＬは、Ｇｅｎｅｒａｌ  Ｌｉｎｅａｒの略である。つまり、ＧＬは、一般線形群であり、行列式が０でない正方行列の集合であり、乗法に関し群である。また、（χｔ，ｉ，ｊ）ｉ，ｊは、行列χｔ，ｉ，ｊの添え字ｉ，ｊに関する行列という意味であり、ここでは、ｉ，ｊ＝１，．．．，Ｎｔである。
（６）マスター鍵生成部１１０は、処理装置により、乱数ψと線形変換Ｘｔとに基づき、（νｔ，ｉ，ｊ）ｉ，ｊ：＝ψ・（ＸｔＴ）−１を生成する。なお、（νｔ，ｉ，ｊ）ｉ，ｊも（χｔ，ｉ，ｊ）ｉ，ｊと同様に、行列νｔ，ｉ，ｊの添え字ｉ，ｊに関する行列という意味であり、ここでは、ｉ，ｊ＝１，．．．，Ｎｔである。
（７）マスター鍵生成部１１０は、処理装置により、（５）で生成した線形変換Ｘｔに基づき、（４）で生成した標準基底Ａｔから基底Ｂｔを生成する。なお、ｘ→ｔ，ｉとは、線形変換Ｘｔのｉ行目を示す。
（８）マスター鍵生成部１１０は、処理装置により、（６）で生成した（νｔ，ｉ，ｊ）ｉ，ｊに基づき、（４）で生成した標準基底Ａｔから基底Ｂ＊ｔを生成する。なお、ｖ→ｔ，ｉとは、線形変換Ｘ＊ｔのｉ行目を示す。
（９）マスター鍵生成部１１０は、処理装置により、ｇＴにｅ（ｇ，ｇ）ψを設定する。また、マスター鍵生成部１１０は、ｐａｒａｍに（４）で生成した｛ｐａｒａｍＶｔ｝ｔ＝０，１と、ｇＴとを設定する。
【００３８】
すなわち、Ｓ１０１で、マスター鍵生成部１１０は、数１１８に示すアルゴリズムＧｏｂを実行して、ｐａｒａｍと、基底Ｂ０及び基底Ｂ＊０と、基底Ｂ１（基底Ｂ）及び基底Ｂ＊１（基底Ｂ＊）とを生成する。
【数１１８】
2014085358.tif 000020
【００３９】
なお、以下の説明では、簡単のため、基底Ｂ１及び基底Ｂ＊１を基底Ｂ及び基底Ｂ＊とする。
【００４０】
（Ｓ１０２：公開パラメータ生成ステップ）
マスター鍵生成部１１０は、処理装置により、Ｓ１０１で生成した基底Ｂ０の部分基底Ｂ＾０と、基底Ｂの部分基底Ｂ＾とを数１１９に示すように生成する。
【数１１９】
2014085358.tif 000021
マスター鍵生成部１１０は、生成した部分基底Ｂ＾０及び部分基底Ｂ＾と、Ｓ１０１で入力されたセキュリティパラメータλ（１λ）と、Ｓ１０１で生成したｐａｒａｍとを合わせて、公開パラメータｐｋとする。
【００４１】
（Ｓ１０３：マスター鍵生成ステップ）
マスター鍵生成部１１０は、処理装置により、Ｓ１０１で生成した基底Ｂ＊０の部分基底Ｂ＾＊０と、基底Ｂ＊の部分基底Ｂ＾＊とを数１２０に示すように生成する。
【数１２０】
2014085358.tif 000022
マスター鍵生成部１１０は、生成した部分基底Ｂ＾＊０と部分基底Ｂ＾＊とをマスター鍵ｓｋとする。
【００４２】
（Ｓ１０４：マスター鍵記憶ステップ）
マスター鍵記憶部１２０は、Ｓ１０２で生成した公開パラメータｐｋを記憶装置に記憶する。また、マスター鍵記憶部１２０は、Ｓ１０３で生成したマスター鍵ｓｋを記憶装置に記憶する。
【００４３】
つまり、Ｓ１０１からＳ１０３において、鍵生成装置１００は、数１２１に示すＳｅｔｕｐアルゴリズムを実行して、公開パラメータｐｋとマスター鍵ｓｋとを生成する。そして、Ｓ１０４で、鍵生成装置１００は、生成した公開パラメータｐｋとマスター鍵ｓｋとを記憶装置に記憶する。
なお、公開パラメータは、例えば、ネットワークを介して公開され、暗号化装置２００や復号装置３００が取得可能な状態にされる。
【数１２１】
2014085358.tif 000023
【００４４】
図６に基づき、ＫｅｙＧｅｎアルゴリズムの処理について説明する。
（Ｓ２０１：情報入力ステップ）
情報入力部１３０は、入力装置により、述語ベクトルｖ→：＝｛（ｔ，ｖｔ）｜ｔ∈Ｉｖ→｝を入力する。つまり、述語ベクトルｖ→は、集合Ｉｖ→に含まれるインデックスｔについて、インデックスｔと述語情報ｖｔとを要素として有するベクトルである。述語情報ｖｔとしては、例えば、復号鍵ｓｋｖの使用者の属性情報が設定されている。
【００４５】
（Ｓ２０２：秘密情報生成ステップ）
復号鍵生成部１４０は、処理装置により、秘密情報ｓｔ，ｓ０を数１２２に示すように生成する。
【数１２２】
2014085358.tif 000024
【００４６】
（Ｓ２０３：乱数生成ステップ）
復号鍵生成部１４０は、処理装置により、乱数を数１２３に示すように生成する。
【数１２３】
2014085358.tif 000025
【００４７】
（Ｓ２０４：鍵要素生成ステップ）
復号鍵生成部１４０は、処理装置により、復号鍵ｓｋｖの要素ｋ＊０を数１２４に示すように生成する。
【数１２４】
2014085358.tif 000026
なお、上述したように、数１１０に示す基底Ｂと基底Ｂ＊とに対して、数１１１である。したがって、数１２４は、基底Ｂ＊０の基底ベクトルｂ＊０，１の係数として−ｓ０を設定し、基底ベクトルｂ＊０，１＋１，．．．，ｂ＊０，１＋ｕ０の係数として０を設定し、基底ベクトルｂ＊０，１＋ｕ０＋１の係数として１を設定し、基底ベクトルｂ＊０，１＋ｕ０＋１＋１，．．．，ｂ＊０，１＋ｕ０＋１＋ｗ０の係数としてη０，１，．．．，η０，ｗ０を設定し、基底ベクトルｂ＊０，１＋ｕ０＋１＋ｗ０＋１，．．．，ｂ＊０，１＋ｕ０＋１＋ｗ０＋ｚ０の係数として０を設定することを意味する。ここで、ｕ０，ｗ０，ｚ０はそれぞれｕ０，ｗ０，ｚ０のことである。
また、復号鍵生成部１４０は、処理装置により、集合Ｉｖ→に含まれるインデックスｔについて、復号鍵ｓｋｖの要素ｋ＊ｔを数１２５に示すように生成する。
【数１２５】
2014085358.tif 000027
つまり、数１２５は、数１２４と同様に、基底Ｂ＊の基底ベクトルｂ＊１の係数としてμｔｔを設定し、基底ベクトルｂ＊２の係数として−μｔを設定し、基底ベクトルｂ＊３の係数としてδｖｔを設定し、基底ベクトルｂ＊４の係数としてｓｔを設定し、基底ベクトルｂ＊４＋１，．．．，ｂ＊４＋ｕの係数として０を設定し、基底ベクトルｂ＊４＋ｕ＋１，．．．，ｂ＊４＋ｕ＋ｗの係数としてηｔ，１，．．．，ηｔ，ｗを設定し、基底ベクトルｂ＊４＋ｕ＋ｗ＋１，．．．，ｂ＊４＋ｕ＋ｗ＋ｚの係数として０を設定することを意味する。
【００４８】
（Ｓ２０５：鍵配布ステップ）
鍵配布部１５０は、Ｓ２０４で生成されたｋ＊０，ｋ＊ｔとを要素とする復号鍵ｓｋｖを、例えば通信装置によりネットワークを介して秘密裡に復号装置３００へ配布する。もちろん、復号鍵ｓｋｖは、他の方法により復号装置３００へ配布されてもよい。
【００４９】
つまり、Ｓ２０１からＳ２０４において、鍵生成装置１００は、数１２６に示すＫｅｙＧｅｎアルゴリズムを実行して、復号鍵ｓｋｖを生成する。そして、Ｓ２０５で、鍵生成装置１００は、生成した復号鍵ｓｋｖを復号装置３００へ配布する。
【数１２６】
2014085358.tif 000028
【００５０】
暗号化装置２００の機能と動作とについて説明する。
暗号化装置２００は、公開パラメータ取得部２１０、情報入力部２２０、暗号文生成部２３０、データ送信部２４０を備える。
【００５１】
図７に基づき、Ｅｎｃアルゴリズムの処理について説明する。
（Ｓ３０１：公開パラメータ取得ステップ）
公開パラメータ取得部２１０は、例えば、通信装置によりネットワークを介して、鍵生成装置１００が生成した公開パラメータｐｋを取得する。
【００５２】
（Ｓ３０２：情報入力ステップ）
情報入力部２２０は、入力装置により、復号装置３００へ送信するメッセージｍを入力する。また、情報入力部２２０は、入力装置により、属性ベクトルｘ→：＝｛（ｔ，ｘｔ）｜ｔ∈Ｉｘ→｝を入力する。つまり、属性ベクトルｘ→は、集合Ｉｘ→に含まれるインデックスｔについて、インデックスｔと属性情報ｘｔとを要素として有するベクトルである。属性ベクトルｘ→は、例えば、復号可能なユーザの属性情報が設定されている。
【００５３】
（Ｓ３０３：乱数生成ステップ）
暗号文生成部２３０は、処理装置により、乱数を数１２７に示すように生成する。
【数１２７】
2014085358.tif 000029
【００５４】
（Ｓ３０４：暗号要素生成ステップ）
暗号文生成部２３０は、処理装置により、暗号文ｃｔｘの要素ｃ０を数１２８に示すように生成する。
【数１２８】
2014085358.tif 000030
また、暗号文生成部２３０は、処理装置により、集合Ｉｘ→に含まれるインデックスｔについて、暗号文ｃｔｘの要素ｃｔを数１２９に示すように生成する。
【数１２９】
2014085358.tif 000031
また、暗号要素生成部２３２は、処理装置により、暗号文ｃｔｘの要素ｃＴを数１３０に示すように生成する。
【数１３０】
2014085358.tif 000032
【００５５】
（Ｓ３０５：データ送信ステップ）
データ送信部２４０は、Ｓ３０４で生成されたｃ０，ｃｔ，ｃＴを要素とする暗号文ｃｔｘを、例えば通信装置によりネットワークを介して復号装置３００へ送信する。もちろん、暗号文ｃｔｘは、他の方法により復号装置３００へ送信されてもよい。
【００５６】
つまり、Ｓ３０１からＳ３０４において、暗号化装置２００は、数１３１に示すＥｎｃアルゴリズムを実行して、暗号文ｃｔｘを生成する。そして、Ｓ３０５で、暗号化装置２００は生成した暗号文ｃｔｘを復号装置３００へ送信する。
【数１３１】
2014085358.tif 000033
【００５７】
復号装置３００の機能と動作とについて説明する。
復号装置３００は、復号鍵取得部３１０、復号鍵記憶部３２０、暗号文取得部３３０、ペアリング演算部３４０、メッセージ計算部３５０を備える。ペアリング演算部３４０とメッセージ計算部３５０とを合わせて復号部と呼ぶ。
【００５８】
図８に基づき、Ｄｅｃアルゴリズムの処理について説明する。
（Ｓ４０１：復号鍵取得ステップ）
復号鍵取得部３１０は、例えば、通信装置によりネットワークを介して、鍵生成装置１００から配布された復号鍵ｓｋｖを取得する。また、復号鍵取得部３１０は、鍵生成装置１００が生成した公開パラメータｐｋを取得する。
復号鍵取得部３１０は、取得した復号鍵ｓｋｖと公開パラメータｐｋとを復号鍵記憶部３２０に記憶する。
【００５９】
（Ｓ４０２：暗号文取得ステップ）
暗号文取得部３３０は、例えば、通信装置によりネットワークを介して、暗号化装置２００が送信した暗号文ｃｔｘを受信する。
【００６０】
（Ｓ４０３：ペアリング演算ステップ）
ペアリング演算部３４０は、処理装置により、数１３２を計算して、セッション鍵Ｋ＝ｇＴζを生成する。
【数１３２】
2014085358.tif 000034
なお、もし、数１３３であるなら、数１３４に示すように、数１３２を計算することにより鍵Ｋ＝ｇＴζが得られる。
【数１３３】
2014085358.tif 000035
【数１３４】
2014085358.tif 000036
つまり、集合Ｉｖ→が集合Ｉｘ→の部分集合であり、かつ、集合Ｉｖ→に含まれるインデックスｔについて、ｖｔｘｔの合計が０となるなら、数１３２を計算することにより鍵Ｋ＝ｇＴζが得られる。
【００６１】
（Ｓ４０４：メッセージ計算ステップ）
メッセージ計算部３５０は、処理装置により、ｍ’＝ｃＴ／Ｋを計算して、メッセージｍ’（＝ｍ）を生成する。なお、ｃＴは数１３０に示す通りｇＴζｍであり、ＫはｇＴζであるから、ｍ’＝ｃＴ／Ｋを計算すればメッセージｍが得られる。
【００６２】
つまり、Ｓ４０１からＳ４０４において、復号装置３００は、数１３５に示すＤｅｃアルゴリズムを実行して、メッセージｍ’（＝ｍ）を生成する。
【数１３５】
2014085358.tif 000037
【００６３】
以上のように、実施の形態１に係る内積述語暗号方式では、属性ベクトルｘ→及び述語ベクトルｖ→の次元が同じでなくても、集合Ｉｖ→が集合Ｉｘ→の部分集合であり、かつ、集合Ｉｖ→に含まれるインデックスｔについて、ｖｔｘｔの合計が０となるなら、暗号文ｃｔｘを復号鍵ｓｋｖで復号することができる。
【００６４】
また、実施の形態１に係る内積述語暗号方式では、復号鍵ｓｋｖの要素ｋ＊ｔについて、基底ベクトルｂ＊１，ｂ＊２（基底ベクトルｂ＊ｉｎｄｅｘ）の係数として、μｔｔと−μｔとをそれぞれ設定した。また、暗号システム１０は、暗号文ｃｔｘの要素ｃｔについて、基底ベクトルｂ１，ｂ２（基底ベクトルｂｉｎｄｅｘ）の係数として、σｔとσｔｔとをそれぞれ設定した。
そのため、対応するインデックスｔについての要素ｋ＊ｔと要素ｃｔとのペアリング演算を行うと、基底ベクトルｂ＊１，ｂ＊２と基底ベクトルｂ１，ｂ２との部分については、内積が０となり、キャンセルされる。つまり、対応するインデックスｔについての要素ｋ＊ｔと要素ｃｔとのペアリング演算を行うと、基底ベクトルの係数として設定したインデックス部（基底ベクトルｂ＊１，ｂ＊２と基底ベクトルｂ１，ｂ２との部分）はキャンセルされ、残りの部分についてのペアリング演算の結果が得られる。
【００６５】
実施の形態１に係る内積述語暗号方式では、インデックス部を設けることにより、各属性カテゴリで使用する基底を共通の基底（基底Ｂ及び基底Ｂ＊）とすることができる。その結果、公開パラメータには、基底Ｂ及び基底Ｂ＊だけを含めておけばよく、後に属性カテゴリを追加する場合に、公開パラメータを再発行する必要がない。
【００６６】
なお、インデックス部については、内積した結果が０となればよい。そのため、上記説明では、基底ベクトルｂ＊１，ｂ＊２と基底ベクトルｂ１，ｂ２との２次元をインデックス部としが、これに限らず、３次元以上をインデックス部としてもよい。また、インデックス部への値の割り当ても上記説明のものに限らず、他の割り当てであってもよい。
【００６７】
また、上記説明では、インデックス部を設けることにより、各属性カテゴリで使用する基底を共通の基底（基底Ｂ及び基底Ｂ＊）とした。しかし、後に属性カテゴリを追加する場合に、公開パラメータを再発行してもよい場合、各属性カテゴリで使用する基底を別の基底にすれば、インデックス部を設ける必要はない。
この場合、上述した内積述語暗号方式のＧｏｂアルゴリズム、Ｓｅｔｕｐアルゴリズム、ＫｅｙＧｅｎアルゴリズム、Ｅｎｃアルゴリズムは、数１３６から数１３９のようになる。なお、Ｄｅｃアルゴリズムは数１３５の通りであり、変更はない。
【数１３６】
2014085358.tif 000038
【数１３７】
2014085358.tif 000039
【数１３８】
2014085358.tif 000040
【数１３９】
2014085358.tif 000041
つまり、インデックスｔ毎に異なる基底Ｂｔ及び基底Ｂ＊ｔを用いる。
【００６８】
また、上記説明では、ｕ０，ｗ０，ｚ０，ｕ，ｗ，ｚはそれぞれ０以上の整数であるとした。例えば、ｕ０＝１，ｗ０＝１，ｚ０＝１，ｕ＝９，ｗ＝２，ｚ＝２としてもよい。
【００６９】
実施の形態２．
実施の形態１では、集合Ｉｖ→が集合Ｉｘ→の部分集合であり、かつ、集合Ｉｖ→に含まれるインデックスｔについて、ｖｔｘｔの合計が０となるなら、暗号文ｃｔｘを復号鍵ｓｋｖで復号することができる内積述語暗号方式（Ｔｙｐｅ１）について説明した。
実施の形態２では、集合Ｉｘ→が集合Ｉｖ→の部分集合であり、かつ、集合Ｉｘ→に含まれるインデックスｔについて、ｖｔｘｔの合計が０となるなら、暗号文ｃｔｘを復号鍵ｓｋｖで復号することができる内積述語暗号方式（Ｔｙｐｅ２）について説明する。
実施の形態２では、実施の形態１と異なる部分を中心に説明する。
【００７０】
実施の形態２に係る暗号処理システム１０の構成は、図１に示す実施の形態１に係る暗号処理システム１０の構成と同じである。また、実施の形態２に係る鍵生成装置１００、暗号化装置２００、復号装置３００の構成は、図２から図４に示す実施の形態１に係る鍵生成装置１００、暗号化装置２００、復号装置３００の構成と同じである。
図９は、実施の形態２に係るＫｅｙＧｅｎアルゴリズムの処理を示すフローチャートである。図１０は、実施の形態２に係るＥｎｃアルゴリズムの処理を示すフローチャートである。図１１は、実施の形態２に係るＤｅｃアルゴリズムの処理を示すフローチャートである。
実施の形態２に係るＳｅｔｕｐアルゴリズムは、実施の形態１に係るＳｅｔｕｐアルゴリズムと同じである。
【００７１】
図９に基づき、ＫｅｙＧｅｎアルゴリズムについて説明する。
Ｓ５０１の処理は、図６に示すＳ２０１の処理と同じである。
【００７２】
（Ｓ５０２：乱数生成ステップ）
復号鍵生成部１４０は、処理装置により、乱数を数１４０に示すように生成する。
【数１４０】
2014085358.tif 000042
【００７３】
（Ｓ５０３：鍵要素生成ステップ）
復号鍵生成部１４０は、処理装置により、復号鍵ｓｋｖの要素ｋ＊０を数１４１に示すように生成する。
【数１４１】
2014085358.tif 000043
また、復号鍵生成部１４０は、処理装置により、集合Ｉｖ→に含まれるインデックスｔについて、復号鍵ｓｋｖの要素ｋ＊ｔを数１４２に示すように生成する。
【数１４２】
2014085358.tif 000044
【００７４】
（Ｓ５０４：鍵配布ステップ）
鍵配布部１５０は、Ｓ５０３で生成されたｋ＊０，ｋ＊ｔとを要素とする復号鍵ｓｋｖを、例えば通信装置によりネットワークを介して秘密裡に復号装置３００へ配布する。もちろん、復号鍵ｓｋｖは、他の方法により復号装置３００へ配布されてもよい。
【００７５】
つまり、Ｓ５０１からＳ５０３において、鍵生成装置１００は、数１４３に示すＫｅｙＧｅｎアルゴリズムを実行して、復号鍵ｓｋｖを生成する。そして、Ｓ５０４で、鍵生成装置１００は、生成した復号鍵ｓｋｖを復号装置３００へ配布する。
【数１４３】
2014085358.tif 000045
【００７６】
図１０に基づき、Ｅｎｃアルゴリズムの処理について説明する。
Ｓ６０１からＳ６０２の処理は、図７に示すＳ３０１からＳ３０２の処理と同じである。
【００７７】
（Ｓ６０３：秘密情報生成ステップ）
暗号文生成部２３０は、処理装置により、秘密情報ｆｔ，ｆ０を数１４４に示すように生成する。
【数１４４】
2014085358.tif 000046
【００７８】
（Ｓ６０４：乱数生成ステップ）
暗号文生成部２３０は、処理装置により、乱数を数１４５に示すように生成する。
【数１４５】
2014085358.tif 000047
【００７９】
（Ｓ６０５：暗号要素生成ステップ）
暗号文生成部２３０は、処理装置により、暗号文ｃｔｘの要素ｃ０を数１４６に示すように生成する。
【数１４６】
2014085358.tif 000048
また、暗号文生成部２３０は、処理装置により、集合Ｉｘ→に含まれるインデックスｔについて、暗号文ｃｔｘの要素ｃｔを数１４７に示すように生成する。
【数１４７】
2014085358.tif 000049
また、暗号要素生成部２３２は、処理装置により、暗号文ｃｔｘの要素ｃＴを数１４８に示すように生成する。
【数１４８】
2014085358.tif 000050
【００８０】
（Ｓ６０６：データ送信ステップ）
データ送信部２４０は、Ｓ６０５で生成されたｃ０，ｃｔ，ｃＴを要素とする暗号文ｃｔｘを、例えば通信装置によりネットワークを介して復号装置３００へ送信する。もちろん、暗号文ｃｔｘは、他の方法により復号装置３００へ送信されてもよい。
【００８１】
つまり、Ｓ６０１からＳ６０５において、暗号化装置２００は、数１４９に示すＥｎｃアルゴリズムを実行して、暗号文ｃｔｘを生成する。そして、Ｓ６０６で、暗号化装置２００は生成した暗号文ｃｔｘを復号装置３００へ送信する。
【数１４９】
2014085358.tif 000051
【００８２】
図１１に基づき、Ｄｅｃアルゴリズムの処理について説明する。
Ｓ７０１からＳ７０２の処理は、図８に示すＳ４０１からＳ４０２の処理と同じである。また、Ｓ７０４の処理は、図８に示すＳ４０４の処理と同じである。
【００８３】
（Ｓ７０３：ペアリング演算ステップ）
ペアリング演算部３４０は、処理装置により、数１５０を計算して、セッション鍵Ｋ＝ｇＴζを生成する。
【数１５０】
2014085358.tif 000052
なお、もし、数１５１であるなら、数１５２に示すように、数１５０を計算することにより鍵Ｋ＝ｇＴζが得られる。
【数１５１】
2014085358.tif 000053
【数１５２】
2014085358.tif 000054
つまり、集合Ｉｘ→が集合Ｉｖ→の部分集合であり、かつ、集合Ｉｘ→に含まれるインデックスｔについて、ｖｔｘｔの合計が０となるなら、数１５０を計算することにより鍵Ｋ＝ｇＴζが得られる。
【００８４】
つまり、Ｓ７０１からＳ７０４において、復号装置３００は、数１５３に示すＤｅｃアルゴリズムを実行して、メッセージｍ’（＝ｍ）を生成する。
【数１５３】
2014085358.tif 000055
【００８５】
以上のように、実施の形態２に係る内積述語暗号方式では、属性ベクトルｘ→及び述語ベクトルｖ→の次元が同じでなくても、集合Ｉｘ→が集合Ｉｖ→の部分集合であり、かつ、集合Ｉｘ→に含まれるインデックスｔについて、ｖｔｘｔの合計が０となるなら、暗号文ｃｔｘを復号鍵ｓｋｖで復号することができる。
【００８６】
また、上記説明では、インデックス部を設けることにより、各属性カテゴリで使用する基底を共通の基底（基底Ｂ及び基底Ｂ＊）とした。しかし、後に属性カテゴリを追加する場合に、公開パラメータを再発行してもよい場合、各属性カテゴリで使用する基底を別の基底にすれば、インデックス部を設ける必要はない。
この場合、上述した内積述語暗号方式のＫｅｙＧｅｎアルゴリズム、Ｅｎｃアルゴリズムは、数１５４から数１５５のようになる。なお、Ｇｏｂアルゴリズムは数１３６と同じであり、Ｓｅｔｕｐアルゴリズムは数１３７と同じであり、Ｄｅｃアルゴリズムは数１５３の通りであり、変更はない。
【数１５４】
2014085358.tif 000056
【数１５５】
2014085358.tif 000057
つまり、インデックスｔ毎に異なる基底Ｂｔ及び基底Ｂ＊ｔを用いる。
【００８７】
実施の形態３．
実施の形態１では、集合Ｉｖ→が集合Ｉｘ→の部分集合であり、かつ、集合Ｉｖ→に含まれるインデックスｔについて、ｖｔｘｔの合計が０となるなら、暗号文ｃｔｘを復号鍵ｓｋｖで復号することができる内積述語暗号方式（Ｔｙｐｅ１）について説明した。
実施の形態２では、集合Ｉｘ→が集合Ｉｖ→の部分集合であり、かつ、集合Ｉｘ→に含まれるインデックスｔについて、ｖｔｘｔの合計が０となるなら、暗号文ｃｔｘを復号鍵ｓｋｖで復号することができる内積述語暗号方式（Ｔｙｐｅ２）について説明した。
実施の形態３では、集合Ｉｖ→が集合Ｉｘ→と等しく、かつ、集合Ｉｖ→（又は集合Ｉｘ→）に含まれるインデックスｔについて、ｖｔｘｔの合計が０となるなら、暗号文ｃｔｘを復号鍵ｓｋｖで復号することができる内積述語暗号方式（Ｔｙｐｅ０）について説明する。
なお、集合Ｉｖ→が集合Ｉｘ→と等しいとは、集合Ｉｖ→が集合Ｉｘ→の部分集合であり、かつ、集合Ｉｘ→が集合Ｉｖ→の部分集合であることを意味する。したがって、内積述語暗号方式（Ｔｙｐｅ０）は、実施の形態１で説明した内積述語暗号方式（Ｔｙｐｅ１）と、実施の形態２で説明した内積述語暗号方式（Ｔｙｐｅ２）とを組み合わせた方式ということができる。
実施の形態３では、実施の形態１，２と異なる部分を中心に説明する。
【００８８】
実施の形態３に係る暗号処理システム１０の構成は、図１に示す実施の形態１に係る暗号処理システム１０の構成と同じである。また、実施の形態３に係る鍵生成装置１００、暗号化装置２００、復号装置３００の構成は、図２から図４に示す実施の形態１に係る鍵生成装置１００、暗号化装置２００、復号装置３００の構成と同じである。
図１２は、実施の形態３に係るＳｅｔｕｐアルゴリズムの処理を示すフローチャートである。図１３は、実施の形態３に係るＫｅｙＧｅｎアルゴリズムの処理を示すフローチャートである。図１４は、実施の形態３に係るＥｎｃアルゴリズムの処理を示すフローチャートである。図１５は、実施の形態３に係るＤｅｃアルゴリズムの処理を示すフローチャートである。
【００８９】
図１２に基づき、Ｓｅｔｕｐアルゴリズムについて説明する。
Ｓ８０１の処理は、図５に示すＳ１０１の処理と同じである。但し、Ｎ０＝２＋ｕ０＋１＋ｗ０＋ｚ０、Ｎ１＝５＋ｕ＋ｗ＋ｚである点が異なる。
【００９０】
つまり、Ｓ８０１で、マスター鍵生成部１１０は、数１５６に示すアルゴリズムＧｏｂを実行して、ｐａｒａｍと、基底Ｂ０及び基底Ｂ＊０と、基底Ｂ１（基底Ｂ）及び基底Ｂ＊１（基底Ｂ＊）とを生成する。
【数１５６】
2014085358.tif 000058
【００９１】
（Ｓ８０２：公開パラメータ生成ステップ）
マスター鍵生成部１１０は、処理装置により、Ｓ８０１で生成した基底Ｂ０の部分基底Ｂ＾０と、基底Ｂの部分基底Ｂ＾とを数１５７に示すように生成する。
【数１５７】
2014085358.tif 000059
マスター鍵生成部１１０は、生成した部分基底Ｂ＾０及び部分基底Ｂ＾と、Ｓ８０１で入力されたセキュリティパラメータλ（１λ）と、Ｓ８０１で生成したｐａｒａｍとを合わせて、公開パラメータｐｋとする。
【００９２】
（Ｓ８０３：マスター鍵生成ステップ）
マスター鍵生成部１１０は、処理装置により、Ｓ８０１で生成した基底Ｂ＊０の部分基底Ｂ＾＊０と、基底Ｂ＊の部分基底Ｂ＾＊とを数１５８に示すように生成する。
【数１５８】
2014085358.tif 000060
マスター鍵生成部１１０は、生成した部分基底Ｂ＾＊０と部分基底Ｂ＾＊とをマスター鍵ｓｋとする。
【００９３】
Ｓ８０４の処理は、図５に示すＳ１０４の処理と同じである。
【００９４】
つまり、Ｓ８０１からＳ８０３において、鍵生成装置１００は、数１５９に示すＳｅｔｕｐアルゴリズムを実行して、公開パラメータｐｋとマスター鍵ｓｋとを生成する。そして、Ｓ８０４で、鍵生成装置１００は、生成した公開パラメータｐｋとマスター鍵ｓｋとを記憶装置に記憶する。
なお、公開パラメータは、例えば、ネットワークを介して公開され、暗号化装置２００や復号装置３００が取得可能な状態にされる。
【数１５９】
2014085358.tif 000061
【００９５】
図１３に基づき、ＫｅｙＧｅｎアルゴリズムについて説明する。
（Ｓ９０１：情報入力ステップ）
情報入力部１３０は、入力装置により、述語ベクトルｖ→：＝（ｖ１，．．．，ｖｎ）を入力する。述語情報ｖｔとしては、例えば、復号鍵ｓｋｖの使用者の属性情報が設定されている。
【００９６】
（Ｓ９０２：秘密情報生成ステップ）
復号鍵生成部１４０は、処理装置により、秘密情報ｓｔ，ｓ０を数１６０に示すように生成する。
【数１６０】
2014085358.tif 000062
【００９７】
（Ｓ９０３：乱数生成ステップ）
復号鍵生成部１４０は、処理装置により、乱数を数１６１に示すように生成する。
【数１６１】
2014085358.tif 000063
【００９８】
（Ｓ９０４：鍵要素生成ステップ）
復号鍵生成部１４０は、処理装置により、復号鍵ｓｋｖの要素ｋ＊０を数１６２に示すように生成する。
【数１６２】
2014085358.tif 000064
また、復号鍵生成部１４０は、処理装置により、ｔ＝１，．．．，ｎの各インデックスｔについて、復号鍵ｓｋｖの要素ｋ＊ｔを数１６３に示すように生成する。
【数１６３】
2014085358.tif 000065
【００９９】
（Ｓ９０５：鍵配布ステップ）
鍵配布部１５０は、Ｓ９０４で生成されたｋ＊０，ｋ＊ｔとを要素とする復号鍵ｓｋｖを、例えば通信装置によりネットワークを介して秘密裡に復号装置３００へ配布する。もちろん、復号鍵ｓｋｖは、他の方法により復号装置３００へ配布されてもよい。
【０１００】
つまり、Ｓ９０１からＳ９０４において、鍵生成装置１００は、数１６４に示すＫｅｙＧｅｎアルゴリズムを実行して、復号鍵ｓｋｖを生成する。そして、Ｓ９０５で、鍵生成装置１００は、生成した復号鍵ｓｋｖを復号装置３００へ配布する。
【数１６４】
2014085358.tif 000066
【０１０１】
図１４に基づき、Ｅｎｃアルゴリズムの処理について説明する。
Ｓ１００１の処理は、図７に示すＳ３０１の処理と同じである。
【０１０２】
（Ｓ１００２：情報入力ステップ）
情報入力部２２０は、入力装置により、復号装置３００へ送信するメッセージｍを入力する。また、情報入力部２２０は、入力装置により、属性ベクトルｘ→：＝（ｘ１，．．．，ｘｎ’）を入力する。属性ベクトルｘ→は、例えば、復号可能なユーザの属性情報が設定されている。
【０１０３】
（Ｓ１００３：秘密情報生成ステップ）
暗号文生成部２３０は、処理装置により、秘密情報ｆｔ，ｆ０を数１６５に示すように生成する。
【数１６５】
2014085358.tif 000067
【０１０４】
（Ｓ１００４：乱数生成ステップ）
暗号文生成部２３０は、処理装置により、乱数を数１６６に示すように生成する。
【数１６６】
2014085358.tif 000068
【０１０５】
（Ｓ１００５：暗号要素生成ステップ）
暗号文生成部２３０は、処理装置により、暗号文ｃｔｘの要素ｃ０を数１６７に示すように生成する。
【数１６７】
2014085358.tif 000069
また、暗号文生成部２３０は、処理装置により、ｔ＝１，．．．，ｎ’の各インデックスｔについて、暗号文ｃｔｘの要素ｃｔを数１６８に示すように生成する。
【数１６８】
2014085358.tif 000070
また、暗号要素生成部２３２は、処理装置により、暗号文ｃｔｘの要素ｃＴを数１６９に示すように生成する。
【数１６９】
2014085358.tif 000071
【０１０６】
（Ｓ１００６：データ送信ステップ）
データ送信部２４０は、Ｓ１００５で生成されたｃ０，ｃｔ，ｃＴを要素とする暗号文ｃｔｘを、例えば通信装置によりネットワークを介して復号装置３００へ送信する。もちろん、暗号文ｃｔｘは、他の方法により復号装置３００へ送信されてもよい。
【０１０７】
つまり、Ｓ１００１からＳ１００５において、暗号化装置２００は、数１７０に示すＥｎｃアルゴリズムを実行して、暗号文ｃｔｘを生成する。そして、Ｓ１００６で、暗号化装置２００は生成した暗号文ｃｔｘを復号装置３００へ送信する。
【数１７０】
2014085358.tif 000072
【０１０８】
図１５に基づき、Ｄｅｃアルゴリズムの処理について説明する。
Ｓ１１０１からＳ１１０２の処理は、図８に示すＳ４０１からＳ４０２の処理と同じである。
【０１０９】
（Ｓ１１０３：ペアリング演算ステップ）
ペアリング演算部３４０は、処理装置により、数１７１を計算して、セッション鍵Ｋ＝ｇＴζを生成する。
【数１７１】
2014085358.tif 000073
なお、もし、数１７２であるなら、数１７３に示すように、数１７１を計算することにより鍵Ｋ＝ｇＴζが得られる。
【数１７２】
2014085358.tif 000074
【数１７３】
2014085358.tif 000075
つまり、集合Ｉｘ→が集合Ｉｖ→と等しく、かつ、集合Ｉｖ→（又は集合Ｉｘ→）に含まれるインデックスｔについて、ｖｔｘｔの合計が０となるなら、数１７０を計算することにより鍵Ｋ＝ｇＴζが得られる。
【０１１０】
Ｓ１１０４の処理は、図８に示すＳ４０４の処理と同じである。
【０１１１】
つまり、Ｓ１１０１からＳ１１０４において、復号装置３００は、数１７４に示すＤｅｃアルゴリズムを実行して、メッセージｍ’（＝ｍ）を生成する。
【数１７４】
2014085358.tif 000076
【０１１２】
以上のように、実施の形態３に係る内積述語暗号方式では、集合Ｉｘ→が集合Ｉｖ→と等しく、かつ、集合Ｉｖ→（集合Ｉｘ→）に含まれるインデックスｔについて、ｖｔｘｔの合計が０となるなら、暗号文ｃｔｘを復号鍵ｓｋｖで復号することができる。
【０１１３】
また、上記説明では、インデックス部を設けることにより、各属性カテゴリで使用する基底を共通の基底（基底Ｂ及び基底Ｂ＊）とした。しかし、後に属性カテゴリを追加する場合に、公開パラメータを再発行してもよい場合、各属性カテゴリで使用する基底を別の基底にすれば、インデックス部を設ける必要はない。
この場合、上述した内積述語暗号方式のＧｏｂアルゴリズム、Ｓｅｔｕｐアルゴリズム、ＫｅｙＧｅｎアルゴリズム、Ｅｎｃアルゴリズムは、数１７５から数１７８のようになる。なお、Ｄｅｃアルゴリズムは数１７４の通りであり、変更はない。
【数１７５】
2014085358.tif 000077
【数１７６】
2014085358.tif 000078
【数１７７】
2014085358.tif 000079
【数１７８】
2014085358.tif 000080
つまり、インデックスｔ毎に異なる基底Ｂｔ及び基底Ｂ＊ｔを用いる。
【０１１４】
また、上記説明では、ｕ０，ｗ０，ｚ０，ｕ，ｗ，ｚはそれぞれ０以上の整数であるとした。例えば、ｕ０＝２，ｗ０＝２，ｚ０＝２，ｕ＝１１，ｗ＝３，ｚ＝３としてもよい。
【０１１５】
実施の形態４．
上記実施の形態で説明した内積述語暗号方式を下部構造として有する関数型暗号方式及び属性ベース署名方式について説明する。
【０１１６】
非特許文献３１には関数型暗号方式についての記載がある。
非特許文献３１に記載された関数型暗号方式では、インデックスｔ毎に、属性ベクトルｘ→と述語ベクトルｖ→との内積を計算する。そして、与えられた全てのインデックスｔについて、属性ベクトルｘ→と述語ベクトルｖ→との内積が０で暗号文が復号鍵により復号できる。
各インデックスｔにおける属性ベクトルｘ→と述語ベクトルｖ→との内積の計算に、上記実施の形態で説明した内積述語暗号方式を適用する。これにより、上記実施の形態で説明した内積述語暗号方式を下部構造として有する関数型暗号方式を構成する。
非特許文献３１に記載された関数型暗号方式では、各インデックスｔにおいて、属性ベクトルｘ→と述語ベクトルｖ→と次元は同じでなければならなかった。しかし、上記実施の形態で説明した内積述語暗号方式を下部構造として有する関数型暗号方式とすることにより、各インデックスｔにおいて、属性ベクトルｘ→と述語ベクトルｖ→と次元が同じである必要はなくなる。
【０１１７】
以下の説明では、一例として、非特許文献３１に記載されたＫｅｙ−Ｐｏｌｉｃｙ関数型暗号方式（ＫＰ−ＦＥ方式）に、実施の形態１で説明した内積述語暗号方式を適用した場合を説明する。
ここでは、ＫＰ−ＦＥ方式のうち、実施の形態１で説明した内積述語暗号方式を適用することによって変更が発生した箇所を中心に説明する。
なお、非特許文献３１に記載された関数型暗号方式では、変数ρ（ｉ）を用いて、インデックスｔ毎に、属性ベクトルｘ→と述語ベクトルｖ→との内積が０になった場合に復号可能とするか、属性ベクトルｘ→と述語ベクトルｖ→との内積が０以外になった場合に復号可能とするかを使い分けている。しかし、ここでは、説明の簡単のため、与えられた全てのインデックスｔについて、属性ベクトルｘ→と述語ベクトルｖ→との内積が０になった場合に復号可能とする場合を説明する。
また、実施の形態１では、インデックス部を設けることにより、各属性カテゴリで使用する基底を共通の基底（基底Ｂ及び基底Ｂ＊）とした。しかし、ここでは、説明の簡単のため、インデックス部を設けず、各属性カテゴリで使用する基底を別の基底とする場合を説明する。
また、非特許文献３１と、実施の形態１とでインデックスｔと、秘密情報ｓとの文字が重複している。そこで、ここでは、非特許文献３１におけるインデックスｔをインデックスτとし、非特許文献３１における秘密情報ｓを秘密情報σとする。
【０１１８】
ＫＰ−ＦＥ方式は、Ｓｅｔｕｐアルゴリズム、ＫｅｙＧｅｎアルゴリズム、Ｅｎｃアルゴリズム、Ｄｅｃアルゴリズムの４つのアルゴリズムを備える。
【０１１９】
Ｓｅｔｕｐアルゴリズムについて説明する。
マスター鍵生成部１１０は、処理装置により、インデックスτ，ｔ毎に基底Ｂτ，ｔ及び基底Ｂ＊τ，ｔを生成する。すなわち、マスター鍵生成部１１０は、インデックスｔ毎に基底Ｂｔ及び基底Ｂ＊ｔを生成するのではなく、インデックスτ，ｔ毎に基底Ｂτ，ｔ及び基底Ｂ＊τ，ｔを生成する。
つまり、Ｓｅｔｕｐアルゴリズムは、数１７９に示す通りである。なお、Ｓｅｔｕｐアルゴリズムで用いられるアルゴリズムＧｏｂは、数１８０に示す通りである。
【数１７９】
2014085358.tif 000081
【数１８０】
2014085358.tif 000082
【０１２０】
ＫｅｙＧｅｎアルゴリズムについて説明する。
復号鍵生成部１４０は、処理装置により、秘密情報σと、秘密情報ｓとを数１８１に示すように生成する。
【数１８１】
2014085358.tif 000083
そして、復号鍵生成部１４０は、処理装置により、復号鍵ｓｋＳの要素ｋ＊０を数１８２に示すように生成し、ｉ＝１，．．．，Ｌ（Ｌは１以上の整数）及び集合Ｉｖｉ→に含まれるインデックスｔについて、復号鍵ｓｋＳの要素ｋ＊ｉ，ｔを数１８３に示すように生成する。
【数１８２】
2014085358.tif 000084
【数１８３】
2014085358.tif 000085
【０１２１】
つまり、ＫｅｙＧｅｎアルゴリズムは、数１８４に示す通りである。
【数１８４】
2014085358.tif 000086
【０１２２】
Ｅｎｃアルゴリズムについて説明する。
暗号文生成部２３０は、処理装置により、１つ以上のインデックスτ及び集合Ｉｘｉ→に含まれるインデックスｔについて、暗号文ｃｔｘの要素ｃτ，ｔを数１８５に示すように生成する。
【数１８５】
2014085358.tif 000087
【０１２３】
つまり、Ｅｎｃアルゴリズムは、数１８６に示す通りである。
【数１８６】
2014085358.tif 000088
【０１２４】
Ｄｅｃアルゴリズムについて説明する。
ペアリング演算部３４０は、処理装置により、数１８７を計算して、セッション鍵Ｋ＝ｇＴζを生成して、メッセージｍ’＝ｃｄ＋１／Ｋを計算する。
【数１８７】
2014085358.tif 000089
【０１２５】
つまり、Ｄｅｃアルゴリズムは、数１８８に示す通りである。
【数１８８】
2014085358.tif 000090
【０１２６】
以上のように、上記実施の形態で説明した内積述語暗号方式を下部構造として有する関数型暗号方式を実現することができる。
【０１２７】
上記説明では、後に属性カテゴリを追加する場合に、公開パラメータを再発行する必要がある関数型暗号方式を説明した。しかし、実施の形態１−３で説明したように、インデックス部を設けることにより、公開パラメータを再発行することなく、属性カテゴリを追加できるようにすることも可能である。
なお、上述した関数型暗号方式では、基底Ｂτ，ｔ及び基底Ｂ＊τ，ｔを用いた。そこで、インデックスτ及びインデックスｔのそれぞれについて、インデックス部を設ける必要がある。
【０１２８】
この場合、上述した内積述語暗号方式のＧｏｂアルゴリズム、Ｓｅｔｕｐアルゴリズム、ＫｅｙＧｅｎアルゴリズム、Ｅｎｃアルゴリズムは、数１８９から数１９２のようになる。なお、Ｄｅｃアルゴリズムは数１８８の通りであり、変更はない。
【数１８９】
2014085358.tif 000091
【数１９０】
2014085358.tif 000092
【数１９１】
2014085358.tif 000093
【数１９２】
2014085358.tif 000094
【０１２９】
なお、上記説明では、一例として、非特許文献３１に記載されたＫＰ−ＦＥ方式に、実施の形態１で説明した内積述語暗号方式を適用した場合を説明した。
しかし、同様の方法により、非特許文献３１に記載されたＣｉｐｈｅｒｔｅｘｔ−Ｐｏｌｉｃｙ関数型暗号方式（ＣＰ−ＦＥ方式）及びＵｎｉｆｉｅｄ−Ｐｏｌｉｃｙ関数型暗号方式（ＵＰ−ＦＥ方式）に、実施の形態１で説明した内積述語暗号方式を適用することもできる。また、非特許文献３１に記載された各関数型暗号方式に、実施の形態２，３で説明した内積述語暗号方式を適用することもできる。もちろん、非特許文献３１に記載された関数型暗号方式に限らず、他の関数型暗号方式に上記実施の形態で説明した内積述語暗号方式を適用することもできる。また、同様の方法により、非特許文献３２や他の文献に記載された属性ベース署名方式に、上記実施の形態で説明した内積述語暗号方式を適用することもできる。
いずれの場合であっても、各インデックスｔにおける属性ベクトルｘ→と述語ベクトルｖ→との内積の計算に、上記実施の形態で説明した内積述語暗号方式を適用すればよい。
【０１３０】
実施の形態５．
以上の実施の形態では、双対ベクトル空間において暗号プリミティブの処理を実現する方法について説明した。実施の形態５では、双対加群において暗号プリミティブの処理を実現する方法について説明する。
【０１３１】
つまり、以上の実施の形態では、素数位数ｑの巡回群において暗号プリミティブの処理を実現した。しかし、合成数Ｍを用いて数１９３のように環Ｒを表した場合、環Ｒを係数とする加群においても、上記実施の形態で説明した暗号プリミティブの処理を適用することができる。
【数１９３】
2014085358.tif 000095
【０１３２】
以上の実施の形態で説明したアルゴリズムにおけるＦｑをＲに変更すれば、双対加群における暗号プリミティブの処理を実現することができる。
【０１３３】
次に、実施の形態における暗号処理システム１０（鍵生成装置１００、暗号化装置２００、復号装置３００）のハードウェア構成について説明する。
図１６は、鍵生成装置１００、暗号化装置２００、復号装置３００のハードウェア構成の一例を示す図である。
図１６に示すように、鍵生成装置１００、暗号化装置２００、復号装置３００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、ＬＣＤ９０１（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、キーボード９０２（Ｋ／Ｂ）、通信ボード９１５、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０（固定ディスク装置）の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。磁気ディスク装置９２０は、所定の固定ディスクインタフェースを介して接続される。
【０１３４】
ＲＯＭ９１３、磁気ディスク装置９２０は、不揮発性メモリの一例である。ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３とＲＡＭ９１４と磁気ディスク装置９２０とは、記憶装置（メモリ）の一例である。また、キーボード９０２、通信ボード９１５は、入力装置の一例である。また、通信ボード９１５は、通信装置の一例である。さらに、ＬＣＤ９０１は、表示装置の一例である。
【０１３５】
磁気ディスク装置９２０又はＲＯＭ９１３などには、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【０１３６】
プログラム群９２３には、上記の説明においてマスター鍵生成部１１０、マスター鍵記憶部１２０、情報入力部１３０、復号鍵生成部１４０、鍵配布部１５０、公開パラメータ取得部２１０、情報入力部２２０、暗号文生成部２３０、データ送信部２４０、復号鍵取得部３１０、復号鍵記憶部３２０、暗号文取得部３３０、ペアリング演算部３４０、メッセージ計算部３５０等として説明した機能を実行するソフトウェアやプログラムやその他のプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、上記の説明において公開パラメータｐｋ、マスター秘密鍵ｓｋ、復号鍵ｓｋｖ、暗号文ｃｔｘ、述語ベクトルｖ、属性ベクトルｘ、メッセージｍ等の情報やデータや信号値や変数値やパラメータが、ファイルやデータベースの各項目として記憶される。ファイルやデータベースは、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵ９１１の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵ９１１の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【０１３７】
また、上記の説明におけるフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、その他光ディスク等の記録媒体やＩＣチップに記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体や電波によりオンライン伝送される。
また、上記の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。また、「〜装置」として説明するものは、「〜回路」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。さらに、「〜処理」として説明するものは「〜ステップ」であっても構わない。すなわち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ＲＯＭ９１３等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、上記で述べた「〜部」としてコンピュータ等を機能させるものである。あるいは、上記で述べた「〜部」の手順や方法をコンピュータ等に実行させるものである。
【符号の説明】
【０１３８】
１００  鍵生成装置、１１０  マスター鍵生成部、１２０  マスター鍵記憶部、１３０  情報入力部、１４０  復号鍵生成部、１５０  鍵配布部、２００  暗号化装置、２１０  公開パラメータ取得部、２２０  情報入力部、２３０  暗号文生成部、２４０  データ送信部、３００  復号装置、３１０  復号鍵取得部、３２０  復号鍵記憶部、３３０  暗号文取得部、３４０  ペアリング演算部、３５０  メッセージ計算部。
【図１】
2014085358.tif 000105
【図２】
2014085358.tif 000106
【図３】
2014085358.tif 000107
【図４】
2014085358.tif 000108
【図５】
2014085358.tif 000109
【図６】
2014085358.tif 000110
【図７】
2014085358.tif 000111
【図８】
2014085358.tif 000112
【図９】
2014085358.tif 000113
【図１０】
2014085358.tif 000114
【図１１】
2014085358.tif 000115
【図１２】
2014085358.tif 000116
【図１３】
2014085358.tif 000117
【図１４】
2014085358.tif 000118
【図１５】
2014085358.tif 000119
【図１６】
2014085358.tif 000120