留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

格上的异构签密

路秀华 温巧燕 王励成

路秀华, 温巧燕, 王励成. 格上的异构签密[J]. 电子科技大学学报, 2016, 45(3): 458-462. doi: 10.3969/j.issn.1001-0548.2016.02.025
引用本文: 路秀华, 温巧燕, 王励成. 格上的异构签密[J]. 电子科技大学学报, 2016, 45(3): 458-462. doi: 10.3969/j.issn.1001-0548.2016.02.025
LU Xiu-hua, WEN Qiao-yan, WANG Li-cheng. A Lattice-Based Heterogeneous Signcryption[J]. Journal of University of Electronic Science and Technology of China, 2016, 45(3): 458-462. doi: 10.3969/j.issn.1001-0548.2016.02.025
Citation: LU Xiu-hua, WEN Qiao-yan, WANG Li-cheng. A Lattice-Based Heterogeneous Signcryption[J]. Journal of University of Electronic Science and Technology of China, 2016, 45(3): 458-462. doi: 10.3969/j.issn.1001-0548.2016.02.025

格上的异构签密

doi: 10.3969/j.issn.1001-0548.2016.02.025
基金项目: 

国家自然科学基金 61402015

河北省教育厅青年基金 QN2015084

陕西省教育厅专项科研计划项目 15JK1022

详细信息
    作者简介:

    路秀华(1979-),女,博士生,主要从事基于格的公钥密码体制的研究.

  • 中图分类号: TP309

A Lattice-Based Heterogeneous Signcryption

计量
  • 文章访问数:  4715
  • HTML全文浏览量:  1258
  • PDF下载量:  246
  • 被引次数: 0
出版历程
  • 收稿日期:  2015-03-05
  • 修回日期:  2015-09-25
  • 刊出日期:  2016-05-01

格上的异构签密

doi: 10.3969/j.issn.1001-0548.2016.02.025
    基金项目:

    国家自然科学基金 61402015

    河北省教育厅青年基金 QN2015084

    陕西省教育厅专项科研计划项目 15JK1022

    作者简介:

    路秀华(1979-),女,博士生,主要从事基于格的公钥密码体制的研究.

  • 中图分类号: TP309

摘要: 现存的类型1异构签密方案,安全性都基于传统的数论假设,因此无法抵抗量子计算机的攻击。针对这个问题,以抗量子攻击的格中困难问题——带错学习问题和非齐次小整数解问题为基础,运用格上签密方案的构造方法,结合格上固定维数的格基代理技术,构造了第一个格上的异构签密方案,并证明了该方案的正确性和安全性。该方案实现了异构签密方案的抗量子攻击属性,为PKI系统到身份密码系统的抗量子攻击的安全信息传输提供了理论支撑。

English Abstract

路秀华, 温巧燕, 王励成. 格上的异构签密[J]. 电子科技大学学报, 2016, 45(3): 458-462. doi: 10.3969/j.issn.1001-0548.2016.02.025
引用本文: 路秀华, 温巧燕, 王励成. 格上的异构签密[J]. 电子科技大学学报, 2016, 45(3): 458-462. doi: 10.3969/j.issn.1001-0548.2016.02.025
LU Xiu-hua, WEN Qiao-yan, WANG Li-cheng. A Lattice-Based Heterogeneous Signcryption[J]. Journal of University of Electronic Science and Technology of China, 2016, 45(3): 458-462. doi: 10.3969/j.issn.1001-0548.2016.02.025
Citation: LU Xiu-hua, WEN Qiao-yan, WANG Li-cheng. A Lattice-Based Heterogeneous Signcryption[J]. Journal of University of Electronic Science and Technology of China, 2016, 45(3): 458-462. doi: 10.3969/j.issn.1001-0548.2016.02.025
  • 1976年,Diffie和Hellman提出了公钥密码体制[1]。根据公钥认证方法的不同,公钥密码体制分为如下3种:基于PKI的公钥密码体制(PKC)、基于身份的公钥密码体制(IBC)和无证书公钥密码体制[2]

    签密是一个密码学原语[3],它包括了加密和签名的功能,可以同时实现消息的机密性和认证性,既保证了信息传输的安全性,又提高了执行效率,受到诸多研究者的关注[4-9]。这些研究成果涉及了3种公钥密码体制。

    由于公钥密码体制的多样化,通信系统采用的安全技术也不尽相同。为了解决使用不同安全技术的通信系统之间的通信问题,文献[10]提出了异构签密的概念,致力于实现不同通信系统间的安全通信。

    本文关注PKC和IBC之间的签密方案的构造,包括两种类型:类型1,发送者使用PKC技术,接收者使用IBC技术;类型2,发送者使用IBC技术,接收者使用PKC技术[2]。文献[11]提出了一个类型2的签密方案;文献[12]提出了类型1和类型2的签密方案。这些方案的安全性都基于传统的数论假设,不能抵抗量子计算机的攻击。

    随着量子计算机的迅猛发展,构造能够抵抗量子攻击的密码体制,成为一个迫切的课题。基于格理论的公钥密码体制,由于其最坏情况的安全性保证和线性运算的快速实现,成为后量子密码的典型代表。文献[9]提出了一个基于格的公钥签密方案。在此工作的基础上,本文构造了第一个格上的类型1异构签密方案。

    • 算法 1 TrapGen[13]

      此算法输入参数n,q,m,输出两个矩阵(A,T),其中A服从Zqn×m上的均匀分布,T∈Zm×m满足AT=0(modq)且T中的每个列向量具有较小长度。

      算法 2 BasisDel[14]

      此算法输入算法1中的(A,T)R←Dm×m服从Zm×m上的高斯分布,高斯参数为σ,输出两个矩阵,其中(B,TB)B=AR-1(modq),BTB=0(modq)且TB中的每个列向量具有较小长度。

      算法 3 SamplePre[13]

      此算法输入算法1中的(A,T)v=Zqn,和σ >0,输出e∈Zm满足Ae = v(modq)且 $\left\| {\bf{e}} \right\| \leqslant \sigma \sqrt m $ 。

      算法 4 SampleRwithBasis[14]

      此算法输入矩阵A∈Zqn×m,输出3个矩阵(R,B,TB),其中RDm×mB = AR-1(modq),BT=0(modq)且TB中的每个列向量具有较小长度。

      定义 1 LWE[13]

      带错学习问题(learning with errors problem,LWE)描述如下:给定二元组(A∈Zqn×m,ATv + e(mod q)),其中e服从某个适当的概率分布,求解v∈Zqn

      定义 2 ISIS[13]

      非齐次小整数问题(inhomogeneous small integer solution problem,ISIS)描述如下:对于β > 0,和二元组(A∈Zqn×m,y∈Zqn),寻找非零的短向量e∈Zm,使得Ae = y(mod q)且 $\left\| e \right\| < \beta $ 。

      定义 3 GPV签名[13]

      GPV签名方案如下构建:对安全参数n,q = poly(n),m≥5nlg q,高斯参数σ > 0,和碰撞稳固的hash函数 $H:{\left\{ {0,1} \right\}^{n + l}} \to {\Bbb Z}_q^n$ ,

      1) 密钥生成:运行算法TrapGen(n,q,m)生成(A,T),A为验证公钥,T为签名私钥。

      2) 签名算法:输入签名私钥T,消息 $\varpi \in {\left\{ {0,1} \right\}^l}$ 。随机选择ζ ∈{0,1}n,运行算法SamplePre $(A,T,H(\varpi ,\zeta ),\sigma )$ 获得e∈Zm。输出(ζ ,e)作为消息 $\varpi $ 的签名。

      3) 验证算法:输入消息 $\varpi $ 和签名(ζ ,e),如果 $Ae = H(\varpi ,\zeta )$ 且 $\left\| e \right\| \leqslant \sigma \sqrt m $ ,则接受签名;否则拒绝。

      在ISIS问题难解性假设下,GPV签名在适应性选择消息攻击下是存在性不可伪造的,也就是EUF-CMA安全的。

    • 1) 系统设置:此算法由PKG(private key generator)执行。输入安全参数n,输出主密钥msk和系统参数params。保密msk,公开params。

      2) PKC密钥生成:PKI系统中的每个用户执行这个算法生成自己的公钥pk和私钥sk。

      3) IBC密钥生成:算法由PKG执行,输入是用户身份id,输出是身份id的私钥sk。

      4) 签密算法:算法由消息的发送者完成,输入为params,发送者的私钥sks,接收者的身份id,消息 $\varpi $ ,输出密文C

      5) 解签密算法:算法由消息的接收者完成,输入为params,接收者的私钥skid,发送者的公钥pks,密文C,输出消息 $\varpi $ 或终止符号⊥。

      此外,算法必须满足正确性,如果C =Signcrypt(sks ,id, $\varpi $ ),则有 $\varpi $ = Unsigncrypt(skid,pks,C)

    • 定义 4 如果任何多项式有界的敌手A在如下的和挑战者C的游戏中胜出的概率都是可忽略的,则称类型1的异构签密方案具有适应性选择密文攻击下的不可区分性,即是IND-HSC-CCA2安全的。

      1) 初始阶段:C运行系统设置,生成系统参数params;并运行PKC密钥生成算法获得发送者的公钥pks和私钥sks,一并发送给A

      2) 阶段1:A可以执行多项式有界次数的如下查询,C负责应答。

      ① IBC密钥查询:

      A选择一个身份id发送给CC运行IBC密钥生成算法得到身份id的私钥skid,返回给A

      ② 解签密查询:

      A选择一个接收者身份id和一个密文C发送给CC运行IBC密钥生成算法得到身份id的私钥skid,然后运行解签密算法Unsigncrypt(skid ,pks,C),将运行结果返回给A

      3) 挑战阶段:阶段1由A宣告终止,同时A选择两个相同长度的明文 ${\varpi _1},{\varpi _2}$ 和接收者身份id0(要求id0未被查询过密钥),将其发送给CC随机选择b∈{0,1},计算C0 =Signcrypt(sks ,id0 , ${\varpi _b}$ ),将其返回给A

      4) 阶段2:A继续执行阶段1中的操作,除了不能查询id0的私钥,不能对(id0 ,C0 )执行解签密查询。

      5) 猜测阶段:A输出对b的猜测b'。如果b'=bA赢得游戏。

      A在游戏中的优势为Adv(A ) =丨2Pr[b′ = b]-1丨,其中Pr[b′= b]表示b' = b的概率。

      定义 5 如果任何多项式有界的敌手F在如下的和挑战者C的游戏中胜出的概率都是可忽略的,则称类型1的异构签密方案具有适应性选择消息攻击下的存在不可伪造性,也就是EUF-HSC-CMA安全的。

      1) 初始阶段:C运行系统设置,获得主密钥msk和系统参数params。同时运行PKC密钥生成算法,获得发送者的公钥pks和私钥sksC将msk、params和pks发送给F

      2) 攻击阶段:F执行多项式有界次数的签密查询。在签密查询中,F选择一个接收者的身份id和一个消息 $\varpi $ 给CC执行签密算法Signcrypt(sks ,id, $\varpi $ ),将其结果返回给F

      3) 伪造阶段:F生成一个接收者身份 id0和一个新的密文C0。如果身份id0和密文C0满足如下条件:

      ① Unsigncrypt(sk0 ,pk0 ,C0)返回某个消息 $\varpi $ 0而不是终止符号⊥;

      F没有询问过关于 $\varpi $ 0和id0的签密查询;则称F赢得了游戏。

      F的优势为他赢得游戏的概率。

    • 1) 系统设置

      输入安全参数n,对q = poly(n),m≥5nlg q ,PKG运行算法TrapGen(n,q,m)生成(A,T),A为主公钥,T为主私钥。

      l是消息的长度,选择3个碰撞稳固的hash函数 H1 : {0,1}*Dm×nH2: {0,1}n+1ZqnH3: {0,1}*→{0,1}l

      ${\sigma _1} = {m^{3/2}}\omega \left( {{{\log }^2}m} \right),{\sigma _2} = {m^{2.5}}\omega \left( {\sqrt {\log m} } \right)$ 。则系统参数:

      params =( n,q,m,l,σ1,σ2,A,H1,H2,H3),主私钥msk = T

      2) PKC密钥生成

      每个用户S运行算法TrapGen(n,q,m)生成(As, Ts),As为公钥,Ts为私钥。

      3) IBC密钥生成

      对用户份id∈{0,1}*,PKG计算R = H l (id)。

      运行算法BasisDel(A,T,R,σ1 )产生(Aid ,Tid ),其中Aid = AR-1(mod q),Tid为用户身份id的私钥。

      4) 签密算法

      发送者S要发送消息 $\varpi $ ∈{0,1}l给身份为id的接收者,设发送者S的公钥为AS,私钥为TS,则发送者S如下操作:

      ① 随机选择 $\zeta \in {\left\{ {0,1} \right\}^n},v \in {\Bbb Z}_q^n$ 。

      ② 令 $e = SamplePre({A_s},{T_s},{H_2}(\varpi ,\zeta ),{\sigma _2})$ 。

      ③ 计算Aid=AHl(id)-1(mod q)。

      ④ 令cl=AidTv+e,c2= $\varpi \oplus $ H3(v,e)。

      输出C = (ζ ,c1,c2)作为密文传输。

      5) 解签密算法

      身份为id的接收者收到密文C = (ζ ,c1,c2),设他的私钥为Tid,则解签密操作如下:

      ① 利用Tidcl=AidTv+e中恢复ve

      ② 令 $\varpi = {c_2} \oplus $ H3 (v,e)。

      ③ 验证As e = H2( $\varpi ,\xi $ )和 $\left\| e \right\| \leqslant {\sigma _2}\sqrt m $ 是否成立。若都成立,接收消息 $\varpi $ ;否则,拒绝。

    • 因为AidTid=0(mod q),所以有:

      $$\eqalign{ & T_{{\text{id}}}^{\text{T}}{c_1}(\bmod q) = T_{{\text{id}}}^{\text{T}}(A_{{\text{id}}}^{\text{T}}v + e)(\bmod q){\text{ = }} \cr & T_{{\text{id}}}^{\text{T}}A_{{\text{id}}}^{\text{T}}v + T_{{\text{id}}}^{\text{T}}e(\bmod q) = \cr & {({A_{{\text{id}}}}{T_{{\text{id}}}})^{\text{T}}}v + T_{{\text{id}}}^{\text{T}}e(\bmod q) = \cr & T_{{\text{id}}}^{\text{T}}e(\bmod q) \cr} $$

      因为矩阵Tid和向量e都只有足够小的数值作为分量, $T_{{\text{id}}}^{\text{T}}e(\bmod q) = T_{{\text{id}}}^{\text{T}}e$ ,则(TidT)-1TidTe=e

      进而,AidT=c1 - e(mod q),高斯消元法解线性方程组可得v。又c2= $\varpi \oplus $ H3 (v,e),所以 $\varpi = {c_2} \oplus $ H3 (v,e)。

      e=SamplePre (AS,TS,H2( $\varpi ,\xi $ ),σ2),由算法3的定义,ASe=H2 ( $\varpi ,\xi $ )和 $\left\| e \right\| \leqslant {\sigma _2}\sqrt m $ 成立。

      综上,解签密算法是正确的。

    • 定理 1 IND-HSC-CCA2安全性

      在LWE问题难解性假设下,方案作为类型1异构签密体制是IND-HSC-CCA2安全的。

      证明:挑战者C有一个LWE问题的实例(A0,C0=A0Tv0+e0),如果存在敌手A能够以不可忽略的概率ε攻击方案作为类型1异构签密体制的IND-HSC-CCA2安全性,则C求解LWE问题实例的解v0的概率ε'≥1/Q1ε-(Q2Qu)/2n+1,其中Q1H1查询的次数,Q2H2查询的次数,Qu是解签密查询的次数。挑战者C和敌手A之间的交互如下。

      1) 初始阶段:C抽取R0Dm×m,令,A=A0R0同时运行PKC密钥生成算法获得发送者S的公钥As和私钥TsCAAsTs发送给A

      2) 阶段1:A可执行多项式有界次数的如下查询,且默认hash查询在其他查询之前,C负责应答。

      H1(idi)查询:

      如果是第i0次查询,把(id0,R0,A0,⊥)存在H1列表中,返回R0。否则,运行算法SampleRwithBasis(A),得RiTi,把(idi,Ri,Ai=ARi-1,Ti)存在H1列表中,返回Ri

      H2( $\varpi $ i,ζi)查询:

      随机选取h2iZqn,把( $\varpi $ i,ζi,h2i)存在H2列表中,返回h2i

      H3(vi,ei)查询:

      随机选取h3i∈{0,1}l,把(vi,ei,h3i)存在H3列表中,返回h3i

      ④ IBC密钥查询(idi):

      遍历Hl列表查找(idi,Ri,Ai,Ti),返回Ti.

      ⑤ 解签密查询(idi,Ci=(ζi,cli,c2i)):

      遍历Hl列表查找(idi,Ri,Ai,Ti),若Ti≠⊥,执行方案的解签密算法;若Ti=⊥,遍历H2H3列表寻找( $\varpi $ i,ζi,h2i)和(vi,ei,h3i),满足cli=AiTvi+ei,c2i= ${\varpi _i} \oplus $ h3i。如果这样的三元组不存在,返回⊥并终止。如果这样的三元组存在,而且满足Asei=h2i和 $\left\| {{e_i}} \right\| \leqslant {\sigma _2}\sqrt m $ ,返回 ${\varpi _i}$ 作为解签密的结果。否则,返回⊥并终止。

      3) 挑战阶段:阶段1由A宣告终止,同时A选择两个相同长度的明文 ${\varpi _1},{\varpi _2}$ 和接收者身份id*,将其发送给C。如果id* ≠ id0,返回⊥并终止。否则,C随机选择ζ*∈{0,1}nc2*∈{0,1}nc2*∈{0,1}lc1*=c0,将C*=(ζ*,c0,c2*)返回给A

      4) 阶段2:A执行阶段1的操作,除了不能查询id0的私钥,不能对(id0,C*)执行解签密查询。

      5) 猜测阶段:A输出对b的猜测b'。

      最后,C查询H3列表寻找(v*,e*,h3*),它满足如下条件:存在( ${\varpi ^ * }$ ,ζ*,h2*)在列表H2中,且满足c0= A0Tv* + e*c2*= ${\varpi ^ * } \oplus $ h3*Ase* =h2*和 $\left\| {{e^ * }} \right\| \leqslant {\sigma _2}\sqrt m $ 。如果这样的元组存在,C输出v*作为LWE问题实例的解。否则,输出⊥并终止。

      E是如下事件:A在游戏中查询了H3(v*,e* )。如果游戏完美地模拟了真实的攻击,E在游戏中发生的概率就和它在真实攻击中发生的概率是一样的。

      在真实的攻击中。

      Pr[b′ = b]≤Pr[b′ = b |⌉E]Pr[⌉E]+ Pr[E] =Pr[b′ = b |⌉E](1- Pr[E]) + Pr[E] =1/2 +1/2·Pr[E]

      因此,ε = |2Pr[b′= b]-1|≤Pr[E]。

      下面考虑游戏不能完美地模拟真实攻击的情况。这实际上是合法的密文在解签密查询中被拒绝的情况。对H3列表中的每一个(vi,ei,h3i),存在着唯一的( $\varpi $ i,ζi,h2i,)与之对应,因此拒绝合法密文的概率不超过Q2/2n+l

      此外,id*=id0的概率为1/Q1。所以,ε′≥1/Q1·ε-(Q2Qu)/2n+1。如果ε是不可忽略的,则ε'也是不可忽略的。这与LWE问题的难解性相矛盾。因此,在LWE问题难解性假设下,能够以不可忽略的概率攻击方案作为类型1异构签密体制的IND-HSC- CCA2安全性的敌手A是不存在的。所以,在LWE问题难解性假设下,方案作为类型1异构签密体制是IND-HSC-CCA2安全的。

      定理 2 EUF-HSC-CMA安全性

      在ISIS问题难解性假设下,方案作为类型1异构签密体制是EUF-HSC-CMA安全的。

      证明:假设存在敌手F以不可忽略的优势ε攻击方案的EUF-HSC-CMA安全性,就会存在挑战者C,他能够借助F的攻击能力来攻击GPV签名方案的EUF-CMA安全性。CF之间的交互如下。

      1) 初始阶段:C获得GPV签名方案的验证公钥A0Zqn×m。他运行TrapGen算法生成(A,T),A为主公钥,T为主私钥。CA0和(A,T)发送给F

      2) 攻击阶段:F可以执行多项式有界次数的签密查询,C负责给出合理的应答。在签密查询中,F提交一个接收者的身份id j和一个消息 $\varpi $ jCC对消息 $\varpi $ j运行GPV签名查询得,(ζj, ej)。他随机选择vjZqn,计算Aj=AHl(idj)-1clj=AjTvj+ejc2j= ${\varpi _j} \oplus $ H3(vj,ej),返回Cj=(ζj,clj,c2j)给F

      3) 伪造阶段:F提供一个接收者的身份id*和一个新的合法密文C*=(ζ*,cl*c2*),返回给C

      C如下操作得到一个新的合法的GPV签名:

      1) 计算R*=H1(id*),运行算法BasisDel (A,T,R*,σ1)产生(A*,T*)。

      2) 输入(A*,T*),对密文C*(ζ*,c1*,c2*)运行解签密算法获得明文 $\varpi $ *和相应的e*,则(ζ*,e*)就是对消息 $\varpi $ *的合法伪造,即满足A0e*=H2(( $\varpi $ *,ζ*)和 $\left\| {{e^ * }} \right\| \leqslant {\sigma _2}\sqrt m $ 。

      由以上过程可以看出,如果F伪造合法密文的概率ε是不可忽略的,则C伪造合法的GPV签名的概率也是不可忽略的。而由文献[13],在ISIS问题难解性假设下,GPV签名是EUF-CMA安全的。因此,能够以不可忽略的优势攻击方案的EUF-HSC-CMA安全性的敌手F是不存在的。所以,在ISIS问题难解性假设下,方案是EUF-HSC-CMA安全的。

    • 结合格上签密方案和固定维数的格基代理技术,构造了第一个格上的类型1异构签密方案,第一次实现了抗量子攻击的异构签密。方案使用了随机预言机模型来完成安全性证明,构造标准模型下的量子安全的异构签密,是进一步的研究方向。

      本文得到廊坊师范学院博士基金(LSLB201408)的资助,在此表示感谢。

参考文献 (14)

目录

    /

    返回文章
    返回