XIANG Wen, born in 1990, M. S. candidate. His research interests include lattice based cryptography.
YANG Xiaoyuan, born in 1959, M.S., professor. His research interests include cryptography, trusted computing.
WANG Xu’an, born in 1981, Ph. D. candidate,associate professor.His research interests include information security, cryptography.
WU Liqiang, born in 1986, M.S., lecturer. His research interests include lattice based cryptography, provable secure theory.
1997年,Zheng[1]第一次提出了签密的概念,在签密方案中,由于签名和加密在一个逻辑步骤内实现,计算和通信效率得到了明显提高。2002年,Malone-Lee[2]结合基于身份密码体制[3]提出了基于身份的签密方案,方案在密钥管理上更为简便,计算和通信效率得到了提高,在实际应用中优势逐渐明显。2010年,张串绒等[4]提出了具有较高效率的基于身份的签密方案S-IDSC (Short IDentity based SignCryption),该方案在随机预言机模型下被证明是安全的,但是存在签名验证条件的特殊性缺陷。张宇等[5]基于S-IDSC方案[4]的签名验证条件的特殊性缺陷,对文献[4]中的方案进行了改进,并同时证明了其安全性, 此外,计算效率也得到了提高。
量子计算机的出现,使得上述基于传统数学困难问题如大整数分解、离散对数等问题的密码体制变得不再安全。格密码[6]以其较高的运算速度,及具有抗量子攻击的优良特性,成为近几年密码学的研究热点之一, 尤其是2005年Regev[7]提出了错误学习(Learning With Errors, LWE)困难问题,并将LWE问题困难性归约到标准格上困难性问题之后,基于格的密码体制得到了快速发展。结合基于身份的密码体制,众多基于格上困难问题的身份类密码体制被相继提出[8-10]。2010年,Agrawal等[8]提出了格上基于(分层)身份的加密方案,并将其扩展到标准模型下证明了安全性,提供了后面格基身份密码体制的框架。2012年,Li等[11]基于格上困难问题构造了一个格基签密方案,方案具有基于格上快速计算特性,同时方案具有适应性选择密文攻击不可区分性(adaptive INDistinguishability Chosen-Ciphertext Attack, IND-CCA2)安全性和存在性不可伪造(Existentially UnForgeable Chosen-Message Attack, EUF-CMA)安全性。之后,Yan等[12]使用Micciancio方案[13]新的陷门生成算法,提出了标准模型下的格基签密方案,方案更加简单高效,并证明了其安全性。最近,Lu等[14]提出了一个标准模型下的格基签密方案,加密过程基于LWE困难假设,而签名的困难性基于格上小整数解(Small Integer Solution, SIS)困难问题; 而上述的格基签密方案[11-12, 14]存在的问题是均不能满足前向安全性。
前向安全的概念首先出现在Günther[15]提出的密钥交换协议中,用于保护用户的私钥泄露的情况下,加密数据的安全性。2013年,Singh等[16]基于格上困难问题,结合前向安全模型,构造了一个基于身份的前向安全的加密方案,随机预言机模型和标准模型下的方案均被证明是选择身份前向安全的。
本文结合基于身份的前向安全模型,构造了一个基于格上困难问题的前向安全的基于身份的签密方案。签密过程利用格基授权算法对用户的公私钥对进行更新,以达到前向安全。在签名过程使用原像采样算法,使得签名过程困难性基于SIS问题,并用包含签名信息的哈希值对明文进行对称加密,使得加密过程简单高效。方案在随机预言机模型被证明是适应性选择挑战身份和选择密文攻击不可区分性(adaptive INDistinguishiability selective IDentity and Chosen-Ciphertext Attack, IND-sID-CCA2)安全和强不可伪造选择消息攻击(strong UnForgeable Chosen-Message Attack, sUF-CMA)安全。同时,相比基于配对的签密方案[3-5],本文方案具有较高的计算效率和抗量子攻击特性;相比基于格的身份类签密方案,本文方案具有前向安全性,因此具有广阔的应用前景。
1 理论基础 1.1 格格[6]是一种特殊的代数结构,在几何学上又称为点格,是n维空间中规则排列的离散的无限点集。它的定义如下:
定义1 一个n维的格Λ,是指由n个线性独立的向量b1, b2, …, bn和整数的线性组合所形成的点的集合L(b1, b2, …, bn)=
定义2 对于一个素数q,整数m、n,矩阵A∈Zqn×m,m维q-ary格定义为:
$ \begin{array}{l} \Lambda _q^ \bot (\mathit{\boldsymbol{A}}) = \{ \mathit{\boldsymbol{e}} \in {\mathit{Z}^m} s.t. {\mathit{\boldsymbol{A}}^T}\mathit{\boldsymbol{e}} = 0(\bmod q)\} \\ \Lambda _q^u(\mathit{\boldsymbol{A}}) = \{ \mathit{\boldsymbol{e}} \in {\mathit{Z}^m} s.t. {\mathit{\boldsymbol{A}}^T}\mathit{\boldsymbol{e}} = \mathit{\boldsymbol{u}}(\bmod q)\} \end{array} $ |
定义3 设ρs(x)为中心为0,标准差为s的n维高斯分布,即ρs(x)=exp (-π‖x‖2/s2),那么对于格L,记ρs(L)=
LWE问题[6]是Regev在2005年首次提出,其复杂性可有效归约到格上的最短独立向量问题(Shortest Independent Vector Problem, SIVP)和判定性最短向量问题(gap-Shortset Vector Problem, gap-SVP)困难问题。
定义4[6] 设安全参数α>0,n>1,模数q>2n2,Zq上的噪声概率分布
判定性LWE问题描述如下:
存在一个攻击者
格基授权算法由Agrawal等[17]提出,简单的格基授权算法在不改变维度的情况下,利用一个格及其陷门生成其他的格和陷门。格基授权算法如下:
定理1 任意给定矩阵A∈Zqn×m,格Λ⊥(A)的一组基TA∈Ζm×m,对于任意给定模q可逆的公共矩阵R∈Zqm×m,存在一个多项式时间算法,能够输出格Λ⊥(B)⊆Zm×m的一组基B∈Ζn×m及其陷门TB∈Ζm×m。
BasisDel (A, R, TA, σ):
1)输入矩阵A∈Zqn×m,TA∈Ζm×m,高斯参数σ∈R>0以及R←Dm×m∈Zqm×m;
2)定义B=AR-1∈Zqn×m,输出Λ⊥(B)的陷门TB∈Ζm×m。
1.4 GPV签名GPV签名[19]由Gentry,Peikert,Vaikuntanathan在2008年STOC会议上提出,方案的安全性基于格上的小整数解(SIS)问题,GPV签名方案如下:
选取一个哈希函数H:{0, 1}* → Zqn作为随机预言机。
系统建立(1n):运行系统建立算法输出公共参数1n。
密钥生成(1n):运行抗碰撞的原像采样陷门生成算法PSF.TrapGen (1n),输出公私钥对(a, t)。
签名(sk=T, msg):输入消息msg,首先检查存储列表L,如果(msg, σmsg)在L中,输出σmsg;否则计算y=H(msg)∈Rn,运行原像采样算法PSF.SamplePre (y, t),输出签名σmsg=x∈Dn。
验证(vk=a, msg, σmsg=x):验证算法计算y=H(msg)∈Rn,如果满足y=PSF.Eval (a, x),则通过验证,否则输出⊥。
定理2 对于选取如下参数,m≥(5+3δ)n lb q,δ>0,s≥L·ω
对于方案的安全性证明见参考文献[19]。
2 前向安全基于身份加密的形式化定义前向安全的基于身份加密方案(Forward Secure Identity Based Encryption,FS-IBE)[12]由以下5个算法构成:
系统建立(n, 1λ, N):输入系统参数n, 时间周期N和安全参数1λ,输出加密的系统公钥MPK和主私钥MSK。
密钥生成(MPK, MSK, id):输入系统公钥MPK,主私钥MSK和一个用户的身份标识id。输出相应用户身份的私钥SKid。
密钥更新(MPK, SKid, i, id‖i-1):输入系统公钥MPK和第i-1时期的解密私钥SKid, i-1,输出第i时期的解密私钥SKid, i。
加密(MPK, id‖i, M):输入系统公钥MPK,第i时期的公钥id‖i和待加密消息M,输出密文C。
解密(MPK, SKid, i, C):输入系统公钥MPK,解密私钥SKid, i和密文C,输出明文消息M。
3 前向安全的格上基于身份签密方案本章结合LWE困难问题基础上,利用格基授权算法构造了一个前向安全的签密方案。签密过程首先通过一个陷门生成函数生成主公私钥对; 然后利用格基授权算法进行用户的公私钥对的更新,以达到前向安全, 在签名过程使用原像采样算法,使得签名过程困难性基于SIS问题; 最后用包含签名信息的哈希值对明文进行对称加密,使得加密过程简单高效。方案具体由以下5个算法构成:
1)系统初始化。
参数设置:n为2的幂且n≥8,q为素数且q≥5,q=poly(n)。m=
①输入系统的安全参数n,q,运行算法TrapGen (n, q)生成一个矩阵A∈Zqn×m和格Λq⊥(A)对应的陷门基T∈Zqm×m。
②选取哈希函数H0:{0, 1}* → {0, 1}n,H1:{0, 1}* → {0, 1}m×m,抗碰撞的哈希函数H2:{0, 1}* → {0, 1}l。
③随机选取2N个高斯参数σ0, σ1, …, σN-1, μ0, μ1, …, μN-1,主密钥为MSK=T0由私钥生成器(Private Key Generator,PKG)掌握,A为公共参数。
2)私钥生成。
①对于一个时间周期的任意一个时间点i∈[N]={0, 1, …, λ},输入用户的身份标识为id,定义如下矩阵Aid, 0=ARid, 0-1∈Zqn×m,其中Rid, 0=H1(id, 0)∈Zqm×m。
②运行算法BasisDel (A, Rid, 0, T, σ0),产生一个陷门SKid, 0∈Zqm×m,运行算法SamplePre (Aid, 0, SKid, 0, 0, σ0),输出私钥Tid, 0∈Zqm,即用户在第0时期的密钥。
3)密钥更新。
①输入用户在第i-1时期的密钥Tid, i-1,计算用户计算第i时期的密钥,计算Aid, i=ARid, i-1∈Zqn×m,其中Rid, i=H1(id, i)H1(id, i-1)…H1(id, 0)∈Zqm×m。
②设置Ri=H1(id, i)∈Zqm×m,运行算法BasisDel (Aid, i-1, Ri, SKid, i-1, σi),输出SKid, i∈Zqm×m。运行算法SamplePre (Aid, i, SKid, i, 0, σ),输出私钥Tid, i∈Zqm,发送者和接收者的公私钥对分别为(Aid, i, s, Tid, i, s),(Aid, i, r, Tid, i, r)。
4)签密。
①选取需要加密的消息m∈{0, 1}l,选取一个向量r∈{0, 1}l。
②运行算法δ←SamplePre (Aid, i, r, Tid, i, r, H0(m, i, r), μi),输出签名δ。
③随机选取一个均匀分布的向量s∈Zqn,计算密文
c=m⊕H2(s, δ)
④计算u=Aid, i, rT·s + δ。输出签密文(c, r, u)。
5)解签密。
输入签密文(c, r, u)
①利用陷门Tid, i, r,计算出s和δ。
②计算m=H2(s, δ)⊕c。
③验证等式Aid, i, sT·δ=H0(m, i, r):如果相等,说明签密文是合法的; 否则,拒绝接收签密文。
在①中,输入接收者的私钥Tid, i, r,由于(Aid, i, r, u=Aid, i, rT·s + δ)对于短向量签名δ是一个LWE实例,进行如下计算:
$ \begin{align} & \mathit{\boldsymbol{T}}_{_{\mathit{id,i,r}}}^{\rm{T}}\mathit{\boldsymbol{u}}=\mathit{\boldsymbol{T}}_{_{\mathit{id,i,r}}}^{\rm{T}}(\mathit{\boldsymbol{A}}_{_{\mathit{id,i,r}}}^{\rm{T}}\cdot \mathit{\boldsymbol{s}}+\mathit{\delta })\rm{mod }\mathit{q}\rm{=} \\ & \ \ \ \ \ \ \ \ \ \ \ \ \mathit{\boldsymbol{T}}_{_{\mathit{id,i,r}}}^{\rm{T}}\mathit{\boldsymbol{A}}_{_{\mathit{id,i,r}}}^{\rm{T}}\cdot \mathit{\boldsymbol{s}}+\mathit{\boldsymbol{T}}_{_{\mathit{id,i,r}}}^{\rm{T}}\mathit{\delta }\rm{mod}\mathit{q}=\mathit{\boldsymbol{T}}_{_{\mathit{id,i,r}}}^{\rm{T}}\mathit{\delta }\rm{mod}\mathit{q} \\ \end{align} $ |
由于Tid, i, rT和δ中的项目都很小,Tid, i, rTAid, i, rT=0,因此向量Tid, i, rTδ中的每个项目也都比q小得多,所以有Tid, i, rTδ mod q=Tid, i, rTδ,因此我们可以通过计算(Tid, i, rT)-1Tid, i, rTu mod q=(Tid, i, rT)-1Tid, i, rTδ得到签名δ,从而计算得到向量s。
4 方案分析 4.1 安全性分析方案的安全性分析通过以下两个定理证明,定理3证明了方案的加密过程满足了IND-sID-CCA2安全,定理4证明了方案的签名过程满足sUF-CMA安全。
定理3 在随机预言机模型下,如果存在敌手以不可忽略的概率ε(至少进行qHj(j=0, 1, 2)次哈希询问,进行qe次私钥提取询问,进行qs次签密询问,进行qu次解签密询问)赢得IND-sID-CCA2游戏,那么必然存在一个算法
证明 证明上述前向安全的基于身份签密方案在随机预言机模型下的语义安全性。证明如果存在多项式时间内的敌手
初始化 敌手
阶段一 敌手
1)私钥提取询问:敌手
2)H0询问:对于H(mj, i, rj)询问,1≤j≤qH,0≤i≤N-1,挑战者首先检查哈希函数H0是否等于预先定义的输入(mj, rj)的值:如果是,则返回预先定义的值; 否则,挑战者
3)H1询问:对于在周期N内的任意时间,敌手可以适应性地对任意的身份id*进行H1哈希询问。挑战者检查哈希函数H1是否等于预先定义的值:如果是,则返回预先定义的值;否则,挑战者
4)H2询问:对于H2(sj, δj)询问,1≤j≤qH2,挑战者
5)签密询问:敌手
6)解签密询问:敌手
首先检查列表L2,寻找元组(sj, δj, h2j),是否有使得
挑战 经过阶段一的询问之后,敌手
阶段二 敌手
猜测 敌手
根据分析,要想攻克sj可以通过mj=c⊕h2j,或通过
$ \begin{align} & \rm{Pr}[\mathit{b}=\mathit{b}']\le \rm{Pr}[\mathit{b}=\mathit{b}'|\mathit{As}{{\mathit{k}}_{{{\mathit{H}}_{\rm{2}}}}}]\rm{Pr}[\mathit{As}{{\mathit{k}}_{{{\mathit{H}}_{\rm{2}}}}}]+ \\ & \rm{Pr}[\mathit{As}{{\mathit{k}}_{{{\mathit{H}}_{\rm{2}}}}}]=\frac{\rm{1}}{\rm{2}}+\frac{\rm{1}}{\rm{2}}\rm{Pr}[\mathit{As}{{\mathit{k}}_{{{\mathit{H}}_{\rm{2}}}}}] \\ \end{align} $ |
由于H2是安全的哈希函数,因此赢得游戏的概率2Pr[b=b′]-1=Pr[AskH2]可忽略不计,因此本文方案可以达到IND-sID-CCA2安全。
定理4 在随机预言机模型下,如果存在一个敌手
证明 假设存在一个敌手
初始化 敌手
询问阶段 敌手
1)H0询问:对于H0(mj, i, rj)询问,1≤j≤qH,0≤i≤N-1,挑战者首先检查哈希函数H0是否等于预先定义的输入(mj, rj)的值。如果是,则返回预先定义的值,否则,挑战者
2)H1询问:对于在周期N内的任意时间,敌手可以适应性地对任意的身份id*进行哈希询问。挑战者检查哈希函数H1是否等于预先定义的值:如果是,则返回预先定义的值; 否则,挑战者
3)H2询问:对于H2(sj, δj)询问,1≤j≤qH2,挑战者
4)签密询问:如果敌手
伪造过程:敌手
1)利用接收者的私钥pkr*和u*密文,计算得到s*和δ*。
2)恢复出明文消息m*=H2(s*, δ*)⊕c*。
3)输出签名(r*, δ*)作为消息m*在GPV方案中的伪造签名。
由于签密文(c*, r*, u*)是合法的,因此有
此外,本文方案还满足前向安全性。假设时间段0≤j < i≤N-1,用户在时间i并不能获得签密文(c, r, u)。同时在时间段i中用户将消息H0(m, i, r)发送给签名者,签名者运行算法SamplePre (Aid, i, s, skid, i, s, H0(m, i, r), μi),产生签名δ且满足Aid, i, s·δ=H0(m, i, r),而用户只能通过BasisDel (A, Rid, 0, T, σ0)和BasisDel (Aid, i-1, Ri, SKid, i-1, σi)得到解密密钥,并且Aid, i, s·δ≠H0(m, i, r),所以本文方案满足前向安全性。
4.2 性能分析由于基于格上的签密算法只包含群上的加法和乘法,相对于传统的基于配对的签密方案,不涉及复杂的配对和大整数运算,计算效率有很大的提高。与其他格上的签密方案相比,具有基于身份的密钥管理优势,且能满足前向安全性。在密文扩展率方面,参见表 1。本文方案由于采用了文献[18]方案中的方法,将签名消息作为LWE加密中的错误项,所以本文方案在密文扩展率也有优势。
近年来,格密码的一些优越性能逐渐被人们开发并利用,基于格的密码方案也得到了快速发展。本文对基于格上的签密方案进行了研究,利用基于LWE困难问题和前向安全模型构造了一个格上可证明安全的前向安全的基于身份的签密方案。由于方案中的运算大多为格上有限域的加法和乘法运算,因此运算速度较快,效率较高,同时,本文方案还具有抗量子计算机攻击的优点。此外,由于本文方案是在随机预言机模型下实现的,下一步的工作是将方案进一步扩展到标准模型下,改进和实现更加高效实用的签密方案。
[1] | ZHENG Y. Digital signcryption or how to achieve cost (Signature & Encryption)≤ost (Signature)+cost (Encryption)[C]//Proceedings of the Cryptology-CRYPTO'97, LNCS 1294. Berlin:Springer, 1997:165-179. http://www.oalib.com/references/19337067 |
[2] | MALONE-LEE J. Identity-based signcryption[C]//Proceedings of Public Key Cryptography-PKC 2005, LNCS 3386. Berlin:Springer, 2002:362-379. http://link.springer.com/chapter/10.1007%2f978-3-540-89411-7_10 |
[3] | SHAMIR A. Identity-based crypto systems and signature schemes[C]//Proceedings of CRYPTO 84 on Advances in Cryptology. New York:Springer-Verlag, 1984:47-53. |
[4] | 张串绒, 张玉清, 李发根, 等. 适用于Ad Hoc网络安全通信的新签密算法[J]. 通信学报, 2010, 31 (3) : 19-24. ( ZHANG C R, ZHANG Y Q, LI F G, et al. New signcryption algorithm for secure communication of Ad Hoc networks[J]. Journal on Communications, 2010, 31 (3) : 19-24. ) |
[5] | 张宇, 杜瑞颖, 陈晶, 等. 对一个基于身份签密方案的分析与改进[J]. 通信学报, 2015, 36 (11) : 174-179. ( ZHANG Y, DU R Y, CHEN J, et al. Analysis and improvement of an identity-based signcryption[J]. Journal on Communications, 2015, 36 (11) : 174-179. ) |
[6] | REGEV O. Lattice-based cryptography[C]//Advances in Cryptology-CRYPTO 2006. Berlin:Springer, 2006:131-141. |
[7] | REGEV O. On lattices, learning with errors, random linear codes, and cryptography[J]. Journal of the ACM, 2009, 56 (6) : Article No. 34. |
[8] | AGRAWAL S, DAN B, BOYEN X. Efficient lattice (H) IBE in the standard model[C]//Proceedings of the 29th Annual International Conference on Theory and Applications of Cryptographic Techniques. Berlin:Springer, 2010:553-572. |
[9] | SINGH K, PANDURANGAN C, BANERJEE A K. Adaptively secure efficient lattice (H) IBE in standard model with short public parameters[C]//Proceedings of the 2nd International Conference on Security, Privacy, and Applied Cryptography Engineering. Berlin:Springer, 2012:153-172. |
[10] | 张彦华, 胡予濮, 江明明, 等. 格上可撤销的基于身份的适应性安全的加密方案[J]. 电子与信息学报, 2015, 37 (2) : 423-428. ( ZHANG Y H, HU Y P, JIANG M M, et al. A Lattice-based revocable adaptive-ID secure encryption scheme[J]. Journal of Electronics & Information Technology, 2015, 37 (2) : 423-428. ) |
[11] | LI F, BIN MUHAYA F T, KHAN M K, et al. Lattice-based signcryption[J]. Concurrency & Computation Practice & Experience, 2013, 25 (14) : 2112-2122. |
[12] | YAN J H, WANG L C, WANG L H, et al. Efficient lattice-based signcryption in standard model[J]. Mathematical Problems in Engineering, 2013 (11) : 1-18. |
[13] | MICCIANCIO D, PEIKERT C. Trapdoors for lattices:simpler, tighter, faster, smaller[C]//Proceedings of the 31st Annual International Conference on the Theory and Applications of Cryptographic Techniques. Berlin:Springer, 2011:700-718. |
[14] | LU X H, WEN Q Y, JIN Z P, et al. A lattice-based signcryption scheme without random oracle[J]. Frontiers of Computer Science, 2014, 8 (4) : 667-675. doi: 10.1007/s11704-014-3163-1 |
[15] | GVNTHER C G. An identity-based key-exchange protocol[C]//Proceedings of the 1989 Workshop on the Theory and Application of Cryptographic Techniques. Berlin:Springer, 1989:235-238. |
[16] | SINGH K, PANDURANGAN C, BANERJEE A K. Lattice forward-secure identity based encryption scheme[J]. Journal of Internet Services and Information Security, 2012, 2 (3/4) : 118-128. |
[17] | AGRAWAL S, DAN B, BOYEN X. Lattice basis delegation in fixed dimension and shorter-ciphertext hierarchical IBE[C]//Proceedings of the 30th Annual Conference on Advances in Cryptology. Berlin:Springer, 2010:98-115. |
[18] | GORDON S D, KATZ J, VAIKUNTANATHAN V. A group signature scheme from lattice assumptions[C]//Proceedings of the 16th International Conference on the Theory and Application of Cryptology and Information Security. Berlin:Springer, 2010:395-412. |
[19] | GENTRY C, PEIKERT C, VAIKUNTANATHAN V. Trapdoors for hard lattices and new cryptographic constructions[J]. Electronic Colloquium on Computational Complexity, 2015, 14 : 197-206. |