JP5256342B2 - 情報生成装置、方法、プログラム及びその記録媒体 - Google Patents

情報生成装置、方法、プログラム及びその記録媒体 Download PDF

Info

Publication number
JP5256342B2
JP5256342B2 JP2011510383A JP2011510383A JP5256342B2 JP 5256342 B2 JP5256342 B2 JP 5256342B2 JP 2011510383 A JP2011510383 A JP 2011510383A JP 2011510383 A JP2011510383 A JP 2011510383A JP 5256342 B2 JP5256342 B2 JP 5256342B2
Authority
JP
Japan
Prior art keywords
information
index
random number
cyclic group
main information
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
JP2011510383A
Other languages
English (en)
Other versions
JPWO2010123116A1 (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2011510383A priority Critical patent/JP5256342B2/ja
Publication of JPWO2010123116A1 publication Critical patent/JPWO2010123116A1/ja
Application granted granted Critical
Publication of JP5256342B2 publication Critical patent/JP5256342B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0847Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes

Description

この発明は、情報セキュリティ技術の応用技術に関する。例えば、復号鍵からより復号権限の制限された復号鍵を導出することができる階層型暗号に関するものである。
階層型暗号の従来技術として、非特許文献1に記載された技術が知られている。
Craig Gentry, Alice Silverberg, "Hierarchical ID-Based Cryptography", ASIACRYPT 2002, p.548-566
非特許文献1に記載された技術では、木構造の親ノードに対応する鍵から子ノードに対応する鍵を導出することはできるが、木構造以外の一般の半順序構造sで表される鍵導出を実現することはできなかった。例えば、共通の子ノードCを持つ親ノードAと親ノードBに対して、親ノードAの鍵から共通の子ノードCの鍵を導出し、親ノードBの鍵から共通の子ノードCの鍵を導出することはできないという課題があった。
上記の課題を解決するために、請求項1の情報生成装置は、eが巡回群GのN個の元γ(L=1,…,N)(N≧2)と巡回群GのN個の元γ (L=1,…,N)との入力に対して巡回群Gの1個の元を出力する非退化な双線形関数であり、b∈G (i=1,…,N)のそれぞれが、上記巡回群GのN個の元を要素とするN次元の基底ベクトルであり、b ∈G (j=1,…,N)のそれぞれが、上記巡回群GのN個の元を要素とするN次元の基底ベクトルであり、上記基底ベクトルb∈G (i=1,…,N)の各要素と上記基底ベクトルb ∈G (j=1,…,N)の各要素とを上記双線形関数eに入力して得られる関数値が、i=jの場合にδ(i,j)=1となってi≠jの場合にδ(i,j)=0となるクロネッカーのデルタ関数δ(i,j)を用いてg τ・δ(i,j)∈Gと表現され、0が有限体Fの加法単位元であり、1が有限体Fの乗法単位元であり、τが0を除く有限体Fの元であり、gが上記巡回群Gの生成元であり、*を不定文字とし、インデックスYをY=(Y,…,YN−1)∈I=(F∪{*})N−1とし、インデックスYに対応する集合w(Y)をw(Y)={i|Y=*}として、乱数σ∈Z、及び、集合w(Y)の各要素j∈w(Y)に対応する乱数σYj∈Zを生成する乱数生成部と、上記生成された乱数σを用いて、k=σΣi∈{1,…,N−1}\w(Y) +b の関係を満たす主情報kを計算する主情報生成部と、上記生成された乱数σYjを用いて、kYj=σYjΣi∈{1,…,N−1}\w(Y) +b の関係を満たす導出情報kYjを集合w(Y)の各要素j∈w(Y)ごとに計算する導出情報生成部と、を含む。
請求項4の情報生成装置は、eが巡回群GのN個の元γ(L=1,…,N)(N≧2)と巡回群GのN個の元γ (L=1,…,N)との入力に対して巡回群Gの1個の元を出力する非退化な双線形関数であり、b∈G (i=1,…,N)のそれぞれが、上記巡回群GのN個の元を要素とするN次元の基底ベクトルであり、b ∈G (j=1,…,N)のそれぞれが、上記巡回群GのN個の元を要素とするN次元の基底ベクトルであり、上記基底ベクトルb∈G (i=1,…,N)の各要素と上記基底ベクトルb ∈G (j=1,…,N)の各要素とを上記双線形関数eに入力して得られる関数値が、i=jの場合にδ(i,j)=1となってi≠jの場合にδ(i,j)=0となるクロネッカーのデルタ関数δ(i,j)を用いてg τ・δ(i,j)∈Gと表現され、0が有限体Fの加法単位元であり、1が有限体Fの乗法単位元であり、τが0を除く有限体Fの元であり、gが上記巡回群Gの生成元であり、*を不定文字とし、インデックスYをY=(Y,…,YN−1)∈I=(F∪{*})N−1とし、インデックスYに対応する集合w(Y)をw(Y)={i|Y=*}とし、σ∈Zを乱数とし、σYiを集合w(Y)の各要素j∈w(Y)に対応する乱数とし、インデックスYに対応する主情報kはk=σΣi∈{1,…,N−1}\w(Y) +b の関係を満たし、インデックスYに対応する導出情報 Yj はkYj=σYjΣi∈{1,…,N−1}\w(Y) +b の関係を満たし、*を不定文字とし、インデックスvをv=(v,…,vN−1)∈I=(F∪{*})N−1とし、インデックスuをu=(u,…,uN−1)∈I=(F∪{*})N−1とし、インデックスvに対応する集合w(v)をw(v)={i|v=*}とし、インデックスuに対応する集合w(u)をw(u)={i|u=*}とし、集合w(u)⊂集合w(v)とし、v=u(i∈{1,…,N−1}\w(v))として、上記主情報kである又は上記主情報k及び上記導出情報 Yj から導出されたインデックスvに対応する主情報k、及び、上記導出情報 Yj である又は上記導出情報 Yj から導出されたインデックスvに対応する導出情報kvjを記憶する記憶部と、乱数σ∈Zを生成する子乱数生成部と、上記記憶部から読み込んだ主情報k、導出情報kvi及び上記生成された乱数σを用いて、k=σΣi∈w(v)\w(u)vi+kの関係を満たす、インデックスuに対応する主情報kを計算する主情報導出部と、を含む。
請求項6の情報生成装置は、G、Gを素数位数qの巡回群とし、gを巡回群Gの生成元とし、巡回群Gにはg=e(g,g)が巡回群Gの生成元となるようなペアリング関数e:G×G→Gが存在するとし、aをZからランダムに選択された乱数とし、gとg=g∈Gと巡回群Gからランダムに選択されたg,g,h,…,hN−1∈Gとが公開鍵として公開されており、*を不定文字とし、インデックスYをY=(Y,…,YN−1)∈I=(F∪{*})N−1とし、インデックスYに対応する集合w(Y)をw(Y)={i|Y=*}として、乱数r∈Zを生成する乱数生成部と、上記生成された乱数rを用いて、k=g (gΠi∈{1,…,N−1}\w(Y) YirYの関係を満たす第一主情報kを計算する第一主情報生成部と、上記生成された乱数rを用いて、第二主情報grYを計算する第二主情報生成部と、上記生成された乱数rを用いて、kYj=h rYの関係を満たす導出情報kYjを集合w(Y)の各要素j∈w(Y)ごとに計算する導出情報生成部と、を含む。
請求項9の情報生成装置は、G、Gを素数位数qの巡回群とし、gを巡回群Gの生成元とし、巡回群Gにはg=e(g,g)が巡回群Gの生成元となるようなペアリング関数e:G×G→Gが存在するとし、aをZからランダムに選択された乱数とし、gとg=g∈Gと巡回群Gからランダムに選択されたg,g,h,…,hN−1∈Gとが公開鍵として公開されており、*を不定文字とし、インデックスYをY=(Y,…,YN−1)∈I=(F∪{*})N−1とし、インデックスYに対応する集合w(Y)をw(Y)={i|Y=*}とし、r∈Zを乱数とし、インデックスYに対応する第一主情報kはk=g (gΠi∈{1,…,N−1}\w(Y) YirYの関係を満たし、grYをインデックスYに対応する第二主情報とし、インデックスYに対応する導出情報 Yj はkYj=h rYの関係を満たし、*を不定文字とし、インデックスvをv=(v,…,vN−1)∈I=(F∪{*})N−1とし、インデックスvに対応する集合w(v)をw(v)={i|v=*}とし、インデックスuをu=(u,…,uN−1)∈I=(F∪{*})N−1とし、インデックスuに対応する集合w(u)をw(u)={i|u=*}とし、集合w(u)⊂集合w(v)とし、v=u(i∈{1,…,N−1}\w(v))として、乱数r∈Zを生成する乱数生成部と、上記第一主情報kである又は上記第一主情報k及び上記導出情報 Yj から導出されたインデックスvに対応する第一主情報k、上記導出情報 Yj である又は上記導出情報 Yj から導出されたインデックスvに対応する導出情報kvjを記憶する記憶部と、上記記憶部から読み込んだ第一主情報k及び上記導出情報kviを用いて、k=k(Πi∈w(v)\w(u)vi ui)(gΠi∈{1,…,N−1}\w(v) viΠi∈w(v)\w(u) uiruの関係を満たす、インデックスuに対応する第一主情報kを計算する第一主情報導出部と、上記生成された乱数rを用いて、第二主情報gruを計算する第二主情報導出部と、を含む。
共通の子ノードCを持つ親ノードAと親ノードBに対して、親ノードAの情報から共通の子ノードCの情報を導出し、親ノードBの情報から共通の子ノードCの情報を導出することができる。
第一実施形態の情報生成装置の機能ブロック図の例。 第一実施形態の情報生成のフローチャートの例。 第一実施形態の情報導出のフローチャートの例。 第二実施形態の情報生成装置の機能ブロック図の例。 第二実施形態の情報生成のフローチャートの例。 第二実施形態の情報導出のフローチャートの例。
以下、この発明の実施の形態について、詳細に説明する。
[述語暗号]
まず、第一実施形態で用いる概念である述語暗号の概要について説明する。
〔定義〕
まず、本形態で使用する用語や記号を定義する。
行列:「行列」とは演算が定義された集合の元を矩形に並べたものを表す。環の元を要素とするものだけではなく、群の元を要素とするものも「行列」と表現する。
(・)T:(・)Tは・の転置行列を表す。
(・)-1:(・)-1は・の逆行列を表す。
∧:∧は論理積を表す。
∨:∨は論理和を表す。
Z:Zは整数集合を表す。
k:kはセキュリティパラメータ(k∈Z, k>0)を表す。
{0,1}*:{0,1}*は任意ビット長のバイナリ系列を表す。その一例は、整数0及び1からなる系列である。しかし、{0,1}*は整数0及び1からなる系列に限定されない。{0,1}*は位数2の有限体又はその拡大体と同義である。
{0,1}ζ:{0,1}ζはビット長ζ(ζ∈Z, ζ>0)のバイナリ系列を表す。その一例は、整数0及び1からなる系列である。しかし、{0,1}ζは整数0及び1からなる系列に限定されない。{0,1}ζは位数2の有限体(ζ=1の場合)又はそれをζ次拡大した拡大体(ζ>1の場合)と同義である。
(+):(+)はバイナリ系列間の排他的論理和演算子を表す。例えば、10110011(+)11100001=01010010を満たす。
Fq:Fqは位数qの有限体を表す。位数qは1以上の整数であり、例えば、素数や素数のべき乗値を位数qとする。すなわち、有限体Fqの例は素体やそれを基礎体とした拡大体である。なお、有限体Fqが素体である場合の演算は、例えば、位数qを法とする剰余演算によって容易に構成できる。また、有限体Fqが拡大体である場合の演算は、例えば、既約多項式を法とする剰余演算によって容易に構成できる。有限体Fqの具体的な構成方法は、例えば、参考文献1「ISO/IEC 18033-2: Information technology - Security techniques - Encryption algorithms - Part 2: Asymmetric ciphers」に開示されている。
0F:0Fは有限体Fqの加法単位元を表す。
1F:1Fは有限体Fqの乗法単位元を表す。
δ(i,j):δ(i,j)はクロネッカーのデルタ関数を表す。i=jの場合にδ(i,j)=1Fを満たし、i≠jの場合にδ(i,j)=0 Fを満たす。
E:Eは有限体Fq上で定義された楕円曲線を表す。Eはアフィン(affine)座標版のWeierstrass方程式
y2+a1・x・y+a3・y=x3+a2・x2+a4・x+a6 …(1)
(ただし、a1,a2,a3,a4,a6∈Fq)を満たすx,y∈Fqからなる点(x,y)の集合に無限遠点と呼ばれる特別な点Oを付加したもので定義される。楕円曲線E上の任意の2点に対して楕円加算と呼ばれる二項演算+及び楕円曲線E上の任意の1点に対して楕円逆元と呼ばれる単項演算−がそれぞれ定義できる。また、楕円曲線E上の有理点からなる有限集合が楕円加算に関して群をなすこと、楕円加算を用いて楕円スカラー倍算と呼ばれる演算が定義できること、及びコンピュータ上での楕円加算などの楕円演算の具体的な演算方法はよく知られている(例えば、参考文献1、参考文献2「RFC 5091: Identity-Based Cryptography Standard (IBCS) #1: Supersingular Curve Implementations of the BF and BB1 Cryptosystems」、参考文献3「イアン・F・ブラケ、ガディエル・セロッシ、ナイジェル・P・スマート=著、「楕円曲線暗号」、出版=ピアソン・エデュケーション、ISBN4-89471-431-0」等参照)。
また、楕円曲線E上の有理点からなる有限集合は位数p(p≧1)の部分群を持つ。例えば、楕円曲線E上の有理点からなる有限集合の要素数を#Eとし、pを#Eを割り切る大きい素数とした場合、楕円曲線Eのp等分点からなる有限集合E[p]は、楕円曲線E上の有理点からなる有限集合の部分群を構成する。なお、楕円曲線Eのp等分点とは、楕円曲線E上の点Aのうち、楕円曲線E上での楕円スカラー倍算値p・Aがp・A=Oを満たす点を意味する。
G1, G2,GT:G1, G2, GTは位数qの巡回群を表す。巡回群G1, G2の具体例は、楕円曲線Eのp等分点からなる有限集合E[p]やその部分群である。G1=G2であってもよいしG1≠G2であってもよい。また、巡回群GTの具体例は、有限体Fqを基礎体とする拡大体を構成する有限集合である。その一例は、有限体Fqの代数閉包における1のp乗根からなる有限集合である。
なお、本形態では、巡回群G1, G2上で定義された演算を加法的に表現し、巡回群GT上で定義された演算を乗法的に表現する。すなわち、χ∈Fq及びΩ∈G1に対するχ・Ω∈G1は、Ω∈G1に対して巡回群G1で定義された演算をχ回施すことを意味し、Ω1, Ω2∈G1に対するΩ12∈G1は、Ω1∈G1とΩ2∈G1とを被演算子として巡回群G1で定義された演算を行うことを意味する。同様に、χ∈Fq及びΩ∈G2に対するχ・Ω∈G2は、Ω∈G2に対して巡回群G2で定義された演算をχ回施すことを意味し、Ω1, Ω2∈G2に対するΩ12∈G2は、Ω1∈G2とΩ2∈G2とを被演算子として巡回群G2で定義された演算を行うことを意味する。一方、χ∈Fq及びΩ∈GTに対するΩχ∈GTは、Ω∈GTに対して巡回群GTで定義された演算をχ回施すことを意味し、Ω12∈GTに対するΩ1・Ω2∈GTは、Ω1∈GTとΩ2∈GTとを被演算子として巡回群GTで定義された演算を行うことを意味する。
G1 n+1:G1 n+1はn+1(n≧1)個の巡回群G1の直積を表す。
G2 n+1:G2 n+1はn+1個の巡回群G2の直積を表す。
g1, g2, gT:g1, g2, gTは巡回群G1, G2,GTの生成元を表す。
V:Vはn+1個の巡回群G1の直積からなるn+1次元のベクトル空間を表す。
V*:V*はn+1個の巡回群G2の直積からなるn+1次元のベクトル空間を表す。
e:eは直積G1 n+1と直積G2 n+1との直積G1 n+1×G2 n+1を巡回群GTに写す非退化な双線形写像(bilinear map)を計算するための関数(「双線形関数」と呼ぶ)を表す。双線形関数eは、巡回群G1のn+1個の元γL(L=1,...,n+1)(n≧1)と巡回群G2のn+1個の元γL *(L=1,...,n+1)とを入力とし、巡回群GTの1個の元を出力する。
e:G1 n+1×G2 n+1→GT …(2)
双線形関数eは以下の性質を満たす。
[双線形性]すべてのΓ1∈G1 n+1,Γ2∈G2 n+1及びν,κ∈Fqについて以下の関係を満たす。
e(ν・Γ1,κ・Γ2)=e(Γ12)ν・κ …(3)
[非退化性]すべての
Γ1∈G1 n+1,Γ2∈G2 n+1 …(4)
を巡回群GTの単位元に写す関数ではない。
[計算可能性]あらゆるΓ1∈G1 n+1,Γ2∈G2 n+1についてe(Γ12)を効率的に計算するアルゴリズムが存在する。
本形態では、巡回群G1と巡回群G2との直積G1×G2を巡回群GTに写す非退化な双線形写像を計算するための関数
Pair:G1×G2→GT …(5)
を用いて双線形関数eを構成する。本形態の双線形関数eは、巡回群G1のn+1個の元γL(L=1,...,n+1)からなるn+1次元ベクトル(γ1,...,γn+1)と、巡回群G2のn+1個の元γL *(L=1,...,n+1)からなるn+1次元ベクトル(γ1 *,...,γn+1 *)との入力に対し、巡回群GTの1個の元
e=ΠL=1 n+1 Pair(γL, γL *) …(6)
を出力する関数である。
なお、双線形関数Pairは、巡回群G1の1個の元と巡回群G2の1個の元との組を入力とし、巡回群GTの1個の元を出力する関数であり、以下の性質を満たす。
[双線形性]すべてのΩ1∈G1,Ω2∈G2及びν,κ∈Fqについて以下の関係を満たす。
Pair(ν・Ω1,κ・Ω2)=Pair(Ω12)ν・κ …(7)
[非退化性]すべての
Ω1∈G1,Ω2∈G2 …(8)
を巡回群GTの単位元に写す関数ではない。
[計算可能性]あらゆるΩ1∈G1,Ω2∈G2についてPair(Ω12)を効率的に計算するアルゴリズムが存在する。
なお、双線形関数Pairの具体例は、WeilペアリングやTateペアリングなどのペアリング演算を行うための関数である(例えば、参考文献4「Alfred. J. Menezes,ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS, KLUWER ACADEMIC PUBLISHERS, ISBN0-7923-9368-6,pp. 61-81」等参照)。また、楕円曲線Eの種類に応じ、Tateペアリングなどのペアリング演算を行うための関数と所定の関数phiを組み合わせた変更ペアリング関数e(Ω1,phi(Ω2))(Ω1∈G1,Ω2∈G2)を双線形関数Pairとして用いてもよい(例えば、参考文献2等参照)。また、ペアリング演算をコンピュータ上で行うためのアルゴリズムとしては、周知のMiller のアルゴリズム(参考文献5「V. S. Miller, “Short Programs for functions on Curves,”1986,インターネット<http://crypto.stanford.edu/miller/miller.pdf>」などが存在する。また、ペアリング演算を効率的に行うための楕円曲線や巡回群の構成方法はよく知られている(例えば、参考文献2、参考文献6「A. Miyaji, M. Nakabayashi, S.Takano, "New explicit conditions of elliptic curve Traces for FR-Reduction," IEICE Trans. Fundamentals, vol. E84-A, no05, pp. 1234-1243, May 2001」、参考文献7「P.S.L.M. Barreto, B. Lynn, M. Scott, "Constructing elliptic curves with prescribed embedding degrees," Proc. SCN '2002, LNCS 2576, pp.257-267, Springer-Verlag. 2003」、参考文献8「R. Dupont, A. Enge, F. Morain, "Building curves with arbitrary small MOV degree over finite prime fields," http://eprint.iacr.org/2002/094/」等参照)。
ai(i=1,...,n+1):巡回群G1のn+1個の元を要素とするn+1次元の基底ベクトルを表す。基底ベクトルaiの一例は、κ1・g1∈G1をi次元目の要素とし、残りのn個の要素を巡回群G1の単位元(加法的に「0」と表現)とするn+1次元の基底ベクトルである。この場合、n+1次元の基底ベクトルai(i=1,...,n+1)の各要素をそれぞれ列挙して表現すると、以下のようになる。
a1=(κ1・g1,0,0,...,0)
a2=(0,κ1・g1,0,...,0) …(9)
...
an+1=(0,0,0,...,κ1・g1)
ここで、κ1は加法単位元0F以外の有限体Fqの元からなる定数であり、κ1∈Fqの具体例はκ1=1Fである。基底ベクトルaiは直交基底であり、巡回群G1のn+1個の元を要素とするすべてのn+1次元ベクトルは、n+1次元の基底ベクトルai(i=1,...,n+1)の線形和によって表される。すなわち、n+1次元の基底ベクトルaiは前述のベクトル空間Vを張る。
ai *(i=1,...,n+1):ai *は巡回群G2のn+1個の元を要素とするn+1次元の基底ベクトルを表す。基底ベクトルai *の一例は、κ2・g2∈G2をi次元目の要素とし、残りのn個の要素を巡回群G2の単位元(加法的に「0」と表現)とするn+1次元の基底ベクトルである。この場合、基底ベクトルai *(i=1,...,n+1)の各要素をそれぞれ列挙して表現すると、以下のようになる。
a1 *=(κ2・g2,0,0,...,0)
a2 *=(0,κ2・g2,0,...,0) …(10)
...
an+1 *=(0,0,0,...,κ2・g2)
ここで、κ2は加法単位元0F以外の有限体Fqの元からなる定数であり、κ2∈Fqの具体例はκ2=1Fである。基底ベクトルai *は直交基底であり、巡回群G2のn+1個の元を要素とするすべてのn+1次元ベクトルは、n+1次元の基底ベクトルai *(i=1,...,n+1)の線形和によって表される。すなわち、n+1次元の基底ベクトルai *は前述のベクトル空間V*を張る。
なお、基底ベクトルaiと基底ベクトルai *とは、0Fを除く有限体Fqの元τ=κ1・κ2について
e(ai, aj *)=gT τ・δ(i,j) …(11)
を満たす。すなわち、i=jの場合には、式(6)(7)の関係から、
e(ai, aj *)= Pair(κ1・g12・g2)・Pair(0, 0)・...・Pair(0, 0)
= Pair(g1, g2)κ1・κ2・Pair(g1, g2)0・0・...・Pair(g1, g2)0・0
= Pair(g1, g2)κ1・κ2=gT τ
を満たす。一方、i≠jの場合には、e(ai, aj *)は、Pair(κ1・g12・g2)を含まず、Pair(κ1・g1,0)と Pair(0,κ2・g2)とPair(0,0)との積になる。さらに、式(7)の関係からPair(g1, 0)=Pair(0, g2)=Pair(g1, g2)0を満たす。そのため、i≠jの場合には、
e(ai, aj *)=e(g1, g2)0=gT 0
を満たす。
特に、τ=κ1・κ2=1Fである場合(例えば、κ12=1Fの場合)、
e(ai, aj *)=gT δ(i,j) …(12)
を満たす。ここで、gT 0=1は巡回群GTの単位元であり、gT 1=gTは巡回群GTの生成元である。この場合、基底ベクトルaiと基底ベクトルai *とは双対正規直交基底であり、ベクトル空間Vとベクトル空間V*とは、双線形写像を構成可能な双対ベクトル空間〔双対ペアリングベクトル空間(DPVS:Dual Paring Vector space)〕である。
A:Aは基底ベクトルai(i=1,...,n+1)を要素とするn+1行n+1列の行列を表す。例えば、基底ベクトルai(i=1,...,n+1)が式(9)によって表現される場合、行列Aは、
Figure 0005256342
となる。
A*:A*は基底ベクトルai *(i=1,...,n+1)を要素とするn+1行n+1列の行列を表す。例えば、基底ベクトルai *(i=1,...,n+1)が式(10)によって表現される場合、行列A*は、
Figure 0005256342
となる。
X:Xは有限体Fqの元を要素とするn+1行n+1列の行列を表す。行列Xは基底ベクトルaiの座標変換に用いられる。行列Xのi行j列(i=1,...,n+1,j=1,...,n+1)の要素をχi,j∈Fqとすると、行列Xは、
Figure 0005256342
となる。なお、行列Xの各要素χi,jを変換係数と呼ぶ。
X *:X *は行列Xの逆行列の転置行列X*=( X-1)Tを表す。行列X *は基底ベクトルai *の座標変換に用いられる。行列X *のi行j列の要素をχi,j *∈Fqとすると、行列X*は、
Figure 0005256342
となる。なお、行列X*の各要素χi,j *を変換係数と呼ぶ。
この場合、n+1行n+1列の単位行列をIとするとX・(X*)T=Iを満たす。すなわち、単位行列
Figure 0005256342
に対し、
Figure 0005256342
を満たす。ここで、n+1次元ベクトル
χi =(χi,1,...,χi,n+1) …(19)
χj →*=(χj,1 *,...,χj,n+1 *) …(20)
を定義する。すると、式(18)の関係から、n+1次元ベクトルχi とχj →*との内積は、
χi ・χj →*=δ(i,j) …(21)
となる。
bi:biは巡回群G1のn+1個の元を要素とするn+1次元の基底ベクトルを表す。基底ベクトルbiは行列Xを用いて基底ベクトルai(i=1,...,n+1)を座標変換することで得られる。具体的には、基底ベクトルbiは、
bij=1 n+1χi,j・aj …(22)
の演算によって得られる。例えば、基底ベクトルaj(j=1,...,n+1)が式(9)によって表現される場合、基底ベクトルbiの各要素をそれぞれ列挙して表現すると、以下のようになる。
bi=(χi,1・κ1・g1i,2・κ1・g1 ,...,χi,n+1・κ1・g1) …(23)
巡回群G1のn+1個の元を要素とするすべてのn+1次元ベクトルは、n+1次元の基底ベクトルbi(i=1,...,n+1)の線形和によって表される。すなわち、n+1次元の基底ベクトルbiは前述のベクトル空間Vを張る。
bi *:bi *は巡回群G2のn+1個の元を要素とするn+1次元の基底ベクトルを表す。行列X*を用いて基底ベクトルai *(i=1,...,n+1)を座標変換することで得られる。具体的には、基底ベクトルbi *は、
bi *j=1 n+1χi,j *・aj * …(24)
の演算によって得られる。例えば、基底ベクトルaj *(j=1,...,n+1)が式(10)によって表現される場合、基底ベクトルbi *の各要素をそれぞれ列挙して表現すると、以下のようになる。
bi *=(χi,1 *・κ2・g2i,2 *・κ2・g2 ,...,χi,n+1 *・κ2・g2) …(25)
巡回群G2のn+1個の元を要素とするすべてのn+1次元ベクトルは、n+1次元の基底ベクトルbi *(i=1,...,n+1)の線形和によって表される。すなわち、n+1次元の基底ベクトルbi *は前述のベクトル空間V*を張る。
なお、基底ベクトルbiと基底ベクトルbi *とは、0Fを除く有限体Fqの元τ=κ1・κ2について
e(bi, bj *)=gT τ・δ(i,j) …(26)
を満たす。すなわち、式(6)(21)(23)(25)の関係から、
Figure 0005256342
を満たす。特に、τ=κ1・κ2=1Fである場合(例えば、κ12=1Fの場合)、
e(bi, bj *)=gT δ(i,j) …(27)
を満たす。この場合、基底ベクトルbiと基底ベクトルbi *とは、双対ペアリングベクトル空間(ベクトル空間Vとベクトル空間V*)の双対正規直交基底である。
なお、式(26)の関係を満たすのであれば、式(9)(10)で例示したもの以外の基底ベクトルai及びai *や、式(22)(24)で例示したもの以外の基底ベクトルbi及びbi *を用いてもよい。
B:Bは基底ベクトルbi(i=1,...,n+1)を要素とするn+1行n+1列の行列を表す。B=X・Aを満たす。例えば、基底ベクトルbiが式(23)によって表現される場合、行列Bは、
Figure 0005256342
となる。
B*:B*は基底ベクトルbi *(i=1,...,n+1)を要素とするn+1行n+1列の行列を表す。B*=X*・A*を満たす。例えば、基底ベクトルbi *(i=1,...,n+1)が式(25)によって表現される場合、行列B*は、
Figure 0005256342
となる。
w:wは有限体Fqの元を要素とするn次元ベクトルを表す。
w=(w1,...,wn)∈Fq n …(30)
wμ:wμはn次元ベクトルのμ(μ=1,...,n)番目の要素を表す。
v:vは有限体Fqの元を要素とするn次元ベクトルを表す。
v=(v1,...,vn)∈Fq n …(31)
vμ:vμはn次元ベクトルのμ(μ=1,...,n)番目の要素を表す。
衝突困難な関数:「衝突困難な関数」とは、十分大きなセキュリティパラメータkに対して以下の条件を満たす関数h、又は、それとみなせる関数を表す。
Pr[A(h)=(x,y)|h(x)=h(y)∧x≠y]<ε(k) …(32)
ただし、Pr[・]は事象[・]の確率であり、A(h)は関数hに対してh(x)=h(y)を満たす値x,y(x≠y)を算出する確率的多項式時間アルゴリズムであり、ε(k)はセキュリティパラメータkについての多項式である。衝突困難な関数の例は、参考文献1に開示された「cryptographic hash function」などのハッシュ関数である。
単射関数:「単射関数」とは、値域に属する元が何れもその定義域のただ一つの元の像として表される関数、又は、それとみなせる関数を表す。
擬似的なランダム関数:「擬似的なランダム関数」とは、任意の確率的多項式時間アルゴリズムが集合Φζとその部分集合φζとを区別できない場合における、当該部分集合φζに属する関数、又は、それとみなせる関数を表す。ただし、集合Φζは集合{0,1}ζの元を集合{0,1}ζの元へ写すすべての関数の集合である。擬似的なランダム関数の例は、上述のようなハッシュ関数である。
H1:H1は2つのバイナリ系列(ω12)∈{0,1}k×{0,1}*を入力とし、有限体Fqの2つの元(ψ12)∈Fq×Fqを出力する衝突困難な関数を表す。
H1:{0,1}k×{0,1}*→Fq×Fq …(33)
このような関数H1の例は、ω1とω2とのビット連結値ω1||ω2を入力とし、参考文献1に開示された「cryptographic hash function」などのハッシュ関数と、「バイナリ系列から整数への変換関数(Octet string/integer conversion)」と、「バイナリ系列から有限体の元への変換関数(Octet string and integer/finite field conversion)」との演算を行い、有限体Fqの2つの元(ψ12)∈Fq×Fqを出力する関数である。なお、関数H1は、擬似的なランダム関数であることが望ましい。
H2:H2は巡回群GTの元とバイナリ系列(ξ,ω2)∈GT×{0,1}*を入力とし、有限体Fqの1つの元ψ∈Fqを出力する衝突困難な関数を表す。
H2:GT×{0,1}*→Fq …(34)
このような関数H2の例は、巡回群GTの元ξ∈GTとバイナリ系列ω2∈{0,1}*とを入力とし、巡回群GTの元ξ∈GTを参考文献1に開示された「有限体の元からバイナリ系列への変換関数(Octet string and integer/finite field conversion)」に入力してバイナリ系列を求め、そのバイナリ系列とバイナリ系列ω2∈{0,1}*とのビット連結値に対して参考文献1に開示された「cryptographic hash function」などのハッシュ関数演算を行い、さらに「バイナリ系列から有限体の元への変換関数(Octet string and integer/finite field conversion)」の演算を行い、有限体Fqの1つの元ψ∈Fqを出力する関数である。なお、安全性の観点から、関数H2は擬似的なランダム関数であることがより望ましい。
R:Rは1つの巡回群GTの元ξ∈GTを入力とし、1つのバイナリ系列ω∈{0,1}kを出力する単射関数を表す。
R:GT→{0,1}k …(35)
このような単射関数Rの例は、巡回群GTの元ξ∈GTを入力とし、参考文献1に開示された「有限体の元からバイナリ系列への変換関数(Octet string and integer/finite field conversion)」と、参考文献1に開示された「KDF(Key Derivation Function)」などのハッシュ関数との演算を行い、1つのバイナリ系列ω∈{0,1}kを出力する関数である。なお、安全性の観点から、関数Rは衝突困難な関数であることが望ましく、擬似的なランダム関数であることがより望ましい。
Enc:Encは共通鍵暗号方式の暗号化処理を示す共通鍵暗号関数を表す。共通鍵暗号方式の具体例は、カメリア(Camellia)やAESなどである。
Enck(M):Enck(M)は、共通鍵Kを用い、共通鍵暗号関数Encに従って平文Mを暗号化して得られた暗号文を表す。
Dec:Decは、共通鍵暗号方式の復号処理を示す共通鍵復号関数を表す。
Deck(C):Deck(C)は、共通鍵Kを用い、共通鍵復号関数Decに従って暗号文Cを復号して得られた復号結果を表す。
〔内積述語暗号〕
次に、内積述語暗号の基本的な構成について説明する。
<述語暗号>
述語暗号(「関数暗号」と呼ぶ場合もある)とは、「属性情報」と呼ばれる情報と「述語情報」と呼ばれる情報との組み合わせが所定の論理式を「真」にする場合に暗号文が復号できる方式である。「属性情報」と「述語情報」の一方が暗号文に埋め込まれ、他方が鍵情報に埋め込まれる。従来の述語暗号の構成は、例えば、参考文献9「"Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products," with Amit Sahai and Brent Waters One of 4 papers from Eurocrypt 2008 invited to the Journal of Cryptology」等に開示されている。
<内積述語暗号>
内積述語暗号は、属性情報や述語情報としてベクトルを用い、それらの内積が0となる場合に暗号文が復号される述語暗号である。内積述語暗号では、内積が0となることと論理式が「真」となることとが等価である。
[論理式と多項式との関係]
内積述語暗号では、論理和や論理積からなる論理式を多項式で表現する。
まず、「xがη1である」という命題1と「xがη2である」という命題2との論理和 (x=η1)∨(x=η2)を
(x-η1)・(x-η2) …(36)
という多項式で表現する。すると、各真理値と式(36)の関数値との関係は以下のようになる。
Figure 0005256342
[表1]から分かるように、論理和(x=η1)∨(x=η2)が真である場合、式(36)の関数値は0になり、論理和(x=η1)∨(x=η2)が偽である場合、式(36)の関数値は0以外の値となる。すなわち、論理和(x=η1)∨(x=η2)が真であることと、式(36)の関数値が0となることとは等価である。よって、論理和は式(36)で表現できる。
また、「xがη1である」という命題1と「xがη2である」という命題2との論理積 (x=η1)∧(x=η2)を
ι1・(x-η1)+ι2・(x-η2) …(37)
という多項式で表現する。ただし、ι1及びι2は乱数である。すると、真理値と式(37)の関数値とは以下の関係となる。
Figure 0005256342
[表2]から分かるように、論理積 (x=η1)∧(x=η2)が真である場合、式(37)の関数値は0になり、論理積 (x=η1)∧(x=η2)が偽である場合、式(37)の関数値は0以外の値となる。すなわち、論理積 (x=η1)∧(x=η2)が真であることと、式(37)の関数値が0となることとは等価である。よって、論理積は式(37)で表現できる。
以上のように、式(36)と式(37)とを用いることで論理和や論理積からなる論理式を多項式f(x)で表現できる。例えば、論理式{(x=η1)∨(x=η2)∨(x=η3)}∧(x=η4)∧(x=η5)は、多項式
f(x)=ι1・{(x-η1)・(x-η2)・(x-η3)}+ι2・(x-η4)+ι3・(x-η5) …(38)
で表現できる。
なお、式(36)では、1つの不定元xを用いて論理和を表現したが、複数の不定元を用いて論理和を表現することも可能である。例えば、2つの不定元x0及びx1を用い、「x0がη0である」という命題1と「x1がη1である」という命題2との論理和 (x00)∨(x11)を
(x00)・(x11)
という多項式で表現することも可能であり、3つ以上の不定元を用い、論理和を多項式で表現することも可能である。
また、式(37)では、1つの不定元xを用いて論理積を表現したが、複数の不定元を用いて論理積を表現することも可能である。例えば、また、「x0がη0である」という命題1と「x1がη1である」という命題2との論理積 (x00)∧(x11)を
ι0・(x00)+ι1・(x11)
という多項式で表現することも可能であり、3つ以上の不定元を用い、論理積を多項式で表現することも可能である。
論理和及び/又は論理積を含む論理式をH(H≧1)種類の不定元x0,...,xH-1を用いて表現した多項式をf(x0,...,xH-1)と表現する。また、各不定元x0,...,xH-1に対応する命題を「xhがηhである」とする。ただし、ηh(h=0,...H-1)は命題ごとに定まる定数である。この場合、当該論理式を示す多項式f(x0,...,xH-1)は、不定元xhと定数ηhとの差をとる多項式によって当該不定元xhが当該定数ηhであるという命題を表現し、命題をそれぞれ表現する多項式の積によって当該命題の論理和を表現し、命題又は命題の論理和をそれぞれ表現する多項式の線形和によって当該命題又は命題の論理和の論理積を表現し、それによって論理式を表現した多項式となる。例えば、5つの不定元x0,...,x4を用い、論理式{(x00)∨(x11)∨(x22)}∧(x33)∧(x44)を多項式で表現すると、
f(x0,...,x4)
0・{(x00)・(x11)・(x22)}+ι1・(x3 -η3)+ι2・(x4 -η4)
となる。
[多項式と内積の関係]
論理式を示す多項式f(x0,...,xH-1)は、2つのn次元ベクトルの内積で表現できる。すなわち、多項式f(x0,...,xH-1)は、当該多項式f(x0,...,xH-1)の各項の不定元成分を各要素とするベクトル
v=(v1,...,vn)
と、当該多項式f(x0,...,xH-1)の各項の係数成分を各要素とするベクトル
w=(w1,...,wn)
との内積
f(x0,...,xH-1)=w・v
に等しい。すなわち、論理式を示す多項式f(x0,...,xH-1)が0であるか否かと、多項式f(x0,...,xH-1)の各項の不定元成分を各要素とするベクトルvと、多項式f(x0,...,xH-1)の各項の係数成分を各要素とするベクトルwとの内積が0であるか否かとは等価である。
f(x0,...,xH-1)=0 ←→ w・v=0
例えば、1つの不定元xで表現された多項式f(x)=θ0・x01・x+...+θn-1・xn-1は、2つのn次元ベクトル
w=(w1,...,wn)=(θ0,...,θn-1) …(39)
v=(v1,...,vn)=(x0 ,...,xn-1) …(40)
の内積
f(x)= w・v …(41)
で表現できる。すなわち、論理式を示す多項式f(x)が0であるか否かと、式(41)の内積が0であるか否かとは等価である。
f(x)=0 ←→ w・v=0 …(42)
また、多項式f(x0,...,xH-1)の各項の不定元成分を各要素とするベクトルを
w=(w1,...,wn)
とし、多項式f(x0,...,xH-1)の各項の係数成分を各要素とするベクトル
v=(v1,...,vn)
としても、論理式を示す多項式f(x0,...,xH-1)が0であるか否かと、ベクトルwとベクトルvとの内積が0であるか否かとは等価である。
例えば、式(39)(40)の代わりに
w=(w1,...,wn)=(x0 ,...,x n-1 ) …(43)
v=(v1,...,vn)=(θ 0,...,θn-1) …(44)
としても、論理式を示す多項式f(x)が0であるか否かと、式(41)の内積が0であるか否かとは等価である。
内積述語暗号では、ベクトルv=(v0,...,vn-1)及びw=(w0,...,wn-1)の何れか一方を属性情報とし、他方を述語情報とし、属性情報と述語情報の一方が暗号文に埋め込まれ、他方が鍵情報に埋め込まれる。例えば、n次元ベクトル(θ0,...,θn-1)が述語情報とされ、n次元ベクトル(x0 ,...,xn-1)が属性情報とされ、属性情報と述語情報の一方が暗号文に埋め込まれ、他方が鍵情報に埋め込まれる。なお、以下では、鍵情報に埋め込まれるn次元ベクトルをw=(w1,...,wn)とし、暗号文に埋め込まれるn次元ベクトルをv=(v1,...,vn)とする。例えば、
述語情報:w=(w1,...,wn)=(θ0,...,θn-1)
属性情報:v=(v1,...,vn)=(x0 ,...,xn-1)
であるか、
述語情報:v=(v1,...,vn)=(θ0,...,θn-1)
属性情報:w=(w1,...,wn)=(x0 ,...,xn-1)
である。
[内積述語暗号の基本構成]
以下では、内積述語暗号を用いて鍵カプセル化メカニズムKEM (Key Encapsulation Mechanisms)を構成する場合の基本構成を例示する。この構成はSetup(1k),GenKey(MSK,w),Enc(PA,v),Dec(SKw,C2)を含む。
《Setup(1k):セットアップ》
−入力:セキュリティパラメータk
−出力:マスター鍵情報MSK,公開パラメータPK
Setup(1k)の一例では、まず、セキュリティパラメータkをnとして、n+1次元の基底ベクトルai(i=1,...,n+1)を要素とするn+1行n+1列の行列Aと、基底ベクトルai *(i=1,...,n+1)を要素とするn+1行n+1列の行列A*と、座標変換のためのn+1行n+1列の行列X,X*とが選択される。次に、式(22)に従って座標変換されたn+1次元の基底ベクトルbi(i=1,...,n+1)が算出され、式(24)に従って座標変換されたn+1次元の基底ベクトルbi *(i=1,...,n+1)が算出される。そして、基底ベクトルbi *(i=1,...,n+1)を要素とするn+1行n+1列の行列B*がマスター鍵情報MSKとして出力され、ベクトル空間V, V*、基底ベクトルbi(i=1,...,n+1)を要素とするn+1行n+1列の行列B、セキュリティパラメータk、有限体Fq、楕円曲線E、巡回群G1, G2,GT、生成元g1, g2, gT、双線形関数eなどが公開パラメータPKとして出力される。
《GenKey(MSK,w):鍵情報生成》
−入力:マスター鍵情報MSK,ベクトルw
−出力:ベクトルwに対応する鍵情報D*
GenKey(MSK,w)の一例では、まず、有限体Fqから元α∈Fqが選択される。そして、マスター鍵情報MSKである行列B*を用い、ベクトルwに対応する鍵情報
D*=α・(Σμ=1 nwμ・bμ *)+bn+1 *∈G2 n+1 …(45)
が生成され、出力される。なお、巡回群G2上での離散対数問題の求解が困難である場合、鍵情報D*からwμ・bμ *やbn+1 *の成分を分離抽出することは困難である。
《Enc(PA,v):暗号化》
−入力:公開パラメータPK,ベクトルv
−出力:暗号文C2,共通鍵K
Enc(PA,v)の一例では、まず、共通鍵Kと有限体Fqの元である乱数υ1とが生成される。そして、行列Bなどの公開パラメータPKと、共通鍵Kを含む値に対応する有限体Fqの元υ2と、ベクトルvと、乱数υ1とを用い、暗号文
C21・(Σμ=1 nvμ・bμ)+υ2・bn+1∈G1 n+1 …(46)
が生成される。そして、暗号文C2と共通鍵Kとが出力される。共通鍵Kの一例はK=gT τ・υ2∈GTである。ここで、添え字のυ2はυ2を意味する。また、前述のようにτの一例はτ=1Fである。なお、巡回群G1上での離散対数問題の求解が困難である場合、暗号文C2からvμ・bμやυ2・bn+1の成分を分離抽出することは困難である。
《Dec(SKw,C2):復号・鍵共有》
−入力:ベクトルwに対応する鍵情報D1 *,暗号文C2
−出力:共通鍵K
Dec(SKw,C2)の一例では、まず、暗号文C2と鍵情報D1 *とが式(2)の双線形関数eに入力される。すると、式(3)(26)の性質から、
Figure 0005256342
を満たす。
ここで、内積w・v=0であれば、式(47)は、
Figure 0005256342
と変形できる。この結果から共通鍵Kが生成され出力される。共通鍵Kの一例はK=gT τ・υ2∈GTである。
[第一実施形態]
第一実施形態の情報生成装置及び方法は、前述した述語暗号を用いて階層型暗号を実現したものである。具体的には、前述した述語暗号で登場する基底bを用いて、木構造以外の一般の半順序構造で表される情報導出を実現するものである。
図1に、第一実施形態の情報生成装置の機能ブロック図を例示する。
各情報には、インデックスvが付けられている。インデックスvは、v=(v,…,vN−1)∈I=(F∪{*})N−1であり、インデックスvには対応する集合w(v)={i|v=*}が定義されている。*は不定文字である。以下に登場するインデックスu,インデックスY等のインデックスはインデックスvと同様の構造を持ち、インデックスu=(u,…,uN−1)∈I=(F∪{*})N−1、インデックスY=(Y,…,YN−1)∈I=(F∪{*})N−1であるとする。インデックスu∈Iとインデックスv∈Iに対して、w(u)⊂w(v)かつv=u(i∈{1,…,N−1}\w(v))であるとき、すなわち、w(u)⊂w(v)かつ任意のi∈{1,…,N−1}\w(v)に対してv=uであるとき、インデックスu≦インデックスvであり、インデックスvはインデックスuよりも上位の情報であるとする。ここで、記号「\」は集合の減算を意味し、例えば集合A={1,2,3}、集合B={1}のとき、A\B={2,3}である。
例えば、インデックスv={v,v,v}={2,*,*}であり、インデックスu={u,u,u}={2,*,4}であるとする。このとき、w(v)={2,3}、w(u)={2}となり、w(u)⊂w(v)が成立する。また、v=u=2である。したがって、インデックスu≦インデックスvであり、インデックスvはインデックスuよりも上位の情報であるといえる。
以下、基底b から生成される情報に対するインデックスをインデックスYと表記し、導出基の情報に対するインデックスをインデックスvと表記し、その導出基の情報から導出された情報に対するインデックスをインデックスuと表記する。
<情報生成>
情報生成装置及び方法は、図2のステップA1からステップA3において、基底b を用いてインデックスYに対応する情報Kを生成する。情報Kは、主情報kと導出情報kYjとを含む。主情報kは、述語暗号において例えば復号鍵として使用される。導出情報kYjは、インデックスYに対応する情報Kよりも下位の情報を生成するために用いられる。
情報生成装置には、インデックスY∈Iが入力される。
乱数生成部1は、乱数σ∈Z、及び、集合w(Y)の各要素j∈w(Y)に対応する乱数σYj∈Zを生成する(ステップA1)。生成された乱数σは、主情報生成部2に送られる。生成された乱数σYjは、導出情報生成部3に送られる。例えば、集合w(Y)={2,3}である場合には、乱数生成部1はσ、σY2及びσY3の3つの乱数を生成する。
主情報生成部2は、上記生成された乱数σを用いて、k=σΣi∈{1,…,N−1}\w(Y) +b の関係を満たす主情報kを計算する(ステップA2)。計算された主情報kは記憶部4に格納される。
導出情報生成部3は、上記生成された乱数σYjを用いて、kYj=σYjΣi∈{1,…,N−1}\w(Y) +b の関係を満たす導出情報kYjを集合w(Y)の各要素j∈w(Y)ごとに計算する(ステップA3)。計算された導出情報kYjは記憶部4に格納される。
<情報導出>
情報生成装置及び方法は、図3のステップB1からステップB3において、u≦vとして、上位のインデックスvに対応する情報Kから、下位のインデックスuに対応する情報Kを生成する。
インデックスvに対応する情報Kは、主情報kと導出情報kvjを含む。主情報kは、述語暗号において例えば復号鍵として使用される。導出情報kvjは、インデックスvに対応する情報Kよりも下位の情報を生成するために用いられる。例えば、インデックスv=Yであり、情報K=情報Kである。また、ステップB1からステップB3の処理により生成された情報Kを新たな情報Kとして、インデックスuに対応する情報Kよりも下位の情報Ku’(u’≦u)を生成してもよい。
インデックスuに対応する情報Kは、主情報kと導出情報kujを含む。主情報kは、述語暗号において例えば復号鍵として使用される。導出情報kujは、インデックスuに対応する情報Kよりも下位の情報を生成するために用いられる。
情報生成装置には、インデックスv及びインデックスuが入力される。
記憶部4には、インデックスvに対応する情報Kが格納されているとする。
乱数生成部1は、乱数σ∈Z及び集合w(u)の各要素j∈w(u)に対応する乱数σuj∈Zを生成する(ステップB1)。生成された乱数σは主情報導出部5に送られ、生成された乱数σujは導出情報導出部6に送られる。
主情報導出部5は、記憶部4から読み込んだ主情報k、導出情報kvi及び上記生成された乱数σを用いて、k=σΣi∈w(v)\w(u)vi+kの関係を満たす、インデックスuに対応する主情報kを計算する(ステップB2)。計算された主情報kは、記憶部4に格納される。
導出情報導出部6は、記憶部4から読み込んだ導出情報kvj及び上記生成された乱数σujを用いて、kuj=σujΣi∈w(v)\w(u)vi+kvjの関係を満たすインデックスuに対応する導出情報kujを集合w(u)の各要素j∈w(u)ごとに計算する(ステップB3)。計算された導出情報kujは、記憶部4に格納される。
このようにして、インデックスYに対応する情報Kを生成して、この情報Kを基にして下位のインデックスに対応する情報を導出することにより、共通の子ノードCを持つ親ノードAと親ノードBに対して、親ノードAの情報から共通の子ノードCの情報を導出し、親ノードBの情報から共通の子ノードCの情報を導出することができる。
<具体例1>
以下、各ノードの情報が述語暗号における鍵であり、インデックスvの情報から生成したインデックスvの情報と、インデックスvの情報から生成したインデックスvの情報とが、述語暗号における鍵という観点から一致することを説明する。以下に示すインデックスv、インデックスv、インデックスvは一例であり、他のインデックスについても同様のことが言える。
インデックスv={v,v,*,*}とし、インデックスv={*,*,v,v}とし、インデックスv={v,v,v,v}とする。定義より、v≧v、v≧vであり、親ノードであるインデックスv及び親ノードであるインデックスvは、インデックスvを共通する子ノードとして有する。なお、以下では、v(i=1,2,3)をv^iと表記することもある。また、インデックスvのj番目の要素をv^ijと表記することもある。
N=5として、N個の基底b ,b ,b ,b ,b から、インデックスvに対応する情報Kv^1及びインデックスvに対応する情報Kv^2を生成する。σv^1、σv^13、σv^14、σv^2、σv^23、σv^24、σv^3、σv^3’は乱数生成部1により生成される乱数である。
インデックスvに対応する情報Kv^1(主情報kv^1、導出情報kv^13、kv^14)は以下のようになる。
v^1=σv^1(v +v )+b
v^13=σv^13(v +v )+b
v^14=σv^14(v +v )+b
また、インデックスvに対応する情報Kv^2(主情報kv^2、導出情報kv^21、kv^22)は以下のようになる。
v^2=σv^2(v +v )+b
v^21=σv^23(v +v )+b
v^22=σv^24(v +v )+b
インデックスvに対応する情報Kv^1からインデックスvに対応する主情報kv^3を導出すると以下のようになる。以下の式において、a=(σv^3(vσv^13+vσv^14)+σ v^1 )であり、b=σv^3である。
v^3=σv^3(vv^13+vv^14)+kv^1
=(σv^3(vσv^13+vσv^14)+σv^1)(v +v )+σv^3(v +v )+b
=a(v +v )+b(v +v )+b
…(A)
インデックスvに対応する情報Kv^2からインデックスvに対応する主情報kv^3を導出すると以下のようになる。以下の式において、c=σv^3’であり、d=(σv^3’(vσv^23+vσv^24)+σv^2)である。
v^3=σv^3’(vv^21+vv^22)+kv^2
=(σv^3’(vσv^23+vσv^24)+σv^2)(v +v )+σv^3’(v +v )+b
=c(v +v )+d(v +v )+b
…(B)
上記(A)式に示した情報Kv^1から導出した主情報kv^3と、上記(B)式に示した情報 v^2 から導出した主情報 v^3 とを比較すると、値は一致しないが、述語暗号において同値な鍵となる。すなわち、(v +v )をベクトル(b ,b )とベクトル(v,v)の内積と見ると、ベクトル(b ,b )に対するベクトル(v,v)の方向が(A)式と(B)式で一致しており、同様に、(v +v )をベクトル(b ,b )とベクトル(v,v)の内積と見ると、ベクトル(b ,b )に対するベクトル(v,v)の方向が(A)式と(B)式で一致しており、両鍵は述語暗号において同値な鍵となる。
[第二実施形態]
図4に、第二実施形態の情報生成装置の機能ブロック図を例示する。
G、Gを素数位数qの巡回群とし、gを巡回群Gの生成元とし、巡回群Gにはg=e(g,g)が巡回群Gの生成元となるようなペアリング関数e:G×G→Gが存在するとし、aをZからランダムに選択された乱数とし、gとg=g∈Gと巡回群Gからランダムに選択されたg,g,h,…,hN−1∈Gとが公開鍵として公開されているとする。
<情報生成>
情報生成装置及び方法は、図5のステップC1からステップC4において、公開鍵を用いてインデックスYに対応する情報Kを生成する。情報Kは、第一主情報kと第二主情報grYと導出情報kYjとを含む。第一主情報k及び第二主情報grYは、例えば復号鍵として使用される。導出情報kYiは、インデックスYに対応する情報Kよりも下位の情報を生成するために用いられる。
情報生成装置には、インデックスY∈Iが入力される。
乱数生成部1は、乱数r∈Zを生成する(ステップC1)。生成された乱数rは、第一主情報生成部21、第二主情報生成部22及び導出情報生成部3に送られる。
第一主情報生成部21は、上記生成された乱数rを用いて、k=g (gΠi∈{1,…,N−1}\w(Y) YirYの関係を満たす第一主情報kを計算する(ステップC2)。計算された第一主情報kは記憶部4に格納される。
第二主情報生成部22は、上記生成された乱数rを用いて、第二主情報grYを計算する(ステップC3)。計算された第二主情報kは記憶部4に格納される。
導出情報生成部3は、上記生成された乱数rを用いて、kYj=h rYの関係を満たす導出情報kYjを集合w(Y)の各要素j∈w(Y)ごとに計算する(ステップC4)。計算された導出情報kYiは、記憶部4に格納される。
<情報導出>
情報生成装置及び方法は、図6のステップD1からステップD4において、u≦vとして、上位のインデックスvに対応する情報Kから、下位のインデックスuに対応する情報Kを生成する。
インデックスvに対応する情報Kは、第一主情報kと第二主情報grvと導出情報kvjとを含む。第一主情報k及び第二主情報grvは、例えば復号鍵として使用される。導出情報kvjは、インデックスvに対応する情報Kよりも下位の情報を生成するために用いられる。例えば、インデックスv=Yであり、情報K=情報Kである。また、ステップD1からステップD4の処理により生成された情報Kを新たな情報Kとして、インデックスuに対応する情報Kよりも下位の情報Ku’(u’≦u)を生成してもよい。
インデックスuに対応する情報Kは、第一主情報kと第二主情報gruと導出情報kujとを含む。第一主情報k及び第二主情報gruは、例えば復号鍵として使用される。導出情報kujは、インデックスuに対応する情報Kよりも下位の情報を生成するために用いられる。
情報生成装置には、インデックスv及びインデックスuが入力される。
記憶部4には、インデックスvに対応する情報Kが格納されているとする。
乱数生成部1は、乱数rを生成する(ステップD1)。生成された乱数は、第一主情報導出部51、第二主情報導出部52及び導出情報導出部6に送られる。
第一主情報導出部51は、上記生成された乱数r、記憶部4から読み込んだ第一主情報k及び導出情報kviを用いて、k=k(Πi∈w(v)\w(u)vi ui)(gΠi∈{1,…,N−1}\w(v) viΠi∈w(v)\w(u) uiruの関係を満たす、インデックスuに対応する第一主情報kを計算する(ステップD2)。計算された第一主情報kは、記憶部4に格納される。
第二主情報導出部52は、上記生成された乱数rを用いて、第二主情報gruを計算する(ステップD3)。計算された第二主情報gruは、記憶部4に格納される。
導出情報導出部6は、上記記憶部から読み込んだ導出情報kvi及び上記生成された乱数rを用いて、kuj=kvj ruの関係を満たす導出情報kujを集合w(u)の各要素j∈w(u)ごとに計算する(ステップD4)。計算された導出情報kujは、記憶部4に記憶される。
このようにして、インデックスYに対応する情報Kを生成して、この情報 を基にして下位のインデックスに対応する情報を導出することにより、共通の子ノードCを持つ親ノードAと親ノードBに対して、親ノードAの情報から共通の子ノードCの情報を導出し、親ノードBの情報から共通の子ノードCの情報を導出することができる。
<具体例2>
以下、各ノードの情報が述語暗号における鍵であり、インデックスvの情報から生成したインデックスvの情報と、インデックスvの情報から生成したインデックスvの情報とが、述語暗号における鍵という観点から一致することを説明する。以下に示すインデックスv、インデックスv、インデックスvは一例であり、他のインデックスについても同様のことが言える。
インデックスv={v,v,*,*}とし、インデックスv={*,*,v,v}とし、インデックスv={v,v,v,v}とする。定義より、v≧v、v≧vであり、親ノードであるインデックスv及び親ノードであるインデックスvは、インデックスvを共通する子ノードとして有する。なお、以下では、v(i=1,2,3)をv^iと表記することもある。また、インデックスvのj番目の要素をv^ijと表記することもある。
N=5として、g=g,g,g,h,h,h,h∈Gが公開鍵として公開されているとする。これらの公開鍵から、インデックスvに対応する情報Kv^1及びインデックスvに対応する情報Kv^2を生成する。rv^1、rv^2は乱数生成部1により生成される乱数である。
インデックスvに対応する情報Kv^1(第一主情報kv^1、第二主情報grv^1、導出情報kv^13、kv^14)は以下のようになる。
v^1=g (g v1 v2rv^1
rv^1
v^13=h rv^1
v^14=h rv^1
また、インデックスvに対応する情報Kv^2(第一主情報kv^2、第二導出情報grv^2、導出情報kv^21、kv^22)は以下のようになる。
v^2=g (g v3 v4rv^2
rv^2
v^21=h rv^2
v^22=h rv^2
インデックスvに対応する情報Kv^1からインデックスvに対応する第一主情報kv^3を導出すると以下のようになる。なお、rv^3は乱数生成部1により生成される乱数であり、r=rv^1+rv^3である。
v^3=kv^1(kv^13 v3v^14 v4)(g v1 v2 v3 v4)rv^3
=g (g v1 v2 v3 v4 …(C)
インデックスvに対応する情報Kv^2からインデックスvに対応する主情報kv^3を導出すると以下のようになる。なお、rv^3’は乱数であり、r’=rv^2+rv^3’である。
v^3=kv^2(kv^21 v1v^22 v2)(g v1 v2 v3 v4)rv^3’
=g (g v1 v2 v3 v4r’ …(D)
上記(C)式に示した情報Kv^1から導出した第一主情報kv^3及び第二主情報grv^3と、上記(D)式に示した情報Kv^2から導出した第一主情報kv^3及び第二主情報grv^3’とを比較すると、これらの値は一致しないが、公開鍵g,h,h,h,hの指数の比が一致しており、述語暗号において同値な鍵となる。
[変形例等]
上記の実施形態では、情報生成装置は、主情報生成部2、導出情報生成部3、主情報導出部5及び導出情報導出部6の全てを有していたが、これらの少なくとも1つの部を有していればよい。例えば、主情報生成部2及び導出情報生成部3のみを有していてもよい。また、主情報導出部5及び導出情報導出部6のみを有しており、既に生成され記憶部4に格納された情報Kを用いて、情報Kを生成してもよい。
また、上述の有限体Fq上で定義された各演算を位数qの有限環Zq上で定義された演算に置き換えてもよい。有限体Fq上で定義された各演算を有限環Zq上で定義された演算に置き換える方法の一例は、素数やそのべき乗値以外のqを許容する方法である。
情報生成装置は、コンピュータによって実現することができる。この場合、これらの装置がそれぞれ有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、これらの装置における各処理機能が、コンピュータ上で実現される。
この処理内容を記述した情報生成プログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、これらの装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
この発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。

Claims (14)

  1. eが巡回群GのN個の元γ(L=1,…,N)(N≧2)と巡回群GのN個の元γ (L=1,…,N)との入力に対して巡回群Gの1個の元を出力する非退化な双線形関数であり、b∈G (i=1,…,N)のそれぞれが、上記巡回群GのN個の元を要素とするN次元の基底ベクトルであり、b ∈G (j=1,…,N)のそれぞれが、上記巡回群GのN個の元を要素とするN次元の基底ベクトルであり、上記基底ベクトルb∈G (i=1,…,N)の各要素と上記基底ベクトルb ∈G (j=1,…,N)の各要素とを上記双線形関数eに入力して得られる関数値が、i=jの場合にδ(i,j)=1となってi≠jの場合にδ(i,j)=0となるクロネッカーのデルタ関数δ(i,j)を用いてg τ・δ(i,j)∈Gと表現され、0が有限体Fの加法単位元であり、1が有限体Fの乗法単位元であり、τが0を除く有限体Fの元であり、gが上記巡回群Gの生成元であり、
    *を不定文字とし、インデックスYをY=(Y,…,YN−1)∈I=(F∪{*})N−1とし、インデックスYに対応する集合w(Y)をw(Y)={i|Y=*}として、
    乱数σ∈Z、及び、集合w(Y)の各要素j∈w(Y)に対応する乱数σYj∈Zを生成する乱数生成部と、
    上記生成された乱数σを用いて、k=σΣi∈{1,…,N−1}\w(Y) +b の関係を満たす主情報kを計算する主情報生成部と、
    上記生成された乱数σYjを用いて、kYj=σYjΣi∈{1,…,N−1}\w(Y) +b の関係を満たす導出情報kYjを集合w(Y)の各要素j∈w(Y)ごとに計算する導出情報生成部と、
    を含むことを特徴とする情報生成装置。
  2. 請求項1に記載の情報生成装置において、
    *を不定文字とし、インデックスvをv=(v,…,vN−1)∈I=(F∪{*})N−1とし、インデックスvに対応する集合w(v)をw(v)={i|v=*}とし、インデックスuをu=(u,…,uN−1)∈I=(F∪{*})N−1とし、インデックスuに対応する集合w(u)をw(u)={i|u=*}とし、集合w(u)⊂集合w(v)とし、v=u(i∈{1,…,N−1}\w(v))として、
    インデックスvに対応する主情報k及びインデックスvに対応する導出情報kvjを記憶する記憶部と、
    上記乱数生成部は、更に乱数σ∈Zを生成し、
    上記記憶部から読み込んだ主情報k、導出情報kvi及び上記生成された乱数σを用いて、k=σΣi∈w(v)\w(u)vi+kの関係を満たす、インデックスuに対応する主情報kを計算する主情報導出部と、
    を含む情報生成装置。
  3. 請求項2に記載の情報生成装置において、
    上記乱数生成部は、更に集合w(u)の各要素j∈w(u)に対応する乱数σuj∈Zを生成し、
    上記記憶部から読み込んだ導出情報kvj及び上記生成された乱数σ uj を用いて、kuj=σujΣi∈w(v)\w(u)vi+kvjの関係を満たすインデックスuに対応する導出情報kujを集合w(u)の各要素j∈w(u)ごとに計算する導出情報導出部を更に含む、
    ことを特徴とする情報生成装置。
  4. eが巡回群GのN個の元γ(L=1,…,N)(N≧2)と巡回群GのN個の元γ (L=1,…,N)との入力に対して巡回群Gの1個の元を出力する非退化な双線形関数であり、b∈G (i=1,…,N)のそれぞれが、上記巡回群GのN個の元を要素とするN次元の基底ベクトルであり、b ∈G (j=1,…,N)のそれぞれが、上記巡回群GのN個の元を要素とするN次元の基底ベクトルであり、上記基底ベクトルb∈G (i=1,…,N)の各要素と上記基底ベクトルb ∈G (j=1,…,N)の各要素とを上記双線形関数eに入力して得られる関数値が、i=jの場合にδ(i,j)=1となってi≠jの場合にδ(i,j)=0となるクロネッカーのデルタ関数δ(i,j)を用いてg τ・δ(i,j)∈Gと表現され、0が有限体Fの加法単位元であり、1が有限体Fの乗法単位元であり、τが0を除く有限体Fの元であり、gが上記巡回群Gの生成元であり、
    *を不定文字とし、インデックスYをY=(Y,…,YN−1)∈I=(F∪{*})N−1とし、インデックスYに対応する集合w(Y)をw(Y)={i|Y=*}とし、σ∈Zを乱数とし、σYiを集合w(Y)の各要素j∈w(Y)に対応する乱数とし、インデックスYに対応する主情報kはk=σΣi∈{1,…,N−1}\w(Y) +b の関係を満たし、インデックスYに対応する導出情報 Yj はkYj=σYjΣi∈{1,…,N−1}\w(Y) +b の関係を満たし、
    *を不定文字とし、インデックスvをv=(v,…,vN−1)∈I=(F∪{*})N−1とし、インデックスuをu=(u,…,uN−1)∈I=(F∪{*})N−1とし、インデックスvに対応する集合w(v)をw(v)={i|v=*}とし、インデックスuに対応する集合w(u)をw(u)={i|u=*}とし、集合w(u)⊂集合w(v)とし、v=u(i∈{1,…,N−1}\w(v))として、
    上記主情報kである又は上記主情報k及び上記導出情報 Yj から導出されたインデックスvに対応する主情報k、及び、上記導出情報 Yj である又は上記導出情報 Yj から導出されたインデックスvに対応する導出情報kvjを記憶する記憶部と、
    乱数σ∈Zを生成する乱数生成部と、
    上記記憶部から読み込んだ主情報k、導出情報kvi及び上記生成された乱数σを用いて、k=σΣi∈w(v)\w(u)vi+kの関係を満たす、インデックスuに対応する主情報kを計算する主情報導出部と、
    を含む情報生成装置。
  5. 請求項4に記載の情報生成装置において、
    上記乱数生成部は、さらに集合w(u)の各要素j∈w(u)に対応する乱数σuj∈Zを生成し、
    上記記憶部から読み込んだ導出情報kvj及び上記生成された乱数σ uj を用いて、kuj=σujΣi∈w(v)\w(u)vi+kvjの関係を満たす導出情報kujを集合w(u)の各要素j∈w(u)ごとに計算する導出情報導出部を更に含む、
    ことを特徴とする情報生成装置。
  6. G、Gを素数位数qの巡回群とし、gを巡回群Gの生成元とし、巡回群Gにはg=e(g,g)が巡回群Gの生成元となるようなペアリング関数e:G×G→Gが存在するとし、aをZからランダムに選択された乱数とし、gとg=g∈Gと巡回群Gからランダムに選択されたg,g,h,…,hN−1∈Gとが公開鍵として公開されており、
    *を不定文字とし、インデックスYをY=(Y,…,YN−1)∈I=(F∪{*})N−1とし、インデックスYに対応する集合w(Y)をw(Y)={i|Y=*}として、
    乱数r∈Zを生成する乱数生成部と、
    上記生成された乱数rを用いて、k=g (gΠi∈{1,…,N−1}\w(Y) YirYの関係を満たす第一主情報kを計算する第一主情報生成部と、
    上記生成された乱数rを用いて、第二主情報grYを計算する第二主情報生成部と、
    上記生成された乱数rを用いて、kYj=h rYの関係を満たす導出情報kYjを集合w(Y)の各要素j∈w(Y)ごとに計算する導出情報生成部と、
    を含むことを特徴とする情報生成装置。
  7. 請求項6に記載の情報生成装置において、
    上記乱数生成部は、更に乱数r∈Zを生成し、
    *を不定文字とし、インデックスvをv=(v,…,vN−1)∈I=(F∪{*})N−1とし、インデックスvに対応する集合w(v)をw(v)={i|v=*}とし、インデックスuをu=(u,…,uN−1)∈I=(F∪{*})N−1とし、インデックスuに対応する集合w(u)をw(u)={i|u=*}とし、集合w(u)⊂集合w(v)とし、v=u(i∈{1,…,N−1}\w(v))として、
    インデックスvに対応する第一主情報k、第二主情報g及びインデックスvに対応する導出情報kvjを記憶する記憶部と、
    上記記憶部から読み込んだ第一主情報k及び導出情報kviを用いて、k=k(Πi∈w(v)\w(u)vi ui)(gΠi∈{1,…,N−1}\w(v) viΠi∈w(v)\w(u) uiruの関係を満たす、インデックスuに対応する第一主情報kを計算する第一主情報導出部と、
    上記生成された乱数rを用いて、第二主情報gruを計算する第二主情報導出部と、
    を含むことを特徴とする情報生成装置。
  8. 請求項7に記載の情報生成装置において、
    上記記憶部から読み込んだ導出情報kvi及び上記生成された乱数rを用いて、kuj=kvj ruの関係を満たす導出情報kujを集合w(u)の各要素j∈w(u)ごとに計算する導出情報導出部を更に含む、
    ことを特徴とする情報生成装置。
  9. G、Gを素数位数qの巡回群とし、gを巡回群Gの生成元とし、巡回群Gにはg=e(g,g)が巡回群Gの生成元となるようなペアリング関数e:G×G→Gが存在するとし、aをZからランダムに選択された乱数とし、gとg=g∈Gと巡回群Gからランダムに選択されたg,g,h,…,hN−1∈Gとが公開鍵として公開されており、
    *を不定文字とし、インデックスYをY=(Y,…,YN−1)∈I=(F∪{*})N−1とし、インデックスYに対応する集合w(Y)をw(Y)={i|Y=*}とし、
    ∈Zを乱数とし、インデックスYに対応する第一主情報kはk=g (gΠi∈{1,…,N−1}\w(Y) YirYの関係を満たし、grYをインデックスYに対応する第二主情報とし、インデックスYに対応する導出情報 Yj はkYj=h rYの関係を満たし、
    *を不定文字とし、インデックスvをv=(v,…,vN−1)∈I=(F∪{*})N−1とし、インデックスvに対応する集合w(v)をw(v)={i|v=*}とし、インデックスuをu=(u,…,uN−1)∈I=(F∪{*})N−1とし、インデックスuに対応する集合w(u)をw(u)={i|u=*}とし、集合w(u)⊂集合w(v)とし、v=u(i∈{1,…,N−1}\w(v))として、
    乱数r∈Zを生成する乱数生成部と、
    上記第一主情報kである又は上記第一主情報k及び上記導出情報 Yj から導出されたインデックスvに対応する第一主情報k、上記導出情報 Yj である又は上記導出情報 Yj から導出されたインデックスvに対応する導出情報kvjを記憶する記憶部と、
    上記記憶部から読み込んだ第一主情報k及び上記導出情報kviを用いて、k=k(Πi∈w(v)\w(u)vi ui)(gΠi∈{1,…,N−1}\w(v) viΠi∈w(v)\w(u) uiruの関係を満たす、インデックスuに対応する第一主情報kを計算する第一主情報導出部と、
    上記生成された乱数rを用いて、第二主情報gruを計算する第二主情報導出部と、
    を含む情報生成装置。
  10. 請求項9に記載された情報生成装置において、
    上記記憶部から読み込んだ導出情報kvi及び上記生成された乱数rを用いて、kuj=kvj ruの関係を満たす導出情報kujを集合w(u)の各要素j∈w(u)ごとに計算する導出情報導出部を更に含む、
    情報生成装置。
  11. eが巡回群GのN個の元γ(L=1,…,N)(N≧2)と巡回群GのN個の元γ (L=1,…,N)との入力に対して巡回群Gの1個の元を出力する非退化な双線形関数であり、b∈G (i=1,…,N)のそれぞれが、上記巡回群GのN個の元を要素とするN次元の基底ベクトルであり、b ∈G (j=1,…,N)のそれぞれが、上記巡回群GのN個の元を要素とするN次元の基底ベクトルであり、上記基底ベクトルb∈G (i=1,…,N)の各要素と上記基底ベクトルb ∈G (j=1,…,N)の各要素とを上記双線形関数eに入力して得られる関数値が、i=jの場合にδ(i,j)=1となってi≠jの場合にδ(i,j)=0となるクロネッカーのデルタ関数δ(i,j)を用いてg τ・δ(i,j)∈Gと表現され、0が有限体Fの加法単位元であり、1が有限体Fの乗法単位元であり、τが0を除く有限体Fの元であり、gが上記巡回群Gの生成元であり、
    *を不定文字とし、インデックスYをY=(Y,…,YN−1)∈I=(F∪{*})N−1とし、インデックスYに対応する集合w(Y)をw(Y)={i|Y=*}として、
    乱数生成部が、乱数σ∈Z、及び、集合w(Y)の各要素j∈w(Y)に対応する乱数σYj∈Zを生成する乱数生成ステップと、
    主情報生成部が、上記生成された乱数σを用いて、k=σΣi∈{1,…,N−1}\w(Y) +b の関係を満たす主情報kを計算する主情報生成ステップと、
    導出情報生成部が、上記生成された乱数σYjを用いて、kYj=σYjΣi∈{1,…,N−1}\w(Y) +b の関係を満たす導出情報kYjを集合w(Y)の各要素j∈w(Y)ごとに計算する導出情報生成ステップと、
    を含むことを特徴とする情報生成方法。
  12. G、Gを素数位数qの巡回群とし、gを巡回群Gの生成元とし、巡回群Gにはg=e(g,g)が巡回群Gの生成元となるようなペアリング関数e:G×G→Gが存在するとし、aをZからランダムに選択された乱数とし、gとg=g∈Gと巡回群Gからランダムに選択されたg,g,h,…,hN−1∈Gとが公開鍵として公開されており、
    *を不定文字とし、インデックスYをY=(Y,…,YN−1)∈I=(F∪{*})N−1とし、インデックスYに対応する集合w(Y)をw(Y)={i|Y=*}として、
    乱数生成部が、乱数r∈Zを生成する乱数生成ステップと、
    第一主情報生成部が、上記生成された乱数rを用いて、k=g (gΠi∈{1,…,N−1}\w(Y) YirYの関係を満たす第一主情報kを計算する第一主情報生成ステップと、
    第二主情報生成部が、上記生成された乱数rを用いて、第二主情報grYを計算する第二主情報生成ステップと、
    導出情報生成部が、上記生成された乱数rを用いて、kYj=h rYの関係を満たす導出情報kYjを集合w(Y)の各要素j∈w(Y)ごとに計算する導出情報生成ステップと、
    を含むことを特徴とする情報生成方法。
  13. 請求項1から10の何れかに記載された情報生成装置の各部としてコンピュータを機能させるための情報生成プログラム。
  14. 請求項13に記載された情報生成プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2011510383A 2009-04-24 2010-04-23 情報生成装置、方法、プログラム及びその記録媒体 Active JP5256342B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011510383A JP5256342B2 (ja) 2009-04-24 2010-04-23 情報生成装置、方法、プログラム及びその記録媒体

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009106009 2009-04-24
JP2009106009 2009-04-24
JP2011510383A JP5256342B2 (ja) 2009-04-24 2010-04-23 情報生成装置、方法、プログラム及びその記録媒体
PCT/JP2010/057279 WO2010123116A1 (ja) 2009-04-24 2010-04-23 情報生成装置、方法、プログラム及びその記録媒体

Publications (2)

Publication Number Publication Date
JPWO2010123116A1 JPWO2010123116A1 (ja) 2012-10-25
JP5256342B2 true JP5256342B2 (ja) 2013-08-07

Family

ID=43011230

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011510383A Active JP5256342B2 (ja) 2009-04-24 2010-04-23 情報生成装置、方法、プログラム及びその記録媒体

Country Status (7)

Country Link
US (1) US8619980B2 (ja)
EP (1) EP2424155B1 (ja)
JP (1) JP5256342B2 (ja)
KR (1) KR101351787B1 (ja)
CN (1) CN102396178B (ja)
ES (1) ES2512115T3 (ja)
WO (1) WO2010123116A1 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USD706200S1 (en) 2010-09-22 2014-06-03 Pylon Manufacturing Corporation Windshield wiper cover
US9174609B2 (en) 2011-04-21 2015-11-03 Pylon Manufacturing Corp. Wiper blade with cover
US9457768B2 (en) 2011-04-21 2016-10-04 Pylon Manufacturing Corp. Vortex damping wiper blade
CA2843527C (en) 2011-07-28 2018-11-27 Pylon Manufacturing Corp. Windshield wiper adapter, connector and assembly
WO2013019645A1 (en) 2011-07-29 2013-02-07 Pylon Manufacturing Corp. Windshield wiper connector
US9108595B2 (en) 2011-07-29 2015-08-18 Pylon Manufacturing Corporation Windshield wiper connector
US8806700B2 (en) * 2011-07-29 2014-08-19 Pylon Manufacturing Corporation Wiper blade connector
JP5677273B2 (ja) * 2011-11-18 2015-02-25 三菱電機株式会社 暗号処理システム、暗号処理方法、暗号処理プログラム及び鍵生成装置
US10723322B2 (en) 2012-02-24 2020-07-28 Pylon Manufacturing Corp. Wiper blade with cover
RU2577981C1 (ru) 2012-02-24 2016-03-20 Пилон Мануфэкчуринг Корп. Щетка стеклоочистителя
US20130219649A1 (en) 2012-02-24 2013-08-29 Pylon Manufacturing Corp. Wiper blade
JP5680007B2 (ja) * 2012-03-06 2015-03-04 三菱電機株式会社 暗号システム、暗号方法及び暗号プログラム
US10829092B2 (en) 2012-09-24 2020-11-10 Pylon Manufacturing Corp. Wiper blade with modular mounting base
US10166951B2 (en) 2013-03-15 2019-01-01 Pylon Manufacturing Corp. Windshield wiper connector
US9505380B2 (en) 2014-03-07 2016-11-29 Pylon Manufacturing Corp. Windshield wiper connector and assembly
USD787308S1 (en) 2014-10-03 2017-05-23 Pylon Manufacturing Corp. Wiper blade package
USD777079S1 (en) 2014-10-03 2017-01-24 Pylon Manufacturing Corp. Wiper blade frame
US10363905B2 (en) 2015-10-26 2019-07-30 Pylon Manufacturing Corp. Wiper blade
US10513246B2 (en) 2016-05-19 2019-12-24 Pylon Manufacturing Corp. Windshield wiper connector
WO2017201458A1 (en) 2016-05-19 2017-11-23 Pylon Manufacturing Corp. Windshield wiper connector
CN109311450A (zh) 2016-05-19 2019-02-05 电缆塔制造有限公司 挡风玻璃雨刮器连接器
CN109311451B (zh) 2016-05-19 2022-08-23 电缆塔制造有限公司 挡风玻璃雨刮器片
US11040705B2 (en) 2016-05-19 2021-06-22 Pylon Manufacturing Corp. Windshield wiper connector
JP2020068437A (ja) * 2018-10-23 2020-04-30 株式会社アメニディ アクセス管理装置、及びプログラム
US11764940B2 (en) 2019-01-10 2023-09-19 Duality Technologies, Inc. Secure search of secret data in a semi-trusted environment using homomorphic encryption
EP4169205A1 (en) * 2020-06-22 2023-04-26 Forctis AG System and method for controlling access to tokens

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005521323A (ja) * 2002-03-21 2005-07-14 ドコモ コミュニケーションズ ラボラトリーズ ユー・エス・エー インコーポレーティッド 階層型の同一性に基づく暗号化および署名スキーム
WO2008099831A1 (ja) * 2007-02-13 2008-08-21 Nec Corporation 鍵生成装置、鍵導出装置、暗号化装置、復号化装置、方法、及び、プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7174013B1 (en) * 1998-10-20 2007-02-06 Lucent Technologies Inc. Efficient universal hashing method
US7080254B1 (en) * 1999-10-01 2006-07-18 France Telecom Method, system, device for proving authenticity of an entity or integrity of a message
US20040086117A1 (en) * 2002-06-06 2004-05-06 Petersen Mette Vesterager Methods for improving unpredictability of output of pseudo-random number generators

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005521323A (ja) * 2002-03-21 2005-07-14 ドコモ コミュニケーションズ ラボラトリーズ ユー・エス・エー インコーポレーティッド 階層型の同一性に基づく暗号化および署名スキーム
WO2008099831A1 (ja) * 2007-02-13 2008-08-21 Nec Corporation 鍵生成装置、鍵導出装置、暗号化装置、復号化装置、方法、及び、プログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JPN6010012284; T. Okamoto et al.: 'Hierarchical Predicate Encryption for Inner-Products' Lecture Notes In Computer Science vol. 5912, 20091201, pp. 214-231, Springer *
JPN6010012288; J. Katz et al.: 'Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products' Cryptology ePrint Archive Report 2007/404, 20080708, International Association for Cryptologic Research *
JPN6010031604; X. Boyen et al.: 'Anonymous Hierarchical Identity-Based Encryption (Without Random Oracles)' Cryptology ePrint Archive Report 2006/085, 20060608, International Association for Cryptologic Research *
JPN6010031605; E. Shi et al.: 'Delegating Capabilities in Predicate Encryption Systems' Cryptology ePrint Archive Report 2008/279, 20080624, International Association for Cryptologic Research *

Also Published As

Publication number Publication date
EP2424155B1 (en) 2014-09-03
EP2424155A1 (en) 2012-02-29
KR20110136841A (ko) 2011-12-21
US20120027206A1 (en) 2012-02-02
WO2010123116A1 (ja) 2010-10-28
US8619980B2 (en) 2013-12-31
CN102396178B (zh) 2014-12-10
JPWO2010123116A1 (ja) 2012-10-25
CN102396178A (zh) 2012-03-28
EP2424155A4 (en) 2012-08-15
ES2512115T3 (es) 2014-10-23
KR101351787B1 (ko) 2014-01-15

Similar Documents

Publication Publication Date Title
JP5256342B2 (ja) 情報生成装置、方法、プログラム及びその記録媒体
JP5291795B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、セキュリティ方法、プログラム及び記録媒体
JP5337238B2 (ja) 秘密分散システム、分散装置、分散管理装置、取得装置、それらの処理方法、秘密分散方法、プログラム及び記録媒体
JP5466763B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、プログラム、及び記録媒体
JP5379914B2 (ja) 秘密分散システム、分散装置、分散管理装置、取得装置、秘密分散方法、プログラム、及び記録媒体
EP2503533A1 (en) Cipher processing system, key generating device, key delegating device, encrypting device, decrypting device, cipher processing method, and cipher processing program
ES2955589T3 (es) Sistema de procesamiento criptográfico, dispositivo de generación de clave, dispositivo de delegación de clave, dispositivo de cifrado, dispositivo de descifrado, procedimiento de procesamiento criptográfico y programa de procesamiento criptográfico
Silverberg Fully homomorphic encryption for mathematicians
Karbasi et al. PairTRU: Pairwise non-commutative extension of the NTRU public key cryptosystem
Abo-Alsood et al. Design of an alternative NTRU Encryption with High Secure and Efficient
Fouotsa et al. SimS: a simplification of SiGamal
Mittal et al. A quantum secure ID-based cryptographic encryption based on group rings
JP5612494B2 (ja) 関数暗号を用いた時限暗号システム、時限暗号方法、装置、プログラム
Zhao et al. An improvement and a new design of algorithms for seeking the inverse of an NTRU polynomial
LaVigne Simple homomorphisms of cocks IBE and applications
Luo et al. New fully secure hierarchical identity-based encryption with constant size ciphertexts
Elhassani et al. Elliptic curve and lattice cryptosystem
Singh FIFE: A Framework for Investigating Functional Encryption
Ramanna et al. Efficient (anonymous) compact hibe from standard assumptions
Guan et al. Detect zero by using symmetric homomorphic encryption
Li et al. Noiseless Fully Homomorphic Encryption
Silverberg et al. Using Mathematics to Make Computing on Encrypted Data Secure and Practical

Legal Events

Date Code Title Description
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: 20130416

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130422

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5256342

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160426

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350