计算机应用   2016, Vol. 36 Issue (11): 3077-3081,3087  DOI: 10.11772/j.issn.1001-9081.2016.11.3077
0

引用本文 

项文, 杨晓元, 王绪安, 吴立强. 前向安全的格上基于身份签密方案[J]. 计算机应用, 2016, 36(11): 3077-3081,3087.DOI: 10.11772/j.issn.1001-9081.2016.11.3077.
XIANG Wen, YANG Xiaoyuan, WANG Xu'an, WU Liqiang. Forward secure identity-based signcryption from lattice[J]. Journal of Computer Applications, 2016, 36(11): 3077-3081,3087. DOI: 10.11772/j.issn.1001-9081.2016.11.3077.

基金项目

国家自然科学基金资助项目(61272492,61572521);陕西省自然科学基础研究计划项目(2015JM8300);武警工程大学基础研究项目(WJY201422,WJY201523)

通信作者

项文(1990-), 男, 湖北襄阳人, 硕士研究生, 主要研究方向:格密码学.xiangwen0917@163.com

作者简介

杨晓元(1959-), 男, 湖南湘潭人, 教授, 硕士, CCF会员, 主要研究方向:密码学、可信计算;
王绪安(1981-), 男, 湖北公安人, 副教授, 博士研究生, 主要研究方向:信息安全、密码学;
吴立强(1986-), 男, 陕西蓝田人, 讲师, 硕士, CCF会员, 主要研究方向:格密码学、可证明安全理论

文章历史

收稿日期:2016-04-18
修回日期:2016-07-03
前向安全的格上基于身份签密方案
项文, 杨晓元, 王绪安, 吴立强    
武警工程大学 网络与信息安全武警部队重点实验室, 西安 710086
摘要: 针对目前基于格的签密方案尚不能满足前向安全性,提出一个具有前向安全的基于身份的签密方案。首先,该方案利用格基授权算法对用户和发送者的公私钥对进行更新;其次,结合基于格上错误学习问题的原像采样算法进行用户签名,并利用包含签名信息的哈希值对消息进行加密。在随机预言机模型下,证明该方案是适应性选择身份和选择密文攻击安全(IND-sID-CCA2)和强不可伪造选择消息攻击安全(sUF-CMA)的,同时证明了该方案具有前向安全性。相对于基于配对的签密方案,所提方案在计算速度和密文扩展率的优势都较为明显。
关键词: 前向安全    基于身份加密    错误学习    格基授权    选择密文攻击    
Forward secure identity-based signcryption from lattice
XIANG Wen, YANG Xiaoyuan, WANG Xu'an, WU Liqiang     
Key Laboratory of Network and Information Security under Chinese People's Armed Police Force, Engineering University of Chinese People's Armed Police Force, Xi'an Shaanxi 710086, China
Background: This work is partially supported by the National Natural Science Foundation of China (61272492, 61572521), the Basic Research Project of Natural Science in Shaanxi province (2015JM6353), the basic Research Project of the Engineering University of CAPF (WJY201422, WJY201523).
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.
Abstract: To solve the problem that current signcryption schemes based on lattice cannot achieve forward security, a new identity-based signcryption scheme with forward security was proposed. Firstly, lattice basis delegation algorithm was used to update the users' public keys and private keys. Then, the preimage sampleable functions based on Learning With Errors (LWE) over lattice was used to sign the message, and the signature was also used to encrypt the message. The scheme was proved to be adaptive INDistinguishiability selective IDentity and Chosen-Ciphertext Attack (IND-sID-CCA2) secure, strong UnForgeable Chosen-Message Attack (sUF-CMA) secure and forward secure. Compared with the signcryption schemes based on pairings, the proposed scheme has more advantages in computational efficiency and ciphertext extension rate.
Key words: forward secure    identity-based encryption    Learning With Errors (LWE)    lattice basis delegation    chosen ciphertext attack    
0 引言

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)=$\left\{ {\sum\limits_{i \in [n]} {{\alpha _i}{\mathit{\boldsymbol{b}}_i}\left| {{\alpha _i} \in {\bf{Z}}} \right.} } \right\}$,其中向量b1, b2, …, bn称作格Λ的一组基,记为B=[b1, b2, …, bn]。

定义2  对于一个素数q,整数mn,矩阵AZqn×mmq-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,标准差为sn维高斯分布,即ρs(x)=exp (-π‖x2/s2),那么对于格L,记ρs(L)=$\sum\limits_{\mathit{\boldsymbol{x}} \in L} {{\rho _s}(\mathit{\boldsymbol{x}})} $,当ρs(L)有界时,格L上的高斯分布定义为$\exists \mathit{\boldsymbol{y}} \in L, {D_{L, s}}(\mathit{\boldsymbol{y}}) = \frac{{{\rho _s}(\mathit{\boldsymbol{y}})}}{{{\rho _s}(L)}}$

1.2 LWE困难问题及假设

LWE问题[6]是Regev在2005年首次提出,其复杂性可有效归约到格上的最短独立向量问题(Shortest Independent Vector Problem, SIVP)和判定性最短向量问题(gap-Shortset Vector Problem, gap-SVP)困难问题。

定义4[6]  设安全参数α>0,n>1,模数q>2n2Zq上的噪声概率分布$\bar{\Psi }=\left\{ \left\lceil \mathit{qx} \right\rfloor\rm{mod}\mathit{q}\left| \mathit{x}\sim \mathit{N}\left( \rm{0}, {{\alpha }^{\rm{2}}} \right) \right. \right\}$;随机选取均匀分布的向量sZqn。设χα服从噪声概率分布${{{\mathit{\bar{\Psi }}}}_{\mathit{aq}}}$,保持向量不变,多次随机选取均匀分布的向量aZqn和噪声eχα,输出(a, b=〈a, s〉+e)∈Zqn×Zq,并将其分布记作As, χα(也称LWE分布),整个运算过程均是模q操作。计算性LWE问题就是通过样本As, χα取样,通过(a, b=〈a, s〉+e)∈Zqn×Zq计算,都能够以极大的概率输出sZqn

判定性LWE问题描述如下:

存在一个攻击者和R-LWE预言机O,预言机O包含两个采样算法O$(随机均匀选取(a, b)∈U(Zqn×Zq))和Os(设定秘密sZqn和选择均匀分布的a,计算(a, b=〈a, s〉+e)∈As, χα),攻击者向预言机O询问,O随机利用O$或者Os产生一些实例(a, b)∈U(Zqn×Zq)返回给攻击者,如果能够准确分辨出实例来自O$Os的优势Adv()=|Pr[AOS=1]-Pr[AO$=1]|是不可忽略的,那么就说能够解决判定性LWE问题。

1.3 格基授权算法

格基授权算法由Agrawal等[17]提出,简单的格基授权算法在不改变维度的情况下,利用一个格及其陷门生成其他的格和陷门。格基授权算法如下:

定理1  任意给定矩阵AZqn×m,格Λ(A)的一组基TAΖm×m,对于任意给定模q可逆的公共矩阵RZqm×m,存在一个多项式时间算法,能够输出格Λ(B)⊆Zm×m的一组基BΖn×m及其陷门TBΖm×m

BasisDel (A, R, TA, σ):

1)输入矩阵AZqn×mTAΖm×m,高斯参数σR>0以及RDm×mZqm×m

2)定义B=AR-1Zqn×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=xDn

验证(vk=a, msg, σmsg=x):验证算法计算y=H(msg)∈Rn,如果满足y=PSF.Eval (a, x),则通过验证,否则输出⊥。

定理2  对于选取如下参数,m≥(5+3δ)n lb qδ>0,sL·ω$\left( \sqrt{\rm{lb}\mathit{m}} \right)$,其中L=O$\left( \sqrt{\mathit{n}\rm{lb}\mathit{q}} \right)$。如果$\mathit{SI}{{\mathit{S}}_{\mathit{q}, \mathit{m}, 2\mathit{s}\sqrt{\mathit{m}}}}$是困难的,那么上述的签名方案可以达到强不可伪造选择消息攻击下的安全性(sUF-CMA)。

对于方案的安全性证明见参考文献[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, idi-1):输入系统公钥MPK和第i-1时期的解密私钥SKid, i-1,输出第i时期的解密私钥SKid, i

加密(MPK, idi, M):输入系统公钥MPK,第i时期的公钥idi和待加密消息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=$\left\lceil \rm{6}\mathit{n}\rm{lb}\mathit{q} \right\rceil $$\mathit{\tilde{L}}=\mathit{O}\left( \sqrt{\mathit{n}\rm{lb}\mathit{q}} \right)$,高斯参数μ, $\mathit{\sigma }\ge \mathit{\tilde{L}}\cdot \mathit{\omega }\left( \sqrt{\rm{lb}\mathit{m}} \right)$。加密的时间周期长度N

①输入系统的安全参数nq,运行算法TrapGen (n, q)生成一个矩阵AZqn×m和格Λq(A)对应的陷门基TZqm×m

②选取哈希函数H0:{0, 1}* → {0, 1}nH1:{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-1Zqn×m,其中Rid, 0=H1(id, 0)∈Zqm×m

②运行算法BasisDel (A, Rid, 0, T, σ0),产生一个陷门SKid, 0Zqm×m,运行算法SamplePre (Aid, 0, SKid, 0, 0, σ0),输出私钥Tid, 0Zqm,即用户在第0时期的密钥。

3)密钥更新。

①输入用户在第i-1时期的密钥Tid, i-1,计算用户计算第i时期的密钥,计算Aid, i=ARid, i-1Zqn×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, iZqm×m。运行算法SamplePre (Aid, i, SKid, i, 0, σ),输出私钥Tid, iZqm,发送者和接收者的公私钥对分别为(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),输出签名δ

③随机选取一个均匀分布的向量sZqn,计算密文

c=mH2(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游戏,那么必然存在一个算法,可以在多项式时间内破解LWE问题实例。

证明  证明上述前向安全的基于身份签密方案在随机预言机模型下的语义安全性。证明如果存在多项式时间内的敌手可以以优势破解本文的签密方案,那么必然存在一个多项式时间内的敌手可以以不可忽略的优势破解LWE问题。假设存在这样一个敌手在与挑战者的交互游戏中能够以ε′的优势赢得游戏,挑战者是一个对于消息m的LWE问题(Aid, i, r, u=Aid, i, rT·s + δ)的实例。

初始化  敌手宣布攻击的目标身份id*,挑战者运行Setup算法,并将公开系统参数和id*对应的公钥pkr=${\mathit{\boldsymbol{\bar{A}}}}$发送给敌手

阶段一  敌手以适应性地执行多项式数量级界以下的哈希询问H0H1H2,私钥提取询问,签密询问以及解签密询问。挑战者保留三个模拟哈希预言机的列表L0L1L2,询问如下:

1)私钥提取询问:敌手输入身份id*,运行私钥提取算法,得到身份id*对应的私钥sk

2)H0询问:对于H(mj, i, rj)询问,1≤jqH,0≤iN-1,挑战者首先检查哈希函数H0是否等于预先定义的输入(mj, rj)的值:如果是,则返回预先定义的值; 否则,挑战者随机选取一个h1jRn,将(mj, rj, h1j)插入列表L0,然后将h1j返回给敌手

3)H1询问:对于在周期N内的任意时间,敌手可以适应性地对任意的身份id*进行H1哈希询问。挑战者检查哈希函数H1是否等于预先定义的值:如果是,则返回预先定义的值;否则,挑战者随机选取一个Rid, i, jDm×mZqm×m,将(idj, ij, Rid, i, j)插入列表L1,然后返回给敌手

4)H2询问:对于H2(sj, δj)询问,1≤jqH2,挑战者首先检查哈希函数H2是否等于预先定义的输入(sj, δj)的值。如果是,则返回预先定义的值,否则,挑战者随机选取一个h2j∈{0, 1}m,将(sj, δj, h2j)插入列表L2,然后返回给敌手

5)签密询问:敌手输入一系列接收者身份idk(k=1, 2, …, l),发送者身份ids和一个明文消息m,挑战者计算skidk=KeyExtract (idk)和(c, r, u)=Signcrypt (M, skid, s, idk, r),并将(c, r, u)发送给敌手

6)解签密询问:敌手输入一系列接收者身份idj(j=1, 2, …, l),发送者身份ids和一个签密文组(c, r, u),将发送者的公私钥对(pkr, sks)产生的签密文组(c, r, u)提交作为一个解签密询问,挑战者执行如下操作:

首先检查列表L2,寻找元组(sj, δj, h2j),是否有使得$u={{\mathit{\boldsymbol{\bar{A}}}}^{T}}\cdot {{s}_{j}}+{{\delta }_{j}}$以及相对应的元素h2imj=ch2j,在列表中存在元组(mj, rj, h1j):如果不存在这样的元组,输出⊥; 否则,挑战者进一步检查fpks(δj)=h1j是否成立,如果等式成立,将mj返回给敌手,否则,输出⊥。

挑战  经过阶段一的询问之后,敌手选择两个长度的相等的密文m0m1和两个身份idsidr,然后发送给挑战者。挑战者随机选择两个二进制字符串r*←{0, 1}mc*←{0, 1}m,设u*=${\bar{u}}$将挑战密文组(c*, r*, u*)发送给敌手

阶段二  敌手可以和阶段一一样进行多项式数量级界以下的适应性询问,不同的是不能对相同发送者ids的私钥sks*产生的密文(c*, r*, u*)进行解签密询问。但是敌手可以对不同发送者的公私钥对(pks*, sks*)生成的挑战密文(c*, r*, u*)进行解签密询问。容易知道,敌手并不能确定是一个发送者私钥sks和接收者的公钥pkr对应的签密文合法性,除非敌手对哈希值H2$(\mathit{\boldsymbol{\bar{s}}}, \mathit{\boldsymbol{\bar{ }\!\!\delta\!\!\rm{ }}})$进行询问。如果这样的话,无论敌手的模拟观点如何完美,求解LWE问题将仅依赖于列表L2

猜测  敌手输出一个结果b′,挑战者只需检查(sj, δj, h2j)元组形式的列表L2。对于列表L2中的每一项,挑战者检查$\mathit{\boldsymbol{u}}={{{\mathit{\boldsymbol{\bar{A}}}}}^{T}}\cdot {{\mathit{\boldsymbol{s}}}_{\mathit{j}}}+{{\mathit{\boldsymbol{ }}\!\!\delta\!\!\rm{ }}_{\mathit{j}}}$是否成立:如果等式成立,挑战者停止并输出sj作为LWE问题的解; 如果没有这样的方程满足等式,挑战者停止并输出“失败”。

根据分析,要想攻克sj可以通过mj=ch2j,或通过$\mathit{\boldsymbol{u}}={{{\mathit{\boldsymbol{\bar{A}}}}}^{T}}\cdot {{\mathit{\boldsymbol{s}}}_{\mathit{j}}}+{{\mathit{\boldsymbol{ }}\!\!\delta\!\!\rm{ }}_{\mathit{j}}}$。解决$\mathit{\boldsymbol{u}}={{{\mathit{\boldsymbol{\bar{A}}}}}^{T}}\cdot {{\mathit{\boldsymbol{s}}}_{\mathit{j}}}+{{\mathit{\boldsymbol{ }}\!\!\delta\!\!\rm{ }}_{\mathit{j}}}$,就是解决LWE问题,又LWE是困难问题,因此唯有破获问题H2(s, δ),设置ASKH2为询问(sj, δj, 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(至少进行qHi(i=0, 1, 2)次哈希询问,进行qe次私钥提取询问,进行qs次签密询问,进行qu次解签密询问)赢得强不可伪造选择消息攻击(sUF-CMA)游戏,那么必然存在一个算法可以在多项式时间内破解GPV签名方案,即破解SIS问题实例。

证明  假设存在一个敌手能够在多项式时间内攻破上述方案,即能够伪造一个签名,那么必然存在一个多项式时间内的算法能在GPV签名方案中伪造一个签名。敌手和挑战者之间的交互游戏如下:

初始化  敌手宣布攻击的目标身份id*,挑战者运行Setup算法,设置发送者的公钥pks*=As*,将接收者的公钥Ar*发送给敌手

询问阶段  敌手以适应性地执行多项式数量级界以下的哈希询问H0H1H2,以及签密询问。挑战者保留三个模拟哈希预言机的列表L0L1L2,哈希询问和签密询问如下:

1)H0询问:对于H0(mj, i, rj)询问,1≤jqH,0≤iN-1,挑战者首先检查哈希函数H0是否等于预先定义的输入(mj, rj)的值。如果是,则返回预先定义的值,否则,挑战者设置δj=SampleDom (1n),将(mj, rj, δj, ${{\mathit{f}}_{{{{\mathit{\bar{A}}}}_{\mathit{s}}}}}$(δj))插入列表L0,然后将${{\mathit{f}}_{{{{\mathit{\bar{A}}}}_{\mathit{s}}}}}$(δj)返回给敌手。其模拟过程与GPV签名方案一样。

2)H1询问:对于在周期N内的任意时间,敌手可以适应性地对任意的身份id*进行哈希询问。挑战者检查哈希函数H1是否等于预先定义的值:如果是,则返回预先定义的值; 否则,挑战者随机选取一个Rid, i, jDm×mZqm×m,将(idj, ij, Rid, i, j)插入列表L1,然后返回给敌手

3)H2询问:对于H2(sj, δj)询问,1≤jqH2,挑战者首先检查哈希函数H2是否等于预先定义的输入(sj, δj)的值:如果是,则返回预先定义的值; 否则,挑战者随机选取h2j∈{0, 1}m,将(sj, δj, h2j)插入列表L2,然后将h2j返回给敌手

4)签密询问:如果敌手将发送者的公私钥对(pks, sks)产生的签名(r, δ)提交作为一个签密询问,挑战者运行签密预言机得到(r, δ)作为对消息的签密询问。然后挑战者将(m, r, δ, ${{\mathit{f}}_{{{{\mathit{\bar{A}}}}_{\mathit{s}}}}}$(δ))插入到列表L1,最后挑战者随机选取一个向量sZqm并计算c=H2(s, δ)⊕m(H2的值取自预言机模拟算法)和u=pkrT·s + δ,将签密文(c, r, u)发送给敌手

伪造过程:敌手输出接收者的公私钥对和新的合法签密文(c*, r*, u*)。挑战者操作如下:

1)利用接收者的私钥pkr*u*密文,计算得到s*δ*

2)恢复出明文消息m*=H2(s*, δ*)⊕c*

3)输出签名(r*, δ*)作为消息m*在GPV方案中的伪造签名。

由于签密文(c*, r*, u*)是合法的,因此有${{\mathit{f}}_{{{{\mathit{\bar{A}}}}_{\mathit{s}}}}}$(δ*)=H0(m*, i, r*),即(r*, δ*)是对消息m*在GPV方案中的合法签名。由于GPV签名方案在随机预言机模型下是sUF-CMA安全的,因此本文方案在随机预言机模型下同样是sUF-CMA安全的。

此外,本文方案还满足前向安全性。假设时间段0≤j < iN-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加密中的错误项,所以本文方案在密文扩展率也有优势。

表 1 几种方案的对比
5 结语

近年来,格密码的一些优越性能逐渐被人们开发并利用,基于格的密码方案也得到了快速发展。本文对基于格上的签密方案进行了研究,利用基于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.