高级搜索

留言板

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

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

FatSeal:一种基于格的高效签名算法

谢天元 李昊宇 朱熠铭 潘彦斌 刘珍 杨照民

谢天元, 李昊宇, 朱熠铭, 潘彦斌, 刘珍, 杨照民. FatSeal:一种基于格的高效签名算法[J]. 电子与信息学报, 2020, 42(2): 333-340. doi: 10.11999/JEIT190678
引用本文: 谢天元, 李昊宇, 朱熠铭, 潘彦斌, 刘珍, 杨照民. FatSeal:一种基于格的高效签名算法[J]. 电子与信息学报, 2020, 42(2): 333-340. doi: 10.11999/JEIT190678
Tianyuan XIE, Haoyu LI, Yiming ZHU, Yanbin PAN, Zhen LIU, Zhaomin YANG. FatSeal: An Efficient Lattice-based Signature Algorithm[J]. Journal of Electronics & Information Technology, 2020, 42(2): 333-340. doi: 10.11999/JEIT190678
Citation: Tianyuan XIE, Haoyu LI, Yiming ZHU, Yanbin PAN, Zhen LIU, Zhaomin YANG. FatSeal: An Efficient Lattice-based Signature Algorithm[J]. Journal of Electronics & Information Technology, 2020, 42(2): 333-340. doi: 10.11999/JEIT190678

FatSeal:一种基于格的高效签名算法

doi: 10.11999/JEIT190678
基金项目: 国家自然科学基金(61572490)
详细信息
    作者简介:

    谢天元:女,1992年生,博士,研究方向为格密码算法设计与分析

    李昊宇:男,1990年生,博士,研究方向为格密码算法设计与分析

    朱熠铭:男,1994年生,博士,研究方向为格算法、编码

    潘彦斌:男,1982年生,副研究员,研究方向为格算法及格密码算法分析

    刘珍:女,1994年生,博士,研究方向为格算法及格密码算法分析

    杨照民:男,1995年生,硕士,研究方向为格算法、后斯诺登密码

    通讯作者:

    潘彦斌 panyanbin@amss.ac.cn

  • 中图分类号: TN918.1

FatSeal: An Efficient Lattice-based Signature Algorithm

Funds: The National Natural Science Foundation of China (61572490)
  • 摘要: 当前基于格设计的能够抵抗量子计算机攻击的签名方案是基于数论难题的传统签名方案的热门候选替代。通过Fiat-Shamir变换以及拒绝采样技术构造格签名是一种重要方法,共有5个格签名方案提交到美国国家标准与技术局的后量子算法项目中,基于Fiat-Shamir变换进行设计的有两个方案。其中Dilithium是基于模错误学习(MLWE)问题构造的Fiat Shamir签名,它的一个特性是在签名算法中使用了高效简洁的均匀采样。Dilithium签名方案构造在一般格上,为了获得更紧凑的公钥尺寸,Dilithium对公钥进行了压缩。另一方面,NTRU格上的密码方案比一般格上的密码方案在效率和参数尺寸上有更大的优势,该文给出了Dilithium签名在NTRU格上的一个高效变种方案,在继承Dilithium简洁设计的基础上,综合了NTRU和拒绝采样的技术优势而无需额外的压缩处理,进一步提升了基于格的Fiat-Shamir签名的效率。
  • 数字签名是公钥密码体制的基础原件之一,其在通讯中有着非常广泛的应用。由于整数分解和离散对数问题被证明在量子计算机下可以高效求解,因此基于上述困难问题的传统公钥密码体制在量子计算机下是不安全的,构造能够抵抗量子攻击的密码体制即后量子密码体制是公钥密码一个非常重要的研究方向。

    基于格的密码体制是后量子密码体制的一类重要候选方案,就格签名而言主要有两条发展路线:一类格签名根据Hash-and-Sign范式进行构造,另一类签名通过Fiat-Shamir变换及拒绝采样技术进行构造。

    典型的Hash-and-Sign签名,公钥是一个单向陷门函数f(x),私钥是利用陷门可以高效计算的逆函数f1(x)。签名一个消息m,首先将消息m哈希到函数f的值域上,即y=H(m),然后输出签名σ=f1(y)。验签的时候需要检查条件f(σ)=H(m)是否成立。最早利用Hash-and-Sign范式构造的签名是(Goldreich-Goldwasser-Halevi, GGH)方案[1],公钥选用格的一组“坏基”H,私钥选取“好基”B,签名的时候将消息哈希到实空间上的一点v,利用好基B通过Babai算法[2]找到离v最近的格向量,验签的时候利用坏基H验证签名是否是一个格点,当格点离v足够近,则判定签名合法。GGH签名的安全性建立在敌手无法由坏基多项式时间内恢复出好基以及敌手无法利用坏基高效求解最近向量问题(Closest Vector Problem, CVP)。将GGH所采用的一般格限制到NTRU格上衍生出了NTRUSign方案[3],这种签名方案有紧凑的密钥和签名长度。然而GGH型的签名易于遭受基本区域学习(learning a parallelepiped)攻击[4],其缺陷是签名会泄露私钥的统计信息,通过收集足够多的消息签名对可以勾勒出好基的形状。第1个具有可证安全的Hash-and-Sign签名是2008年提出的(Gentry-Peikert-Vaikuntanathan, GPV)签名方案[5],相较于GGH类签名直接在格中找离消息的哈希值H(m)最近的格点,GPV签名是在垂直格Λ中找离c0近的格点s,其中c0满足Ac0=H(m),这个格点服从中心在c0的离散高斯分布Dc0+Λ,σ,基本区域学习攻击不再能得到关于私钥的有效信息。GPV签名方案虽然在安全性上有了保障,但陷门采样过程效率较低且签名尺寸较大(达到了106字节级别)。提交到美国国家标准与技术局(National Institute of Standards and Technology, NIST)后量子算法竞赛的基于格的NTRU上的快速傅里叶紧签名(FAst-fourier Lattice-based Compact signatures Over NTRU, FALCON)算法[6]在陷门采样上做了改进,通过将GPV的一般格改为NTRU格得到了紧凑的公钥与签名尺寸。

    Lyubashevsky[7]在2009年以ring-SIS为底层困难问题给出了第1个Fiat Shamir格签名。这类签名从一个身份鉴别方案出发进行Fiat Shamir变换,将身份鉴别方案中的脚本(承诺commitment,挑战challenge,回应response)应用到签名的生成过程中,将身份鉴别方案中验证者最后一轮对回应的检查应用到签名方案的验签算法中,由此得到一个非交互的方案。身份鉴别方案中的回应作为签名的一个部分,其分布应独立于私钥才能保证方案的安全性。Lyubashevsky[8]在2012年提出的Fiat Shamir签名方案,拒绝采样前的回应服从平移的离散高斯分布,平移量与私钥相关,他使用拒绝采样技术使得输出分布服从中心在原点的离散高斯分布,从而保证了签名方案是零知识的。双峰格签名方案(Bimodal LattIce Signature Scheme, BLISS)[9]对回应的分布进行了改进,将平移的离散高斯分布变成了双峰高斯分布,这样处理能够减少签名算法中的采样迭代次数并且使得输出的签名尺寸更加紧凑,BLISS方案用NTRU格进行了实例化。

    提交到NIST后量子算法竞赛的Dilithium算法[10]也采用了Fiat-Shamir变换及拒绝采样技术,但避免了使用离散高斯采样,仅需均匀采样从而使签名方案更加易于实现。Dilithium方案的安全性基于模错误学习(Module Learning With Errors, MLWE)问题,其签名在选择消息攻击下具有存在不可伪造性。Dilithium使用的是一般格,要在保证Dilithium方案优点的基础上,进一步构造更加紧凑的签名方案,本文给出的一个解决思路是构造NTRU版的Dilithium签名。基于NTRU假设构造的后量子密码方案在工程上有很大的优势,其算法运行速度快,私钥尺寸非常小。尺寸较小的签名如文献[9,11]中的方案等都是基于NTRU假设,这些方案在签名过程中使用了需要高精度运算的离散高斯采样来生成秘密向量和错误向量,但生成服从离散高斯分布的样本在实现中比较复杂且容易遭到侧信道攻击[12-14]。Dilithium在一般格上,采用文献[4,15,16]等方案的策略,选择均匀采样设计。本文给出了一个基于“Fiat-Shamir with Aborts”方法[7]的高效格签名方案FatSeal(Fiat-shamir-transformation-based Signature algorithm with lattice), FatSeal签名的形式受到Dilithium签名的启发,但二者基于的问题不同。本文的方案基于NTRU假设进行设计,继承了Dilithium的简洁设计,签名过程简单,仅需均匀采样。由于使用了NTRU结构,FatSeal的公钥完全压缩,相较而言Dilithium需要进行额外压缩,FatSeal在密钥生成和验签算法上效率很高,方案的实用性很强。FatSeal的乘法运算在多项式环Zq[x]/(xn+1)中进行,参数的选取保证运算能用数论变换(Number-Theoretic Transform, NTT)技术进行加速。FatSeal方案参数的设定由实际攻击决定,FatSeal方案私钥的恢复可以归结为NTRU格上CVP问题的求解,也可以转换为LWE实例进行分析,签名的伪造可以归结为短整数解(Short Integer Solution, SIS)问题的求解。本文考虑了混合攻击、Primal攻击以及Dual攻击等具体攻击,由基本求解工具格基约化算法的计算复杂度确定FatSeal相应参数的安全级别,本文给出的两组参数能够使FatSeal签名方案在经典计算机下分别达到128 bit和256 bit安全性。综合来看,FatSeal签名方案在Fiat Shamir with Abort框架下创新地应用了高效的NTRU结构,同时保持了采样模块为均匀分布的简洁设计,能够抵抗已知的格攻击以达到安全目标,是一种非常高效简洁的格签名方案。

    (1) 环与环运算:令q为一个正整数,对于环R,定义Rq为商环R/qR。本文选用商环Rq=Zq[x]/(xn+1),令n为2的次幂且q为奇素数满足q=1(od2n)。对于任意的f=f0+f1x+···+fn1xn1Rq,将多项式f与向量(f0,f1,···,fn1)Znq等同,成立xf=(fn1,f0,···,fn2), rot(f):=(fxfxn1f)则对任意两个多项式a,bRq进行乘法运算有ab=arot(b)odq

    (2) 剩余系:令p2的某个小幂次,记正整数α=(q1)/p,并令Zα={α2,α2+1,···,α21}。对任一整数yodαq运算时,即x=yodαq,令x为剩余系Zq={α2,α2+1,···,q1α2}中与y相对应的元素,对x关于α做带余除法,定义

    x=quo(x)α+rem(x),rem(x)Zα
    (1)

    k=quo(x),则xIk=kα+Zα,这时有Zq={q1α2}p1k=0Ik。记号x=yod±q表示x是剩余系Zq={q12,q+12,···,q12}中与y相对应的元素;记号x=yod+q表示xy在剩余系Zq={0,1,···,q1}里对应的唯一元素;模运算yodq表示元素所在的剩余系选择不影响运算结果,可以使用任一剩余系。

    (3) 小系数多项式集合:集合BntZq[x]/(xn+1)的一个子集,集合中任一多项式恰有t个系数为1,其余系数为0。集合T(d+1,d)也是Zq[x]/(xn+1)的一个子集,集合的任一多项式恰有d+1个系数为1, d个系数为–1,其余系数等于0。

    (4) 元素的尺寸:对于任意yZq,令y:=|yod±q|。对于任意的f=f0+f1x+···+fn1xn1Rq,定义f:=maxifi

    在数学中,欧式空间上的一个离散加法子群成为一个格。特别地,设行向量b1,b2,···,bmRnRn中的线性无关向量,记其对应的矩阵为B, L(B):={mi=1xibi|xiZ,i=1,2,···,m}构成一个Rn上的格。称B为对应格的一组格基。以下是两种常用的格:

    定义1 q-ary格:对于任意的正整数m,n,q和矩阵AZm×nq(mn),定义mq-ary格为

    Λ(A)={xZm|xA=0odq}
    (2)

    定义2 NTRU格:对于任意f,gT(d+1,d),其中fRq中可逆,则关于h=f1g的NTRU格定义为

    Lh={(v,u)R2q|uh=v}
    (3)

    Lh也可以由矩阵(qIn0rot(h)In)的行向量张成。

    格基约化算法是分析格密码方案的实际困难性的重要工具。格基约化算法,包括(Lenstra–Lenstra–Lovász, LLL)算法[17], (Block Korkine-Zolotareff, BKZ)算法[18]等,其主要想法是将原有格基做垂直投影转化为低维格,在低维的投影格上利用最短向量问题(Shortest Vector Problem, SVP)求解算法找低维格的最短向量,再扩张到高维格上。例如,以块大小b为参数的BKZ算法首先调用b维SVP求解器去找πi+1(bi),πi+1(bi+1),···,πi+1(bj)(in,j=min(n,i+b))上的最短格向量(其中πi:Rnspan(b1,b2,···,bi1)为投影映射),之后将这组短向量扩展为高维格的一组格基,多次重复此过程进而求得一组较短的格基。关于BKZ约化基,有等比数列假设(Geometric Series Assumption, GSA),BKZ约化基正交化后长度近似满足关系bi2/b12=ri1,这里r[3/4,1)中的某个实数,称为GSA常数。

    块大小b会影响输出格基的质量和算法总的运行时间,不同模型下的SVP求解算法有不同运行时间估计。一般而言运行时间约为2cb,关于常数c的估计有如下结果:

    (1) Classical:目前已知最好的经典SVP求解算法[19]c=log23/20.292;

    (2) Quantum:目前已知最好的量子SVP求解算法[20]c=log213/90.265;

    (3) Plausible:密码学界猜测未来的算力可能会达到c=log24/30.2075[21]

    FatSeal签名方案与以下格上的困难问题密切相关:

    定义3 γ-SVP和uSVP:给定一个格L和一个近似因子γ1,在格中找一个不长于γλ1(L)的非0向量叫做近似最短向量问题(γ-SVP),这里λ1(L)表示格中最短非0向量的长度。对于特定的存在唯一最短非0向量的格L,寻找该向量即为唯一最短向量问题(uSVP)。

    定义4 γ-CVP:给定一个n维格L,一个目标向量tRn和一个近似因子γ1,在格中寻找向量y满足tyγd(t,L)的问题叫做近似最近向量问题(γ-CVP),这里d(t,L)表示目标向量到格的距离。

    定义5 SISq,n,m,β问题:对于从Zm×nq(mn)中随机均匀选取的矩阵A,求解短向量xZm/{0}使得 xA=0odqxβ

    这个问题也可以看成是Λ(A)格上找非0短向量的问题。

    在这个部分给出本文的新签名方案如表1表2表3所示及正确性证明。

    表 1  FatSeal密钥生成算法
     算法1 FatSeal.KeyGen()
     输入:n,q
     输出:公钥h,私钥(f,g)
        (1) f,gT(d+1,d)
        (2) 如果fRq中不可逆,跳转(1)
        (3) 计算h=(g+α)f1
        (4) 输出pk=h, sk=(f,g)
    下载: 导出CSV 
    | 显示表格
    表 2  FatSeal签名算法
     算法2 FatSeal.Sign()
     输入:消息M,公钥h,私钥(f,g)
     输出:消息M的签名(z,c)
      (1) rZα[x]/(xn+1)
      (2) 计算w=hrodαq
      (3) 若w的某分量等于q1α/2,跳转(1)
      (4) 计算c=H(M,quo(w))
      (5) 计算z=r+cf
      (6) 若cgγ,cfγ,cg+rem(w)α/2γ,    z<α/2γ,输出(z,c)
      (7) 否则,跳转步骤(1)
    下载: 导出CSV 
    | 显示表格
    表 3  FatSeal验签算法
     算法3 FatSeal.Verify()
     输入:消息M,公钥h,签名(z,c)
     输出:验证成功输出1,否则输出0
       (1) 如果zα/2γw=hzαcodαq的某个分
        量等于q1α/2,输出0
       (2) 否则
       (3) 计算c=H(M,quo(w))
       (4) 如果c=c,输出1
       (5) 否则,输出0
    下载: 导出CSV 
    | 显示表格

    FatSeal的私钥是从T(d+1,d)中均匀选取的短多项式f,g,其中要求fRq中可逆。公钥hRq(g+α)f1计算得到。

    签名者要对消息M进行签名,首先从Rα=Zα[x]/(xn+1)中随机选取多项式r,即r的每个系数在{α/2,α/2+1,···,α/21}中均匀选取。然后计算w=hrodαq,如果w的某个分量为q1α/2,则重新选取r。计算c=H(M,quo(w))Bnt,哈希值cRq中的多项式,其中恰有t个系数为1,其余系数为0。接着计算z=r+cf,这里cf的系数绝对值的最大可能值是t,此时若直接输出z,则有可能泄露私钥的信息,FatSeal利用拒绝采样来保证签名算法是零知识的。对某个选定的正数γ(t),如果能同时满足以下4个条件:cgγ, cfγ, cg+rem(w)α/2γ, z<α/2γ,则输出签名(z,c)。输出的z(γα/2,α/2γ)Z上均匀分布,对于任意x(γα/2,α/2γ)Z,j{γ,γ+1,···,γ},有α/2+1xjα/21,可以计算得

    Pr[zi=x]=Pr[(cf)i=γ]Pr[ri=xγ]+···+Pr[(cf)i=γ]Pr[ri=x+γ]=1αγj=γPr[(cf)i=j]
    (4)

    zi取到(γα/2,α/2γ)Z中各值的概率是均等的。

    对于输入的签名(z,c),验签算法检查了3个条件:

    (1) z<α/2γ;

    (2) 计算w=hzαcodαq, w的每一个分量都不等于q1α/2

    (3) c=H(M,quo(w))

    如果以上3个条件都能满足,则签名(z,c)通过验证。

    对于合法签名(z,c),条件(1)显然满足。计算hzαc=hr+cg,有

    w=w+cgodαq=quo(w)α+rem(w)+cgmodαq
    (5)

    因为合法签名满足cg+rem(w)α/2γ,故成立quo(w)=quo(w),进而条件(2)和条件(3)可满足。

    对于计算w=hrodαq,如果w的某个分量为q1α/2,则算法重启,假设w各分量独立且在剩余系内均匀分布,则签名算法在这一步不重启的概率为(11/q)n。要输出一个签名,还需要满足cgγ, cfγ, cg+rem(w)α/2γ, z<α/2γ这4个条件。注意到

    Pr[|zi|<α/2γ||(cf)i|γ]=1αγk=γPr[|ri+kα/2γ1]Pr[(cf)i=k]=α2γ1α
    (6)

    假设各分量独立,于是有Pr[||z||<α/2γ|cfγ|=(α2γ1α)ne2γ+1αn。类似地,有Pr[cg+rem(w)α/2γ|cgγ]e2γ1αn

    下面估计cfγ的概率。由cBnt是一个公开的值,有t个分量为1,其余为0,而cf=crot(f),则cf的各分量是tf的系数相加(减)得到。其中f的系数取1的概率为(d+1)/n,取1的概率为d/n,取0的概率为(n2d1)/n。为了便于分析,这里考虑f的系数取11的概率均为d/n,取0的概率为(n2d)/n。由于f的系数取1和取–1的概率相同,此时cf的各分量即可视为是tf的系数相加。参数选取时若使t的值大于30,那么应用中心极限定理可知cf的各系数服从期望为0,方差为2td/n的正态分布,从而cfγ的概率为erf(γ2td/n)

    综合上述分析,可以估计出同时满足cgγ, cfγ, cg+rem(w)α/2γ, z<α/2γ的概率为e4γαnerf(γ2td/n)2n

    本节给出FatSeal方案的实例化。对于NTRU系统,其私钥一般从小系数集合中选取,本文将小系数集合选为T(d,d+1)。由于使用的多项式环为Zq[x]/(xn+1), FatSeal方案中的多项式乘法运算可以利用NTT技术进行高效实现。为使用NTT,本文选择的模数q为素数,满足q1od2n,群Zq中的2n阶元记为w。参数α取为(q1)/8,此时整数关于α的商需要3 bit来表示。表4列出了两组参数使得FatSeal在经典计算机下分别具有128 bit和256 bit安全性,同时也给出了相应的迭代概率p,期望迭代1/p次FatSeal.Sign()算法能返回一个合法签名。在这两组参数下,哈希函数值域规模分别大于22562512

    表 4  FatSeal签名方案的参数选取及迭代概率估计
    nT(d+1,d)qωtαγ迭代概率(%)
    1024T(257, 256)28671210644358402010.2
    2048T(413, 412)72499328787906242411.4
    下载: 导出CSV 
    | 显示表格

    签名的尺寸由z主导,需要nlog2(α/2γ)/8Byte存储,公钥尺寸为nlog2(q)/8Byte。表5给出FatSeal两套参数对应的规模,长度数据来源于FatSeal的参考实现。提交到NIST的基于格的Fiat-Shamir类型签名只有Dilithium和qTESLA[22], Dilithuim方案在签名尺寸上比qTESLA的大,表5表6的数据表明FatSeal作为Dilithium的NTRU变种在参数规模上优于同安全等级下的qTESLA方案。

    表 5  FatSeal签名128 bit和256 bit安全强度下的参数大小(Byte)
    体制公钥长度私钥长度签名长度
    FatSeal-102423213852048
    FatSeal-204849847194352
    下载: 导出CSV 
    | 显示表格
    表 6  qTESLA签名128 bit和256 bit安全强度下的参数大小(Byte)
    体制公钥长度私钥长度签名长度
    qTESLA-Ⅱ233616002144
    qTESLA-Ⅴ502435204640
    下载: 导出CSV 
    | 显示表格

    FatSeal签名方案的密钥恢复攻击与伪造签名攻击依赖于NTRU问题与无穷范数下的SIS问题的困难性;这两个问题均是格理论中的经典困难问题。

    FatSeal体制私钥的安全性与NTRU格上求解近似CVP问题紧密相关。若能求解短多项式对(f,g)Rq使得hf=g+α,则可以恢复体制的私钥。矩阵(qIn0rot(h)In)行向量张成的NTRU格记为Lh,则(g+α,f)Lh。如果能求解Lh中离(α,0)R2q足够近的格向量,则可以恢复(f,g)

    混合攻击:考虑矩阵B=(qIn00rot(h)In0α01)=(qIr100L10Ir2)Z2n+1,其中L1ZN×N。对L1进行格基约化,再对列向量进行Gram-Schmidt正交化,最后进行旋转变换得到下三角矩阵T,即T=TL1Y,其中U是幺模矩阵,Y是正交阵。对B进行变换使得子矩阵L1变为T,相应的矩阵B变为矩阵T=UBY,即

    T=(Ir1000U000Ir2)(qIr100L10Ir2)(Ir1000Y000Ir2)=(qIr100T0Ir2)
    (7)

    其中,(g,f,1)Y是格L(T)中的一个向量。设T对角线上的元素分别为qα1,qα2,···,qα2n+1,有α1+α2+···+α2n+1=n。当1ir1时,αi=1;当2n+1r2<i2n+1时,αi=0;当r1<i2n+1r2,根据GSA假设,αi线性递减,满足

    αr1=nr1N+Nlogq(δ)α2n+1r2=nr1NNlogq(δ)}
    (8)

    其中,δ是根Hermite因子。由文献[23]中的引理1,当y=uT+x, u,xZ2n+1,若x的各分量满足Ti,i/2<xiTi,i/2, 1i2n+1,针对T应用Babai算法约化y可以恢复x。对于L(B)中的最短向量v,若能保证αr2>logq(2||v||),枚举v的最后r2个分量,就能找到v。攻击运行时间为格基约化时间加上枚举时间,利用Grover算法加速搜索,运行时间估计为2cb+30.5r2。通过平衡约化时间和搜索时间可以得到该攻击下的比特安全性,如表7所示。

    表 7  混合攻击下的FatSeal比特安全性
    模型体制bNr1比特安全性
    classicalFatSeal-1024510177091150
    quantumFatSeal-1024522179975139
    plausibleFatSeal-1024549186540115
    classicalFatSeal-204811303440240331
    quantumFatSeal-204811573503207307
    plausibleFatSeal-204812193646132253
    下载: 导出CSV 
    | 显示表格

    Primal攻击:取rot(h)的任意m列得到矩阵AZn×m,多项式gf对应的列向量分别记作eZmsZn,令b=(α,0,···,0)Zm。考虑LWE实例(A,b=sA+e),构造维数为d=m+n+1的格

    Λ={xZn+m+1|x(AInb)=0odq}
    (9)

    其中(s,e,1)是格Λ的一个短向量,长度近似为σm+n,这里σs,e的标准差。利用BKZ算法求解短向量,攻击能够生效当且仅当块大小b满足σbδ2bd1qmd,其中δ=((πb)1bb2πe)12(b1)为根Hermite因子,该攻击运行时间约为2cb。调整mb的大小使得运行时间最少,以此给出Primal攻击的具体复杂度估计。

    Dual攻击:在对偶攻击的模型下,考虑LWE实例(A,b=sA+e),可以构造d=m+n维格Λ={(x,y)Zm+n|AxT=yTodq}。由文献[24]中的结论,BKZ算法可以找到格Λ中的一个长度为l=δd1qn/d的短向量v=(x,y), vTb的分布和均匀分布的统计距离不超过ϵ=4exp(2π2τ2),这里τ=lσ/q。用这个攻击即可以优势ε打破判定性LWE问题。攻击的计算复杂度由BKZ算法给出,块大小取为b,重复运行筛法R=max(1,1/(γε2))次可以找到1/ϵ2个短向量,这里γ=4/3b是筛法b维投影格里最短向量个数的估计。

    NewHope模型下的Primal攻击和Dual攻击复杂度如表8所示。

    表 8  NewHope攻击模型下的比特安全性
    体制攻击模型mbclassicalquantumplausible
    FatSeal-1024primal874503147133104
    FatSeal-1024dual862502146133104
    FatSeal-2048primal16711076314285223
    FatSeal-2048dual16971072313284222
    下载: 导出CSV 
    | 显示表格

    对于FatSeal体制的签名伪造,可以考虑求解SIS问题。给定公钥h,如果能对v{0,1,···,p1}和消息M找到找到足够短的(z,r)Zq×Zα,使得hzr=(v+c)α成立,这里c=H(M,v),则可以得到关于消息M的一个合法签名(z,r)

    hzr=(v+c)α的求解可以转化为SIS问题的求解,记A=(rot(h)In(v+c)α),考虑解齐次方程xA=0odq使得x<α/2γ。从矩阵A中任选w(>n)行,余下的行对应的解分量取为0。对于这w行张成的格,求解其正交格的一组格基,经过BKZ算法约化后格基形为(qIr1000Ir2),其中0r1,r2<w。由GSA假设log2bi(r1<i<wr2)满足斜率为1b1log2(b2πe(πb)1b)的线性关系。利用SVP求解算法可以得到4/3bπr1(L)上的向量,长度约为br1+1。可假设这4/3b个向量的前r1个分量在Zq上均匀分布,余下各分量满足中心等于0,方差等于br1+12/(wr1r2)的高斯分布。设向量前wr2个分量绝对值不超过α/2的概率为p,那么总的运行时间等于2cb/p,利用此分析可以得到表9

    表 9  SIS攻击下的比特安全性
    模型体制bw比特安全性
    classicalFatSeal-10245772048181
    quantumFatSeal-10245772048166
    plausibleFatSeal-10245772048132
    classicalFatSeal-204812764039379
    quantumFatSeal-204812784041344
    plausibleFatSeal-204812844049270
    下载: 导出CSV 
    | 显示表格

    FatSeal签名方案在Dilithium签名方案的基础上融合了NTRU的优势,是一个新的基于NTRU格的Fiat-Shamir签名构造,相对于已有的Fiat-Shamir格签名得到了效率上的提升和参数规模的减小。FatSeal签名方案两套参数的设置能够抵抗现有已知最好的攻击,在经典计算机下分别能够达到128 bit安全性和256 bit安全性。未来的工作是继续研究FatSeal在量子RO模型下的可证安全性以及改进FatSeal的具体安全性评估模型。对于FatSeal的参考实现,在算法优化这一块尚有许多工作可以开展,如考虑基于AVX的多项式乘法加速,从而进一步提升FatSeal签名的实用性。

  • 表  1  FatSeal密钥生成算法

     算法1 FatSeal.KeyGen()
     输入:n,q
     输出:公钥h,私钥(f,g)
        (1) f,gT(d+1,d)
        (2) 如果fRq中不可逆,跳转(1)
        (3) 计算h=(g+α)f1
        (4) 输出pk=h, sk=(f,g)
    下载: 导出CSV

    表  2  FatSeal签名算法

     算法2 FatSeal.Sign()
     输入:消息M,公钥h,私钥(f,g)
     输出:消息M的签名(z,c)
      (1) rZα[x]/(xn+1)
      (2) 计算w=hrodαq
      (3) 若w的某分量等于q1α/2,跳转(1)
      (4) 计算c=H(M,quo(w))
      (5) 计算z=r+cf
      (6) 若cgγ,cfγ,cg+rem(w)α/2γ,    z<α/2γ,输出(z,c)
      (7) 否则,跳转步骤(1)
    下载: 导出CSV

    表  3  FatSeal验签算法

     算法3 FatSeal.Verify()
     输入:消息M,公钥h,签名(z,c)
     输出:验证成功输出1,否则输出0
       (1) 如果zα/2γw=hzαcodαq的某个分
        量等于q1α/2,输出0
       (2) 否则
       (3) 计算c=H(M,quo(w))
       (4) 如果c=c,输出1
       (5) 否则,输出0
    下载: 导出CSV

    表  4  FatSeal签名方案的参数选取及迭代概率估计

    nT(d+1,d)qωtαγ迭代概率(%)
    1024T(257, 256)28671210644358402010.2
    2048T(413, 412)72499328787906242411.4
    下载: 导出CSV

    表  5  FatSeal签名128 bit和256 bit安全强度下的参数大小(Byte)

    体制公钥长度私钥长度签名长度
    FatSeal-102423213852048
    FatSeal-204849847194352
    下载: 导出CSV

    表  6  qTESLA签名128 bit和256 bit安全强度下的参数大小(Byte)

    体制公钥长度私钥长度签名长度
    qTESLA-Ⅱ233616002144
    qTESLA-Ⅴ502435204640
    下载: 导出CSV

    表  7  混合攻击下的FatSeal比特安全性

    模型体制bNr1比特安全性
    classicalFatSeal-1024510177091150
    quantumFatSeal-1024522179975139
    plausibleFatSeal-1024549186540115
    classicalFatSeal-204811303440240331
    quantumFatSeal-204811573503207307
    plausibleFatSeal-204812193646132253
    下载: 导出CSV

    表  8  NewHope攻击模型下的比特安全性

    体制攻击模型mbclassicalquantumplausible
    FatSeal-1024primal874503147133104
    FatSeal-1024dual862502146133104
    FatSeal-2048primal16711076314285223
    FatSeal-2048dual16971072313284222
    下载: 导出CSV

    表  9  SIS攻击下的比特安全性

    模型体制bw比特安全性
    classicalFatSeal-10245772048181
    quantumFatSeal-10245772048166
    plausibleFatSeal-10245772048132
    classicalFatSeal-204812764039379
    quantumFatSeal-204812784041344
    plausibleFatSeal-204812844049270
    下载: 导出CSV
  • GOLDREICH O, GOLDWASSER S, and HALEVI S. Public-key cryptosystems from lattice reduction problems[C]. The 17th Annual International Cryptology Conference, Santa Barbara, USA, 1997: 112–131. doi: 10.1007/BFb0052231.
    BABAI L. On Lovász’ lattice reduction and the nearest lattice point problem[J]. Combinatorica, 1986, 6(1): 1–13. doi: 10.1007/BF02579403
    HOFFSTEIN J, PIPHER J, and SILVERMAN J H. NSS: An NTRU lattice-based signature scheme[C]. International Conference on the Theory and Application of Cryptographic Techniques, Innsbruck, Austria, 2001: 211–228. doi: 10.1007/3-540-44987-6.
    NGUYEN P Q and REGEV O. Learning a parallelepiped: Cryptanalysis of GGH and NTRU signatures[C]. The 24th Annual International Conference on the Theory and Applications of Cryptographic Techniques, St. Petersburg, 2006: 271–288. doi: 10.1007/11761679_17.
    GENTRY C, PEIKERT C, and VAIKUNTANATHAN V. Trapdoors for hard lattices and new cryptographic constructions[C]. The 40th Annual ACM Symposium on Theory of Computing, Victoria, 2008: 197–206. doi: 10.1145/1374376.1374407.
    FOUQUE P A, HOFFSTEIN J, KIRCHNER P, et al. Fast-fourier lattice-based compact signatures over NTRU[EB/OL]. https://falcon-sign.info/, 2019.
    LYUBASHEVSKY V. Fiat-shamir with aborts: Applications to lattice and factoring-based signatures[C]. The 15th International Conference on the Theory and Application of Cryptology and Information Security, Tokyo, 2009: 598–616. doi: 10.1007/978-3-642-10366-7_35.
    LYUBASHEVSKY V. Lattice signatures without trapdoors[C]. The 31st Annual International Conference on the Theory and Applications of Cryptographic Techniques, Cambridge, 2012: 738–755. doi: 10.1007/978-3-642-29011-4_43.
    DUCAS L, DURMUS A, LEPOINT T, et al. Lattice signatures and bimodal gaussians[C]. The 33rd Annual Cryptology Conference, Santa Barbara, 2013: 40–56. doi: 10.1007/978-3-642-40041-4_3.
    AVANZI R, BOS J, DUCAS L, et al. Cryptographic suite for algebraic lattices[EB/OL]. https://pq-crystals.org/, 2019.
    DUCAS L, LYUBASHEVSKY V, and PREST T. Efficient identity-based encryption over NTRU lattices[C]. The 20th International Conference on the Theory and Application of Cryptology and Information Security, Kaoshiung, 2014: 22–41. doi: 10.1007/978-3-662-45608-8_2.
    BRUINDERINK L G, HÜLSING A, LANGE T, et al. Flush, gauss, and reload - a cache attack on the BLISS lattice-based signature scheme[C]. The 18th International Conference on Cryptographic Hardware and Embedded Systems, Santa Barbara, 2016: 323–345. doi: 10.1007/978-3-662-53140-2_16.
    ESPITAU T, FOUQUE P, GÉRARD B, et al. Side-channel attacks on bliss lattice-based signatures: Exploiting branch tracing against strongswan and electromagnetic emanations in microcontrollers[C]. The 2017 ACM SIGSAC Conference on Computer and Communications Security, Dallas, 2017: 1857–1874. doi: 10.1145/3133956.3134028.
    PESSL P, BRUINDERINK L G, and YAROM Y. To BLISS-B or not to be: Attacking strongSwan’s implementation of post-quantum signatures[C]. The 2017 ACM SIGSAC Conference on Computer and Communications Security, Dallas, 2017: 1843–1855. doi: 10.1145/3133956.3134023.
    GÜNEYSU T, LYUBASHEVSKY V, and PÖPPELMANN T. Practical lattice-based cryptography: A signature scheme for embedded systems[C]. The 14th International Workshop on Cryptographic Hardware and Embedded Systems, Leuven, 2012: 530–547. doi: 10.1007/978-3-642-33027-8_31.
    BAI Shi and GALBRAITH S D. An improved compression technique for signatures based on learning with errors[C]. Cryptographers’ Track at the RSA Conference, San Francisco, 2014: 28–47. doi: 10.1007/978-3-319-04852-9_2.
    LENSTRA A K, LENSTRA H W Jr, and LOVÁSZ L. Factoring polynomials with rational coefficients[J]. Mathematische Annalen, 1982, 261(4): 515–534. doi: 10.1007/BF01457454
    SCHNORR C P and EUCHNER M. Lattice basis reduction: Improved practical algorithms and solving subset sum problems[J]. Mathematical Programming, 1994, 66(1/3): 181–199. doi: 10.1007/BF01581144
    LAARHOVEN T. Search problems in cryptography: From fingerprinting to lattice sieving[D]. [Ph.D. dissertation], Eindhoven University of Technology, 2015.
    BECKER A, DUCAS L, GAMA N, et al. New directions in nearest neighbor searching with applications to lattice sieving[C]. The 27th Annual ACM-SIAM Symposium on Discrete Algorithms, Arlington, 2016: 10–24. doi: 10.1137/1.9781611974331.
    LAARHOVEN T, MOSCA M, and VAN DE POL J. Finding shortest lattice vectors faster using quantum search[J]. Designs, Codes and Cryptography, 2015, 77(2/3): 375–400. doi: 10.1007/s10623-015-0067-5
    AKLEYLEK S, ALKIM E, BARRETO P S L M, et al. qTesla[EB/OL]. https://qtesla.Org, 2019.
    HOWGRAVE-GRAHAM N. A hybrid lattice-reduction and meet-in-the-middle attack against NTRU[C]. The 27th Annual International Cryptology Conference, Santa Barbara, 2007: 150–169. doi: 10.1007/978-3-540-74143-5_9.
    ERDEM A, DUCAS L, PÖPPELMAN T, et al. Post-quantum key exchange-a new hope[C]. The 25th USENIX Security Symposium, Vancouver, 2016: 327–343.
  • 期刊类型引用(1)

    1. 魏伟,陈佳哲,李丹,张宝峰. 椭圆曲线Diffie-Hellman密钥交换协议的比特安全性研究. 电子与信息学报. 2020(08): 1820-1827 . 本站查看

    其他类型引用(3)

  • 加载中
表(9)
计量
  • 文章访问数:  4353
  • HTML全文浏览量:  2061
  • PDF下载量:  224
  • 被引次数: 4
出版历程
  • 收稿日期:  2019-09-04
  • 修回日期:  2019-12-11
  • 网络出版日期:  2019-12-19
  • 刊出日期:  2020-02-19

目录

/

返回文章
返回