一种基于格的数字签名方法技术

技术编号:21898889 阅读:49 留言:0更新日期:2019-08-17 18:23
本发明专利技术涉及一种基于格的数字签名方法,旨在基于格上数学困难问题设计高效抗量子安全的数字签名方法。具体地,本发明专利技术首先提出了一类非对称模小整数解(AMSIS)数学困难问题,也提供了该类数学困难问题的变种和一般化。通过基于AMSIS数学困难问题以及模带错误学习(MLWE)数学困难问题的非对称变形,本发明专利技术提出了一种格上数字签名方法,具有安全性高、可证明安全、抵抗量子计算机攻击、公私钥和签名长度短、计算效率高、参数选取灵活等特点和优势。

A Lattice-based Digital Signature Method

【技术实现步骤摘要】
一种基于格的数字签名方法
本专利技术属于密码学中的数字签名领域,涉及使用格密码学中的相关技术,具体涉及一种基于格的数字签名方法,能抵抗量子计算机攻击。
技术介绍
数字签名已在许多实际应用中被广泛部署。根据Shor算法,当量子计算机出现的时候,已部署的基于RSA或椭圆曲线的数字签名方法将不再安全。量子计算机的快速发展促使我们设计抗量子安全的数字签名方法。当前,主流的抗量子安全数字签名方法是基于格、多变量、编码或者杂凑函数等设计。从效率和安全性综合来看,基于格的数字签名方法是最有前途的抗量子签名方法,并得到了国内外学者的广泛研究。在数学中,格是一种离散的加法子群。由于特殊的代数结构,格上有很多难以求解的困难问题,例如最短向量问题。基于格的数字签名方法是指基于格上数学困难问题设计的数字签名方法,具有抵抗量子计算机攻击的能力。绝大部分公钥密码方案的设计和安全性建立在数学困难问题之上。当前,格上公钥密码系统的安全性大多是建立在Ajtai提出的小整数解问题(SmallIntegerSolutions,SIS)和Regev提出的带错误学习问题(LearningwithErrors,LWE)的困难性之上。简单来说,小整数解问题和带错误的学习问题都与求解模整数方程有关系。令为正整数,为正实数,是以α为参数的噪音分布(通常为高斯分布,或与其相近的二项分布)。无穷范数的小整数解问题目标是给定矩阵计算非零向量使其满足Ax=0modq并且||x||∞≤β;对应的计算性带错误的学习问题LWEn,m,q,α目标是对于随机选择的矩阵向量以及噪音向量给定样本求解秘密向量判定性LWE问题是区分(A,b=As+e)和上均匀随机的元组。在一定参数下,判定性LWE问题和计算性LWE问题在多项式时间意义下是等价的。此外,SIS问题和LWE问题在一定意义上互为对偶问题。虽然SIS问题和LWE问题看起来比较简单,但在特定参数下求解这两个问题在平均情况下的复杂度都比求解格上某些问题(例如,最短向量问题)在最坏情况下的复杂度还高。这种平均困难性到最坏困难性的联系特性实际上是基于格上困难问题的密码方案相对于基于其他困难问题的密码方案独有的优势之一。由于目前已知的格上困难问题的量子求解算法与传统经典求解算法相比在计算复杂度上并没有本质的降低,以至于大多数国内外研究学者都倾向于相信格上问题是困难的,以及基于格上困难问题设计的密码系统能够抵抗量子计算机攻击。此外,当秘密向量s并不是随机均匀地选自于时,相应LWE的变种问题(称之为正规形LWE问题)也是困难的。特别地,当秘密向量与噪音向量e选自于相同的分布时,正规形LWE问题和标准的LWE问题在多项式时间的意义上是等价的。由于正规形LWE问题能够更好地控制噪音增长,因此在文献中被广泛用于设计加密方案。一般来说,SIS困难问题大多被用于设计数字签名方法,而LWE困难问题则常常用于设计公钥加密方法。为了获得更好的效率,环上的SIS困难问题和LWE困难问题(分别简称RSIS和RLWE)也被提出。RSIS和RLWE困难问题是定义在上次数为n-1次多项式环Rq上。给定正整数随机矩阵和正实数多项式环Rq上正规形(无穷范数)RSIS问题的目标是寻找非零向量使得(1,aT)x=0modq且||x||∞≤β成立。给定正实数和定义RLWE分布计算性RLWE数学困难问题RLWEn,q,l,α是指随机选取在有l个样本的条件下计算出秘密值判定性RLWE数学困难问题的目标是区分分布Bs,α和上的均匀分布。然而,RSIS和RLWE问题使用了特殊的环结构,而这种环结构可能被敌手利用来求解相应的困难问题。从而,为了安全性和效率的折中,模SIS困难问题和模LWE困难问题(分别简称MSIS和MLWE)被密码研究者提出。给定正整数随机矩阵和正实数多项式环Rq上正规形(无穷范数)MSIS问题的目标是寻找非零向量使得(Ik‖A)x=0modq且||x||∞≤β成立。给定正整数以及正实数对于随机选取的矩阵和向量计算性MLWE问题MLWEn,q,k,l,α的目标是给定样本输出秘密向量判定性MLWE问题的目标是区分样本(A,b=As+e)和选自于上均匀随机的元组。
技术实现思路
本专利技术的目的在于提供一种基于格的数字签名方法,具有安全性高、可证明安全、抵抗量子计算机攻击、公私钥和签名长度短、计算效率高、参数选取灵活、抵抗多目标攻击、抵抗密钥替换攻击、易于安全实现等特点和优势。本专利技术提出非对称的模SIS数学困难问题(AsymmetricModule-SIS,简称AMSIS),统一给出了SIS、RSIS和MSIS数学困难问题的非对称变形。本专利技术首先给出一些基本符号的定义如下:1)表示由整数构成的集合,即表示模q剩余类构成的集合,即其中q是正整数;对于任意的正整数n,表示n个的直积,即2)表示由实数构成的集合;表示由正实数构成的集合;表示正整数构成的集合,即3)令是正整数,R是定义在上次数为n-1的多项式环,Rq是定义在上的次数为n-1的多项式环;当n=1时,定义以及对于任意的正整数表示k个Rq的直积,即对于任意的正整数表示在Rq中元素组成的k×k矩阵构成的集合;4)对于分布D,x←D表示根据分布D随机选取x;对于有限集合S,x←S表示从集合S中均匀随机选取x;5)对于正整数Ik表示k×k的单位矩阵,即6)对于正整数定义Sα为多项式环R中每个系数都属于{q-α,…,q+α}的多项式组成的集合;对于正整数表示l个Sα的直积,即7)符号:=表示赋值,即对于任意两个值a,b,a:=b表示将a赋值作为b。在给出AMSIS数学困难问题的具体定义之前,本专利技术首先定义模约化操作和无穷范数、2范数和1范数。1)模约化操作:对于一个正偶数α和整数r,定义操作r′=rmod±α输出满足r′=rmodα成立;对于一个正奇数α和整数r,定义操作r′=rmod±α输出满足r′=rmodα成立。对于正整数α和整数r,定义操作r′=rmod+α输出r′∈[0,α)满足r′=rmodα成立。当精确的模约化操作表示不重要的时候,简写为rmodα。2)无穷范数:对于一个元素w的无穷范数||w||∞表示|wmod±q|。对于元素w=w0+w1X+...+wn-1Xn-1∈Rq,w的无穷范数||w||∞定义为:相应地,对于向量或者定义3)2范数:对于一个元素w的2范数||w||2表示|wmod±q|。对于元素w=w0+w1X+...+wn-1Xn-1∈Rq,w的2范数||w||2定义为:对于向量或者定义4)1范数:对于一个元素w的1范数||w||1表示|wmod±q|。对于元素w=w0+w1X+...+wn-1Xn-1∈Rq,w的1范数||w||1定义为:||w||1=||w0||1+||w1||1+…+||wn-1||1。对于向量或者定义||w||1=||w1||1+||w2||1+…+||wk||1。本专利技术提出的非对称MSIS(即AMSIS)数学困难问题具体定义如下:·AMSIS数学困难问题:给定正整数随机矩阵和正实数满足β1≠β2,多项式环Rq上正规形、无穷范数AMSIS问题的目标是寻找非零向量使得‖x1‖∞≤β1且‖x2‖∞≤β2成立,其中当k=1时,AMSIS数学困难问题是非对称环上的SIS问本文档来自技高网
...

【技术保护点】
1.一种基于格的数字签名方法,其特征在于,包括以下步骤:1)定义AMSIS数学困难问题,用于保证抗签名伪造的安全性;2)定义AMLWE数学困难问题,用于保证抗私钥恢复的安全性;3)基于所述AMSIS数学困难问题和所述AMLWE数学困难问题,提出基于格的数字签名方法,采用私钥签名消息,采用公钥验证签名的合法性。

【技术特征摘要】
2019.04.19 CN 20191031704161.一种基于格的数字签名方法,其特征在于,包括以下步骤:1)定义AMSIS数学困难问题,用于保证抗签名伪造的安全性;2)定义AMLWE数学困难问题,用于保证抗私钥恢复的安全性;3)基于所述AMSIS数学困难问题和所述AMLWE数学困难问题,提出基于格的数字签名方法,采用私钥签名消息,采用公钥验证签名的合法性。2.如权利要求1所述的方法,其特征在于,所述AMSIS数学困难问题被定义如下:令是正整数,Rq是定义在上次数为n-1的多项式环,其中当n=1时定义给定正整数随机矩阵和正实数满足β1≠β2,多项式环Rq上正规形、无穷范数AMSIS问题的目标是寻找非零向量使得‖x1‖∞≤β1且‖x2‖∞≤β2成立,其中所述AMLWE数学困难问题被定义如下:对于正整数正实数满足α1≠α2,给定随机的矩阵和向量计算性AMLWE数学困难问题的目标是给定样本输出秘密向量对于随机的矩阵和向量判定性AMLWE数学困难问题的目标是将样本(A,b=As+e)和选自于上均匀分布的元组区分开。3.如权利要求1或2所述的方法,其特征在于,所述基于格的数字签名方法由12个参数n,q,k,l,d,ω,η1,η2,β1,β2,γ1,γ2来实例化,包括以下三个算法:1)密钥生成算法KeyGen(1κ):输入安全参数κ,输出公钥pk和私钥sk;2)签名算法Sign(sk,M):输入私钥sk和消息M∈{0,1}*,输出签名σ;3)验证算法Verify(pk,M,σ):输入公钥pk、消息M和签名σ,如果签名σ是在公钥pk下关于消息M的合法签名,输出1;否则输出0。4.如权利要求3所述的方法,其特征在于,密钥生成算法KeyGen(1κ)包括以下步骤:1)随机选择ρ←{0,1}256,2)计算(t1,t0):=Power2Roundq(t,d);3)计算tr:=CRH(pk)∈{0,1}384,然后输出公钥pk=(ρ,t1)和私钥sk=(ρ,tr,s1,s2,t0)。5.如权利要求4所述的方法,其特征在于,签名算法Sign(sk,M)包括以下步骤:1)给定私钥sk=(ρ,tr,s1,s2,t0)和消息M∈{0,1}*,计算μ:=CRH(tr||M)和矩阵A:=H1(ρ);2)随机选择计算和w1:=HighBitsq(w,2γ2);3)计算c:=H(μ,w1),z:=y+cs1和u:=w-cs2;4)计算(r1,r0):=Decomposeq(u,2γ2);5)如果||z||∞≥γ1-β1或||r0||∞≥γ2-β2或r1≠w1,返回第2)步重新开始;6)计算v=ct0和h:=MakeHintq(-v,u+v,2γ2);7)如果||v||∞≥γ2或向量h中1的数量大于ω,返回第2)步重新开始;8)输出签名σ:=(z,h,c)。6.如权利要求5所述的方法,其特征在于,验证算法Verify(pk,M,σ)包括以下步骤:1)给定公钥pk=(ρ,t1),消息M和签名σ=(z,h,c),计算矩阵A:=H1(ρ),然后计算μ:=CRH(CRH(pk)||M);2)计算u:=Az-ct1·2d,然后计算w1′:=UseHintq(h,u,2γ2);3)计算c′:=H(μ,w1′);4)如果||z||∞<γ1-β1且c=c′且向量h中1的数量小于等于ω,输出1;否则输出0。7.如权利6...

【专利技术属性】
技术研发人员:张江郁昱范淑琴张振峰杨糠
申请(专利权)人:北京信息科学技术研究院
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1