CN102396178A - 信息生成装置、方法、程序以及其记录介质 - Google Patents

信息生成装置、方法、程序以及其记录介质 Download PDF

Info

Publication number
CN102396178A
CN102396178A CN2010800165979A CN201080016597A CN102396178A CN 102396178 A CN102396178 A CN 102396178A CN 2010800165979 A CN2010800165979 A CN 2010800165979A CN 201080016597 A CN201080016597 A CN 201080016597A CN 102396178 A CN102396178 A CN 102396178A
Authority
CN
China
Prior art keywords
information
index
random number
mentioned
crowd
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.)
Granted
Application number
CN2010800165979A
Other languages
English (en)
Other versions
CN102396178B (zh
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
Publication of CN102396178A publication Critical patent/CN102396178A/zh
Application granted granted Critical
Publication of CN102396178B publication Critical patent/CN102396178B/zh
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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Complex Calculations (AREA)

Abstract

实现以树结构以外的一般的半顺序结构表现的分层型密码。在信息生成时,生成随机数σv、(σvj)j∈w(v)∈Zq,计算主信息kv=σvi∈{1,...,N-1}\w(v)vibi *+bN *,并且对各j∈w(v)计算导出信息kvj=σvji∈{1,...,N-1}\w(v)vibi *+bj *。在信息导出时,生成随机数σu、(σuj)j∈w(u)∈Zq,计算主信息ku=σui∈w(v)\w(u)uikvi+kv,并对各j∈w(u)计算导出信息kuj=σuji∈w(v)\w(u)uikvi+kvj

Description

信息生成装置、方法、程序以及其记录介质
技术领域
本发明涉及信息安全技术的应用技术。例如,涉及能够根据解密密钥来导出进一步限制了解密权限的解密密钥的分层型密码。
背景技术
作为分层型密码的以往技术,已知非专利文献1所记载的技术。
现有技术文献
非专利文献1:Craig Gentry,Alice Silverberg,“Hierarchical ID-BasedCryptography”,ASIACRYPT 2002,p.548-566
发明内容
发明要解决的课题
在非专利文献1所记载的技术中,能够根据与树构造的父节点对应的密钥导出与子节点对应的密钥,但是无法实现以树构造以外的一般的半顺序构造s表现的密钥导出。例如,存在如下的课题:对于具有共同的子节点C的父节点A与父节点B,无法根据父节点A的密钥导出共同的子节点C的密钥,并且无法根据父节点B的密钥导出共同的子节点C的密钥。
用于解决课题的手段
为了解决上述课题,技术方案1的信息生成装置,其中,e是对于巡回群G1的N个元γL(L=1,…,N)(N≥2)和巡回群G2的N个元γL *(L=1,…,N)的输入而输出巡回群GT的1个元的非退化的双线型函数,bi∈G1 N(i=1,…,N)的各个是将上述巡回群G1的N个元作为元素的N维的基底向量,bj *∈G2 N(j=1,…,N)的各个是将上述巡回群G2的N个元作为元素的N维的基底向量,使用在i=j时成为δ(i,j)=1F并且在i≠j时成为δ(i,j)=OF的Kronecker的δ函数δ(i,j),将上述基底向量bi∈G1 N(i=1,…,N)的各元素和上述基底向量bj *∈G2 N(j=1,…,N)的各元素输入到上述双线型函数e而得到的函数值表现为gT τ·δ(i,j)∈GT,OF为有限域Fq的加法单位元,1F为有限域Fq的乘法单位元,τ为除了OF的有限域Fq的元,gT为上述巡回群GT的生成元,将*设为不定字符,将索引Y设为Y=(Y1,…,YN-1)∈I=(Fq∪{*})N-1,将与索引Y对应的集合w(Y)设为w(Y)={i|Yi=*},该信息生成装置包括:随机数生成单元,生成随机数σY∈Zq、以及与集合w(Y)的各元素j∈w(Y)对应的随机数σYj∈Zq;主信息生成单元,使用上述生成的随机数σY,计算满足kY=σYi∈{1, …,N-1}\w(Y)Yibi *+bN *的关系的主信息kY;以及导出信息生成单元,使用上述生成的随机数σYj,对集合w(Y)的各元素j∈w(Y)的每一个,计算满足kYj=σYji∈{1,...,N-1}\w(Y)Yibi *+bj *的关系的导出信息kYj
技术方案4的信息生成装置,其中,e是对于巡回群G1的N个元γL(L=1,...,N)(N≥2)和巡回群G2的N个元γL *(L=1,...,N)的输入而输出巡回群GT的1个元的非退化的双线型函数,bi∈G1 N(i=1,...,N)的各个是将上述巡回群G1的N个元作为元素的N维的基底向量,bj *∈G2 N(j=1,…,N)的各个是将上述巡回群G2的N个元作为元素的N维的基底向量,使用在i=j时成为δ(i,j)=1F并且在i≠j时成为δ(i,j)=OF的Kronecker的δ函数δ(i,j),将上述基底向量bi∈G1 N(i=1,...,N)的各元素和上述基底向量bj *∈G2 N(j=1,...,N)的各元素输入到上述双线型函数e而得到的函数值表现为gT τ·δ(i,j)∈GT,OF为有限域Fq的加法单位元,1F为有限域Fq的乘法单位元,τ为除了OF的有限域Fq的元,gT为上述巡回群GT的生成元,将*设为不定字符,将索引Y设为Y=(Y1,...,YN-1)∈I=(Fq∪{*})N-1,将与索引Y对应的集合w(Y)设为w(Y)={i|Yi=*},将σY ∈Zq设为随机数,将σYi设为与集合w(Y)的各元素j∈w(Y)对应的随机数,与索引Y对应的主信息kY满足kY=σYi∈{1,…,N-1}\w (Y)Yibi *+bN *的关系,与索引Y对应的导出信息kYi满足kYj=σY ji∈{1,…,N-1}\w(Y)Yibi *+bj *的关系,将*设为不定字符,将索引v设为v=(v1,…,vN-1)∈I=(Fq∪{*})N-1,将索引u设为u=(u1,…,uN-1)∈I=(Fq∪{*})N-1,将与索引v对应的集合w(v)设为w(v)={i|vi=*},将与索引u对应的集合w(u)设为w(u)={i|ui=*},设为
Figure BDA0000098708130000031
设为vi=ui(i∈{1,…,N-1}\w(v)),该信息生成装置包括:存储单元,存储作为上述主信息kY的或者根据上述主信息kY和上述导出信息kYi导出的与索引v对应的主信息kv、以及作为上述导出信息kYi的或者根据上述导出信息kYi导出的与索引v对应的导出信息kvj;子随机数生成单元,生成随机数σu∈Zq;以及主信息导出单元,使用从上述存储单元读取的主信息kv、导出信息kvi以及上述生成的随机数σu,计算满足ku=σui∈w(v)\w(u)uikvi+kv的关系的、与索引u对应的主信息ku
技术方案6的信息生成装置,其中,将G、GT设为质数位数q的巡回群,将g设为巡回群G的生成元,设为在巡回群G中存在gT=e(g,g)成为巡回群GT的生成元的配对函数e:G×G→GT,将a设为从Zp随机选择的随机数,从g和g1=ga∈G和巡回群G随机选择的g2,g3,h1,…,hN-1∈G作为公开密钥而公开,将*设为不定字符,将索引Y设为Y=(Y1,…,YN-1)∈I=(Fq∪{*})N-1,将与索引Y对应的集合w(Y)设为w(Y)={i|Yi=*},该信息生成装置包括:随机数生成单元,生成随机数rY∈Zq;第一主信息生成单元,使用上述生成的随机数rY,计算满足kY=g2 a(g3i∈{1,…,N-1}\w(Y)hi Yi)rY的关系的第一主信息kY;第二主信息生成单元,使用上述生成的随机数rY,计算第二主信息grY;以及导出信息生成单元,使用上述生成的随机数rY,对集合w(Y)的各元素j∈w(Y)的每一个,计算满足kYj=hj rY的关系的导出信息kYj
技术方案9的信息生成装置,其中,将G、GT设为质数位数q的巡回群,将g设为巡回群G的生成元,设为在巡回群G中存在gT=e(g,g)成为巡回群GT的生成元的配对函数e:G×G→GT,将a设为从Zp随机选择的随机数,从g和g1=ga∈G和巡回群G随机选择的g2,g3,h1,…,hN-1∈G作为公开密钥而公开,将*设为不定字符,将索引Y设为Y=(Y1,…,YN-1)∈I=(Fq∪{*})N-1,将与索引Y对应的集合w(Y)设为w(Y)={i|Yi=*},将rY∈Zq设为随机数,与索引Y对应的第一主信息kY满足kY=g2 a(g3i∈{1,…,N-1}\w(Y)hi Yi)rY的关系,将grY设为与索引Y对应的第二主信息,与索引Y对应的导出信息kYi满足kYj=hj rY的关系,将*设为不定字符,将索引v设为v=(v1,…,vN-1)∈I=(Fq∪{*})N-1,将与索引v对应的集合w(v)设为w(v)={i|vi=*},将索引u设为u=(u1,…,uN-1)∈I=(Fq∪{*})N-1,将与索引u对应的集合w(u)设为w(u)={i|ui=*},设为
Figure BDA0000098708130000041
设为vi=ui(i∈{1,…,N-1}\w(v)),该信息生成装置包括:随机数生成单元,生成随机数ru∈Zq;存储单元,存储作为上述第一主信息kY的或者从上述第一主信息kY和上述导出信息kYi导出的与索引v对应的第一主信息kv、以及作为上述导出信息kYi的或者从上述导出信息kYi导出的与索引v对应的导出信息kvj;第一主信息导出单元,使用从上述存储单元读取的第一主信息kv和上述导出信息kvi,计算满足ku=kv(∏i∈w(v)\w(u)kvi ui)(g3i∈{1,…,N-1}\w(v)hi vii∈w(v)\w(u)hi ui)ru的关系的、与索引u对应的第一主信息ku;第二主信息导出单元,使用上述生成的随机数ru,计算第二主信息gru
发明的效果
对于具有共同的子节点C的父节点A与父节点B,能够根据父节点A的信息导出共同的子节点C的信息,能够根据父节点B的信息导出共同的子节点C的信息。
附图说明
图1是第一实施方式的信息生成装置的功能方框图的例子。
图2是第一实施方式的信息生成的流程图的例子。
图3是第一实施方式的信息导出的流程图的例子。
图4是第二实施方式的信息生成装置的功能方框图的例子。
图5是第二实施方式的信息生成的流程图的例子。
图6是第二实施方式的信息导出的流程图的例子。
具体实施方式
以下,详细说明本发明的实施方式。
【术语密码】
首先,对在第一实施方式中使用的概念即术语密码的概要进行说明。
[定义]
首先对在本方式中使用的用语和符号进行定义。
矩阵:“矩阵”表示将定义了运算的集合的元以矩形排列的集合。不仅把将环的元作为元素的集合表现为“矩阵”,也把将群的元作为元素的集合表现为“矩阵”。
(·)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的例子是质数域、或者将其作为基础域的扩展域。另外,例如通过将位数q作为除数的剩余运算,从而能够容易地构成在有限域Fq为质数域时的运算。此外,例如通过将不可约多项式作为除数的剩余运算,从而能够容易地构成在有限域Fq为扩展域时的运算。有限域Fq的具体的构成方法,例如公开于参考文献1“ISO/IEC 18033-2:Informationtechnology-Security techniques-Encryption algorithms-Part 2:Asymmetricciphers”。
0F:0F表示有限域Fq的加法单位元。
1F:1F表示有限域Fq的乘法单位元。
δ(i,j):δ(i,j)表示Kronecker的δ函数。在i=j时满足δ(i,j)=1F,在i≠j时满足δ(i,j)=0F
E:E表示在有限域Fq上定义的椭圆曲线。E被定义成,对由满足如式(1)的affine坐标版的Weierstrass方程式(其中,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 CurveImplementations of the BF and BB1 Cryptosystems”、参考文献3“イアン·F·ブラケ、ガデイエル·セロツシ、ナイジエル·P·スマ一ト=著、「楕円曲線暗号」、出版=ピアソン·エデユケ一シヨン、ISBN4-89471-431-0”等)。
y2+a1·x·y+a3·y=x3+a2·x2+a4·x+a6       ...(1)
此外,由椭圆曲线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中定义的运算,对于Ω1、Ω2∈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(Γ1,Γ2)ν·κ     ...(3)
[非退化性]不是将所有的
Γ1∈G1 n+1,Γ2∈G2 n+1           ...(4)
映射到巡回群GT的单位元的函数。
[可计算性]存在对所谓的Γ1∈G1 n+1、Γ2∈G2 n+1有效率地计算e(Γ1,Γ2)的算法。
在本方式中,使用用于计算将巡回群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的一个元
e=∏L=1 n+1Pair(γL,γL *)         ...(6)
的函数。
另外,双线型函数Pair是将巡回群G1的1个元和巡回群G2的1个元的组合作为输入,输出巡回群GT的1个元的函数,满足以下的性质。
[双线型性]对所有的Ω1∈G1、Ω2∈G2和ν,κ∈Fq,满足以下的关系。
Pair(ν·Ω1,κ·Ω2)=Pair(Ω1,Ω2)ν·κ         ...(7)
[非退化性]不是将所有的
Ω1∈G1,Ω2∈G2            ...(8)
映射到巡回群GT的单位元的函数。
[可计算性]存在对所谓的Ω1∈G1、Ω2∈G2有效率地计算Pair(Ω1,Ω2)的算法。
另外,双线型函数Pair的具体例子是,用于进行Weil-Pairing或Tate-Pairing等配对运算的函数(例如,参照参考文献4“Alfred.J.Menezes,ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS,KLUWER ACADEMICPUBLISHERS,ISBN0-7923-9368-6,pp.61-81”等)。此外,根据椭圆曲线E的种类,也可以将组合了用于进行Tate-Pairing等配对运算的函数与规定的函数phi的变形配对函数e(Ω1,phi(Ω2))(Ω1∈G1,Ω2∈G2)作为双线型函数Pair来使用(例如,参照参考文献2等)。此外,作为用于在计算机上进行配对运算的算法,存在众所周知的Miller算法(参考文献5“V.S.Miller,“ShortPrograms for functions on Curves,”1986,因特网<http://crypto.stanford.edu/miller/miller.pdf>”)等。此外,众所周知用于有效率地进行配对运算的椭圆曲线和巡回群的构成方法(例如,参照参考文献2、参考文献6“A.Miyaji,M.Nakabayashi,S.Takano,″New explicit conditions ofelliptic 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 degreeover finite prime fields,″http://eprint.iacr.org/2002/094/”等)。
ai(i=1,...,n+1):ai表示将巡回群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*
另外,关于除了0F的有限域Fq的元τ=κ1·κ2,基底向量ai和基底向量ai *满足式(11)。
e(ai,aj *)=gT τ·δ(i,j)          ...(11)
即,i=j时,根据式(6)(7)的关系,满足
e(ai,aj *)=Pair(κ1·g1,κ2·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·g1,κ2·g2),成为Pair(0,κ2·g2)与Pair(κ1·g1,0)与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时(例如,κ1=κ2=1F时),满足式(12)。这里,gT 0=1是巡回群GT的单位元,gT 1=gT是巡回群GT的生成元。这种情况下,基底向量ai和基底向量ai *是双对正规正交基底,向量空间V和向量空间V*是可构成双线型映射的双对向量空间[双配对向量空间(DPVS:Dual Paring Vectorspace)]。
e(ai,aj *)=gT δ(i,j)        ...(12)
A:A表示将基底向量ai(i=1,...,n+1)作为元素的n+1行n+1列的矩阵。例如,通过式(9)表现基底向量ai(i=1,...,n+1)的情况下,矩阵A成为数1。
[数1]
Figure BDA0000098708130000101
A*:A*表示将基底向量ai *(i=1,...,n+1)作为元素的n+1行n+1列的矩阵。例如,通过式(10)表现基底向量ai *(i=1,...,n+1)的情况下,矩阵A*成为数2。
[数2]
Figure BDA0000098708130000102
X:X表示将有限域Fq的元作为元素的n+1行n+1列的矩阵。矩阵X使用于基底向量ai的坐标变换。如果将矩阵X的i行i列(i=1,...,n+1,j=1,...,n+1)的元素设为χi,j∈Fq,则矩阵X成为数3。另外,将矩阵X的各元素χi,j称为变换系数。
[数3]
Figure BDA0000098708130000103
...(15)
X*:X*表示矩阵X的逆矩阵的转置矩阵X*=(X-1)T。矩阵X*使用于基底向量ai *的坐标变换。如果将矩阵X*的i行i列的元素设为χi,j *∈Fq,则矩阵X*成为数4。另外,将矩阵X*的各元素χi,j *称为变换系数。
[数4]
Figure BDA0000098708130000111
这种情况下,如果将n+1行n+1列的单位矩阵设为I,则满足X·(X*)T=I。即,对于如数5的单位矩阵,满足数6。
[数5]
[数6]
Figure BDA0000098708130000113
...(18)
Figure BDA0000098708130000114
这里,定义n+1维向量。
χi =(χi,1,...,χi,n+1)           ...(19)
χj →*=(χj,1 *,...,χj,n+1 *)        ...(20)
则根据式(18)的关系,n+1维向量χi 和χj →*的内积成为式(21)。
χi ·χj →*=δ(i,j)      ...(21)
bi:bi表示将巡回群G1的n+1个元作为元素的n+1维的基底向量。通过使用矩阵X来对基底向量ai(i=1,...,n+1)进行坐标变换,从而得到基底向量bi。具体地,通过式(22)的运算获得基底向量bi
bi=∑j=1 n+1χi,j·aj      ...(22)
例如,通过式(9)表现基底向量aj(j=1,...,n+1)的情况下,如果分别列举基底向量bi的各元素而表现,则成为如下。
bi=(χi,1·κ1·g1,χi,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)进行坐标变换来得到。具体地,通过式(24)的运算获得基底向量bi *
bi *=∑j=1 n+1χi,j *·aj *         ...(24)
例如,通过式(10)表现基底向量aj *(j=1,...,n+1)的情况下,如果分别列举基底向量bi *的各元素而表现,则成为如下。
bi *=(χi,1 *·κ2·g2,χi,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*
另外,关于除了0F的有限域Fq的元τ=κ1·κ2,基底向量bi和基底向量bi *满足式(26)。
e(bi,bj *)=gT τ·δ(i,j)        ...(26)
即,根据式(6)(21)(23)(25)的关系,满足数7。
[数7]
e ( b i , b j * ) = &Pi; L = 1 n + 1 Pair ( &chi; i , L &CenterDot; &kappa; 1 &CenterDot; g 1 , &chi; j , L * &CenterDot; &kappa; 2 &CenterDot; g 2 )
= Pair ( &chi; i , 1 &CenterDot; &kappa; 1 &CenterDot; g 1 , &chi; j , 1 * &CenterDot; &kappa; 2 &CenterDot; g 2 ) &CenterDot; . . . &CenterDot; ( &chi; i , n &CenterDot; &kappa; 1 &CenterDot; g 1 , &chi; j , n * &CenterDot; &kappa; 2 &CenterDot; g 2 )
&times; Pair ( &chi; j , n + 1 &CenterDot; &kappa; 1 &CenterDot; g 1 , &chi; j , n + 1 * &CenterDot; &kappa; 2 &CenterDot; g 2 )
= Pair ( g 1 , g 2 ) &kappa; 1 &CenterDot; &kappa; 2 &CenterDot; &chi; i , 1 &CenterDot; &chi; j , 1 * &CenterDot; . . . &CenterDot; Pair ( g 1 , g 2 ) &kappa; 1 &CenterDot; &kappa; 2 &CenterDot; &chi; i , 2 &CenterDot; &chi; j , 2 *
&times; Pair ( g 1 , g 2 ) &kappa; 1 &CenterDot; &kappa; 2 &CenterDot; &chi; i , n + 1 &CenterDot; &chi; j , n + 1 *
= Pair ( g 1 , g 2 ) &kappa; 1 &CenterDot; &kappa; 2 ( &chi; i , 1 &CenterDot; &chi; j , 1 * + &chi; i , 2 &CenterDot; &chi; j , 2 * + . . . + &chi; i , n + 1 &CenterDot; &chi; j , n + 1 * )
= Pair ( g 1 , g 2 ) &kappa; 1 &CenterDot; &kappa; 2 &CenterDot; &chi; i &RightArrow; &CenterDot; &chi; j &RightArrow; *
= Pair ( g 1 , g 2 ) &tau; &CenterDot; &delta; ( i , j ) = g T &tau; &CenterDot; &delta; ( i , j )
尤其,在τ=κ1·κ2=1F时(例如,κ1=κ2=1F时),满足式(27)。这种情况下,基底向量bi和基底向量bi *是双配对向量空间(向量空间V和向量空间V*)的双对正规正交基底。
e(bi,bj *)=gT δ(i,j)     ...(27)
另外,如果满足式(26)的关系,则可以使用式(9)(10)所例示的向量以外的基底向量ai和ai *、式(22)(24)所例示的向量以外的基底向量bi和bi *
B:B表示将基底向量bi(i=1,...,n+1)作为元素的n+1行n+1列的矩阵。满足B=X·A。例如,通过式(23)表现基底向量bi的情况下,矩阵B成为数8。
[数8]
B = b 1 b 2 &CenterDot; &CenterDot; &CenterDot; b n + 1 &CenterDot; &CenterDot; &CenterDot; ( 28 )
B*:B*表示将基底向量bi *(i=1,...,n+1)作为元素的n+1行n+1列的矩阵。满足B*=X*·A*。例如,通过式(25)表现基底向量bi *(i=1,...,n+1)的情况下,矩阵B*成为数9。
[数9]
B * = b 1 * b 2 * &CenterDot; &CenterDot; &CenterDot; b n + 1 *
Figure BDA0000098708130000142
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、或者看作该函数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”等的hash函数。
单射函数:“单射函数”表示属于值域的任何元表现为该定义域的仅一个元的像的函数、或者看作该函数的函数。
近似的随机函数:“近似的随机函数”表示在任意的概率多项式时间算法无法区别集合Фζ与其子集合Фζ的情况下属于该子集合Фζ的函数、或者看作该函数的函数。其中,集合Фζ是将集合{0,1}ζ的元映射到集合{0,1}ζ的元的所有的函数的集合。近似的随机函数的例子是如上所述的hash函数。
H1:H1表示将两个二进制序列(ω1,ω2)∈{0,1}k×{0,1}*作为输入,输出有限域Fq的两个元(ψ1,ψ2)∈Fq×Fq的冲突困难的函数。
H1:{0,1}k×{0,1}*→Fq×Fq    ...(33)
这样的函数H1的例子是,将ω1和ω2的比特连结值ω1||ω2作为输入,并且进行参考文献1所公开的“cryptographic hash function”等的hash函数、“从二进制序列到整数的变换函数(Octet string/integer conversion)”、“从二进制序列到有限域的元的变换函数(Octet string and integer/finite field conversion)”的运算,而输出有限域Fq的两个元(ψ1,ψ2)∈Fq×Fq的函数。另外,函数H1期望为近似的随机函数。
H2:H2表示将巡回群GT的元和二进制序列(ξ,ω2)∈GT×{0,1}*作为输入,输出有限域Fq的一个元ψ∈Fq的冲突困难的函数。
H2:GT×{0,1}*→Fq    ...(34)
这样的函数H2的例子是,将巡回群GT的元ξ∈GT和二进制序列ω2∈{0,1}*作为输入,将巡回群GT的元ξ∈GT输入到参考文献1所公开的“从有限域的元到二进制序列的变换函数(Octet string and integer/finite fieldconversion)”来求二进制序列,并对该二进制序列和二进制序列ω2∈{0,1}*的比特连结值进行参考文献1所公开的“cryptographic hash function”等的hash函数运算,进一步进行“从二进制序列到有限域的元的变换函数(Octet stringand integer/finite field conversion)”的运算,从而输出有限域Fq的一个元ψ∈Fq的函数。另外,从安全性的观点出发,函数H2进一步期望为近似的随机函数。
R:R表示将1个巡回群GT的元ξ∈GT作为输入,输出1个二进制序列ω∈{0,1}k的单射函数。
R:GT→{0,1}k    ...(35)
这样的单射函数R的例子是,将巡回群GT的元ξ∈GT作为输入,进行参考文献1所公开的“从有限域的元到二进制序列的变换函数(Octet string andinteger/finite field conversion)”、参考文献1所公开的“KDF(Key DerivationFunction)”等的hash函数的运算,从而输出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“″PredicateEncryption Supporting Disjunctions,Polynomial Equations,and Inner Products,″with Amit Sahai and Brent Waters One of 4papers from Eurocrypt 2008invited tothe Journal of Cryptology”等。
<内积术语密码>
内积术语密码是作为属性信息和术语信息而使用向量,并且在其内积成为0的情况下能够对密码文进行解密的术语密码。在内积术语密码中,内积为0与逻辑式为“真”是等价的。
[逻辑式与多项式的关系]
在内积术语密码中,通过多项式来表现由逻辑和与逻辑积构成的逻辑式。
首先,通过式(36)的多项式来表现“x为η1”的命题1和“x为η2”的命题2的逻辑和(x=η1)∨(x=η2)。
(x-η1)·(x-η2)         ...(36)
则各真理值与式(36)的函数值的关系成为如下。
[表1]
Figure BDA0000098708130000171
从[表1]可知,在逻辑和(x=η1)∨(x=η2)为真的情况下,式(36)的函数值为0,在逻辑和(x=η1)∨(x=η2)为假的情况下,式(36)的函数值为0以外的值。即,逻辑和(x=η1)∨(x=η2)为真与式(36)的函数值为0是等价的。因此,能够通过式(36)来表现逻辑和。
此外,通过式(37)的多项式来表现“x为η1”的命题1和“x为η2”的命题2的逻辑积(x=η1)∧(x=η2)。
ι1·(x-η1)+ι2·(x-η2)    ...(37)
其中,ι1和ι2是随机数。则,真理值与式(37)的函数值成为以下的关系。
[表2]
Figure BDA0000098708130000172
从[表2]可知,在逻辑积(x=η1)∧(x=η2)为真的情况下,式(37)的函数值为0,在逻辑积(x=η1)∧(x=η2)为假的情况下,式(37)的函数值为0以外的值。即,逻辑积(x=η1)∧(x=η2)为真与式(37)的函数值为0是等价的。因此,能够通过式(37)来表现逻辑积。
如以上那样,使用式(36)和式(37),从而能够通过多项式f(x)来表现由逻辑和和逻辑积构成的逻辑式。例如,能够通过式(38)的多项式来表现逻辑式{(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,从而通过多项式(x00)·(x11)来表现“x0为η0”的命题1与“x1为η1”的命题2的逻辑和(x0=η0)∨(x1=η1),也可以使用3个以上的不定元,通过多项式来表现逻辑和。
此外,在式(37)中,使用1个不定元x来表现了逻辑积,但也可以使用多个不定元来表现逻辑积。例如,此外,通过多项式ι0·(x00)+ι1·(x11)来表现“x0为η0”的命题1与“x1为η1”的命题2的逻辑积(x0=η0)∧(x1=η1),也可以使用3个以上的不定元,通过多项式来表现逻辑积。
将使用H(H≥1)种类的不定元x0,...,xH-1来表现了包括逻辑和以及/或者逻辑积的逻辑式的多项式,表现为f(x0,...,xH-1)。此外,将与各不定元x0,...,xH-1对应的命题设为“xh为ηh”。其中,ηh(h=0,...H-1)是对每个命题设定的常数。这种情况下,通过取不定元xh与常数ηh的差的多项式来表现该不定元xh为该常数ηh的命题,通过分别表现命题的多项式的积来表现该命题的逻辑和,通过分别表现命题或者命题的逻辑和的多项式的线性和来表现该命题或者命题的逻辑和的逻辑积,由此,表示该逻辑式的多项式f(x0,...,xH-1)成为表现了逻辑式的多项式。例如,使用5个不定元x0,...,x4,通过多项式表现逻辑式{(x0=η0)∨(x1=η1)∨(x2=η2)}∧(x3=η3)∧(x4=η4),则成为如下。
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
例如,可以通过2个n维向量
w=(w1,...,wn)=(θ0,...,θn-1)        ...(39)
v=(v1,...,vn)=(x0,...,xn-1)          ...(40)
的内积
f(x)=w·v        ...(41)
,表现由1个不定元x表现的多项式f(x)=θ0·x01·x+...+θn-1·xn-1。即,表示逻辑式的多项式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,...,xn)       ...(43)
v=(v1,...,vn)=(θ1,...,θ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 EncapsulationMechanisms)时的基本结构进行例示。该结构包括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输出,并且作为公开参数PK来输出向量空间V,V*、以基底向量bi(i=1,...,n+1)作为元素的n+1行n+1列的矩阵B、安全参数k、有限域Fq、椭圆曲线E、巡回群G1,G2,GT、生成元g1,g2,gT、双线型函数e等。
《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,生成式(46)的密码文。
C2=υ1·(∑μ=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)的性质,满足数10。
[数10]
e ( C 2 , D * ) = e ( &upsi; 1 &CenterDot; ( &Sigma; &mu; = 1 n v &mu; &CenterDot; b &mu; ) + &upsi; 2 &CenterDot; b n + 1 , &alpha; &CenterDot; ( &Sigma; &mu; = 1 n w &mu; &CenterDot; b &mu; * ) + b n + 1 * )
= e ( &upsi; 1 &CenterDot; v 1 &CenterDot; b 1 , &alpha; &CenterDot; w 1 &CenterDot; b 1 * ) &CenterDot; . . . &CenterDot; e ( &upsi; 1 &CenterDot; v n &CenterDot; b n , &alpha; &CenterDot; w n &CenterDot; b n * )
&times; e ( &upsi; 2 &CenterDot; b n + 1 , b n + 1 * )
...(47)
= e ( b 1 , b 1 * ) &upsi; 1 &CenterDot; v 1 &CenterDot; &alpha; &CenterDot; w 1 &CenterDot; . . . &CenterDot; e ( b n , b n * ) &upsi; 1 &CenterDot; v n &CenterDot; &alpha; &CenterDot; w n &CenterDot; e ( b n + 1 , b n + 1 * ) &upsi; 2
= g T &tau; &CenterDot; &upsi; 1 &CenterDot; v 1 &CenterDot; &alpha; &CenterDot; w 1 &CenterDot; . . . &CenterDot; g T &tau; &CenterDot; &upsi; 1 &CenterDot; v n &CenterDot; &alpha; &CenterDot; w n &CenterDot; g T &tau; &CenterDot; &upsi; 2
= g T &tau; &CenterDot; &upsi; 1 &CenterDot; &alpha; &CenterDot; v &RightArrow; &CenterDot; w &RightArrow; &CenterDot; g T &tau; &CenterDot; &upsi; 2
这里,如果是内积w·v=0,则式(47)能够变形为数11。从该结果,生成并输出共同密钥K。共同密钥K的一例是K=gT τ·υ2∈GT
[数11]
e ( C 2 , D * ) = g T &tau; &CenterDot; &upsi; 1 &CenterDot; &alpha; &CenterDot; 0 &CenterDot; g T &tau; &CenterDot; &upsi; 2 ...(48)
= g T &tau; &CenterDot; &upsi; 2
【第一实施方式】
第一实施方式的信息生成装置和方法使用上述的术语密码来实现了分层型密码。具体地,使用在上述的术语密码中出现的基底b*,从而实现了以树结构以外的一般的半顺序结构来表现的信息导出。
在图1中例示了第一实施方式的信息生成装置的功能方框图。
对各信息附加了索引v。索引v是v=(v1,...,vN-1)∈I=(Fq∪{*})N-1,对索引v定义了与其对应的集合w(v)={i|vi=*}。*是不定字符。以下出现的索引u、索引Y等索引具有与索引v相同的结构,设为索引u=(u1,...,uN-1)∈I=(Fq∪{*})N-1、索引Y=(Y1,...,YN-1)∈I=(Fq∪{*})N-1。对于索引u∈I和索引v∈I,在
Figure BDA0000098708130000219
且vi=ui(i∈{1,...,N-1}\w(v))时,即在
Figure BDA00000987081300002110
且对于任意的i∈{1,...,N-1}\w(v)而成立vi=ui时,设为索引u≤索引v,并且索引v是比索引u上位的信息。这里,标号“\”意味着集合的减算,例如在集合A={1,2,3}、集合B={1}时,成立A\B={2,3}。
例如,设为索引v={v1,v2,v3}={2,*,*},并且索引u={u1,u2,u3}={2,*,4}。这时,成为w(v)={2,3}、w(u)={2},成立
Figure BDA0000098708130000221
此外,成立v1=u1=2。因此,索引u≤索引v,可以说索引v是比索引u上位的信息。
以下,将对于根据基底bi *生成的信息的索引标记为索引Y,将对于导出基的信息的索引标记为索引v,将对于根据该导出基的信息而导出的信息的索引标记为索引u。
<信息生成>
信息生成装置和方法在图2的步骤A1至步骤A3中,使用基底bi *来生成与索引Y对应的信息KY。信息KY包含主信息kY和导出信息kYj。主信息kY在术语密码中,例如作为解密密钥来使用。导出信息kYj用于生成比与索引Y对应的信息KY下位的信息。
对信息生成装置输入索引Y∈I。
随机数生成单元1生成随机数σY∈Zq、以及与集合w(Y)的各元素j∈w(Y)对应的随机数σYj∈Zq(步骤A1)。所生成的随机数σY被送到主信息生成单元2。所生成的随机数σYj被送到导出信息生成单元3。例如,在集合w(Y)={2,3}的情况下,随机数生成单元1生成σY、σY2以及σY3的三个随机数。
主信息生成单元2使用上述生成的随机数σY,计算满足kY=σYi∈{1,..., N-1}\w(Y)Yibi *+bN *的关系的主信息kY(步骤A2)。计算出的主信息kY被存储到存储单元4。
导出信息生成单元3使用上述生成的随机数σYj,对集合w(Y)的各元素j∈w(Y)的每一个计算满足kYj=σYji∈{1,...,N-1}\w(Y)Yibi *+bj *的关系的导出信息kYj(步骤A3)。计算出的导出信息kYj被存储到存储单元4。
<信息导出>
信息生成装置和方法在图3的步骤B1至步骤B3中,设为u≤v,并根据与上位的索引v对应的信息Kv来生成与下位的索引u对应的信息Ku
与索引v对应的信息Kv包括主信息kv和导出信息kvj。主信息kv在术语密码中例如作为解密密钥来使用。导出信息kvj用于生成比与索引v对应的信息Kv下位的信息。例如,成立索引v=Y,信息Kv=信息KY。此外,也可以将通过步骤B1至步骤B3的处理而生成的信息Ku作为新的信息Kv,从而生成比与索引u对应的信息Ku下位的信息Ku’(u’≤u)。
与索引u对应的信息Ku包括主信息ku和导出信息kuj。主信息ku在术语密码中例如作为解密密钥来使用。导出信息kuj用于生成比与索引u对应的信息Ku下位的信息。
对信息生成装置输入索引v和索引u。
设为在存储单元4中存储有与索引v对应的信息Kv
随机数生成单元1生成随机数σu∈Zq、以及与集合w(u)的各元素j∈w(u)对应的随机数σuj∈Zq(步骤B1)。所生成的随机数σu被送到主信息导出单元5,所生成的随机数σuj被送到导出信息导出单元6。
主信息导出单元5使用从存储单元4读取的主信息kv、导出信息kvi以及上述生成的随机数σu,计算满足ku=σui∈w(v)\w(u)uikvi+kv的关系的、与索引u对应的主信息ku(步骤B2)。计算出的主信息ku被存储到存储单元4。
导出信息导出单元6使用从存储单元4读取的导出信息kvj和上述生成的随机数σuj,对集合w(u)的各元素j∈w(u)的每一个,计算满足kuj=σuji∈w(v)\w(u)uikvi+kvj的关系的与索引u对应的导出信息kuj(步骤B3)。计算出的导出信息kuj被存储到存储单元4。
由此,通过生成与索引Y对应的信息KY,并基于该信息KY来导出与下位的索引对应的信息,从而能够对于具有共同的子节点C的父节点A和父节点B,根据父节点A的信息来导出共同的子节点C的信息,并且根据父节点B的信息来导出共同的子节点C的信息。
<具体例1>
以下,说明各节点的信息为术语密码中的密钥,并且说明从术语密码中的密钥的观点看,根据索引v1的信息生成的索引v3的信息与根据索引v2的信息生成的索引v3的信息一致的情况。以下所示的索引v1、索引v2、索引v3是一例,可以说对于其他的索引也相同。
设为索引v1={v1,v2,*,*},索引v2={*,*,v3,v4},索引v3={v1,v2,v3,v4}。根据定义,成立v1≥v3、v2≥v3,并且作为父节点的索引v1和作为父节点的索引v2,作为共同的子节点而具有索引v3。另外,以下,有时将vi(i=1,2,3)标记为v^i。此外,有时将索引vi的第j个元素标记为v^ij。
设为N=5,根据N个基底b1 *、b2 *、b3 *、b4 *、b5 *,生成与索引v1对应的信息Kv^1和与索引v2对应的信息Kv^2。σv^1、σv^13、σv ^14、σv^2、σv^23、σv^24、σv^3、σv^3’是由随机数生成单元1生成的随机数。
与索引v1对应的信息Kv^1(主信息kv^1、导出信息kv^13、kv^1 4)成为如下。
kv^1=σv^1(v1b1 *+v2b2 *)+b5 *
kv^13=σv^13(v1b1 *+v2b2 *)+b3 *
kv^14=σv^14(v1b1 *+v2b2 *)+b4 *
此外,与索引v2对应的信息Kv^2(主信息kv^2、导出信息kv^21、kv^22)成为如下。
kv^2=σv^2(v3b3 *+v4b4 *)+b5 *
kv^21=σv^23(v3b3 *+v4b4 *)+b1 *
kv^22=σv^24(v3b3 *+v4b4 *)+b2 *
根据与索引v1对应的信息Kv^1导出与索引v3对应的主信息kv^3,则成为如下,在以下的式中,成立a=(σv^3(v3σv^13+v4σv^14)+σv1)、b=σv^3
kv^3=σv^3(v3kv^13+v4kv^14)+kv^1
=(σv^3(v3σv^13+v4σv^14)+σv^1)(v1b1 *+v2b2 *)+σv^3(v3b3 *+v4b4 *)+b5 *
=a(v1b1 *+v2b2 *)+b(v3b3 *+v4b4 *)+b5 *
                                    …(A)
根据与索引v2对应的信息Kv^2导出与索引v3对应的主信息kv^3,则成为如下。在以下的式中,成立c=σv^3’、d=(σv^3’(v1σv ^23+v4σv^24)+σv^2)。
kv^3=σv^3’(v1kv^21+v2kv^22)+kv^2
=(σv^3’(v1σv^23+v4σv^24)+σv^2)(v3b3 *+v4b4 *)+σv^3’(v1b1 *+v2b2 *)+b5 *
=c(v1b1 *+v2b2 *)+d(v3b3 *+v4b4 *)+b5 *
                                    …(B)
如果对上述式(A)所示的根据信息Kv^1导出的主信息kv^3、上述(B)式所示的根据信息Kv2导出的主信息kv3进行比较,虽然值不一致,但在术语密码中成为相同值的密钥。即,如果将(v1b1 *+v2b2 *)看作向量(b1 *,b2 *)与向量(v1,v2)的内积,则在(A)式和(B)式中向量(v1,v2)相对于向量(b1 *,b2 *)的方向一致,同样地,如果将(v3b3 *+v4b4 *)看作向量(b3 *,b4 *)与向量(v3,v4)的内积,则在(A)式和(B)式中向量(v3,v4)相对于向量(b3 *,b4 *)的方向一致,两个密钥在术语密码中成为相同值的密钥。
【第二实施方式】
在图4中例示第二实施方式的信息生成装置的功能方框图。
将G、GT设为质数位数q的巡回群,将g设为巡回群G的生成元,设为在巡回群G中存在gT=e(g,g)成为巡回群GT的生成元的配对函数e:G×G→GT,将a设为从Zp随机选择的随机数,设为从g和g1=ga∈G和巡回群G随机选择的g2,g3,h1,…,hN-1∈G作为公开密钥而被公开。
<信息生成>
信息生成装置和方法在图5的步骤C1至步骤C4中,使用公开密钥来生成与索引Y对应的信息KY。信息KY包括第一主信息kY和第二主信息grY和导出信息kYj。第一主信息kY和第二主信息grY例如作为解密密钥来使用。导出信息kYi用于生成比与索引Y对应的信息KY下位的信息。
对信息生成装置输入索引Y∈I。
随机数生成单元1生成随机数rY∈Zq(步骤C1)。所生成的随机数rY被送到第一主信息生成单元21、第二主信息生成单元22以及导出信息生成单元3。
第一主信息生成单元21使用上述生成的随机数rY,计算满足kY=g2 a(g3i∈{1,…,N-1}\w(Y)hi Yi)rY的关系的第一主信息kY(步骤C2)。计算出的第一主信息kY被存储到存储单元4。
第二主信息生成单元22使用上述生成的随机数rY,计算第二主信息grY(步骤C3)。计算出的第二主信息kY被存储到存储单元4。
导出信息生成单元3使用上述生成的随机数rY,对集合w(Y)的各元素j∈w(Y)的每一个,计算满足kYj=hj rY的关系的导出信息kYj(步骤C4)。计算出的导出信息kYi被存储到存储单元4。
<信息导出>
信息生成装置和方法在图6的步骤D1至步骤D4中,设为u≤v,并根据与上位的索引v对应的信息Kv来生成与下位的索引u对应的信息Ku
与索引v对应的信息Kv包括第一主信息kv和第二主信息grv和导出信息kvj。第一主信息kv和第二主信息grv例如作为解密密钥来使用。导出信息kvj用于生成比与索引v对应的信息Kv下位的信息。例如,成立索引v=Y,信息Kv=信息KY。此外,也可以将通过步骤D1至步骤D4的处理而生成的信息Ku作为新的信息Kv,从而生成比与索引u对应的信息Ku下位的信息Ku’(u’≤u)。
与索引u对应的信息Ku包括第一主信息ku和第二主信息gru和导出信息kuj。第一主信息ku和第二主信息gru例如作为解密密钥来使用。导出信息kuj用于生成比与索引u对应的信息Ku下位的信息。
对信息生成装置输入索引v和索引u。
设为在存储单元4中存储有与索引v对应的信息Kv
随机数生成单元1生成随机数ru(步骤D1)。所生成的随机数被送到第一主信息导出单元51、第二主信息导出单元52以及导出信息导出单元6。
第一主信息导出单元51使用上述生成的随机数ru、从存储单元4读取的第一主信息kv和导出信息kvi,计算满足ku=kv(∏i∈w(v)\w(u)kvi ui)(g3i∈{1,…,N-1}\w(v)hi vii∈w(v)\w(u)hi ui)ru的关系的、与索引u对应的第一主信息ku(步骤D2)。计算出的第一主信息ku被存储到存储单元4。
第二主信息导出单元52使用上述生成的随机数ru,计算第二主信息gru(步骤D3)。计算出的第二主信息gru被存储到存储单元4。
导出信息导出单元6使用从上述存储单元读取的导出信息kvi和上述生成的随机数ru,对集合w(u)的各元素j∈w(u)的每一个,计算满足kuj=kvjhj ru的关系的导出信息kuj(步骤D4)。计算出的导出信息kuj被存储到存储单元4。
由此,通过生成与索引Y对应的信息KY,并基于该信息KY来导出与下位的索引对应的信息,从而能够对于具有共同的子节点C的父节点A和父节点B,根据父节点A的信息来导出共同的子节点C的信息,并且根据父节点B的信息来导出共同的子节点C的信息。
<具体例2>
以下,说明各节点的信息为术语密码中的密钥,并且说明从术语密码中的密钥的观点看,根据索引v1的信息生成的索引v3的信息与根据索引v2的信息生成的索引v3的信息一致的情况。以下所示的索引v1、索引v2、索引v3是一例,可以说对于其他的索引也相同。
设为索引v1={v1,v2,*,*},索引v2={*,*,v3,v4},索引v3={v1,v2,v3,v4}。根据定义,成立v1≥v3、v2≥v3,并且作为父节点的索引v1和作为父节点的索引v2,作为共同的子节点而具有索引v3。另外,以下,有时将vi(i=1,2,3)标记为v^i。此外,有时将索引vi的第j个元素标记为v^ij。
设为N=5,并且设为g1=ga,g2,g3,h1,h2,h3,h4∈G作为公开密钥而被公开。根据这些公开密钥,生成与索引v1对应的信息Kv ^1和与索引v2对应的信息Kv^2。rv^1、rv^2是由随机数生成单元1生成的随机数。
与索引v1对应的信息Kv^1(第一主信息kv^1、第二导出信息grv^ 1、导出信息kv^13、kv^14)成为如下。
kv^1=g2 a(g3h1 v1h2 v2)rv^1
grv^1
kv^13=h3 rv^1
kv^14=h4 rv^1
此外,与索引v2对应的信息Kv^2(第一主信息kv^2、第二主信息grv^2、导出信息kv^21、kv^22)成为如下。
kv^2=g2 a(g3h3 v3h4 v4)rv^2
grv^2
kv^21=h1 rv^2
kv^22=h2 rv^2
根据与索引v1对应的信息Kv^1导出与索引v3对应的第一主信息kv ^3,则成为如下。另外,rv^3是由随机数生成单元1生成的随机数,成立r=rv^1+rv^3
kv^3=kv^1(kv^13 v3kv^14 v4)(g3h1 v1h2 v2h3 v3h4 v4)rv^3
=g2 a(g3h1 v1h2 v2h3 v3h4 v4)r  …(C)
根据与索引v2对应的信息Kv^2导出与索引v3对应的主信息kv^3,则成为如下。另外,rv^3,是随机数,成立r’=rv^2+rv^3’
kv^3=kv^2(kv^21 v1 kv^22 v2)(g3h1 v1h2 v2h3 v3h4 v4)rv^3’
=g2 a(g3h1 v1h2 v2h3 v3h4 v4)r’   …(D)
对上述(C)式所示的根据信息Kv^1导出的第一主信息kv^3和第二主信息grv^3、与上述(D)式所示的根据信息Kv^2导出的第一主信息kv^ 3和第二主信息grv^3进行比较,则这些值虽然不一致,但公开密钥g3,h1,h2,h3,h4的指数的比一致,在术语密码中成为相同值的密钥。
【变形例等】
在上述的实施方式中,信息生成装置具有主信息生成单元2、导出信息生成单元3、主信息导出单元5和导出信息导出单元6的全部,但至少具有其中的一个单元即可。例如,可以仅具有主信息生成单元2和导出信息生成单元3。此外,也可以是,仅具有主信息导出单元5和导出信息导出单元6,使用已生成并存储于存储单元4的信息Kv来生成信息Ku
此外,也可以将在上述的有限域Fq上定义的各运算置换成在位数q的有限环Zq上定义的运算。将在有限域Fq上定义的各运算置换成在有限环Zq上定义的运算的方法的一例是,容许质数或质数的幂乘值以外的q的方法。
信息生成装置可通过计算机来实现。这种情况下,通过程序来记述这些装置应分别具有的功能的处理内容。然后,通过由计算机来执行该程序,从而能够在计算机上实现这些装置中的各处理功能。
记述了该处理内容的信息生成程序能够记录于计算机可读取的记录介质。此外,在该方式中设为,通过使计算机执行规定的程序,从而构成这些装置,但是,也可以设为通过硬件来实现这些处理内容的至少一部分。
该发明不限定于上述的实施方式,在不脱离本发明的宗旨的范围下能够进行适当变更。

Claims (14)

1.一种信息生成装置,其中,
e是对于巡回群G1的N个元γL(L=1,…,N)(N≥2)和巡回群G2的N个元γL *(L=1,…,N)的输入而输出巡回群GT的1个元的非退化的双线型函数,bi∈G1 N(i=1,…,N)的各个是将上述巡回群G1的N个元作为元素的N维的基底向量,bj *∈G2 N(j=1,…,N)的各个是将上述巡回群G2的N个元作为元素的N维的基底向量,使用在i=j时成为δ(i,j)=1F并且在i≠j时成为δ(i,j)=OF的Kronecker的δ函数δ(i,j),将上述基底向量bi∈G1 N(i=1,…,N)的各元素和上述基底向量bj *∈G2 N(j=1,…,N)的各元素输入到上述双线型函数e而得到的函数值表现为gT τ·δ(i,j)∈GT,OF为有限域Fq的加法单位元,1F为有限域Fq的乘法单位元,τ为除了OF的有限域Fq的元,gT为上述巡回群GT的生成元,
将*设为不定字符,将索引Y设为Y=(Y1,…,YN-1)∈I=(Fq∪{*})N-1,将与索引Y对应的集合w(Y)设为w(Y)={i|Yi=*},
该信息生成装置包括:
随机数生成单元,生成随机数σY ∈Zq、以及与集合w(Y)的各元素j∈w(Y)对应的随机数σYj∈Zq
主信息生成单元,使用上述生成的随机数σY,计算满足kY=σYi∈ {1,…,N-1}\w(Y)Yibi *+bN *的关系的主信息kY;以及
导出信息生成单元,使用上述生成的随机数σYj,对集合w(Y)的各元素j∈w(Y)的每一个,计算满足kYj=σYji∈{1,...,N-1}\w(Y)Yibi *+bj *的关系的导出信息kYj
2.如权利要求1所述的信息生成装置,其中,
将*设为不定字符,将索引v设为v=(v1,…,vN-1)∈I=(Fq∪{*})N-1,将与索引v对应的集合w(v)设为w(v)={i|vi=*},将索引u设为u=(u1,…,uN-1)∈I=(Fq∪{*})N-1,将与索引u对应的集合w(u)设为w(u)={i|ui=*},设为 设为vi=ui(i∈{1,…,N-1}\w(v)),
该信息生成装置包括存储单元,其存储与索引v对应的主信息kv和与索引v对应的导出信息kvj
上述随机数生成单元还生成随机数σu∈Zq
该信息生成装置包括主信息导出单元,其使用从上述存储单元读取的主信息kv、导出信息kvi以及上述生成的随机数σu,计算满足ku=σui ∈w(v)\w(u)uikvi+kv的关系的、与索引u对应的主信息ku
3.如权利要求2所述的信息生成装置,其特征在于,
上述随机数生成单元还生成与集合w(u)的各元素j∈w(u)对应的随机数σuj∈Zq
该信息生成装置还包括导出信息导出单元,其使用从上述存储单元读取的导出信息kvj和上述生成的随机数σui,对集合w(u)的各元素j∈w(u)的每一个,计算满足kuj=σuji∈w(v)\w(u)uikvi+kvj的关系的与索引u对应的导出信息kuj
4.一种信息生成装置,其中,
e是对于巡回群G1的N个元γL(L=1,...,N)(N≥2)和巡回群G2的N个元γL *(L=1,...,N)的输入而输出巡回群GT的1个元的非退化的双线型函数,bi∈G1 N(i=1,...,N)的各个是将上述巡回群G1的N个元作为元素的N维的基底向量,bj *∈G2 N(j=1,…,N)的各个是将上述巡回群G2的N个元作为元素的N维的基底向量,使用在i=j时成为δ(i,j)=1F并且在i≠j时成为δ(i,j)=OF的Kronecker的δ函数δ(i,j),将上述基底向量bi∈G1 N(i=1,...,N)的各元素和上述基底向量bj *∈G2 N(j=1,...,N)的各元素输入到上述双线型函数e而得到的函数值表现为gT τ·δ(i,j)∈GT,OF为有限域Fq的加法单位元,1F为有限域Fq的乘法单位元,τ为除了OF的有限域Fq的元,gT为上述巡回群GT的生成元,
将*设为不定字符,将索引Y设为Y=(Y1,...,YN-1)∈I=(Fq∪{*})N-1,将与索引Y对应的集合w(Y)设为w(Y)={i|Yi=*},将σY∈Zq设为随机数,将σYi设为与集合w(Y)的各元素j∈w(Y)对应的随机数,与索引Y对应的主信息kY满足kY=σYi∈{1,…, N-1}\w(Y)Yibi *+bN *的关系,与索引Y对应的导出信息kYi满足kY j=σYji∈{1,…,N-1}\w(Y)Yibi *+bj *的关系,
将*设为不定字符,将索引v设为v=(v1,…,vN-1)∈I=(Fq∪{*})N-1,将索引u设为u=(u1,…,uN-1)∈I=(Fq∪{*})N-1,将与索引v对应的集合w(v)设为w(v)={i|vi=*},将与索引u对应的集合w(u)设为w(u)={i|ui=*},设为
Figure FDA0000098708120000031
Figure FDA0000098708120000032
设为vi=ui(i∈{1,…,N-1}\w(v)),
该信息生成装置包括:
存储单元,存储作为上述主信息kY的或者根据上述主信息kY和上述导出信息kYi导出的与索引v对应的主信息kv、以及作为上述导出信息kYi的或者根据上述导出信息kYi导出的与索引v对应的导出信息kvj
子随机数生成单元,生成随机数σu∈Zq;以及
主信息导出单元,使用从上述存储单元读取的主信息kv、导出信息kv i以及上述生成的随机数σu,计算满足ku=σui∈w(v)\w(u)uikvi+kv的关系的、与索引u对应的主信息ku
5.如权利要求4所述的信息生成装置,其特征在于,
上述随机数生成单元还生成与集合w(u)的各元素j∈w(u)对应的随机数σuj∈Zq
该信息生成装置还包括导出信息导出单元,其使用从上述存储单元读取的导出信息kvj和上述生成的随机数σui,对集合w(u)的各元素j∈w(u)的每一个,计算满足kuj=σuji∈w(v)\w(u)uikvi+kvj的关系的导出信息kuj
6.一种信息生成装置,其特征在于,
将G、GT设为质数位数q的巡回群,将g设为巡回群G的生成元,设为在巡回群G中存在gT=e(g,g)成为巡回群GT的生成元的配对函数e:G×G→GT,将a设为从Zp随机选择的随机数,从g和g1=ga∈G和巡回群G随机选择的g2,g3,h1,…,hN-1∈G作为公开密钥而公开,
将*设为不定字符,将索引Y设为Y=(Y1,…,YN-1)∈I=(Fq∪{*})N-1,将与索引Y对应的集合w(Y)设为w(Y)={i|Yi=*},
该信息生成装置包括:
随机数生成单元,生成随机数rY∈Zq
第一主信息生成单元,使用上述生成的随机数rY,计算满足kY=g2 a(g3i∈{1,…,N-1}\w(Y)hi Yi)rY的关系的第一主信息kY
第二主信息生成单元,使用上述生成的随机数rY,计算第二主信息gr Y;以及
导出信息生成单元,使用上述生成的随机数rY,对集合w(Y)的各元素j∈w(Y)的每一个,计算满足kYj=hj rY的关系的导出信息kYj
7.如权利要求6所述的信息生成装置,其特征在于,
上述随机数生成单元还生成随机数ru∈Zq
将*设为不定字符,将索引v设为v=(v1,...,vN-1)∈I=(Fq∪{*})N-1,将与索引v对应的集合w(v)设为w(v)={i|vi=*},将索引u设为u=(u1,...,uN-1)∈I=(Fq∪{*})N-1,将与索引u对应的集合w(u)设为w(u)={i|ui=*},设为
Figure FDA0000098708120000041
Figure FDA0000098708120000042
设为vi=ui(i∈{1,…,N-1}\w(v)),
该信息生成装置包括:
存储单元,存储与索引v对应的第一主信息kv、第二主信息gr以及与索引v对应的导出信息kvj
第一主信息导出单元,使用从上述存储单元读取的第一主信息kv和导出信息kvi,计算满足ku=kv(∏i∈w(v)\w(u)kvi ui)(g3i∈{1,…, N-1}\w(v)hi vii∈w(v)\w(u)hi ui)ru的关系的、与索引u对应的第一主信息ku;以及
第二主信息导出单元,使用上述生成的随机数ru,计算第二主信息gr u
8.如权利要求7所述的信息生成装置,其特征在于,还包括:
导出信息导出单元,使用从上述存储单元读取的导出信息kvi和上述生成的随机数ru,对集合w(u)的各元素j∈w(u)的每一个,计算满足kuj=kvjhj ru的关系的导出信息kuj
9.一种信息生成装置,其中,
将G、GT设为质数位数q的巡回群,将g设为巡回群G的生成元,设为在巡回群G中存在gT=e(g,g)成为巡回群GT的生成元的配对函数e:G×G→GT,将a设为从Zp随机选择的随机数,从g和g1=ga∈G和巡回群G随机选择的g2,g3,h1,…,hN-1∈G作为公开密钥而公开,
将*设为不定字符,将索引Y设为Y=(Y1,…,YN-1)∈I=(Fq∪{*})N-1,将与索引Y对应的集合w(Y)设为w(Y)={i|Yi=*},
将rY∈Zq设为随机数,与索引Y对应的第一主信息kY满足kY=g2 a(g3i∈{1,…,N-1}\w(Y)hi Yi)rY的关系,将grY设为与索引Y对应的第二主信息,与索引Y对应的导出信息kYi满足kYj=hj rY的关系,
将*设为不定字符,将索引v设为v=(v1,…,vN-1)∈I=(Fq∪{*})N-1,将与索引v对应的集合w(v)设为w(v)={i|vi=*},将索引u设为u=(u1,…,uN-1)∈I=(Fq∪{*})N-1,将与索引u对应的集合w(u)设为w(u)={i|ui=*},设为
Figure FDA0000098708120000051
设为vi=ui(i∈{1,…,N-1}\w(v)),
该信息生成装置包括:
随机数生成单元,生成随机数ru∈Zq
存储单元,存储作为上述第一主信息kY的或者从上述第一主信息kY和上述导出信息kYi导出的与索引v对应的第一主信息kv、以及作为上述导出信息kYi的或者从上述导出信息kYi导出的与索引v对应的导出信息kv j
第一主信息导出单元,使用从上述存储单元读取的第一主信息kv和上述导出信息kvi,计算满足ku=kv(∏i∈w(v)\w(u)kvi ui)(g3i∈{1,…, N-1}\w(v)hi vii∈w(v)\w(u)hi ui)ru的关系的、与索引u对应的第一主信息ku;以及
第二主信息导出单元,使用上述生成的随机数ru,计算第二主信息gr u
10.如权利要求9所述的信息生成装置,还包括:
导出信息导出单元,使用从上述存储单元读取的导出信息kvi和上述生成的随机数ru,对集合w(u)的各元素j∈w(u)的每一个,计算满足kuj=kvjhj ru的关系的导出信息kuj
11.一种信息生成方法,其特征在于,
e是对于巡回群G1的N个元γL(L=1,…,N)(N≥2)和巡回群G2的N个元γL *(L=1,…,N)的输入而输出巡回群GT的1个元的非退化的双线型函数,bi∈G1 N(i=1,…,N)的各个是将上述巡回群G1的N个元作为元素的N维的基底向量,bj *∈G2 N(j=1,…,N)的各个是将上述巡回群G2的N个元作为元素的N维的基底向量,使用在i=j时成为δ(i,j)=1F并且在i≠j时成为δ(i,j)=OF的Kronecker的δ函数δ(i,j),将上述基底向量bi∈G1 N(i=1,…,N)的各元素和上述基底向量bj *∈G2 N(j=1,…,N)的各元素输入到上述双线型函数e而得到的函数值表现为gT τ·δ(i,j)∈GT,OF为有限域Fq的加法单位元,1F为有限域Fq的乘法单位元,τ为除了OF的有限域Fq的元,gT为上述巡回群GT的生成元,
将*设为不定字符,将索引Y设为Y=(Y1,…,YN-1)∈I=(Fq∪{*})N-1,将与索引Y对应的集合w(Y)设为w(Y)={i|Yi=*},
该信息生成方法包括:
随机数生成步骤,随机数生成单元生成随机数σY∈Zq、以及与集合w(Y)的各元素j∈w(Y)对应的随机数σYj∈Zq
主信息生成步骤,主信息生成单元使用上述生成的随机数σY,计算满足kY=σYi∈{1,…,N-1}\w(Y)Yibi *+bN *的关系的主信息kY;以及
导出信息生成步骤,导出信息生成单元使用上述生成的随机数σYj,对集合w(Y)的各元素j∈w(Y)的每一个,计算满足kYj=σYji∈{1,..., N-1}\w(Y)Yibi *+bj *的关系的导出信息kYj
12.一种信息生成方法,其特征在于,
将G、GT设为质数位数q的巡回群,将g设为巡回群G的生成元,设为在巡回群G中存在gT=e(g,g)成为巡回群GT的生成元的配对函数e:G×G→GT,将a设为从Zp随机选择的随机数,从g和g1=ga∈G和巡回群G随机选择的g2,g3,h1,…,hN-1∈G作为公开密钥而公开,
将*设为不定字符,将索引Y设为Y=(Y1,…,YN-1)∈I=(Fq∪{*})N-1,将与索引Y对应的集合w(Y)设为w(Y)={i|Yi=*},
该信息生成方法包括:
随机数生成步骤,随机数生成单元生成随机数rY∈Zq
第一主信息生成步骤,第一主信息生成单元使用上述生成的随机数rY,计算满足kY=g2 a(g3i∈{1,…,N-1}\w(Y)hi Yi)rY的关系的第一主信息kY
第二主信息生成步骤,第二主信息生成单元使用上述生成的随机数rY,计算第二主信息grY;以及
导出信息生成步骤,导出信息生成单元使用上述生成的随机数rY,对集合w(Y)的各元素j∈w(Y)的每一个,计算满足kYj=hj rY的关系的导出信息kYj
13.一种信息生成程序,其中,
该信息生成程序用于使计算机作为如权利要求1至10的任一项所述的信息生成装置的各单元而发挥作用。
14.一种计算机可读取的记录介质,其中,
该记录介质记录有如权利要求13所述的信息生成程序。
CN201080016597.9A 2009-04-24 2010-04-23 信息生成装置、方法 Active CN102396178B (zh)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
CN102396178A true CN102396178A (zh) 2012-03-28
CN102396178B CN102396178B (zh) 2014-12-10

Family

ID=43011230

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080016597.9A Active CN102396178B (zh) 2009-04-24 2010-04-23 信息生成装置、方法

Country Status (7)

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

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130227809A1 (en) 2012-02-24 2013-09-05 Pylon Manufacturing Corp. Wiper blade
USD706200S1 (en) 2010-09-22 2014-06-03 Pylon Manufacturing Corporation Windshield wiper cover
US9457768B2 (en) 2011-04-21 2016-10-04 Pylon Manufacturing Corp. Vortex damping wiper blade
US9174609B2 (en) 2011-04-21 2015-11-03 Pylon Manufacturing Corp. Wiper blade with cover
CA2843527C (en) 2011-07-28 2018-11-27 Pylon Manufacturing Corp. Windshield wiper adapter, connector and assembly
MX347284B (es) 2011-07-29 2017-04-21 Pylon Mfg Corp Conector de limpiaparabrisas.
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 三菱電機株式会社 暗号処理システム、暗号処理方法、暗号処理プログラム及び鍵生成装置
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
WO2017201473A1 (en) 2016-05-19 2017-11-23 Pylon Manufacturing Corp. Windshield wiper blade
US11040705B2 (en) 2016-05-19 2021-06-22 Pylon Manufacturing Corp. Windshield wiper connector
AU2017268008A1 (en) 2016-05-19 2018-11-22 Pylon Manufacturing Corp. Windshield wiper connector
AU2017267978A1 (en) 2016-05-19 2018-11-22 Pylon Manufacturing Corp. Windshield wiper connector
WO2017201485A1 (en) 2016-05-19 2017-11-23 Pylon Manufacturing Corp. Windshield wiper connector
WO2018081791A1 (en) 2016-10-31 2018-05-03 Pylon Manufacturing Corp. Wiper blade with cover
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
WO2021259933A1 (en) * 2020-06-22 2021-12-30 Forctis Ag System and method for controlling access to tokens

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1251451A (zh) * 1998-10-20 2000-04-26 朗迅科技公司 高效散列方法
CN1433609A (zh) * 1999-10-01 2003-07-30 法国电信公司 验证实体真实性或消息完整性的方法、系统、设备
CN1633774A (zh) * 2002-03-21 2005-06-29 美国多科摩通讯研究所股份有限公司 基于身份的分级加密与签名方案
WO2008099831A1 (ja) * 2007-02-13 2008-08-21 Nec Corporation 鍵生成装置、鍵導出装置、暗号化装置、復号化装置、方法、及び、プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040086117A1 (en) * 2002-06-06 2004-05-06 Petersen Mette Vesterager Methods for improving unpredictability of output of pseudo-random number generators

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1251451A (zh) * 1998-10-20 2000-04-26 朗迅科技公司 高效散列方法
CN1433609A (zh) * 1999-10-01 2003-07-30 法国电信公司 验证实体真实性或消息完整性的方法、系统、设备
CN1633774A (zh) * 2002-03-21 2005-06-29 美国多科摩通讯研究所股份有限公司 基于身份的分级加密与签名方案
WO2008099831A1 (ja) * 2007-02-13 2008-08-21 Nec Corporation 鍵生成装置、鍵導出装置、暗号化装置、復号化装置、方法、及び、プログラム

Also Published As

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

Similar Documents

Publication Publication Date Title
CN102396178B (zh) 信息生成装置、方法
CN102396011B (zh) 加密装置、解密装置、加密方法、解密方法、安全方法、程序以及记录介质
Gentry et al. A simple BGN-type cryptosystem from LWE
US8897442B2 (en) Encryption device, decryption device, encryption method, decryption method, program, and recording medium
CN102396012B (zh) 秘密分散系统、分散装置、分散管理装置、取得装置、其处理方法、秘密分散方法
US8938068B2 (en) Functional encryption applied system, information output apparatus, information processing apparatus, encryption protocol execution method, information output method, information processing method, program and recording medium
CN111106936A (zh) 一种基于sm9的属性加密方法与系统
CN103038805B (zh) 密码处理系统、密钥生成装置、密钥转让装置、加密装置、解密装置、密码处理方法以及密码处理程序
US20110243320A1 (en) Efficient Homomorphic Encryption Scheme For Bilinear Forms
EP2690817A1 (en) Code processing system, key generation device, encoder, decoder, code processing method and code processing program
CN102822883B (zh) 密码处理系统、密钥生成装置、密钥转让装置、加密装置、解密装置、密码处理方法以及密码处理程序
CN107086912B (zh) 一种异构存储系统中的密文转换方法、解密方法及系统
Silverberg Fully homomorphic encryption for mathematicians
Mohan et al. Homomorphic encryption-state of the art
Gaidhani et al. A SURVEY REPORT ON TECHNIQUES FOR DATA CONFIDENTIALITY IN CLOUD COMPUTING USING HOMOMORPHIC ENCRYPTION.
Prasad et al. A Secured Method for Authentication of Data Security using Public Key Cryptography
Okunbor et al. Homomorphic encryption: A survey
JP2012154977A (ja) 関数暗号を用いた時限暗号システム、時限暗号方法、装置、プログラム
Krishna A randomized cloud library security environment
JP2010161527A (ja) 暗号通信システム、端末装置、秘密鍵生成方法及びプログラム
Amounas et al. A novel approach for enciphering data based ecc using catalan numbers
Paiva On the oldest reason why cryptographers should love lattice problems
Bert Identity Based Encryption from lattices
Budhathoki Elliptic curves: Identity-based signing and quantum arithmetic
Budhathoki Elliptic curves: identity-based signing and quantum

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant