CN103004129B - 加密装置、解密装置、加密方法、解密方法、程序及记录介质 - Google Patents
加密装置、解密装置、加密方法、解密方法、程序及记录介质 Download PDFInfo
- Publication number
- CN103004129B CN103004129B CN201180034973.1A CN201180034973A CN103004129B CN 103004129 B CN103004129 B CN 103004129B CN 201180034973 A CN201180034973 A CN 201180034973A CN 103004129 B CN103004129 B CN 103004129B
- Authority
- CN
- China
- Prior art keywords
- max
- ciphertext
- cyclic group
- value
- coef
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/083—Key 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/0833—Key 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/0836—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key 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/0847—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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/3073—Public 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
在加密时,生成随机数r,且生成密文C2=M(+)R(r)、函数值HS(r,C2)、公钥K、公钥K的随机数r的密文C(Ψ+1)、与函数值HS(r,C2)对应的公钥K的密文C'(0),C'(λ)。在解密时,从已输入的密文C'(0),C'(λ),对公钥K'进行解密,利用公钥K',对已输入的密文C'(Ψ+1)进行解密,生成解密值r',且生成函数值HS(r',C2'),在已输入的密文C'(0),C'(λ)和与函数值HS(r',C2')对应的公钥K'的密文C″(0),C″(λ)不一致的情况下,拒绝解密,在一致的情况下,对已输入的密文C2'进行解密。
Description
技术领域
本发明涉及安全技术,特别涉及密码技术。
背景技术
在密码研究领域的一个领域,具有相对于选择密文攻击安全的(CCA-Secure:Chosen Ciphertext Attacks-Secure)密码方式(CCA安全密码方式)。特别是,近年来,要基于通常仅具有对选择明文攻击(CPA:ChosenPlaintext Attack)的安全性的基于ID的密码(IBE:Identity-based Encryption)方式(例如,参照非专利文献1)来构成CCA安全密码方式的研究正在盛行。例如,在非专利文献2中,提案有CHK变换方式。在CHK变换方式中,为了基于CPA安全的任意的基于ID的密码方式来构筑CCA安全密码方式,使用One-Time署名。例如,在非专利文献3中,提案有BK变换方式。在BK变换方式中,为了基于CPA安全的任意的基于ID的密码方式来构筑CCA安全密码方式,使用消息认证码(MAC:Message Authentication Code)和位承诺(bit commitment)方式。
现有技术文献
非专利文献
非专利文献1:D.Boneh,M.Franklin,"Identity based encryption from theWeil Pairing,"Crypto 2001,Lecture Notes in Computer Science,Vol.2139,Springer-Verlag,pp.213-229,2001.
非专利文献2:R.Canetti,S.Halevi,J.Katz,“Chosen-Ciphertext Securityfrom Identity-Based Encryption,”Proc.of EUROCRYPT’04,LNCS 3027,pp.207-222,2004.
非专利文献3:D.Boneh,J.Katz,“Improved Efficiency for CCA-SecureCryptosystems Built Using Identity-Based Encryption,”Proc.of CT-RSA’05,LNCS 3376,pp.87-103,2005.
发明内容
发明要解决的课题
基于上述的CHK变换方式而生成的密文包含加密后的明文、该加密后的明文的One-Time署名、用于验证该One-Time署名的署名密钥。因此,基于CHK变换方式而生成的密文的密文空间不仅包含用于加密后的明文的空间,而且还包含用于One-Time署名及署名密钥的空间。基于上述的BK变换方式而生成的密文包含加密后的明文、消息认证码、位承诺列。因此,基于BK变换方式而生成的密文的密文空间不仅包含用于加密后的明文的空间,而且还包含用于消息认证码及位承诺列的空间。即,基于CHK变换方式及BK变换方式而生成的密文空间包含仅分配给用于使CCA安全性提高的二维空间。但是,密文空间的尺寸越大,运算量及数据量越大,因此密文空间的尺寸优选尽可能地小。
另外,在基于ID的密码方式中,进行加密的人在进行加密以前必须取得进行解密的人的ID。与此相对,如果进行加密的人不确定进行解密的人就能够生成密文,且与所期望的条件一致的人能够构成可将该密文解密的方式,则是很便利的。
本发明是鉴于这种情况而开发的,其目的在于,提供一种密码方式,其便利性高,没有用于提高CCA安全性的附加的密文空间,能够提高CCA安全性。
用于解决课题的手段
在本发明的加密中,生成随机数r,且生成随机数r相应的二进制序列和二进制序列的明文M的异或值即密文C2。将随机数r和密文C2的组分别输入到无碰撞函数HS(S=1,...,Smax),生成Smax(Smax≧1)个函数值HS(r,C2)(S=1,...,Smax)。生成循环群GT的元素即公钥K,利用公钥K,通过公钥密码方式,对随机数r进行加密,生成密文C(Ψ+1)。生成包含C(0)=υ·b1(0)+Σι=2 Iυι(0)·bι(0),C(λ)=υ·Σι=1 n(λ)wι(λ)·bι(λ)+Σι=n(λ)+1 n(λ)+ζ (λ)υι(λ)·bι(λ)及密文C(Ψ+1)在内的密文C1。
在此,Ψ是1以上的整数,ψ是0以上Ψ以下的整数,n(ψ)是1以上的整数,ζ(ψ)是0以上的整数,λ是1以上Ψ以下的整数,I是2以上n(0)+ζ(0)以下的常数,eψ分别是将循环群G1的n(ψ)+ζ(ψ)个元素γβ(β=1,...,n(ψ)+ζ(ψ))和循环群G2的n(ψ)+ζ(ψ)个元素γβ*(β=1,...,n(ψ)+ζ(ψ))设为输入并将循环群GT的一个元素输出的非退化的双线性映射,i是1以上n(ψ)+ζ(ψ)以下的整数,bi(ψ)是以循环群G1的n(ψ)+ζ(ψ)个元素为要素的n(ψ)+ζ(ψ)维的基向量,bi*(ψ)是以循环群G2的n(ψ)+ζ(ψ)个元素为要素的n(ψ)+ζ(ψ)维的基向量,δ(i,j)是克罗内克三角函数,相对于循环群GT的生成元gT及常数τ,τ',满足eψ(bi(ψ),bj*(ψ))=gT τ·τ’·δ(i,j),w(λ)→=(w1(λ),...,wn(λ)(λ))是以w1(λ),...,wn(λ)(λ)为要素的n(λ)维向量。υ,υι(0)(ι=2,...,I),υι(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))中的至少一部分的值与函数值HS(r,C2)(S=1,...,Smax)的任一个对应。
在本发明的解密中,在存在满足SE=Σμ∈SETconst(μ)·share(μ)(μ∈SET)的系数const(μ)的情况下,利用第一密钥信息D*(0)、第二密钥信息D*(λ)及已输入的密文C'(0)、C'(λ),如下生成公钥K'。
【数学式1】
利用公钥K',对已输入的密文C'(Ψ+1)进行解密,生成解密值r'。将解密值r'和已输入的密文C2'的组分别输入到无碰撞函数HS(S=1,...,Smax),生成Smax(Smax≧1)个函数值HS(r',C2')(S=1,...,Smax)。在密文C'(0),C'(λ)和密文C″(0)=υ″·b1(0)+Σι=2 Iυι″(0)·bι(0),C″(λ)=υ″·Σι=1 n(λ)wι(λ)·bι(λ)+Σι=n(λ)+1 n(λ)+ζ(λ)υι″(λ)·bι(λ)分别不一致的情况下,拒绝解密。
其中,v(λ)→=(v1(λ),...,vn(λ)(λ))是以v1(λ),...,vn(λ)(λ)为要素的n(λ)维向量,w(λ)→=(w1(λ),...,wn(λ)(λ))是以w1(λ),...,wn(λ)(λ)为要素的n(λ)维向量,标签LAB(λ)(λ=1,...,Ψ)是表示n(λ)维向量v(λ)→或n(λ)维向量v(λ)→的非¬v(λ)→的信息,“LAB(λ)=v(λ)→”是表示LAB(λ)为n(λ)维向量v(λ)→的意思,“LAB(λ)=¬v(λ)→”是表示n(λ)维向量v(λ)→的非¬v(λ)→的意思,share(λ)(λ=1,...,Ψ)是表示对秘密信息SE进行秘密分散而得到的共享信息,第一密钥信息是D*(0)=-SE·b1*(0)+Σι=2 Icoefι(0)·bι*(0),相对于成为LAB(λ)=v(λ)→的λ的第二密钥信息是D*(λ)=(share(λ)+coef(λ)·v1(λ))·b1*(λ)+Σι=2 n(λ)coef(λ)·vι(λ)·bι*(λ)+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ)·bι*(λ),相对于成为LAB(λ)=¬v(λ)→的λ的第二密钥信息是D*(λ)=share(λ)·Σι=1 n(λ)vι(λ)·bι*(λ)+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ)·bι*(λ),SET表示满足{LAB(λ)=v(λ)→}∧{v(λ)→·w(λ)→=0}或{LAB(λ)=¬v(λ)→}∧{v(λ)→·w(λ)→≠0}的λ的集合。υ″,υι″(0)(ι=2,...,I),υι″(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))中的至少一部分的值与函数值HS(r',C2')(S=1,...,Smax)中的任一个对应。
发明效果
在本发明中,在密文C'(0),C'(λ)和密文C″(0),C″(λ)分别不一致的情况下,拒绝解密,因此CCA安全性提高。在本发明中,不需要用于提高CCA安全性的附加的密文空间。本发明不需要进行加密的人确定进行解密的人,就能够生成密文,与所期望的条件一致的人能够将该密文解密。
这样,在本发明中,便利性高,没有用于CCA安全性提高的附加的密文空间,能够提高CCA安全性。
附图说明
图1是对表达标准形逻辑式的树结构数据进行例示的图。
图2是对表达标准形逻辑式的树结构数据进行例示的图。
图3是用于对本方式的密码系统进行例示的方框图。
图4是用于对本方式的加密装置进行例示的方框图。
图5是用于对本方式的解密装置进行例示的方框图。
图6是用于对本方式的密钥生成装置进行例示的方框图。
图7是用于对本方式的密钥生成处理进行例示的图。
图8是用于对本方式的加密处理进行例示的图。
图9是用于对本方式的解密处理进行例示的图。
图10是用于对图9的步骤43的处理进行例示的图。
具体实施方式
下面,对用于实施本发明的方式进行说明。
〔定义〕
矩阵:“矩阵”表示将定义了运算的集合中的元素排列成矩形。不仅以环中的元素为要素而且还以群中的元素为要素的也是“矩阵”。
(·)T:(·)T表示·的转置矩阵。
(·)-1:(·)-1表示·的逆矩阵。
∧:∧是表示与(AND)的符号。
∨:∨是表示或(OR)的运符号。
¬:¬是表示非(NOT)的符号。
命题变量:命题变量是以命题的「真」,「假」("false","true")为要素的集合{真,假}上的变量。即,命题变量的定义域是以「真」,「假」为要素的集合。将命题变量及命题变量的非统称为文字(literal)。
逻辑式:逻辑式的意思是表示数理逻辑学的命题的公式。具体而言,「真」及「假」是逻辑式,命题变量是逻辑式,逻辑式的非是逻辑式,逻辑式和逻辑式的与是逻辑式,逻辑式和逻辑式的或是逻辑式。
Z:Z表示整数集合。
sec:sec表示安全参数(sec∈Z,sec>0)。
0*:0*表示由*个0构成的列。
1*:1*表示由*个1构成的列。
{0,1}*:{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构成的序列。{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)=0F。
E:E表示在有限域Fq上定义的椭圆曲线。椭圆曲线E是包含满足下面所示的仿射(affine)坐标上的维尔斯特拉斯(Weierstrass)方程式的由x,y∈Fq构成的点(x,y)的集合和称为无穷远点的特殊点O的集合。
y2+a1·x·y+a3·y=x3+a2·x2+a4·x+a6
其中,满足a1,a2,a3,a4,a6∈Fq。
对椭圆曲线E上的任意两点,定义称为椭圆加法运算的二元运算+,对椭圆曲线E上的任意一点,定义称为逆元运算的一元运算-。熟知的是由椭圆曲线E上的有理点构成的有限集合关于椭圆加法运算形成群的方法、利用椭圆加法运算可定义称为椭圆标量乘法运算的运算的方法及计算机上的椭圆加法运算等椭圆运算的具体运算方法(例如,参照参考文献1、参考文献2“RFC5091:Identity-Based Cryptography Standard(IBCS)#1:Supersingular CurveImplementations 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,G2上定义的运算进行加法表达,对在循环群GT上定义的运算进行乘法表达。例如,相对于χ∈Fq及Ω∈G1的χ·Ω∈G1是对Ω∈G1实施χ次的由循环群G1定义的运算的意思,相对于Ω1,Ω2∈G1的Ω1+Ω2∈G1是以Ω1∈G1和Ω2∈G1为被运算对象而进行由循环群G1定义的运算的意思。同样,例如,相对于χ∈Fq及Ω∈G2的χ·Ω∈G2是对Ω∈G2实施χ次的由循环群G2定义的运算的意思,相对于Ω1,Ω2∈G2的Ω1+Ω2∈G2是以Ω1∈G2和Ω2∈G2为被运算对象而进行由循环群G2定义的运算的意思。另一方面,相对于χ∈Fq及Ω∈GT的Ωχ∈GT是例如对Ω∈GT实施χ次的由循环群GT定义的运算的意思,相对于Ω1,Ω2∈GT的Ω1·Ω2∈GT是以Ω1∈GT和Ω2∈GT为被运算对象而进行由循环群GT定义的运算的意思。
Ψ:Ψ表示1以上的整数。
ψ:ψ表示0以上Ψ以下的整数ψ=0,...,Ψ。
λ:λ表示1以上Ψ以下的整数λ=1,...,Ψ。
n(ψ):n(ψ)表示预定的1以上的整数。
ζ(ψ):ζ(ψ)表示预定的0以上的整数。
G1 n(ψ)+ζ(ψ):G1 n(ψ)+ζ(ψ)表示n(ψ)+ζ(ψ)个循环群G1的直积。
G2 n(ψ)+ζ(ψ):G2 n(ψ)+ζ(ψ)表示n(ψ)+ζ(ψ)个循环群G2的直积。
g1,g2,gT:g1,g2,gT分别表示循环群G1,G2,GT的生成元。
V(ψ):V(ψ)表示由n(ψ)+ζ(ψ)个循环群G1的直积构成的n(ψ)+ζ(ψ)维的向量空间。
V*(ψ):V*(ψ)表示由n(ψ)+ζ(ψ)个循环群G2的直积构成的n(ψ)+ζ(ψ)维的向量空间。
eψ:eψ表示将直积G1 n(ψ)+ζ(ψ)和直积G2 n(ψ)+ζ(ψ)的直积G1 n(ψ)+ζ(ψ)×G2 n(ψ) +ζ(ψ)映射到循环群GT的非退化双线性映射(bilinear map)。双线性映射eψ将循环群G1的n(ψ)+ζ(ψ)个元素γβ(β=1,...,n(ψ)+ζ(ψ))和循环群G2的n(ψ)+ζ(ψ)个元素γβ*(β=1,...,n(ψ)+ζ(ψ))作为输入,然后将循环群GT的一个元素输出。
eψ:G1 n(ψ)+ζ(ψ)×G2 n(ψ)+ζ(ψ)→GT …(1)
双线性映射eψ满足下面的性质。
[双线性]双线性映射eψ关于所有的Γ1∈G1 n(ψ)+ζ(ψ),Γ2∈G2 n(ψ)+ζ(ψ)及ν,κ∈Fq,都满足下面的关系。
eψ(ν·Γ1,κ·Γ2)=eψ(Γ1,Γ2)ν·κ …(2)
[非退化性]双线性映射eψ不是将所有的Γ1∈G1 n(ψ)+ζ(ψ),Γ2∈G2 n(ψ)+ζ (ψ)都映射到循环群GT的单位元的映射。
[可计算性]关于所有的
Γ1∈G1 n(ψ)+ζ(ψ),Γ2∈G2 n(ψ)+ζ(ψ) …(3)
都具有高效地计算eψ(Γ1,Γ2)的算法。
在本方式中,由如下所述的将循环群G1和循环群G2的直积G1×G2映射到循环群GT的非退化双线性映射构成双线性映射eψ。
Pair:G1×G2→GT …(4)
本方式的双线性映射eψ相对于由循环群G1的n(ψ)+ζ(ψ)个元素γβ(β=1,...,n(ψ)+ζ(ψ))构成的n(ψ)+ζ(ψ)维向量(γ1,...,γn(ψ)+ζ(ψ))和由循环群G2的n(ψ)+ζ(ψ)个元素γβ*(β=1,...,n(ψ)+ζ(ψ))构成的n(ψ)+ζ(ψ)维向量(γ1*,...,γn(ψ)+ζ(ψ)*)的输入,将循环群GT的一个元素输出。
eψ:Πβ=1 n(ψ)+ζ(ψ)Pair(γβ,γβ *) …(5)
双线性映射Pair将循环群G1的一个元素和循环群G2的一个元素的组作为输入,将循环群GT的一个元素输出。双线性映射Pair满足下面的性质。
[双线性]双线性映射Pair关于所有的Ω1∈G1,Ω2∈G2及ν,κ∈Fq,都满足下面的关系。
Pair(ν·Ω1,κ·Ω2)=Pair(Ω1,Ω2)ν·κ …(6)
[非退化性]双线性映射Pair不是将所有的
Ω1∈G1,Ω2∈G2 …(7)
都映射到循环群GT的单位元的映射。
[可计算性]关于所有的Ω1∈G1,Ω2∈G2,都存在高效地计算Pair(Ω1,Ω2)的算法。
双线性映射Pair的具体例是用于进行Weil配对及Tate配对等配对运算的函数(例如,参照参考文献4“Alfred.J.Menezes,ELLIPTIC CURVE PUBLICKEY 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 onCurves,”1986,网址<http://crypto.stanford.edu/miller/miller.pdf>“等。用于高效地进行配对运算的椭圆曲线及循环群的构成方法是熟知的方法(例如,参照参考文献2、参考文献6“A.Miyaji,M.Nakabayashi,S.Takano,"New explicitconditions 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 withprescribed embedding degrees,"Proc.SCN'2002,LNCS 2576,pp.257-267,Springer-Verlag.2003”、参考文献8“R.Dupont,A.Enge,F.Morain,"Buildingcurves with arbitrary small MOV degree over finite prime fields,"http://eprint.iacr.org/2002/094/”等)。
ai(ψ)(i=1,...,n(ψ)+ζ(ψ)):ai(ψ)表示以循环群G1的n(ψ)+ζ(ψ)个元素为要素的n(ψ)+ζ(ψ)维的基向量。基向量ai(ψ)的一个例子是以κ1·g1∈G1为第i维的要素且以其余的n(ψ)+ζ(ψ)-1个要素为循环群G1的单位元(加法地表达为“0”)的n(ψ)+ζ(ψ)维的基向量。在这种情况下,当分别列举地表达n(ψ)+ζ(ψ)维的基向量ai(ψ)(i=1,...,n(ψ)+ζ(ψ))的各要素时,如下所述。
a1(ψ)=(κ1·g1,0,0,...,0)
a2(ψ)=(0,κ1·g1,0,...,0) …(8)
an(ψ)+ζ(ψ)(ψ)=(0,0,0,...,κ1·g1)
在此,κ1是由加法单位元0F以外的有限域Fq的元素构成的常数,κ1∈Fq的具体例是κ1=1F。基向量ai(ψ)是正交基,以循环群G1的n(ψ)+ζ(ψ)个元素为要素的所有的n(ψ)+ζ(ψ)维向量利用n(ψ)+ζ(ψ)维的基向量ai(ψ)(i=1,...,n(ψ)+ζ(ψ))的线性和来表示。即,n(ψ)+ζ(ψ)维的基向量ai(ψ)展开上述的向量空间V(ψ)。
ai*(ψ)(i=1,...,n(ψ)+ζ(ψ)):ai*(ψ)表示以循环群G2的n(ψ)+ζ(ψ)个元素为要素的n(ψ)+ζ(ψ)维的基向量。基向量ai*(ψ)的一个例子是以κ2·g2∈G2为第i维的要素且以其余的n(ψ)+ζ(ψ)-1个要素为循环群G2的单位元(加法地表达为“0”)的n(ψ)+ζ(ψ)维的基向量。在这种情况下,当分别列举地表达基向量ai*(ψ)(i=1,...,n(ψ)+ζ(ψ))的各要素时,如下所述。
a1*(ψ)=(κ2·g2,0,0,...,0)
a2*(ψ)=(0,κ2·g2,0,...,0) …(9)
an(ψ)+ζ(ψ)*(ψ)=(0,0,0,...,κ2·g2)
在此,κ2是由加法单位元0F以外的有限域Fq的元素构成的常数,κ2∈Fq的具体例是κ2=1F。基向量ai*(ψ)是正交基,以循环群G2的n(ψ)+ζ(ψ)个元素为要素的所有的n(ψ)+ζ(ψ)维向量利用n(ψ)+ζ(ψ)维的基向量ai*(ψ)(i=1,...,n(ψ)+ζ(ψ))的线性和来表示。即,n(ψ)+ζ(ψ)维的基向量ai*(ψ)展开上述的向量空间V*(ψ)。
另外,基向量ai(ψ)和基向量ai*(ψ)关于0F以外的有限域Fq的元素τ=κ1·κ2,满足
eψ(ai(ψ),aj*(ψ))=gT τ·δ(i,j) …(10)。
即,在i=j的情况下,从式(5)(6)的关系出发,满足下面的关系。
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 τ
上标κ1,κ2分别表示κ1,κ2。另一方面,在i≠j的情况下,eψ(ai(ψ),aj*(ψ))=Πi=1 n(ψ)+ζ(ψ)Pair(ai(ψ),aj*(ψ))的右边不包含Pair(κ1·g1,κ2·g2),而是变成Pair(κ1·g1,0)和Pair(0,κ2·g2)和Pair(0,0)的积。另外,从式(6)的关系出发,满足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的情况)下,满足下面的关系。
e(ai(ψ),aj*(ψ))=gT δ(i,j) …(11)
gT 0=1是循环群GT的单位元,gT 1=gT是循环群GT的生成元。基向量ai(ψ)和基向量ai*(ψ)是双重正交基(dual orthogonal base),向量空间V(ψ)和向量空间V*(ψ)是可构成双线性映射的双重向量空间〔双重配对向量空间(DPVS:Dual Paring Vector space)〕。
A(ψ):A(ψ)表示以基向量ai(ψ)(i=1,...,n(ψ)+ζ(ψ))为要素的n(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列的矩阵。例如,在基向量ai(ψ)(i=1,...,n(ψ)+ζ(ψ))由式(8)表达的情况下,矩阵A(ψ)如下所述。
【数学式2】
A*(ψ):A*(ψ)表示以基向量ai*(ψ)(i=1,...,n(ψ)+ζ(ψ))为要素的n(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列的矩阵。例如,在基向量ai*(ψ)(i=1,...,n(ψ)+ζ(ψ))由式(9)表达的情况下,矩阵A*(ψ)如下所述。
【数学式3】
X(ψ):X(ψ)表示以有限域Fq的元素为要素的n(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列的矩阵。矩阵X(ψ)用于基向量ai(ψ)的坐标变换。当设矩阵X(ψ)的i行j列(i=1,...,n(ψ)+ζ(ψ),j=1,...,n(ψ)+ζ(ψ))的要素为χi,j(ψ)∈Fq时,矩阵X(ψ)如下所述。
【数学式4】
另外,将矩阵X(ψ)的各要素χi,j(ψ)称为变换系数。
X*(ψ):矩阵X*(ψ)和矩阵X(ψ)满足X*(ψ)=τ'·(X(ψ)-1)T的关系。其中,τ'∈Fq是属于有限域Fq的任意常数,例如,τ'=1F。X*(ψ)用于基向量ai*(ψ)的坐标变换。当设矩阵X*(ψ)的i行j列的要素为χi,j*(ψ)∈Fq时,矩阵X*(ψ)如下所述。
【数学式5】
另外,将矩阵X*(ψ)的各要素χi,j*(ψ)称为变换系数。
在这种情况下,当设n(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列的单位矩阵为I(ψ)时,满足X(ψ)·(X*(ψ))T=τ'·I(ψ)。即,对单位矩阵进行如下定义。
【数学式6】
关于此,满足下面的关系。
【数学式7】
在此,对如下所述的n(ψ)+ζ(ψ)维向量进行定义。
χi →(ψ)=(χi,1(ψ),...,χi,n(ψ)+ζ(ψ)(ψ)) …(18)
χj →*(ψ)=(χj,1*(ψ),...,χj,n(ψ)+ζ(ψ)*(ψ)) …(19)
于是,从式(17)的关系出发,n(ψ)+ζ(ψ)维向量χi →(ψ)和χj →*(ψ)的内积如下所述。
χi →(ψ)·χj →*(ψ)=τ'·δ(i,j) …(20)
bi(ψ):bi(ψ)表示以循环群G1的n(ψ)+ζ(ψ)个元素为要素的n(ψ)+ζ(ψ)维的基向量。bi(ψ)通过利用矩阵X(ψ)对基向量ai(ψ)(i=1,...,n(ψ)+ζ(ψ))进行坐标变换可得到。具体而言,基向量bi(ψ)通过下面的运算可得到。
bi(ψ)=Σj=1 n(ψ)+ζ(ψ)χi,j(ψ)·aj(ψ) …(21)
例如,在基向量aj(ψ)(j=1,...,n(ψ)+ζ(ψ))由式(8)表达的情况下,当分别列举地表达基向量bi(ψ)的各要素时,如下所述。
bi(ψ)=(χi,1(ψ)·κ1·g1,χi,2(ψ)·κ1·g1,
...,χi,n(ψ)+ζ(ψ)(ψ)·κ1·g1) …(22)
以循环群G1的n(ψ)+ζ(ψ)个元素为要素的所有的n(ψ)+ζ(ψ)维向量利用n(ψ)+ζ(ψ)维的基向量bi(ψ)(i=1,...,n(ψ)+ζ(ψ))的线性和来表示。即,n(ψ)+ζ(ψ)维的基向量bi(ψ)展开上述的向量空间V(ψ)。
bi*(ψ):bi*(ψ)表示以循环群G2的n(ψ)+ζ(ψ)个元素为要素的n(ψ)+ζ(ψ)维的基向量。bi*(ψ)通过利用矩阵X*(ψ)对基向量ai*(ψ)(i=1,...,n(ψ)+ζ(ψ))进行坐标变换可得到。具体而言,基向量bi*(ψ)通过下面的运算可得到。
bi*(ψ)=Σj=1 n(ψ)+ζ(ψ)χi,j*(ψ)·aj*(ψ) …(23)
例如,在基向量aj*(ψ)(j=1,...,n(ψ)+ζ(ψ))由式(9)表达的情况下,当分别列举地表达基向量bi*(ψ)的各要素时,如下所述。
bi*(ψ)=(χi,1*(ψ)·κ2·g2,χi,2*(ψ)·κ2·g2,
...,χi,n(ψ)+ζ(ψ)*(ψ)·κ2·g2) …(24)
以循环群G2的n(ψ)+ζ(ψ)个元素为要素的所有的n(ψ)+ζ(ψ)维向量利用n(ψ)+ζ(ψ)维的基向量bi*(ψ)(i=1,...,n(ψ)+ζ(ψ))的线性和来表示。即,n(ψ)+ζ(ψ)维的基向量bi*(ψ)展开上述的向量空间V*(ψ)。
另外,基向量bi(ψ)和基向量bi*(ψ)关于0F以外的有限域Fq的元素τ=κ1·κ2,满足下面的关系。
eψ(bi(ψ),bj*(ψ))=gT τ·τ’·δ(i,j) …(25)
即,从式(5)(20)(22)(24)的关系出发,满足下面的关系。
【数学式8】
特别是,在τ=κ1·κ2=1F(例如,κ1=κ2=1F)及τ'=1F的情况下,满足下面的关系。
eψ(bi(ψ),bj*(ψ))=gT δ(i,j) …(26)
基向量bi(ψ)和基向量bi*(ψ)是双重配对向量空间(向量空间V(ψ)和向量空间V*(ψ))的双重正交基。
另外,如果满足式(25)的关系,则也可以使用式(8)(9)例示的以外的基向量ai(ψ)及ai*(ψ)或式(21)(23)例示的以外的基向量bi(ψ)及bi*(ψ)。
B(ψ):B(ψ)是以基向量bi(ψ)(i=1,...,n(ψ)+ζ(ψ))为要素的n(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列的矩阵。满足B(ψ)=X(ψ)·A(ψ)。例如,在基向量bi(ψ)由式(22)表达的情况下,矩阵B(ψ)如下所述。
【数学式9】
B*(ψ):B*(ψ)表示以基向量bi*(ψ)(i=1,...,n(ψ)+ζ(ψ))为要素的n(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列的矩阵。满足B*(ψ)=X*(ψ)·A*(ψ)。例如,在基向量bi*(ψ)(i=1,...,n(ψ)+ζ(ψ))由式(24)表达的情况下,矩阵B*(ψ)如下所述。
【数学式10】
v(λ)→:v(λ)→表示以有限域Fq的元素为要素的n(λ)维向量。
v(λ)→=(v1(λ),...,vn(λ)(λ))∈Fq n(λ) …(29)
vμ(λ):vμ(λ)表示n(λ)维向量v(λ)→的第μ(μ=1,...,n(λ))的要素。
w(λ)→:w(λ)→表示以有限域Fq的元素为要素的n(λ)维向量。
w(λ)→=(w1(λ),...,wn(λ)(λ))∈Fq n(λ) …(30)
wμ(λ):wμ(λ)表示n(λ)维向量w(λ)→的第μ(μ=1,...,n(λ))的要素。
Enc:Enc表示公钥密码方式的表示加密处理的公钥密码函数。
EncK(M):EncK(M)表示利用公钥K按照公钥密码函数Enc对明文M进行加密而得到的密文。
Dec:Dec表示公钥密码方式的表示解密处理的公钥解密函数。
DecK(C):DecK(C)表示利用公钥K按照公钥解密函数Dec对密文C进行解密而得到的解密结果。
无碰撞函数:“无碰撞函数”表示相对于充分大的安全参数sec满足下面的条件的函数h或当作函数h的函数。
Pr[A(h)=(x,y)|h(x)=h(y)∧x≠y]<ε(sec)
其中,Pr[·]是事件[·]的概率,A(h)是计算出相对于函数h满足h(x)=h(y)的值x,y(x≠y)的概率性的多项式时间算法,ε(sec)是安全参数sec的多项式。无碰撞函数的例子是参考文献1公开的“cryptographic hashfunction”等散列函数。
随机函数:“随机函数”表示属于集合Φζ的子集的函数或当作属于该子集的函数的函数。其中,集合Φζ是将集合{0,1}ζ的元素映射到集合{0,1}ζ的元素的所有的函数的集合。任意概率的多项式时间算法不能将集合Φζ和子集区别开来。随机函数的例子是如上所述的散列函数。
单射函数:“单射函数”表示不会将属于其定义域的互不相同的元素的像映射到属于其值域的同一元素的函数或当作不会将属于其定义域的互不相同的元素的像映射到属于其值域的同一元素的函数的函数。即,“单射函数”是将属于其定义域的元素一对一地映射到属于其值域的任一元素的函数或当作是将属于其定义域的元素一对一地映射到属于其值域的任一元素的函数的函数。单射函数的例子是参考文献1公开的“KDF(Key Derivation Function)”等散列函数。
HS(S=1,...,Smax):HS表示将两个值设为输入并将一个有限域Fq的元素输出的无碰撞函数。Smax是正整数常数。函数HS的例子是将一个循环群GT的元素和一个二进制序列设为输入并将一个有限域Fq的元素输出的无碰撞函数及将两个二进制序列设为输入并将一个有限域Fq的元素输出的无碰撞函数等。函数HS的具体例是包含将已输入的两个值映射到一个二进制序列的单射函数、参考文献1公开的“cryptographic hash function”等散列函数、将二进制序列映射到有限域的元素的变换函数(例如,参照参考文献1的“Octet stringand integer/finite field conversion”)的函数。将已输入的两个值映射到一个二进制序列的单射函数的具体例是,将已输入的一个循环群GT的元素映射到二进制序列并将其二进制序列和已输入的一个二进制序列的异或输出的函数或者将已输入的两个二进制序列的异或输出的函数等。从安全性的观点出发,函数HS优选为单向函数,更优选为随机函数。也可以为仅函数HS的一部分是单向函数或随机函数,但从安全性的观点出发,所有的函数HS优选为单向函数,更优选为随机函数。从安全性的观点出发,函数HS(S=1,...,Smax)优选为互不相同的函数。
R:R表示将一个值设为输入并将一个二进制序列输出的单射函数。单射函数R的例子是将一个循环群GT的元素设为输入并将一个二进制序列输出的函数及将一个二进制序列设为输入并将一个二进制序列输出的函数等。单射函数R的具体例是包含将已输入的一个值映射到一个二进制序列的单射函数和参考文献1公开的“cryptographic hash function”等散列函数的函数,或是参考文献1公开的:cryptographic hash function“等散列函数。从安全性的观点出发,单射函数R优选为单向函数,更优选为随机函数。
〔函数密码方式〕
接着,对函数密码方式的基本构成进行说明。
函数密码方式在由第一信息和第二信息的组合规定的逻辑式的真值成为“真”的情况下,密文为被解密的方式。“第一信息”和“第二信息”中的一方嵌入密文,另一方嵌入密钥信息。例如,“‘Predicate Encryption SupportingDisjunctions,Polynomial Equations,and Inner Products,’with Amit Sahai andBrent Waters One of 4 papers from Eurocrypt 2008 invited to the Journal ofCryptology”(参考文献9)公开的谓语密码方式是函数密码方式的一种。
除此以外,还存在各种各样的众所周知的函数密码方式,但在下述中,对未公开的新的函数密码方式进行说明。在下面说明的新的函数密码方式中,秘密信息相应的值以规定的逻辑式相应的形态分层次地秘密分散。规定的逻辑式包含通过第一信息和第二信息的组合而规定真值的命题变量,根据需要,进一步包含运算标记∧、∨、¬中的任一个或全部。在通过确定各命题变量的真值而定的该规定的逻辑式的真值成为“真“的情况下,秘密信息相应的值恢复,基于此,对密文进行解密。
<逻辑式和分层次的秘密分散之间的关系>
下面,对上述的规定的逻辑式和分层次的秘密分散之间的关系进行说明。
秘密分散仅在得到阈值Kt(Kt≧1)个以上的共享信息的情况下,将秘密信息分散为N(N≧2)个共享信息,以使秘密信息恢复。将满足Kt=N的秘密分散的方式(SSS:Secret Sharing Scheme)称为N-out-of-N分散方式(或“N-out-of-N阈值分散方式”),将满足Kt<N的秘密分散的方式称为Kt-out-of-N分散方式(或“Kt-out-of-N阈值分散方式”)(例如,参照参考文献10“黒沢馨、尾形わかは、‘現代暗号の基礎数理(電子情報通信レクチャーシリーズ)’、コロナ公司、2004年3月、p.116-119“、参考文献11“A.Shamir,‘How to Share a Secret’,Communications of the ACM,November 1979,Volume 22,Number 11,pp.612-613.”等)。
在N-out-of-N分散方式中,如果赋予所有的共享信息share(1),...,share(N),则能够恢复秘密信息SE,但即使赋予任意的N-1个共享信息也完全得不到秘密信息SE的信息。下面表示的是N-out-of-N分散方式的一个例子。
·随机地选择SH1,...,SH-1。
·进行SH=SE-(SH1+...+SH-1)的计算。
·将SH1,...,SH设为各共享信息share(1),...,share(N)。
·如果赋予所有的共享信息share(1),...,share(N),则可通过下面的恢复处理,进行秘密信息SE的恢复。
SE=share(1)+...+share(N) …(31)
在Kt-out-of-N分散方式中,如果赋予任意不同的Kt个共享信息 则能够恢复秘密信息SE,但即使赋予任意Kt-1个共享信息也完全得不到秘密信息SE的信息。下标Kt表示Kt。下面表示的是Kt-out-of-N分散方式的一个例子。
·随机地选择满足f(0)=SE的Kt-1次的多项式f(x)=ξ0+ξ1·x+ξ2·x2+...+ξKt-1·xKt-1。即,设ξ0=SE,随机地选择ξ1,...,ξKt-1。将共享信息设为share(ρ)=(ρ,f(ρ))(ρ=1,...,N)。可从(ρ,f(ρ))提取ρ及f(ρ),(ρ,f(ρ))的例子是ρ和f(ρ)的位连接值。
·在得到任意不同的Kt个共享信息 的情况下,利用例如拉格朗日(Lagrange)插值公式,通过如下所述的恢复处理,可进行秘密信息SE的恢复。
【数学式11】
另外,
是不存在从第一到第ρ个被运算对象〔分母的要素分子的要素〕的意思。即,式(33)的分母如下表示。
式(33)的分子如下表示。
上述的各秘密分散即使在域上也可执行。另外,也可将它们扩展而将秘密信息SE相应的值秘密分散为共享信息share相应的值。秘密信息SE相应的值是秘密信息SE自身及秘密信息SE的函数值,共享信息share相应的值是共享信息share自身及共享信息的函数值。例如,也能够将有限域Fq的元素即秘密信息SE∈Fq相应的循环群GT的元素gTSE∈GT秘密分散为秘密信息SE的各共享信息share(1),share(2)相应的循环群GT的元素gT share(1),gT share (2)∈GT。上述的秘密信息SE成为共享信息share的线性结合(式(31)(32))。将秘密信息SE成为共享信息share的线性结合的秘密分散方式称为线性秘密分散方式。
上述的规定的逻辑式可利用将秘密信息分层次地秘密分散而得到的树结构数据来表达。即,通过德摩根定律,上述的规定的逻辑式可利用由文字构成的逻辑式或由运算标记∧、∨中的至少一部分和文字构成的逻辑式(将它们称为“标准形逻辑式”)来表达,该标准形逻辑式可利用将秘密信息分层次地秘密分散而得到的树结构数据来表达。
表达标准形逻辑式的树结构数据包含多个节点,至少一部分节点设为一个以上的子节点的母节点,母节点的一个设为根节点,子节点的至少一部分设为叶节点。不存在根节点的母节点及叶节点的子节点。与根节点对应的是秘密信息相应的值,与各母节点的子节点对应的是将对应于该母节点的值秘密分散而得到的共享信息相应的值。各节点的秘密分散方式(秘密分散方式及阈值)根据标准形逻辑式来定。另外,与各叶节点对应的是构成标准形逻辑式的各文字,该各文字的真值通过第一信息和第二信息的组合来规定。
在此,可得到与真值成为真的文字对应的对应于叶节点的共享信息相应的值,但不能得到与真值成为假的文字对应的对应于叶节点的共享信息相应的值。另外,通过上述的秘密分散的性质,对应于母节点的共享信息相应的值(如果其母节点是根节点,则是秘密信息相应的值)仅在只能得到对应于该母节点的阈值以上的个数的对应于其子节点的共享信息相应的值的情况下被恢复。因此,根据对应于哪个叶节点的文字的真值变成了真和树结构数据的构成(包含各节点的秘密分散的方式),决定对应于根节点的秘密信息相应的值最终是否能够恢复。仅在对应于各叶节点的各文字的真值将标准形逻辑式的真值设为真的情况下,对应于根节点的秘密信息相应的值最终能够恢复,在以这种方式构成树结构数据的情况下,这种树结构数据表达标准形逻辑式。表达这种标准形逻辑式的树结构数据能够容易地设定。下面表示的是具体例。
图1是对包含命题变量PRO(1),PRO(2)、命题变量PRO(3)的非¬PRO(3)、运算标记∧、∨在内的表达标准形逻辑式PRO(1)∧PRO(2)∨¬PRO(3)的树结构数据进行例示的图。图1例示的树结构数据包含多个节点N1,...,N5。节点N1设为节点N2,N5的母节点,节点N2设为节点N3,N4的母节点,母节点的一个节点N1设为根节点,子节点的一部分即节点N3,N4,N5设为叶节点。与节点N1对应的是秘密信息SE相应的值,与节点N1的子节点N2,N5对应的分别是秘密信息SE相应的值以1-out-of-2分散方式秘密分散而成的各共享信息SE,SE相应的值。与节点N2的子节点N3,N4对应的分别是共享信息SE相应的值以2-out-of-2分散方式秘密分散而成的各共享信息SE-SH1,SH1相应的值。即,与叶节点N3对应的是共享信息share(1)=SE-SH1相应的值,与叶节点N4对应的是共享信息share(2)=SH1相应的值,与叶节点N5对应的是共享信息share(3)=SE相应的值。与叶节点N3,N4,N5对应的分别是构成标准形逻辑式PRO(1)∧PRO(2)∨¬PRO(3)的各文字PRO(1)、PRO(2)、¬PRO(3),该各文字PRO(1)、PRO(2)、¬PRO(3)的真值通过第一信息和第二信息的组合来规定。在此,可得到与真值成为真的文字对应的对应于叶节点的共享信息相应的值,但不能得到与真值成为假的文字对应的对应于叶节点的共享信息相应的值。在这种情况下,仅在第一信息和第二信息的组合将标准形逻辑式PRO(1)∧PRO(2)∨¬PRO(3)的真值设为真的情况下,秘密信息SE相应的值才被恢复。
图2是对包含命题变量PRO(1)、PRO(2)、PRO(3)、PRO(6)、PRO(7)、命题变量PRO(4)、PRO(5)的非¬PRO(4)、¬PRO(5)、运算标记∧、∨在内的标准形逻辑式(PRO(1)∧PRO(2))∨(PRO(2)∧PRO(3))∨(PRO(1)∧PRO(3))∨¬PRO(4)∨(¬PRO(5)∨PRO(6))∧PRO(7)的树结构数据进行例示的图。
图2例示的树结构数据包含多个节点N1,...,N11。节点N1设为节点N2,N6,N7的母节点,节点N2设为节点N3,N4,N5的母节点,节点N7设为节点N8,N11的母节点,节点N8设为节点N9,N10的母节点,母节点的一个即节点N1设为根节点,节点N3,N4,N5,N6,N9,N10,N11设为叶节点。与节点N1对应的是秘密信息SE相应的值,与节点N1的子节点N2,N6,N7对应的分别是秘密信息SE相应的值以1-out-of-3分散方式秘密分散而成的各共享信息SE,SE,SE相应的值。与节点N2的子节点N3,N4,N5对应的分别是共享信息SE相应的值以2-out-of-3分散方式秘密分散而成的各共享信息(1,f(1)),(2,f(2)),(3,f(3))相应的值。与节点N7的子节点N8,N11对应的是分别是共享信息SE相应的值以2-out-of-2分散方式秘密分散而得到的各共享信息SH4,SE-SH4相应的值。与节点N8的子节点N9,N10对应的分别是共享信息SH4相应的值以1-out-of-2分散方式秘密分散而得到的各共享信息SH4,SH4相应的值。即,与叶节点N3对应的是共享信息share(1)=(1,f(1))相应的值,与叶节点N4对应的是共享信息share(2)=(2,f(2))相应的值,与叶节点N5对应的是共享信息share(3)=(3,f(3))相应的值,与叶节点N6对应的是共享信息share(4)=SE相应的值,与叶节点N9对应的是共享信息share(5)=SH4相应的值,与叶节点N10对应的是共享信息share(6)=SH4相应的值,与叶节点N11对应的是共享信息share(7)=SE-SH4相应的值。另外,与叶节点即节点N3,N4,N5,N6,N9,N10,N11对应的分别是构成标准形逻辑式(PRO(1)∧PRO(2))∨(PRO(2)∧PRO(3))∨(PRO(1)∧PRO(3))∨¬PRO(4)∨(¬PRO(5)∨PRO(6))∧PRO(7)的各文字PRO(1),PRO(2),PRO(3),¬PRO(4),¬PRO(5),PRO(6),PRO(7),各文字PRO(1),PRO(2),PRO(3),¬PRO(4),¬PRO(5),PRO(6),PRO(7)的真值通过第一信息和第二信息的组合来规定。在此,可得到与真值成为真的文字对应的对应于叶节点的共享信息相应的值,但不能得到与真值成为假的文字对应的对应于叶节点的共享信息相应的值。在这种情况下,仅在第一信息和第二信息的组合将标准形逻辑式(PRO(1)∧PRO(2))∨(PRO(2)∧PRO(3))∨(PRO(1)∧PRO(3))∨¬PRO(4)∨(¬PRO(5)∨PRO(6))∧PRO(7)的真值设为真的情况下,秘密信息SE相应的值才被恢复。
<访问构造>
如上所述,在利用将秘密信息分层次地秘密分散而得到的树结构数据表达规定的逻辑式的情况下,通过对第一信息和第二信息的组合判断能否从得到的叶节点的共享信息相应的值恢复秘密信息相应的值,能够判定由第一信息和第二信息的组合规定的逻辑式的真值是“真”还是“假”。下面,将在由第一信息和第二信息的组合规定的逻辑式的真值成为“真”的情况下接受第一信息和第二信息的组合,且在成为“假”的情况下拒绝第一信息和第二信息的组合的结构称为访问构造。
如上所述,设表达规定的逻辑式的树结构数据的叶节点的总数为Ψ,设对应于各叶节点的标识符为λ=1,...,Ψ。将对应于各叶节点的n(λ)维向量v(λ)→的集合{v(λ)→}λ=1,...,Ψ设为第一信息,将n(λ)维向量w(λ)→的集合{w(λ)→}λ=1,...,Ψ设为第二信息。另外,将上述的树结构数据作为带标签的矩阵LMT(MT,LAB)而安装。
带标签的矩阵LMT(MT,LAB)包含下面的Ψ行COL列(COL≧1)的矩阵MT、与矩阵MT的各行λ=1,...,Ψ对应的标签LAB(λ)。
【数学式12】
矩阵MT的各要素mtλ,col(col=1,...,COL)满足下面的两个必要条件。第一,如上所述,在与表达规定的逻辑式的树结构数据的根节点对应的是秘密信息SE∈Fq相应的值的情况下,在以预定的有限域Fq的元素为要素的COL维向量GV→和以秘密信息SE相应的有限域Fq的元素为要素的COL维向量CV→之间,下面的关系成立。
GV→=(gv1,...,gvCOL)∈Fq COL …(35)
CV→=(cv1,...,cvCOL)∈Fq COL …(36)
SE=GV→·(CV→)T …(37)
下面表示的是COL维向量GV→的具体例。
GV→=(1F,...,1F)∈Fq COL …(38)
其中,GV→=(1F,0F,...,0F)∈Fq COL等以外的COL维向量也可以是GV→。
第二,在与对应于标识符λ的叶节点对应的是共享信息share(λ)∈Fq相应的值的情况下,下面的关系成立。
(share(1),...,share(Ψ))T=MT·(CV→)T …(39)
如上所述,如果规定表达规定的逻辑式的树结构数据,则容易选择满足这两个必要条件的矩阵MT。即使秘密信息SE及共享信息share(λ)是变量,也容易选择满足这两个必要条件的矩阵MT。即,也可以在规定了矩阵MT以后,再规定秘密信息SE及共享信息share(λ)的值。
另外,与矩阵MT的各行λ=1,...,Ψ对应的标签LAB(λ)与对应于叶节点的文字(PRO(λ)或¬PRO(λ))对应,所述叶节点与标识符λ对应。在此,处理成命题变量PRO(λ)的真值为“真”的情况与第一信息VSET1={λ,v(λ)→|λ=1,...,Ψ}包含的v(λ)→和第二信息VSET2={λ,w(λ)→|λ=1,...,Ψ}包含的w(λ)→的内积v(λ)→·w(λ)→成为0的情况等效,且处理成命题变量PRO(λ)的真值为“假”的情况和内积v(λ)→·w(λ)→不成为0的情况等效。对应于PRO(λ)的标签LAB(λ)表示v(λ)→,对应于¬PRO(λ)的标签LAB(λ)表示¬v(λ)→。另外,¬v(λ)→是表示v(λ)→的非的逻辑式,从¬v(λ)→可实现v(λ)→的确定。将LAB(λ)表示v(λ)→的情况表述为“LAB(λ)=v(λ)→”,将LAB(λ)表示¬v(λ)→的情况表述为“LAB(λ)=¬v(λ)→”。将LAB(λ)(λ=1,...,Ψ)的集合{LAB(λ)}λ=1,...,Ψ表述为LAB。
Ψ维向量TFV→如下定义。
TFV→=(tfv(1),...,tfv(Ψ)) …(40)
要素tfv(λ)在内积v(λ)→·w(λ)→为0时,成为tfv(λ)=1,在0以外时,成为tfv(λ)=0。
tfv(λ)=1(PRO(λ)为真)如果v(λ)→·w(λ)→=0 …(41)
tfv(λ)=0(PRO(λ)为假)如果v(λ)→·w(λ)→≠0 …(42)
另外,在下面的逻辑式的真值变成“真”时,表述为LIT(λ)=1,在变成“假”时,表述为LIT(λ)=0。
{(LAB(λ)=v(λ)→)∧(tfv(λ)=1)}∨{(LAB(λ)=¬v(λ)→)∧(tfv(λ)=0)} …(43)
即,在与标识符λ对应的对应于叶节点的文字的真值变成“真”时,表述为LIT(λ)=1,在变成“假”时,表述为LIT(λ)=0。于是,仅由矩阵MT包含的行向量中成为LIT(λ)=1的行向量mtλ →=(mtλ,1,...,mtλ,COL)构成的子矩阵MTTFV可如下表述。
MTTFV=(MT)LIT(λ)=1 …(44)
在上述的秘密分散方式为线性秘密分散方式的情况下,秘密信息SE相应的值能够从对应于标识符λ的共享信息share(λ)相应的值恢复的情况和COL维向量GV→属于由对应于标识符λ的行向量mtλ →展开的向量空间的情况等效。即,通过判定COL维向量GV→是否属于由对应于标识符λ的行向量mtλ →展开的向量空间,能够判定秘密信息SE相应的值是否能够从对应于标识符λ的共享信息share(λ)相应的值恢复。由行向量mtλ →展开的向量空间是可用行向量mtλ →的线性结合来表示的向量空间的意思。
在此,在COL维向量GV→属于由上述子矩阵MTTFV的各行向量mtλ →展开的向量空间span<MTTFV>的情况下,接受第一信息和第二信息的组合,在不属于的情况下,拒绝第一信息和第二信息的组合。由此,上述的访问构造被具体化。另外,如上所述,在带标签的矩阵LMT(MT,LAB)与第一信息对应的情况下,将访问构造接受第一信息和第二信息的组合的情况称为“访问构造接受第二信息”,将访问构造不接受第一信息和第二信息的组合的情况称为“访问构造拒绝第二信息”。
接受如果GV→∈span<MTTFV>
拒绝如果¬(GV→∈span<MTTFV>)
在GV→∈span<MTTFV>的情况下,存在满足下面的关系的系数const(μ),这种系数const(μ)可利用矩阵MT的尺寸程度的多项式时间来求出。
SE=Σμ∈SETconst(μ)·share(μ) …(45)
<使用访问构造的函数密码方式的基本方式>
下面例示的是由使用访问构造的函数密码方式构成密钥封装化机制KEM(Key Encapsulation Mechanisms)时的基本方式。该基本方式包含Setup(1sec,(Ψ;n(1),...,n(Ψ)))、GenKey(PK,MSK,LMT(MT,LAB))、Enc(PK,M,{λ,v(λ)→|λ=1,...,Ψ})(v1(λ)=1F)、Dec(PK,SKS,C)。另外,第二信息VSET2={λ,w(λ)→|λ=1,...,Ψ}的第一个要素w1(λ)设为1F。
[Setup(1sec,(Ψ;n(1),...,n(Ψ))):设置]
-输入:1sec、(Ψ;n(1),...,n(Ψ))
-输出:万能密钥信息MSK、公开参数PK
在Setup中,关于各ψ=0,...,Ψ,执行下面的处理。
(Setup-1)将1sec作为输入,生成安全参数sec的位数q、椭圆曲线E、循环群G1,G2,GT、双线性映射eψ(ψ=0,...,Ψ)(param=(q,E,G1,G2,GT,eψ))。
(Setup-2)选择τ'∈Fq,且选择满足X*(ψ)=τ'·(X(ψ)-1)T的矩阵X(ψ)、X*(ψ)。
(Setup-3)基向量ai(ψ)(i=1,...,n(ψ)+ζ(ψ))按照式(21)进行坐标变换,生成n(ψ)+ζ(ψ)维的基向量bi(ψ)(i=1,...,n(ψ)+ζ(ψ))。生成以基向量bi(ψ)(i=1,...,n(ψ)+ζ(ψ))为要素的n(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列的矩阵B(ψ)。
(Setup-4)基向量ai*(ψ)(i=1,...,n(ψ)+ζ(ψ))按照式(23)进行坐标变换,生成n(ψ)+ζ(ψ)维的基向量bi*(ψ)(i=1,...,n(ψ)+ζ(ψ))。生成以基向量bi*(ψ)(i=1,...,n(ψ)+ζ(ψ))为要素的n(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列的矩阵B*(ψ)。
(Setup-5)将B*(ψ)^的集合{B*(ψ)^}ψ=0,...,Ψ设为万能密钥信息MSK={B*(ψ)^}ψ=0,...,Ψ。将B(ψ)^的集合{B(ψ)^}ψ=0,...,Ψ和1sec和param设为公开参数PK。其中,B*(ψ)^是矩阵B*(ψ)或其子矩阵,B(ψ)^是矩阵B(ψ)或其子矩阵。集合{B*(ψ)^}ψ=0,...,Ψ至少包含b1*(0),b1*(λ)…,bn(λ)*(λ)(λ=1,...,Ψ)。集合{B(ψ)^}ψ=0,...,Ψ至少包含b1(0),b1(λ),…,bn(λ)(λ)(λ=1,...,Ψ)。下面表示的是一个例子。
·n(0)+ζ(0)≧5,ζ(λ)=3·n(λ)
·B(0)^=(b1(0) b3(0) b5(0))T
·B(λ)^=(b1(λ) … bn(λ)(λ) b3·n(λ)+1(λ) … b4·n(λ)(λ))T(λ=1,...,Ψ)
·B*(0)^=(b1*(0) b3*(0) b4*(0))T
·B*(λ)^=(b1*(λ) … bn(λ)*(λ) b2·n(λ)+1*(λ) … b3·n(λ)*(λ))T(λ=1,...,Ψ)
[GenKey(PK,MSK,LMT(MT,LAB)):密钥信息生成]
-输入:公开参数PK、万能密钥信息MSK、与第一信息VSET1={λ,v(λ)→|λ=1,...,Ψ}对应的带标签的矩阵LMT(MT,LAB)
-输出:密钥信息SKS
(GenKey-1)对满足式(35)-(39)的秘密信息SE执行下面的处理。
D*(0)=-SE·b1*(0)+Σι=2 Icoefι(0)·bι*(0) …(46)
其中,I是2以上n(0)+ζ(0)以下的常数。coefι(0)∈Fq是常数或随机数。“随机数”是真实随机数及伪随机数的意思。下面表示的是D*(0)的一个例子。另外,式(47)的coef4(0)是随机数。
D*(0)=-SE·b1*(0)+b3*(0)+coef4(0)·b4*(0) …(47)
(GenKey-2)对满足式(35)-(39)的share(λ)(λ=1,...,Ψ)执行下面的处理。
相对于成为LAB(λ)=v(λ)→的λ,生成下面的D*(λ)。
D*(λ)=(share(λ)+coef(λ)·v1(λ))·b1*(λ)
+Σι=2 n(λ)coef(λ)·vι(λ)·bι*(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ)·bι*(λ) …(48)
相对于成为LAB(λ)=¬v(λ)→的λ,生成下面的D*(λ)。
D*(λ)=share(λ)·Σι=1 n(λ)vι(λ)·bι*(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ)·bι*(λ) …(49)
其中,coef(λ),coefι(λ)∈Fq是常数或随机数。下面表示的是一个例子。
相对于成为LAB(λ)=v(λ)→的λ,生成例如下面的D*(λ)。
D*(λ)=(share(λ)+coef(λ)·v1(λ))·b1*(λ)
+Σι=2 n(λ)coef(λ)·vι(λ)·bι*(λ)
+Σι=2·n(λ)+1 3·n(λ)coefι(λ)·bι*(λ) …(50)
相对于成为LAB(λ)=¬v(λ)→的λ,生成例如下面的D*(λ)。
D*(λ)=share(λ)·Σι=1 n(λ)vι(λ)·bι*(λ)
+Σι=2·n(λ)+1 3·n(λ)coefι(λ)·bι*(λ) …(51)
另外,式(50)(51)的coef(λ)及coefι(λ)是随机数。
(GenKey-3)生成下面的密钥信息。
SKS=(LMT(MT,LAB),D*(0),D*(1),...,D(Ψ)) …(52)
[Enc(PK,M,VSET2):加密]
-输入:公开参数PK、明文M、第二信息VSET2={λ,w(λ)→|λ=1,...,Ψ}(w1(λ)=1F)
-输出:密文C
(Enc-1)通过下面的处理,生成公钥K的密文C(ψ)(ψ=0,...,Ψ)。
C(0)=υ·b1(0)+Σι=2 Iυι(0)·bι(0) …(53)
C(λ)=υ·Σι=1 n(λ)wι(λ)·bι(λ)+Σι=n(λ)+1 n(λ)+ζ(λ)υι(λ)·bι(λ) …(54)
其中,υ,υι(ψ)∈Fq(ψ=0,...,Ψ)是常数或随机数,满足下面的关系。
(coef2(0),...,coefI(0))·(υ2(0),...,υI(0))=υ' …(55)
coefι(λ)·υι(λ)=0F(ι=n(λ)+1,...,n(λ)+ζ(λ)) …(56)
υ'的例子是υ2(0),...,υI(0)中的任一个。例如,υ,υ3(0),υ5(0),υ3·n (λ)+1(λ),...,υ4·n(λ)(λ)是随机数,ζ(λ)=3·n(λ),I=5,满足下面的关系。
(υ2(0),...,υI(0))=(0F,υ3(0),0F,υ5(0))
υ'=υ3(0)
(υn(λ)+1(λ),...,υ3·n(λ)(λ))=(0F,...,0F)
(Enc-2)生成下面的公钥。
K=gT τ·τ’·υ’∈GT …(57)
例如,在τ=τ'=1F的情况下,满足下面的关系。
K=gTυ'∈GT …(58)
(Enc-3)利用公钥K,生成明文M的密文C(Ψ+1)。
C(Ψ+1)=EncK(M) …(59)
公钥密码方式Enc也可以是例如利用公钥K可加密地构成的Camellia(注册商标)及AES及公钥和明文的异或等,但作为其他简单的例子,如下所述,也可以生成EncK(M)。其中,在式(60)的例中,设为M∈GT。
C(Ψ+1)=gTυ'·M …(60)
(Enc-4)生成下面的密文。
C=(VSET2,C(0),{C(λ)}(λ,w(λ)→)∈VSET2,C(Ψ+1)) …(61)
其中,下标的“w(λ)→”表示“w(λ)→”。
[Dec(PK,SKS,C):解密]
-输入:公开参数PK、密钥信息SKS、密文C
-输出:明文M'
(Dec-1)关于λ=1,...,Ψ,判定密钥信息SKS包含的带标签的矩阵LMT(MT,LAB)的各标签LAB(λ)即n(λ)维向量v(λ)→和密文C的VSET2包含的n(λ)维向量w(λ)→的内积v(λ)→·w(λ)→是否成为0,利用该判定和LMT(MT,LAB)的各标签LAB(λ),来判定是否为GV→∈span<MTTFV>(式(40)-(45))。如果不是GV→∈span<MTTFV>,则拒绝密文C,如果是GV→∈span<MTTFV>,则接受密文C。
(Dec-2)当接受密文C时,就对 和满足式(45)的系数const(μ)(μ∈SET)进行计算。
(Dec-3)生成下面的公钥。
【数学式13】
在此,从式(6)(25)(55)出发,满足下面的关系。
【数学式14】
从式(6)(25)(41)(48)(54)(56)及w1(λ)=1F出发,满足下面的关系。
【数学式15】
从式(6)(25)(42)(49)(54)(56)出发,满足下面的关系。
【数学式16】
从式(45)(63)-(65)出发,满足下面的关系。
【数学式17
例如,在τ=τ'=1F的情况下,满足下面的关系。
K=gT υ'∈GT …(67)
(Dec-4)利用公钥K,如下所述,生成明文M'。
M'=DecK(C(Ψ+1))=DecK(C(Ψ+1)) …(68)
例如,在式(60)例示的公钥密码方式的情况下,如下所述,生成明文M'。
M'=C(Ψ+1)/K …(69)
另外,也可以将gT τ或gT τ'或gT τ·τ'作为GT的生成元来处理,来代替将gT设为GT的生成元。另外,也可以利用对密钥信息SKS的λ和密文的λ确定对应关系的映射,确定C(λ)和D*(λ)的组合,执行[Dec(PK,SKS,C):解密]的处理。不仅第二信息VSET2={λ,w(λ)→|λ=1,...,Ψ}的第一个要素w1(λ)设为1F,而且第一信息VSET1={λ,v(λ)→|λ=1,...,Ψ}的第n(λ)个要素vn(λ)(λ)也可以设为1F。在要素w1(λ)不是1F的情况下,也可以使用w(λ)→/w1(λ)来代替w(λ)→,在要素vn(λ)(λ)不是1F的情况下,也可以使用v(λ)→/vn(λ)(λ)来代替v(λ)→。也可以使用第二信息VSET2={λ,w(λ)→|λ=1,...,Ψ}来代替第一信息VSET1={λ,v(λ)→|λ=1,...,Ψ},使用第一信息VSET1={λ,v(λ)→|λ=1,...,Ψ}来代替第二信息VSET2={λ,w(λ)→|λ=1,...,Ψ}。在这种情况下,第一信息VSET1={λ,v(λ)→|λ=1,...,Ψ}的第一个要素v1(λ)设为1F。
〔CCA安全性〕
在执行了下面的[1]-[4]的情况下,在满足式(70)的关系时,下面的与密码神盾(oracle)及解密神盾对应的密码方式是CCA安全。
Pr[bit=bit']<(1/2)-FNK(sec) …(70)
其中,FNK(sec)是sec的函数,满足0<FNK(sec)≦1/2。如果在[2]之后进行[3],则称为“相对于CCA2是安全的”,如果在[3]之后进行[2],则称为“相对于CCA1是安全的”。“CCA2”是比“CCA1”更强力的攻击法。
[1]对攻击者赋予公开参数PK。
[2]攻击者向具有公开参数PK的密码神盾提供两个位串即明文M0,M1,密码神盾随机地选择bit∈{0,1},对其中的一个明文Mbit进行加密,然后将其密文Cbit提供给攻击者。
[3]攻击者向具有密钥信息SKS的解密神盾提供密文Cbit'(Cbit'≠Cbit),从解密神盾获取密文Cbit'的解密结果。
[4]攻击者将bit'∈{0,1}输出。
〔使用访问构造的函数密码方式的基本方式的CCA安全性〕
使用上述的访问构造的函数密码方式的基本方式不是CCA安全。例示简单的例子对此进行说明。在该简单的例子中,明文M是二进制序列。相对于明文M的使用公钥K的公钥密码方式的密文C(Ψ+1)=EncK(M)(式(59))按照下式生成。
C(Ψ+1)=MAP(K)(+)M …(71)
使用公钥K的密文C(Ψ+1)的解密结果(式(68))按照下式生成。
M'=C(Ψ+1)(+)MAP(K) …(72)
另外,MAP(K)表示K∈GT的向二进制序列的映射。在这种情况下,攻击者可采取如下所述的策略(以下称为“假定策略”)。
[1]对攻击者赋予公开参数PK。
[2]攻击者向具有公开参数PK的密码神盾提供第二信息VSET2={λ,w(λ)→|λ=1,...,Ψ}和两个明文M0,M1。密码神盾随机地选择bit∈{0,1},用公钥K(式(57))对其中的一个明文Mbit进行加密,生成下面的密文Cbit(Ψ+1)
Cbit(Ψ+1)=MAP(K)(+)Mbit …(73)。
密码神盾进一步生成密文C(0),C(λ)(λ=1,...,Ψ)(式(53)(54)),然后将下面的密文提供给攻击者。
Cbit=(VSET2,C(0),{C(λ)}(λ,w(λ)→)∈VSET2,Cbit(Ψ+1)) …(74)
[3]攻击者向具有密钥信息SKS(式(52))的解密神盾提供下面的密文Cbit',从解密神盾获取密文Cbit'的解密结果。
Cbit'=(VSET2,C(0),{C(λ)}(λ,w(λ)→)∈VSET2,Cbit(Ψ+1)(+)ΔM)…(75)
其中,ΔM是向攻击者通知值的二进制序列。
在此,如果是bit=0,则为Cbit(Ψ+1)=MAP(K)(+)M0,Cbit(Ψ+1)(+)ΔM的解密结果成为M0(+)ΔM。另一方面,如果是bit=1,则为Cbit(Ψ+1)=MAP(K)(+)M1,Cbit(Ψ+1)(+)ΔM的解密结果成为M0(+)ΔM。
[4]攻击者在Cbit'的解密结果为M0(+)ΔM时,将bit'=0输出,在为M1(+)ΔM时,将bit'=1输出。
在这种情况下,成为Pr[bit=bit']=1,不满足式(70)。
〔使用本方式的访问构造的函数密码方式〕
如上所述,使用访问构造的函数密码方式的基本方式不是CCA安全。另一方面,在为使使用访问构造的函数密码方式的基本方式具有CCA安全性而使用CHK变换方式及BK变换方式时,进一步需要仅用于使CCA安全性提高的二维密文空间。在本方式中,没有用于使CCA安全性提高的追加的密文空间,CCA安全性提高。
<函数密码方式的改进方式>
下面,对本方式的函数密码方式的改进方式进行概要说明。
[加密处理]
进行加密处理的加密装置执行下面的处理。
(Enc-11)随机数生成部生成随机数r。
(Enc-12)第一加密部生成随机数r相应的二进制序列和二进制序列的明文M的异或值即密文C2。随机数r是秘密信息,不知道随机数r的不能从密文C2恢复明文M。
(Enc-13)函数运算部将随机数r和密文C2的组分别输入到Smax(Smax≧1)个无碰撞函数HS(S=1,...,Smax),生成Smax(Smax≧1)个函数值HS(r,C2)(S=1,...,Smax)。
(Enc-14)公钥生成部生成相对于循环群GT的生成元gT及常数τ,τ'满足下面的关系的公钥K。
K=gT τ·τ'·υ’∈GT …(76)
(Enc-15)第二加密部利用公钥K并通过公钥密码方式对随机数r进行加密,生成密文C(Ψ+1)。
(Enc-16)第三加密部生成包含下面的C(0),C(λ)(λ=1,...,Ψ),C(Ψ+1)在内的密文C1。
C(0)=υ·b1(0)+Σι=2 Iυι(0)·bι(0) …(77)
C(λ)=
υ·Σι=1 n(λ)wι(λ)·bι(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)υι(λ)·bι(λ) …(78)
C(Ψ+1)
满足式(55)(56)的关系,υ,υι(0)(ι=2,...,I),υι(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))中的至少一部分的值与函数值HS(r,C2)(S=1,...,Smax)中的任一个对应。换言之,υ,υι(0)(ι=2,...,I),υι(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))中的至少一部分的值根据函数值HS(r,C2)(S=1,...,Smax)中的任一个来定。例如,υ,υι(0)(ι=2,...,I),υι(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))中的至少一部分是函数值HS(r,C2)(S=1,...,Smax)中的任一个或函数值HS(r,C2)(S=1,...,Smax)中的任一个函数值。不与函数值HS(r,C2)(S=1,...,Smax)对应的υ,υι(0)(ι=2,...,I),υι(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))设为常数及随机数。
[解密处理]
进行解密处理的解密装置执行下面的处理。
(DEC-11)在存在满足式(45)的系数const(μ)的情况下,公钥生成部生成下面的第一密钥信息D*(0)、第二密钥信息D*(λ)(λ=1,...,Ψ)及公钥K’。
第一密钥信息如下表示。
D*(0)=-SE·b1*(0)+Σι=2 Icoefι(0)·bι*(0) …(79)
相对于满足LAB(λ)=v(λ)→的λ的第二密钥信息D*(λ)用下式表示。
D*(λ)=(share(λ)+coef(λ)·v1(λ))·b1*(λ)
+Σι=2 n(λ)coef(λ)·vι(λ)·bι*(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ)·bι*(λ) …(80)
相对于满足LAB(λ)=¬v(λ)→的λ的第二密钥信息D*(λ)用下式表示。
D*(λ)=share(λ)·Σι=1 n(λ)vι(λ)·bι*(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ)·bι*(λ) …(81)
公钥生成部利用已输入的密文C'(0)、C'(λ)(λ=1,...,Ψ),按照下式,生成公钥K’。
【数学式18】
(DEC-12)第一解密部利用公钥K',对已输入的密文C'(Ψ+1)进行解密,生成解密值r'。
(DEC-13)函数运算部将解密值r'和已输入的密文C2'的组分别输入到Smax(Smax≧1)个无碰撞函数HS(S=1,...,Smax),生成Smax(Smax≧1)个函数值HS(r',C2')(S=1,...,Smax)。
(DEC-14)在密文C'(0),C'(λ)和密文C″(0)=υ″·b1(0)+Σι=2 Iυι″(0)·bι(0),C″(λ)=υ″·Σι=1 n(λ)wι(λ)·bι(λ)+Σι=n(λ)+1 n(λ)+ζ(λ)υι″(λ)·bι(λ)不一致的情况下,判定部拒绝解密。另一方面,在密文C'(0),C'(λ)和密文C″(0),C″(λ)一致的情况下,第二解密部生成解密值r'相应的二进制序列和已输入的二进制序列的密文C2'的异或即解密值M'。
另外,υ″,υι″(0)(ι=2,...,I),υι″(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))中的至少一部分的值与函数值HS(r',C2')(S=1,...,Smax)中的任一个对应。换言之,υ″,υι″(0)(ι=2,...,I),υι″(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))中的至少一部值根据函数值HS(r',C2')(S=1,...,Smax)中的任一个来定。例如,υ″,υι″(0)(ι=2,...,I),υι″(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))中的至少一部分是函数值HS(r',C2')(S=1,...,Smax)中的任一个或函数值HS(r',C2')(S=1,...,Smax)中的任一个函数值。另外,不与函数值HS(r',C2')(S=1,...,Smax)对应的υ″,υι″(0)(ι=2,...,I),υι″(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))设为常数或随机数。
<函数密码方式的改进方式的CCA安全性>
对该改进方式而言,假定应用了上述的假定策略的情况。
[1]对攻击者赋予公开参数PK。
[2]攻击者向具有公开参数PK的密码神盾提供第二信息VSET2={λ,w(λ)→|λ=1,...,Ψ}和两个明文M0,M1。密码神盾随机地选择bit∈{0,1},生成随机数r(Enc-11);生成随机数r相应的二进制序列和二进制序列的明文Mbit的异或值即密文C2(Enc-12);将随机数r和密文C2的组分别输入到Smax(Smax≧1)个无碰撞函数HS(S=1,...,Smax),生成Smax(Smax≧1)个函数值HS(r,C2)(S=1,...,Smax)(Enc-13);生成满足K=gT τ·τ’·υ’∈GT(式(76))的公钥K(Enc-14);利用公钥K,通过公钥密码方式对随机数r进行加密,生成密文C(Ψ+1)。另外,密码神盾生成包含C(0)=υ·b1(0)+Σι=2 Iυι(0)·bι(0)(式(77))、C(λ)=υ·Σι=1 n(λ)wι(λ)·bι(λ)+Σι=n(λ)+1 n(λ)+ζ(λ)υι(λ)·bι(λ)(式(78))及C(Ψ+1)在内的密文C1(Enc-16)。在此,υ,υι(0)(ι=2,...,I),υι(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))中的至少一部分依赖于函数值HS(r,C2)(S=1,...,Smax)中的任一个。密码神盾将包含已生成的密文C1及C2在内的密文Cbit提供给攻击者。
[3]攻击者能够生成下面的密文。
C2'=C2(+)ΔM …(83)
但是,不知道随机数r的攻击者不能将随机数r和密文C2'的组分别输入到Smax(Smax≧1)个无碰撞函数HS(S=1,...,Smax),生成函数值HS(r,C2')(S=1,...,Smax)。因此,攻击者将包含密文C1和密文C2'在内的密文Cbit'提供给具有第一密钥信息D*(0)(式(79))及第二密钥信息D*(λ)(式(80)(81))的解密神盾。
输入有密文Cbit'的解密神盾在存在满足式(45)的系数const(μ)的情况下,生成公钥K'(式(82))(DEC-11);利用公钥K',对密文C1包含的密文C'(Ψ+1)进行解密,生成解密值r'(DEC-12);将解密值r'和已输入的密文C2'的组分别输入到Smax(Smax≧1)个无碰撞函数HS(S=1,...,Smax),生成Smax(Smax≧1)个函数值HS(r',C2')(S=1,...,Smax)(DEC-13)。通过函数HS的无碰撞性,以较高的概率成为HS(r',C2')≠HS(r,C2),因此密文C'(0),C'(λ)和密文C″(0)=υ″·b1(0)+Σι=2 Iυι″(0)·bι(0),C″(λ)=υ″·Σι=1 n(λ)wι(λ)·bι(λ)+Σι=n(λ)+1 n(λ)+ζ(λ)υι″(λ)·bι(λ)不一致的概率高,解密被拒绝。
[4]攻击者由于不能取得C2'=C2(+)ΔM的解密结果,因此不能进行“在解密结果为M0(+)ΔM时,将bit'=0输出,在为M1(+)ΔM时,将bit'=1输出”。因而,该攻击者的策略不成功。
〔实施方式〕
接着,对上述改进方式的实施方式进行说明。下面例示的是第一信息VSET1={λ,v(λ)→|λ=1,...,Ψ}编入密钥信息且第二信息VSET2={λ,w(λ)→|λ=1,...,Ψ}编入密文的例子。但是,也可以采用第二信息VSET2={λ,w(λ)→|λ=1,...,Ψ}编入密钥信息且第一信息VSET1={λ,v(λ)→|λ=1,...,Ψ}编入密文的构成。另外,在本方式的例子中,构成第一信息VSET1的n(λ)维向量v(λ)→与确定的策略对应,构成第二信息VSET2={λ,w(λ)→|λ=1,...,Ψ}的n(λ)维向量w(λ)→与属性对应。设定为,在与n(λ)维向量w(λ)→对应的属性符合与n(λ)维向量v(λ)→对应的策略时,成为内积v(λ)→·w(λ)→=0,在与n(λ)维向量w(λ)→对应的属性不符合与n(λ)维向量v(λ)→对应的策略时,成为内积v(λ)→·w(λ)→≠0。
[整体构成]
如图3所示,本方式的密码系统1具有加密装置110、解密装置120、密钥生成装置130。加密装置110和解密装置120、解密装置120和密钥生成装置130可实现经由网络及便携式记录介质等的信息传递。
[加密装置]
如图4所示,本方式的加密装置110具有输入部111、输出部112、存储部113、控制部114、随机数生成部115、加密部116a、116d、116e、函数运算部116b、公钥生成部116c及连接部117。
加密装置110是例如包含具备CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read-Only Memory)等的众所周知或专用的计算机和特殊程序在内的特殊装置。随机数生成部115、加密部116a、116d、116e、函数运算部116b、公钥生成部116c及连接部117是例如通过CPU执行特殊程序而构成的处理部。另外,随机数生成部115也可以设为众所周知的随机数生成用IC(integrated Circuit)等,处理部的至少一部分也可以由特殊的集成电路构成。另外,存储部113是例如RAM、寄存器、高速缓冲存储器、集成电路内的元件或硬盘等辅助存储装置或由它们中的至少一部分的结合构成的存储区域。输入部111是例如键盘等输入接口及调制解调器、LAN(Local Area Network)卡等通信装置及USB端子等输入端口等。输出部112是例如输出接口及调制解调器、LAN卡等通信装置、USB端子等输出端口等。另外,加密装置110基于控制部114的控制,执行各处理。
[解密装置]
如图5所示,本方式的解密装置120具有输入部121、输出部122、存储部123、控制部124、公钥生成部126a、解密部126b、126e、函数运算部126c、判定部126d及分离部127。
解密装置120是例如包含具备CPU、RAM、ROM等的众所周知或专用的计算机和特殊程序在内的特殊装置。即,控制部124、公钥生成部126a、解密部126b、126e、函数运算部126c、判定部126d及分离部127是例如通过CPU执行特殊程序而构成的处理部。另外,处理部中的至少一部分也可以由特殊的集成电路构成。另外,存储部123是例如RAM、寄存器、高速缓冲存储器、集成电路内的元件或硬盘等辅助存储装置或由它们中的至少一部分的结合构成的存储区域。另外,输入部121是例如输入接口及通信装置及输入端口等。输出部122是例如输出接口及通信装置及输出端口等。另外,解密装置120基于控制部124的控制,执行各处理。
[密钥生成装置]
如图6所示,本方式的密钥生成装置130具有输入部131、输出部132、存储部133、控制部134、选择部135、共享信息生成部136a、秘密信息生成部136b及密钥生成部136c、136d、136e。
密钥生成装置130是例如包含具备CPU、RAM、ROM等的众所周知或专用的计算机和特殊程序在内的特殊装置。即,控制部134、选择部135、共享信息生成部136a、秘密信息生成部136b及密钥生成部136c、136d、136e是例如通过CPU执行特殊程序而构成的处理部。另外,处理部中的至少一部分也可以由特殊的集成电路构成。另外,存储部133是例如RAM、寄存器、高速缓冲存储器、集成电路内的元件或硬盘等辅助存储装置或由它们中的至少一部分的结合构成的存储区域。另外,输入部131是例如输入接口及通信装置及输入端口等。输出部132是例如输出接口及通信装置及输出端口等。另外,密钥生成装置130基于控制部134的控制,执行各处理。
[事先设定]
接着,对用于执行本方式的各处理的事先设定进行说明。
通过未图示的管理装置,执行上述的[Setup(1sec,(Ψ;n(1),...,n(Ψ))):设置],设定由集合{B(ψ)^}ψ=0,...,Ψ和1sec和param=(q,E,G1,G2,GT,eψ)构成的公开参数PK、万能密钥信息MSK={B*(ψ)^}ψ=0,...,Ψ。公开参数PK以加密装置110、解密装置120及密钥生成装置130可利用的方式设定于这些装置。万能密钥信息MSK以密钥生成装置130可利用的方式设定于密钥生成装置130。万能密钥信息MSK是秘密信息,不公开。向装置的公开参数PK等的设定既可以通过在构成装置的特殊程序中编入公开参数PK等来进行,也可以通过存储于装置的存储装置来进行。在本方式中,表示的是在特殊程序中编入有公开参数PK等的例子。
[密钥信息的生成处理]
密钥信息的生成处理特别是在解密装置120的存储部123未存储有密钥信息SKS的情况下执行。在解密装置120的存储部123存储有密钥信息SKS时,也可以省略该处理。密钥信息的生成处理既可以在密文的生成以前进行,也可以在密文的生成以后再进行。
如图7所示,在密钥信息的生成处理中,首先,向密钥生成装置130(图6)的输入部131输入与要生成的密钥信息对应的带标签的矩阵LMT(MT,LAB)。如上所述,带标签的矩阵LMT(MT,LAB)是式(34)的矩阵MT和与构成第一信息VSET1的n(λ)维向量v(λ)→对应的标签LAB(λ)(LAB(λ)=v(λ)→或LAB(λ)=¬v(λ)→)对应的信息。已输入的带标签的矩阵LMT(MT,LAB)存储于存储部133(步骤S11)。
接着,选择部135任意选择以有限域Fq的元素为要素的COL维向量CV→∈FqCOL(式(36)),将COL维向量CV→存储于存储部133(步骤S12)。向共享信息生成部136a输入矩阵MT和COL维向量CV→,共享信息生成部136a按照式(39),计算共享信息share(λ)∈Fq(λ=1,...,Ψ),然后将生成的共享信息share(λ)∈Fq(λ=1,...,Ψ)存储于存储部133(步骤S13)。向秘密信息生成部136b输入COL维向量CV→,秘密信息生成部136b按照式(37)生成秘密信息SE,存储于存储部133(步骤S14)。
接着,向密钥生成部136c输入秘密信息SE,密钥生成部136c按照式(46)生成密钥信息D*(0),存储于存储部133。例如,密钥生成部136c按照式(47)生成密钥信息D*(0),存储于存储部133(步骤S15)。向密钥生成部136d输入标签信息LAB(λ)(λ=1,...,Ψ),密钥生成部136d按照式(48)(49)生成密钥信息D*(λ)(λ=1,...,Ψ),存储于存储部133。例如,密钥生成部136d按照式(50)(51)生成密钥信息D*(λ)(λ=1,...,Ψ),存储于存储部133(步骤S16)。带标签的矩阵LMT(MT,LAB)、密钥信息D*(0)及密钥信息D*(λ)(λ=1,...,Ψ)输入到密钥生成部136e,密钥生成部136e按照式(52)生成密钥信息SKS,发送到输出部132(步骤S17)。
输出部132将密钥信息SKS输出(步骤S18)。密钥信息SKS输入到解密装置120(图5)的输入部121,存储于存储部123。
[加密处理]
如图8所示,在加密处理中,首先,向加密装置110(图4)的输入部111输入第二信息VSET2={λ,w(λ)→|λ=1,...,Ψ}和二进制序列的明文M,将两者存储于存储部113(步骤S21)。
接着,随机数生成部115生成随机数r,将随机数r存储于存储部113。随机数r是形成单射函数R的定义域的集合中的元素。例如,如果单射函数R是将一个循环群GT的元素作为输入的函数,则随机数r就是循环群GT的元素,如果单射函数R是将一个二进制序列作为输入的函数,则随机数r就是二进制序列(步骤S22)。
向加密部116a输入随机数r及明文M。如下所述,加密部116a将使单射函数R作用于随机数r而得到的二进制序列即函数值R(r)和明文M的异或值设为密文C2。
C2=M(+)R(r) …(84)
密文C2存储于存储部113(步骤S23)。
向函数运算部116b输入随机数r和密文C2。函数运算部116b将随机数r和密文C2的组分别输入到Smax(Smax≧1)个无碰撞函数HS(S=1,...,Smax),生成Smax(Smax≧1)个函数值HS(r,C2)∈Fq(S=1,...,Smax)。另外,本方式的Smax是常数。下面表示的是Smax的一个例子(步骤S24)。
Smax=3+Σλ=1 Ψn(λ) …(85)
接着,公钥生成部116c生成相对于循环群GT的生成元gT及常数τ,τ',υ'∈Fq满足式(76)的公钥K∈GT。υ'∈Fq也可以是随机数,但在本方式中,将与输入到公钥生成部116c的函数值HS(r,C2)∈Fq(S=1,...,Smax)中的任一个对应的值设为υ'∈Fq。例如,函数值HS(r,C2)∈Fq(S=1,...,Smax)中的任一个或函数值HS(r,C2)∈Fq(S=1,...,Smax)中的任一个函数值成为υ'∈Fq。下面表示的是υ'∈Fq的一个例子(步骤S25)。
υ'=H2(r,C2)∈Fq …(86)
向加密部116d输入公钥K和随机数r。加密部116d利用公钥K,通过公钥密码方式,对随机数r进行加密,生成下面的密文C(Ψ+1)。
C(Ψ+1)=EncK(r) …(87)
密文C(Ψ+1)存储于存储部113(步骤S26)。
向加密部116e输入第二信息VSET2、函数值HS(r,C2)∈Fq(S=1,...,Smax)中的至少一部分及密文C(Ψ+1)。加密部116e按照预定的基准,将与函数值HS(r,C2)∈Fq(S=1,...,Smax)中的至少一部分对应的值设为υ,υι(0)(ι=2,...,I),υι(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))中的至少一部分的值,按照式(77)(78),生成C(0)及C(λ)(λ=1,...,Ψ)。例如,υ,υι(0)(ι=2,...,I),υι(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))中的至少一部分设为函数值HS(r,C2)∈Fq(S=1,...,Smax)中的至少一部分或函数值HS(r,C2)∈Fq(S=1,...,Smax)中的至少一部分的函数值。也需要满足式(55)(56)。例如,在Smax=3+Σλ=1 Ψn(λ)的情况下,设为ζ(λ)=3·n(λ)、I=5,将υ2(0),υ4(0),υn(λ)+1(λ),...,υ3·n(λ)(λ)分别设为零元0F,设为υ'=υ3(0),υ,υ3(0),υ5(0),υ3·n(λ)+1(λ),...,υ4·n(λ)(λ)分别设为H1(r,C2),...,HSmax(r,C2)中的任一个。此时,从安全性的观点出发,优选υ,υ3(0),υ5(0),υ3·n(λ)+1(λ),...,υ4·n(λ)(λ)和H1(r,C2),...,HSmax(r,C2)一对一地对应。在这种情况下,Smax的值为υ,υ3(0),υ5(0),υ3·n(λ)+1(λ),...,υ4·n(λ)(λ)的个数以上。
都不与函数值HS(r,C2)∈Fq(S=1,...,Smax)的任一个对应的υ,υι(0)(ι=2,...,I),υι(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))设为例如从有限域Fq选择的常数。υ,υι(0)(ι=2,...,I),υι(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))中的哪一个与H1(r,C2),...,HSmax(r,C2)的哪一个对应通过例如预定来实现。
加密部116e生成包含第二信息VSET2、C(0)、C(λ)(λ=1,...,Ψ)及C(Ψ+1)的如下所述的密文C1。
C1=(VSET2,C(0),{C(λ)}(λ,w(λ)→)∈VSET2,C(Ψ+1)) …(88)
密文C1存储于存储部113(步骤S27)。
密文C1及密文C2输入到结合部117。结合部117生成对应于密文C1的二进制序列和密文C2的位结合值,以作为密文Code。
Code=C1|C2 …(89)
解密装置120能够确定密文Code内的密文C1的位置和密文C2的位置。例如,密文Code内的密文C1的位置和密文C2的位置设为固定,或者将表示密文Code内的密文C1的位置和密文C2的位置的附加信息附加于密文Code(步骤S28)。
密文Code发送到输出部112。输出部112将密文Code输出(步骤S29)。至此,加密处理结束。
[解密处理]
如图9所示,在解密处理中,首先,向解密装置120(图5)的输入部121输入密文Code',存储于存储部123。密文Code'是例如上述的密文Code(步骤S41)。
密文Code'输入到分离部127,分离部127用预定的方法将密文Code'分离为密文C1'和密文C2',然后将密文C1'和密文C2'存储于存储部123。在密文Code'为密文Code的情况下,C1=C1'且C2=C2'(步骤S42)。
接着,向公钥生成部126a输入密钥信息SKS及密文C1'。公钥生成部126a利用密钥信息SKS及密文C1',判定是否可将公钥K'∈GT恢复。即,公钥生成部126a利用对应于带标签的矩阵LMT(MT,LAB)的第一信息VSET1={λ,v(λ)→|λ=1,...,Ψ}、密文C1'包含的第二信息VSET2'={λ,w(λ)→|λ=1,...,Ψ}及LMT(MT,LAB)的各标签LAB(λ),分别判定密钥信息SKS包含的带标签的矩阵LMT(MT,LAB)的各标签LAB(λ)即n(λ)维向量v(λ)→和密文C的VSET2包含的n(λ)维向量w(λ)→的内积v(λ)→·w(λ)→是否成为0,利用这些结果和LMT(MT,LAB)的各标签LAB(λ),判定是否为GV→∈span<MTTFV>。如上所述,如果是GV→∈span<MTTFV>,则公钥K'∈GT可恢复,如果不是GV→∈span<MTTFV>,则公钥K'∈GT不可恢复(步骤S43)。步骤S43的处理的具体例后面进行描述。在判断为公钥K'∈GT不可恢复的情况下,拒绝解密(步骤S48),解密处理结束。
另一方面,在判断为公钥K'∈GT可恢复的情况下,公钥生成部126a求出满足式(45)的系数const(μ),按照式(82),计算公钥K'∈GT。生成的公钥K'存储于存储部123(步骤S44)。
密文C1'包含的密文C'(Ψ+1)及公钥K'输入到解密部126b。在C1=C1'的情况下,满足C(Ψ+1)=C'(Ψ+1)。解密部126b利用公钥K',将输入的密文C'(Ψ+1)解密,得到下面的解密值r'。
r'=DecK'(C'(Ψ+1)) …(90)
解密部126b将解密值r'存储于存储部123(步骤S45)。
向函数运算部126c输入解密值r'和密文C2'。函数运算部126c将解密值r'和密文C2'的组分别输入到Smax(Smax≧1)个无碰撞函数HS(S=1,...,Smax),生成函数值HS(r',C2')(S=1,...,Smax)。各函数值HS(r',C2')(S=1,...,Smax)存储于存储部123(步骤S46)。
接着,向判定部126d输入函数值HS(r',C2')∈Fq(S=1,...,Smax)中的至少一部分及密文C1'包含的第二信息VSET2'以及密文C'(0),{C'(λ)}(λ,w (λ)→)∈VSET2'。判定部126d利用第二信息VSET2'包含的n(λ)维向量w(λ)→及函数值HS(r',C2')中的至少一部分,生成下面的密文C″(0),C″(λ)(λ=1,...,Ψ)。
C″(0)=υ″·b1(0)+Σι=2 Iυι″(0)·bι(0) …(91)
C″(λ)=υ″·Σι=1 n(λ)wι(λ)·bι(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)υι″(λ)·bι(λ) …(92)
密文C″(0)及C″(λ)(λ=1,...,Ψ)的生成方法除第二信息VSET2替换为第二信息VSET2'、函数值HS(r,C2)替换为函数值HS(r',C2')、υ,υι(0)(ι=2,...,I),υι(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))替换为υ″,υι″(0)(ι=2,...,I),υι″(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))以外,其余与步骤S27的密文C(0)及C(λ)(λ=1,...,Ψ)的生成方法相同。即,判定部126d按照上述的预定的基准,将与函数值HS(r',C2')∈Fq(S=1,...,Smax)中的至少一部分对应的值设为υ″,υι″(0)(ι=2,...,I),υι″(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))中的至少一部分的值,按照式(91)(92),生成C″(0)及C″(λ)(λ=1,...,Ψ)。例如,υ″,υι″(0)(ι=2,...,I),υι″(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))中的至少一部分设为函数值HS(r',C2')∈Fq(S=1,...,Smax)中的至少一部分或函数值HS(r',C2')∈Fq(S=1,...,Smax)中的至少一部分的函数值。也需要满足式(55)(56)のυι(0),υι(λ)替换为υι″(0),υι″(λ)的关系。例如,在Smax=3+Σλ=1 Ψn(λ)的情况下,设为ζ(λ)=3·n(λ)、I=5,将υ2″(0),υ4″(0),υn(λ)+1″(λ),...,υ3·n(λ)″(λ)分别设为零元0F,将υ″,υ3″(0),υ5″(0),υ3·n(λ)+1″(λ),...,υ4·n(λ)″(λ)分别设为H1(r',C2'),...,HSmax(r',C2')中的任一个。例如,υ″,υ3″(0),υ5″(0),υ3·n(λ)+1″(λ),...,υ4·n(λ)″(λ)和H1(r',C2'),...,HSmax(r',C2')一对一地对应。在这种情况下,Smax的值为υ″,υ3″(0),υ5″(0),υ3·n(λ)+1″(λ),...,υ4·n(λ)″(λ)的个数以上。
与函数值HS(r',C2')∈Fq(S=1,...,Smax)的任意一个都不对应的υ″,υι″(0)(ι=2,...,I),υι″(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))设为例如从有限域Fq选择的常数(与步骤S27相同的常数)。υ″,υι″(0)(ι=2,...,I),υι″(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))中的哪一个与H1(r',C2'),...,HSmax(r',C2')中的哪一个对应按照例如与步骤S27相同的基准预定。
判定部126d判定是否满足下面的所有条件(步骤S47)。
C'(0)=C″(0) …(93)
C'(λ)=C″(λ)(λ=1,...,Ψ) …(94)
在此,在不满足式(93)(94)中的至少一部分的情况下,拒绝解密(步骤S48),解密处理结束。
另一方面,在满足所有的式(93)(94)的情况下,向解密部126e输入二进制序列的密文C2'及解密值r'。解密部126e生成在解密值r'上作用有单射函数R的二进制序列的函数值R(r')和密文C2'的异或值,以作为解密值M'(步骤S49)。
M'=C2'(+)R(r') …(95)
解密值M'发送到输出部122,输出部122将解密值M'输出(步骤S50)。至此,解密处理结束。
[步骤S43的处理的具体例]
下面,对步骤S43的处理的具体例进行说明。另外,在下述中,为了简化说明,对使用式(38)的COL维向量GV→的情况进行例示。但是,这不限定本发明,在使用如式(36)所示普遍化的COL维向量GV→的情况下,也可以扩展应用下面的处理。
如图10所示,首先,公钥生成部126a利用对应于带标签的矩阵LMT(MT,LAB)的第一信息VSET1={λ,v(λ)→|λ=1,...,Ψ}、密文C1'包含的第二信息VSET2'={λ,w(λ)→|λ=1,...,Ψ}及LMT(MT,LAB)的各标签LAB(λ),生成式(41)-(44)所示的子矩阵MTTFV。在此,MTTFV如下表达。
【数学式19】
其中,式(96)的MTTFV是ω行COL列的矩阵,ω是1以上的整数,ROW(1),...,ROW(ω)分别是成为LIT(ROW(1))=1,...,LIT(ROW(ω))=1的矩阵MT(式(34))的行序号ROW(1),...,ROW(ω)∈SET(步骤S431)。
接着,公钥生成部126a进行MTTFV的各行向量mtλ'→=(mtλ',1,...,mtλ',COL)(λ'=ROW(1),...,ROW(ω))的运算及MTTFV的行向量mtλ'→间的运算,将对角成分设为乘法单位元1F的Ω×Ω的上三角形矩阵设为从1行1列到Ω行Ω列的子矩阵,在存在Ω+1行以后的行向量mtλ'→的情况下,生成将Ω+1行以后的行向量mtλ'→的全部要素设为加法单位元0F的上三角形矩阵MTTFV'。其中,Ω是1以上且子矩阵MTTFV的行数及列数以下的整数。MTTFV'例如如下所述。
【数学式20】
但是,有时也可能不存在Ω+1行以后的各要素,另外,有时也可能不存在Ω+1列以后的各要素。
这种上三角形矩阵MTTFV'可利用例如高斯消元法来生成。即,例如,首先,将子矩阵MTTFV的第1行的行向量mt1→=(mt1,1,...,mt1,COL)除以mt1,1所得的值设为MTTFV'的第1行的行向量。接着,将子矩阵MTTFV的第2行的行向量mt2→=(mt2,1,...,mt2,COL)减去mt2,1倍的MTTFV'的第1行的行向量所得的行向量(0F,mt2,2″,...,mt2,COL″)除以mt2,2″所得的值设为MTTFV'的第2行的行向量。同样地,通过利用已生成的MTTFV'的各行向量,对比其大的行序号的行向量进行加工,能够生成上三角形矩阵MTTFV'。另外,用于生成上三角形矩阵MTTFV'的运算是行向量单位的一元运算和行向量间的二元运算,不允许对同一行向量内的不同的要素进行不同的运算。在用于进行除法运算的方法成为加法单位元0F的情况下,挑选加工对象行向量。在子矩阵MTTFV包含不是相互线性独立的多个行向量(即,一次从属的多个行向量)的情况下,以代表那种行向量的一个行向量成为包含Ω×Ω的上三角形矩阵的要素在内的行向量,其他行向量成为仅以加法单位元0F为要素的行向量(步骤S432)。
接着,公钥生成部126a设定为λ'=2(步骤S433)。公钥生成部126a将下式(98)的向量设为新的(mt1,1'...mt1,COL'),对上三角形矩阵MTTFV'的第1行的行向量(mt1,1'...mt1,COL')进行更新。
(mt1,1'...mt1,COL')-(mt1,λ'-1F)·(mtλ',1'...mtλ',COL') …(98)
(mtλ',1'...mtλ',COL')表示上三角形矩阵MTTFV'的第λ'行的行向量。
公钥生成部126a判定是否为λ'=Ω(步骤S435),如果不是λ'=Ω,则将λ'+1设为新的λ'(步骤S436),返回到步骤S434的处理。另一方面,如果是λ'=Ω,则公钥生成部126a判定是否满足下面的条件(步骤S437)。
(mt1,1'...mt1,COL')=(1F,...,1F) …(99)
如果满足式(99),则公钥生成部126a判定为可进行K'的解密(步骤S438),如果不满足该式,则判定为不可进行K'的解密(步骤S439)。
步骤S432的用于生成上三角形矩阵MTTFV'的所有的运算内容和步骤S434的所有的运算内容都存储于存储部123。在判定为可进行K'的解密的情况下(步骤S438),对将子矩阵MTTFV的各要素设为不定元而得到的矩阵,实施用于生成上三角形矩阵MTTFV'的所有的运算和步骤S434的所有的运算。由此得到的矩阵的第1行的列向量成为将子矩阵MTTFV的各要素设为不定元而得到的矩阵INDTFV的列向量indλ'→=(indλ',1,...,indλ',COL)(λ'=ROW(1),...,ROW(ω)∈SET)的线性和,即,该列向量indλ'→和对应于该列向量的系数const(λ')的积和。
const(ROW(1))·indROW(1) →+...+const(ROW(ω))·indROW(ω) →
矩阵INDTFV的第μ行(μ∈SET)的对应于列向量indμ→的系数const(μ)成为满足式(45)的系数const(μ)(参照式(37)(39)的关系)。
〔变形例等〕
本发明不局限于上述的各实施方式。例如,在步骤S47中,判定是否都满足式(93)(94),但也可以取而代之地,判定C'(0)及C'(λ)(λ=1,...,Ψ)结合在一起的信息和C″(0)及C″(λ)(λ=1,...,Ψ)结合在一起的信息是否一致。或者,也可以判定与C'(0)及C'(λ)(λ=1,...,Ψ)对应的一个函数值和与C″(0)及C″(λ)(λ=1,...,Ψ)对应的一个函数值是否一致。或者,也可以利用如下的函数进行判定,所述函数在都满足式(93)(94)的情况下,输出第一值,在不满足式(93)(94)中的至少一部分的情况下,输出第2值。
在步骤S48拒绝解密时,解密装置120既可以将错误消息输出,也可以将与解密结果无关的随机数输出,还可以什么也不输出。
在上述的有限域Fq上定义的各运算也可以替换为在位数q的有限环Zq上定义的运算。将在有限域Fq上定义的各运算替换为在有限环Zq上定义的运算的方法的一个例子是容许素数及其乘方值以外的q的方法。
在式(46)(48)-(51)(53)-(56)以外的运算中,乘以加法单位元的元成为循环群G1及G2的单位元。既可以进行乘以加法单位元的元的运算,也可以不进行。
上述的各种处理不仅按照记载而时序地执行,而且也可以根据执行处理的装置的处理能力或根据需要,并列或个別地执行。另外,在不脱离本发明的精神的范围,可适当变更,是不言而喻的。
在由计算机实现上述构成的情况下,各装置应具有的功能的处理内容通过程序来记述。而且,通过由计算机执行该程序,上述处理功能可在计算机上实现。
记述有该处理内容的程序可记录于计算机可读取的记录介质。作为计算机可读取的记录介质,例如,磁记录装置、光盘、光磁记录介质、半导体存储器等都可以。
该程序的流通例如通过将记录有其程序的DVD、CD-ROM等便携式记录介质销售、转让、租赁等来进行。另外,也可以采用如下的构成,即,通过将该程序存储于服务器计算机的存储装置,然后经由网络将其程序从服务器计算机转送到其他计算机,使该程序流通。
执行这种程序的计算机例如,首先将记录于便携式记录介质的程序或从服务器计算机转送的程序暂时存储于自己的存储装置。然后,在处理的执行时,该计算机读取存储于自己的存储装置的程序,执行按照已读取的程序的处理。另外,作为该程序以外的执行方式,既可以采用计算机从便携式记录介质直接读取程序,然后执行按照其程序的处理的执行方式,还可以采用如下的执行方式,即,每当从服务器计算机向该计算机转送程序时,都逐步执行按照已获取的程序的处理。另外,也可以采用通过所谓的ASP(ApplicationService Provider)型服务来执行上述处理的构成,所述ASP(Application ServiceProvider)型服务,不进行从服务器计算机向该计算机的程序的转送,仅通过其执行指示和结果取得,来实现处理功能。
标记说明
1 密码系统
110 加密装置
120 解密装置
Claims (32)
1.一种加密装置,其具有:
随机数生成部,生成随机数r;
第一加密部,生成所述随机数r相应的二进制序列和二进制序列的明文M的异或值即密文C2;
函数运算部,生成将所述随机数r和所述密文C2的组分别输入到无碰撞函数HS(S=1,...,Smax)而得到的Smax(Smax≧1)个函数值HS(r,C2)(S=1,...,Smax);
公钥生成部,生成循环群GT的元素即公钥K;
第二加密部,利用所述公钥K,通过公钥密码方式,对所述随机数r进行加密,生成密文C(Ψ+1);以及
第三加密部,生成包含C(0)=υ·b1(0)+Σι=2 Iυι(0)·bι(0)、C(λ)=υ·Σι=1 n(λ)wι(λ)·bι(λ)+Σι=n(λ)+1 n(λ)+ζ(λ)υι(λ)·bι(λ)及所述密文C(Ψ+1)在内的密文C1,
Ψ是1以上的整数,ψ是0以上Ψ以下的整数,n(ψ)是1以上的整数,ζ(ψ)是0以上的整数,λ是1以上Ψ以下的整数,I是2以上n(0)+ζ(0)以下的常数,eψ分别是将循环群G1的n(ψ)+ζ(ψ)个元素γβ(β=1,...,n(ψ)+ζ(ψ))和循环群G2的n(ψ)+ζ(ψ)个元素γβ*(β=1,...,n(ψ)+ζ(ψ))设为输入并将所述循环群GT的一个元素输出的非退化的双线性映射,i是1以上n(ψ)+ζ(ψ)以下的整数,bi(ψ)是以所述循环群G1的n(ψ)+ζ(ψ)个元素为要素的n(ψ)+ζ(ψ)维的基向量,bi*(ψ)是以所述循环群G2的n(ψ)+ζ(ψ)个元素为要素的n(ψ)+ζ(ψ)维的基向量,δ(i,j)是克罗内克三角函数,相对于所述循环群GT的生成元gT及常数τ,τ',满足eψ(bi(ψ),bj*(ψ))=gT τ·τ’·δ(i,j),w(λ)→=(w1(λ),...,wn(λ)(λ))是以w1(λ),...,wn(λ)(λ)为要素的n(λ)维向量,υ,υι(0)(ι=2,...,I),υι(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))中的至少一部分的值与所述函数值HS(r,C2)(S=1,...,Smax)中的任一个对应。
2.如权利要求1所述的加密装置,其中,
所述随机数r相应的二进制序列是在所述随机数r上作用有随机函数的函数值。
3.如权利要求1所述的加密装置,其中,
所述无碰撞函数HS中的至少一部分是随机函数。
4.如权利要求2所述的加密装置,其中,
所述无碰撞函数HS中的至少一部分是随机函数。
5.如权利要求1~4中的任一项所述的加密装置,其中,
所述常数τ,τ'、所述要素w1(λ),...,wn(λ)(λ)、所述函数值HS(r,C2)(S=1,...,Smax)及υ,υι(0)(ι=2,...,I),υι(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))是有限域Fq的元素,
所述循环群G1及G2的位数分别与所述有限域Fq的位数q(q≧1)相等。
6.如权利要求1~4中的任一项所述的加密装置,其中,
ζ(λ)=3·n(λ),I=5,Smax=3+Σλ=1 Ψn(λ),υ2(0),υ4(0),υn(λ)+1(λ),...,υ3· n(λ)(λ)是零元,K=gT τ·τ’·υ’∈GT,υ'=υ3(0),υ,υ3(0),υ5(0),υ3·n(λ)+1(λ),...,υ4·n(λ)(λ)分别是H1(r,C2),...,HSmax(r,C2)中的任一个。
7.如权利要求6所述的加密装置,其中,
所述常数τ,τ'、所述要素w1(λ),...,wn(λ)(λ)、所述函数值HS(r,C2)(S=1,...,Smax)及υ,υι(0)(ι=2,...,I),υι(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))是有限域Fq的元素,
所述循环群G1及G2的位数分别与所述有限域Fq的位数q(q≧1)相等。
8.一种解密装置,其具有:
公钥生成部,在存在满足SE=Σμ∈SETconst(μ)·share(μ)(μ∈SET)的系数const(μ)的情况下,利用第一密钥信息D*(0)、第二密钥信息D*(λ)及已输入的密文C'(0)、C'(λ),生成如下公钥K':
【数学式21】
第一解密部,利用所述公钥K',对已输入的密文C'(Ψ+1)进行解密,生成解密值r';
函数运算部,生成将所述解密值r'和已输入的密文C2'的组分别输入到无碰撞函数HS(S=1,...,Smax)而得到的Smax(Smax≧1)个函数值HS(r',C2')(S=1,...,Smax);以及
判定部,在所述密文C'(0),C'(λ)和密文C″(0)=υ″·b1(0)+Σι=2 Iυι″(0)·bι(0),C″(λ)=υ″·Σι=1 n(λ)wι(λ)·bι(λ)+Σι=n(λ)+1 n(λ)+ζ(λ)υι″(λ)·bι(λ)不一致的情况下,拒绝解密,
υ″,υι″(0)(ι=2,...,I),υι″(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))中的至少一部分的值与所述函数值HS(r',C2')(S=1,...,Smax)中的任一个对应,
Ψ是1以上的整数,ψ是0以上Ψ以下的整数,ζ(ψ)是0以上的整数,λ是1以上Ψ以下的整数,n(ψ)是1以上的整数,I是2以上n(0)+ζ(0)以下的常数,eψ分别是将循环群G1的n(ψ)+ζ(ψ)个元素γβ(β=1,...,n(ψ)+ζ(ψ))和循环群G2的n(ψ)+ζ(ψ)个元素γβ*(β=1,...,n(ψ)+ζ(ψ))设为输入并将循环群GT的一个元素输出的非退化的双线性映射,i是1以上n(ψ)+ζ(ψ)以下的整数,bi(ψ)是以所述循环群G1的n(ψ)+ζ(ψ)个元素为要素的n(ψ)+ζ(ψ)维的基向量,bi*(ψ)是以所述循环群G2的n(ψ)+ζ(ψ)个元素为要素的n(ψ)+ζ(ψ)维的基向量,δ(i,j)是克罗内克三角函数,相对于所述循环群GT的生成元gT及常数τ,τ',满足eψ(bi(ψ),bj*(ψ))=gT τ·τ’·δ(i,j),v(λ)→=(v1(λ),...,vn(λ)(λ))是以v1(λ),...,vn (λ)(λ)为要素的n(λ)维向量,w(λ)→=(w1(λ),...,wn(λ)(λ))是以w1(λ),...,wn(λ)(λ)为要素的n(λ)维向量,标签LAB(λ)(λ=1,...,Ψ)是表示所述n(λ)维向量v(λ)→或所述n(λ)维向量v(λ)→的非¬v(λ)→的信息,LAB(λ)=v(λ)→是表示LAB(λ)为所述n(λ)维向量v(λ)→的意思,LAB(λ)=¬v(λ)→是表示LAB(λ)为所述n(λ)维向量v(λ)→的非¬v(λ)→的意思,share(λ)(λ=1,...,Ψ)表示对秘密信息SE进行秘密分散而得到的共享信息,所述第一密钥信息是D*(0)=-SE·b1*(0)+Σι=2 Icoefι(0)·bι*(0),相对于成为LAB(λ)=v(λ)→的λ的所述第二密钥信息是D*(λ)=(share(λ)+coef(λ)·v1(λ))·b1*(λ)+Σι=2 n(λ)coef(λ)·vι(λ)·bι*(λ)+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ)·bι*(λ),相对于成为LAB(λ)=¬v(λ)→的λ的所述第二密钥信息是D*(λ)=share(λ)·Σι=1 n(λ)vι(λ)·bι*(λ)+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ)·bι*(λ),SET表示满足{LAB(λ)=v(λ)→}∧{v(λ)→·w(λ)→=0}或{LAB(λ)=¬v(λ)→}∧{v(λ)→·w(λ)→≠0}的λ的集合。
9.如权利要求8所述的解密装置,其中,
所述无碰撞函数HS中的至少一部分是随机函数。
10.如权利要求9所述的解密装置,其中,
所述要素v1(λ),...,vn(λ)(λ)、所述要素w1(λ),...,wn(λ)(λ)、所述函数值HS(r',C2')(S=1,...,Smax)及υ″,υι″(0)(ι=2,...,I),υι″(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))是有限域Fq的元素,
所述循环群G1及G2的位数分别与所述有限域Fq的位数q(q≧1)相等。
11.如权利要求8所述的解密装置,其中,
所述要素v1(λ),...,vn(λ)(λ)、所述要素w1(λ),...,wn(λ)(λ)、所述函数值HS(r',C2')(S=1,...,Smax)及υ″,υι″(0)(ι=2,...,I),υι″(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))是有限域Fq的元素,
所述循环群G1及G2的位数分别与所述有限域Fq的位数q(q≧1)相等。
12.如权利要求8~11中的任一项所述的解密装置,其中,
ζ(λ)=3·n(λ),I=5,Smax=3+Σλ=1 Ψn(λ),υ2″(0),υ4″(0),υn(λ)+1″(λ),...,υ3·n(λ)″(λ)是零元,K'=gT τ·τ’·υ’″∈GT,υ″'=υ3″(0),υ″,υ3″(0),υ5″(0),υ3·n(λ)+1″(λ),...,υ4·n(λ)″(λ)分别是H1(r',C2'),...,HSmax(r',C2')中的任一个,所述第一密钥信息是D*(0)=-SE·b1*(0)+b3*(0)+coef4(0)·b4*(0),相对于成为LAB(λ)=v(λ)→的λ的所述第二密钥信息是D*(λ)=(share(λ)+coef(λ)·v1(λ))·b1*(λ)+Σι=2 n(λ)coef(λ)·vι(λ)·bι*(λ)+Σι=2·n(λ)+1 3·n(λ)coefι(λ)·bι*(λ),相对于成为LAB(λ)=¬v(λ)→的λ的所述第二密钥信息是D*(λ)=share(λ)·Σι=1 n(λ)vι(λ)·bι*(λ)+Σι=2·n(λ)+1 3·n(λ)coefι(λ)·bι*(λ)。
13.如权利要求12所述的解密装置,其中,
所述解密值r'相应的二进制序列是在所述解密值r'上作用有随机函数的函数值。
14.如权利要求8~11中的任一项所述的解密装置,其中,
还具有第二解密部,所述第二解密部,在所述密文C'(0)及C'(λ)和密文C″(0)=υ″·b1(0)+Σι=2 Iυι″(0)·bι(0)及C″(λ)=υ″·Σι=1 n(λ)wι(λ)·bι(λ)+Σι=n(λ)+1 n(λ)+ζ(λ)υι″(λ)·bι(λ)一致的情况下,生成所述解密值r'相应的二进制序列和已输入的二进制序列的密文C2'的异或即解密值M'。
15.如权利要求14所述的解密装置,其中,
ζ(λ)=3·n(λ),I=5,Smax=3+Σλ=1 Ψn(λ),υ2″(0),υ4″(0),υn(λ)+1″(λ),...,υ3·n(λ)″(λ)是零元,K'=gT τ·τ’·υ″'∈GT,υ″'=υ3″(0),υ″,υ3″(0),υ5″(0),υ3·n(λ)+1″(λ),...,υ4·n(λ)″(λ)分别是H1(r',C2'),...,HSmax(r',C2')中的任一个,所述第一密钥信息是D*(0)=-SE·b1*(0)+b3*(0)+coef4(0)·b4*(0),相对于成为LAB(λ)=v(λ)→的λ的所述第二密钥信息是D*(λ)=(share(λ)+coef(λ)·v1(λ))·b1*(λ)+Σι=2 n(λ)coef(λ)·vι(λ)·bι*(λ)+Σι=2·n(λ)+1 3·n(λ)coefι(λ)·bι*(λ),相对于成为LAB(λ)=¬v(λ)→的λ的所述第二密钥信息是D*(λ)=share(λ)·Σι=1 n(λ)vι(λ)·bι*(λ)+Σι=2·n(λ)+1 3·n(λ)coefι(λ)·bι*(λ)。
16.如权利要求15所述的解密装置,其中,
所述解密值r'相应的二进制序列是在所述解密值r'上作用有随机函数的函数值。
17.一种加密方法,其包括:
随机数生成部生成随机数r的步骤;
第一加密部生成所述随机数r相应的二进制序列和二进制序列的明文M的异或值即密文C2的步骤;
函数运算部生成将所述随机数r和所述密文C2的组分别输入到无碰撞函数HS(S=1,...,Smax)而得到的Smax(Smax≧1)个函数值HS(r,C2)(S=1,...,Smax)的步骤;
公钥生成部生成循环群GT的元素即公钥K的步骤;
第二加密部利用所述公钥K,通过公钥密码方式,对所述随机数r进行加密,生成密文C(Ψ+1)的步骤;以及
第三加密部生成包含C(0)=υ·b1(0)+Σι=2 Iυι(0)·bι(0)、C(λ)=υ·Σι=1 n(λ)wι(λ)·bι(λ)+Σι=n(λ)+1 n(λ)+ζ(λ)υι(λ)·bι(λ)及所述密文C(Ψ+1)在内的密文C1的步骤,
Ψ是1以上的整数,ψ是0以上Ψ以下的整数,n(ψ)是1以上的整数,ζ(ψ)是0以上的整数,λ是1以上Ψ以下的整数,I是2以上n(0)+ζ(0)以下的常数,eψ分别是将循环群G1的n(ψ)+ζ(ψ)个元素γβ(β=1,...,n(ψ)+ζ(ψ))和循环群G2的n(ψ)+ζ(ψ)个元素γβ*(β=1,...,n(ψ)+ζ(ψ))设为输入并将所述循环群GT的一个元素输出的非退化的双线性映射,i是1以上n(ψ)+ζ(ψ)以下的整数,bi(ψ)是以所述循环群G1的n(ψ)+ζ(ψ)个元素为要素的n(ψ)+ζ(ψ)维的基向量,bi*(ψ)是以所述循环群G2的n(ψ)+ζ(ψ)个元素为要素的n(ψ)+ζ(ψ)维的基向量,δ(i,j)是克罗内克三角函数,相对于所述循环群GT的生成元gT及常数τ,τ',满足eψ(bi(ψ),bj*(ψ))=gT τ·τ’·δ(i,j),w(λ)→=(w1(λ),...,wn(λ)(λ))是以w1(λ),...,wn(λ)(λ)为要素的n(λ)维向量,υ,υι(0)(ι=2,...,I),υι(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))中的至少一部分的值与所述函数值HS(r,C2)(S=1,...,Smax)中的任一个对应。
18.如权利要求17所述的加密方法,其中,
所述随机数r相应的二进制序列是在所述随机数r上作用有随机函数的函数值。
19.如权利要求17所述的加密方法,其中,
所述无碰撞函数HS中的至少一部分是随机函数。
20.如权利要求18所述的加密方法,其中,
所述无碰撞函数HS中的至少一部分是随机函数。
21.如权利要求17~20中的任一项所述的加密方法,其中,
所述常数τ,τ'、所述要素w1(λ),...,wn(λ)(λ)、所述函数值HS(r,C2)(S=1,...,Smax)及υ,υι(0)(ι=2,...,I),υι(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))是有限域Fq的元素,
所述循环群G1及G2的位数分别与所述有限域Fq的位数q(q≧1)相等。
22.如权利要求17~20中的任一项所述的加密方法,其中,
ζ(λ)=3·n(λ),I=5,Smax=3+Σλ=1 Ψn(λ),υ2(0),υ4(0),υn(λ)+1(λ),...,υ3·n(λ)(λ)是零元,K=gT τ·τ’·υ’∈GT,υ'=υ3(0),υ,υ3(0),υ5(0),υ3·n(λ)+1(λ),...,υ4·n(λ)(λ)分别是H1(r,C2),...,HSmax(r,C2)中的任一个。
23.如权利要求22所述的加密方法,其中,
所述常数τ,τ'、所述要素w1(λ),...,wn(λ)(λ)、所述函数值HS(r,C2)(S=1,...,Smax)及υ,υι(0)(ι=2,...,I),υι(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))是有限域Fq的元素,
所述循环群G1及G2的位数分别与所述有限域Fq的位数q(q≧1)相等。
24.一种解密方法,其包括:
在存在满足SE=Σμ∈SETconst(μ)·share(μ)(μ∈SET)的系数const(μ)的情况下,公钥生成部利用第一密钥信息D*(0)、第二密钥信息D*(λ)及已输入的密文C'(0)、C'(λ),生成如下的公钥K'的步骤:
【数学式22】
第一解密部利用所述公钥K',对已输入的密文C'(Ψ+1)进行解密,生成解密值r'的步骤;
函数运算部将所述解密值r'和已输入的密文C2'的组分别输入到Smax(Smax≧1)个无碰撞函数HS(S=1,...,Smax)而生成Smax(Smax≧1)个函数值HS(r',C2')(S=1,...,Smax)的步骤;以及
判定部在所述密文C'(0),C'(λ)和密文C″(0)=υ″·b1(0)+Σι=2 Iυι″(0)·bι(0),C″(λ)=υ″·Σι=1 n(λ)wι(λ)·bι(λ)+Σι=n(λ)+1 n(λ)+ζ(λ)υι″(λ)·bι(λ)不一致的情况下,拒绝解密的步骤,
υ″,υι″(0)(ι=2,...,I),υι″(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))中的至少一部分的值与所述函数值HS(r',C2')(S=1,...,Smax)中的任一个对应,
Ψ是1以上的整数,ψ是0以上Ψ以下的整数,ζ(ψ)是0以上的整数,λ是1以上Ψ以下的整数,n(ψ)是1以上的整数,I是2以上n(0)+ζ(0)以下的常数,eψ分别是将循环群G1的n(ψ)+ζ(ψ)个元素γβ(β=1,...,n(ψ)+ζ(ψ))和循环群G2的n(ψ)+ζ(ψ)个元素γβ*(β=1,...,n(ψ)+ζ(ψ))设为输入并将循环群GT的一个元素输出的非退化的双线性映射,i是1以上n(ψ)+ζ(ψ)以下的整数,bi(ψ)是以所述循环群G1的n(ψ)+ζ(ψ)个元素为要素的n(ψ)+ζ(ψ)维的基向量,bi*(ψ)是以所述循环群G2的n(ψ)+ζ(ψ)个元素为要素的n(ψ)+ζ(ψ)维的基向量,δ(i,j)是克罗内克三角函数,相对于所述循环群GT的生成元gT及常数τ,τ',满足eψ(bi(ψ),bj*(ψ))=gT τ·τ’·δ(i,j),v(λ)→=(v1(λ),...,vn(λ)(λ))是以v1(λ),...,vn (λ)(λ)为要素的n(λ)维向量,w(λ)→=(w1(λ),...,wn(λ)(λ))是以w1(λ),...,wn(λ)(λ)为要素的n(λ)维向量,标签LAB(λ)(λ=1,...,Ψ)是表示所述n(λ)维向量v(λ)→或所述n(λ)维向量v(λ)→的非¬v(λ)→的信息,LAB(λ)=v(λ)→是表示LAB(λ)为所述n(λ)维向量v(λ)→的意思,LAB(λ)=¬v(λ)→是表示LAB(λ)为所述n(λ)维向量v(λ)→的非¬v(λ)→的意思,share(λ)(λ=1,...,Ψ)表示对秘密信息SE进行秘密分散而得到的共享信息,所述第一密钥信息是D*(0)=-SE·b1*(0)+Σι=2 Icoefι(0)·bι*(0),相对于成为LAB(λ)=v(λ)→的λ的所述第二密钥信息是D*(λ)=(share(λ)+coef(λ)·v1(λ))·b1*(λ)+Σι=2 n(λ)coef(λ)·vι(λ)·bι*(λ)+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ)·bι*(λ),相对于成为LAB(λ)=¬v(λ)→的λ的所述第二密钥信息是D*(λ)=share(λ)·Σι=1 n(λ)vι(λ)·bι*(λ)+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ)·bι*(λ),SET表示满足{LAB(λ)=v(λ)→}∧{v(λ)→·w(λ)→=0}或{LAB(λ)=¬v(λ)→}∧{v(λ)→·w(λ)→≠0}的λ的集合。
25.如权利要求24所述的解密方法,其中,
所述无碰撞函数HS中的至少一部分是随机函数。
26.如权利要求25所述的解密方法,其中,
所述要素v1(λ),...,vn(λ)(λ)、所述要素w1(λ),...,wn(λ)(λ)、所述函数值HS(r',C2')(S=1,...,Smax)及υ″,υι″(0)(ι=2,...,I),υι″(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))是有限域Fq的元素,
所述循环群G1及G2的位数分别与所述有限域Fq的位数q(q≧1)相等。
27.如权利要求24所述的解密方法,其中,
所述要素v1(λ),...,vn(λ)(λ)、所述要素w1(λ),...,wn(λ)(λ)、所述函数值HS(r',C2')(S=1,...,Smax)及υ″,υι″(0)(ι=2,...,I),υι″(λ)(ι=n(λ)+1,...,n(λ)+ζ(λ))是有限域Fq的元素,
所述循环群G1及G2的位数分别与所述有限域Fq的位数q(q≧1)相等。
28.如权利要求24~27中的任一项所述的解密方法,其中,
ζ(λ)=3·n(λ),I=5,Smax=3+Σλ=1 Ψn(λ),υ2″(0),υ4″(0),υn(λ)+1″(λ),...,υ3·n(λ)″(λ)是零元,K'=gT τ·τ’·υ″'∈GT,υ″'=υ3″(0),υ″,υ3″(0),υ5″(0),υ3·n(λ)+1″(λ),...,υ4·n(λ)″(λ)分别是H1(r',C2'),...,HSmax(r',C2')中的任一个,所述第一密钥信息是D*(0)=-SE·b1*(0)+b3*(0)+coef4(0)·b4*(0),相对于成为LAB(λ)=v(λ)→的λ的所述第二密钥信息是D*(λ)=(share(λ)+coef(λ)·v1(λ))·b1*(λ)+Σι=2 n(λ)coef(λ)·vι(λ)·bι*(λ)+Σι=2·n(λ)+1 3·n(λ)coefι(λ)·bι*(λ),相对于成为LAB(λ)=¬v(λ)→的λ的所述第二密钥信息是D*(λ)=share(λ)·Σι=1 n(λ)vι(λ)·bι*(λ)+Σι=2·n(λ)+1 3·n(λ)coefι(λ)·bι*(λ)。
29.如权利要求28所述的解密方法,其中,
所述解密值r'相应的二进制序列是在所述解密值r'上作用有随机函数的函数值。
30.如权利要求24~27中的任一项所述的解密方法,其中,
还具有第二解密部,所述第二解密部,在所述密文C'(0)及C'(λ)和密文C″(0)=υ″·b1(0)+Σι=2 Iυι″(0)·bι(0)及C″(λ)=υ″·Σι=1 n(λ)wι(λ)·bι(λ)+Σι=n(λ)+1 n(λ)+ζ(λ)υι″(λ)·bι(λ)一致的情况下,生成所述解密值r'相应的二进制序列和已输入的二进制序列的密文C2'的异或即解密值M'。
31.如权利要求30所述的解密方法,其中,
ζ(λ)=3·n(λ),I=5,Smax=3+Σλ=1 Ψn(λ),υ2″(0),υ4″(0),υn(λ)+1″(λ),...,υ3·n(λ)″(λ)是零元,K'=gT τ·τ’·υ″'∈GT,υ″'=υ3″(0),υ″,υ3″(0),υ5″(0),υ3·n(λ)+1″(λ),...,υ4·n(λ)″(λ)分别是H1(r',C2'),...,HSmax(r',C2')中的任一个,所述第一密钥信息是D*(0)=-SE·b1*(0)+b3*(0)+coef4(0)·b4*(0),相对于成为LAB(λ)=v(λ)→的λ的所述第二密钥信息是D*(λ)=(share(λ)+coef(λ)·v1(λ))·b1*(λ)+Σι=2 n(λ)coef(λ)·vι(λ)·bι*(λ)+Σι=2·n(λ)+1 3·n(λ)coefι(λ)·bι*(λ),相对于成为LAB(λ)=¬v(λ)→的λ的所述第二密钥信息是D*(λ)=share(λ)·Σι=1 n(λ)vι(λ)·bι*(λ)+Σι=2·n(λ)+1 3·n(λ)coefι(λ)·bι*(λ)。
32.如权利要求31所述的解密方法,其中,
所述解密值r'相应的二进制序列是在所述解密值r'上作用有随机函数的函数值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010166406 | 2010-07-23 | ||
JP2010-166406 | 2010-07-23 | ||
PCT/JP2011/066692 WO2012011564A1 (ja) | 2010-07-23 | 2011-07-22 | 暗号化装置、復号装置、暗号化方法、復号方法、プログラム、及び記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103004129A CN103004129A (zh) | 2013-03-27 |
CN103004129B true CN103004129B (zh) | 2015-04-08 |
Family
ID=45496982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180034973.1A Active CN103004129B (zh) | 2010-07-23 | 2011-07-22 | 加密装置、解密装置、加密方法、解密方法、程序及记录介质 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8897442B2 (zh) |
EP (1) | EP2597812B1 (zh) |
JP (1) | JP5466763B2 (zh) |
KR (1) | KR101478766B1 (zh) |
CN (1) | CN103004129B (zh) |
ES (1) | ES2686426T3 (zh) |
WO (1) | WO2012011564A1 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5689839B2 (ja) * | 2012-02-16 | 2015-03-25 | 日本電信電話株式会社 | 公開鍵暗号システム、公開鍵暗号方法、受信装置、およびプログラム |
CN102665209B (zh) * | 2012-05-10 | 2014-10-08 | 佛山科学技术学院 | 无线传感器网络密钥设置方法 |
CN102651864B (zh) * | 2012-05-16 | 2014-08-20 | 佛山科学技术学院 | 异构无线传感器网络的密钥设置方法 |
CN102665210B (zh) * | 2012-05-19 | 2014-10-08 | 佛山科学技术学院 | 分区的无线传感器网络的安全密钥设置方法 |
CN104919511B (zh) * | 2013-01-18 | 2017-05-17 | 三菱电机株式会社 | 数据解密装置、属性基密码系统和数据解密方法 |
WO2015088448A1 (en) * | 2013-12-11 | 2015-06-18 | Singapore Management University | Method for matching probabilistic encrypted data |
US10425226B2 (en) * | 2014-03-28 | 2019-09-24 | Sony Corporation | Encryption processing device and encryption processing method |
JP6180375B2 (ja) * | 2014-06-20 | 2017-08-16 | 日本電信電話株式会社 | コミットメント方法、コミットメントシステム、送信者装置、受信者装置及びプログラム |
EP3166094B1 (en) * | 2014-07-02 | 2018-12-26 | Mitsubishi Electric Corporation | Matrix generation device, matrix generation method, and matrix generation program |
US10218496B2 (en) * | 2014-08-04 | 2019-02-26 | Cryptography Research, Inc. | Outputting a key based on an authorized sequence of operations |
JP5968484B1 (ja) * | 2015-03-18 | 2016-08-10 | 日本電信電話株式会社 | シェア復旧システム、シェア復旧方法、およびプログラム |
KR101580514B1 (ko) * | 2015-06-22 | 2015-12-28 | (주) 시큐어가드 테크놀러지 | 시드 키를 이용한 패스워드 관리방법, 패스워드 관리장치 및 이를 적용한 컴퓨터로 읽을 수 있는 기록매체 |
CN105721166B (zh) * | 2016-03-03 | 2018-09-21 | 武汉大学 | 一种量子计算安全的身份识别协议建立方法 |
CN107196760B (zh) * | 2017-04-17 | 2020-04-14 | 徐智能 | 具有可调整性的伴随式随机重构密钥的序列加密方法 |
US10411891B2 (en) * | 2017-06-28 | 2019-09-10 | Nxp B.V. | Distance-revealing encryption |
CN110348229B (zh) * | 2019-06-11 | 2021-09-21 | 北京思源理想控股集团有限公司 | 数据的加密方法及装置、数据的解密方法及装置 |
CN110278206B (zh) * | 2019-06-19 | 2021-10-08 | 董玺 | 一种基于双私人密钥的bwe加密算法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0792042A2 (en) * | 1996-02-21 | 1997-08-27 | Card Call Service Co., Ltd. | Method of effecting communications using common cryptokey |
CN1648967A (zh) * | 2004-01-07 | 2005-08-03 | 三星电子株式会社 | 加密装置、加密方法及其存储介质 |
JP2008177998A (ja) * | 2007-01-22 | 2008-07-31 | Nippon Telegr & Teleph Corp <Ntt> | 同報通信暗号化方法、情報暗号化方法、情報復号方法、それらの装置、それらのプログラム、およびそれらの記録媒体 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5271061A (en) * | 1991-09-17 | 1993-12-14 | Next Computer, Inc. | Method and apparatus for public key exchange in a cryptographic system |
US7093137B1 (en) * | 1999-09-30 | 2006-08-15 | Casio Computer Co., Ltd. | Database management apparatus and encrypting/decrypting system |
US7181017B1 (en) * | 2001-03-23 | 2007-02-20 | David Felsher | System and method for secure three-party communications |
US20020141577A1 (en) * | 2001-03-29 | 2002-10-03 | Ripley Michael S. | Method and system for providing bus encryption based on cryptographic key exchange |
US7088821B2 (en) * | 2001-05-03 | 2006-08-08 | Cheman Shaik | Absolute public key cryptographic system and method surviving private-key compromise with other advantages |
US20050195975A1 (en) * | 2003-01-21 | 2005-09-08 | Kevin Kawakita | Digital media distribution cryptography using media ticket smart cards |
US9818136B1 (en) * | 2003-02-05 | 2017-11-14 | Steven M. Hoffberg | System and method for determining contingent relevance |
US7937593B2 (en) * | 2004-08-06 | 2011-05-03 | Broadcom Corporation | Storage device content authentication |
US20080046731A1 (en) * | 2006-08-11 | 2008-02-21 | Chung-Ping Wu | Content protection system |
EP2122903A1 (en) * | 2006-12-21 | 2009-11-25 | International Business Machines Corporation | Key distribution for securing broadcast transmission to groups of users in wireless networks |
EP2311257B1 (en) * | 2008-08-13 | 2016-01-06 | GVBB Holdings S.A.R.L | Apparatus and method for encrypting image data, and decrypting the encrypted image data, and image data distribution system |
JP5322620B2 (ja) * | 2008-12-18 | 2013-10-23 | 株式会社東芝 | 情報処理装置、プログラム開発システム、プログラム検証方法及びプログラム |
US8515060B2 (en) * | 2009-04-24 | 2013-08-20 | Nippon Telegraph And Telephone Corporation | Encryption apparatus, decryption apparatus, encryption method, decryption method, security method, program, and recording medium |
JP5285778B2 (ja) * | 2009-08-03 | 2013-09-11 | 日本電信電話株式会社 | 関数暗号応用システム及び方法 |
-
2011
- 2011-07-22 CN CN201180034973.1A patent/CN103004129B/zh active Active
- 2011-07-22 WO PCT/JP2011/066692 patent/WO2012011564A1/ja active Application Filing
- 2011-07-22 KR KR1020127034442A patent/KR101478766B1/ko active IP Right Grant
- 2011-07-22 EP EP11809734.4A patent/EP2597812B1/en active Active
- 2011-07-22 JP JP2012525440A patent/JP5466763B2/ja active Active
- 2011-07-22 ES ES11809734.4T patent/ES2686426T3/es active Active
- 2011-07-22 US US13/703,381 patent/US8897442B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0792042A2 (en) * | 1996-02-21 | 1997-08-27 | Card Call Service Co., Ltd. | Method of effecting communications using common cryptokey |
CN1648967A (zh) * | 2004-01-07 | 2005-08-03 | 三星电子株式会社 | 加密装置、加密方法及其存储介质 |
JP2008177998A (ja) * | 2007-01-22 | 2008-07-31 | Nippon Telegr & Teleph Corp <Ntt> | 同報通信暗号化方法、情報暗号化方法、情報復号方法、それらの装置、それらのプログラム、およびそれらの記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
ES2686426T3 (es) | 2018-10-17 |
KR101478766B1 (ko) | 2015-01-02 |
CN103004129A (zh) | 2013-03-27 |
KR20130024931A (ko) | 2013-03-08 |
EP2597812A1 (en) | 2013-05-29 |
JP5466763B2 (ja) | 2014-04-09 |
EP2597812B1 (en) | 2018-06-20 |
US20130083921A1 (en) | 2013-04-04 |
JPWO2012011564A1 (ja) | 2013-09-09 |
WO2012011564A1 (ja) | 2012-01-26 |
US8897442B2 (en) | 2014-11-25 |
EP2597812A4 (en) | 2016-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103004129B (zh) | 加密装置、解密装置、加密方法、解密方法、程序及记录介质 | |
CN103003857B (zh) | 秘密分散系统、分散装置、分散管理装置、取得装置、秘密分散方法 | |
CN102396011B (zh) | 加密装置、解密装置、加密方法、解密方法、安全方法、程序以及记录介质 | |
CN103004130B (zh) | 密码系统、密码通信方法、加密装置、密钥生成装置、解密装置、内容服务器装置 | |
CN102396012B (zh) | 秘密分散系统、分散装置、分散管理装置、取得装置、其处理方法、秘密分散方法 | |
EP2424156A1 (en) | Cryptogram system, cryptogram communication method, encrypting device, key generating device, decrypting device, content server device, programs, and storage medium | |
CN104753947A (zh) | 一种固定密文长度的可验证外包解密的属性基系统及方法 | |
CN112733176B (zh) | 基于全域哈希的标识密码加密方法 | |
JP5612494B2 (ja) | 関数暗号を用いた時限暗号システム、時限暗号方法、装置、プログラム |
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 |