【技术实现步骤摘要】
一种基于格的数字签名方法
本专利技术属于密码学中的数字签名领域,涉及使用格密码学中的相关技术,具体涉及一种基于格的数字签名方法,能抵抗量子计算机攻击。
技术介绍
数字签名已在许多实际应用中被广泛部署。根据Shor算法,当量子计算机出现的时候,已部署的基于RSA或椭圆曲线的数字签名方法将不再安全。量子计算机的快速发展促使我们设计抗量子安全的数字签名方法。当前,主流的抗量子安全数字签名方法是基于格、多变量、编码或者杂凑函数等设计。从效率和安全性综合来看,基于格的数字签名方法是最有前途的抗量子签名方法,并得到了国内外学者的广泛研究。在数学中,格是一种离散的加法子群。由于特殊的代数结构,格上有很多难以求解的困难问题,例如最短向量问题。基于格的数字签名方法是指基于格上数学困难问题设计的数字签名方法,具有抵抗量子计算机攻击的能力。绝大部分公钥密码方案的设计和安全性建立在数学困难问题之上。当前,格上公钥密码系统的安全性大多是建立在Ajtai提出的小整数解问题(SmallIntegerSolutions,SIS)和Regev提出的带错误学习问题(LearningwithErrors,LWE)的困难性之上。简单来说,小整数解问题和带错误的学习问题都与求解模整数方程有关系。令为正整数,为正实数,是以α为参数的噪音分布(通常为高斯分布,或与其相近的二项分布)。无穷范数的小整数解问题目标是给定矩阵计算非零向量使其满足Ax=0modq并且||x||∞≤β;对应的计算性带错误的学习问题LWEn,m,q,α目标是对于随机选择的矩阵向量以及噪音向量给定样本求解秘密向量判定性LWE问题是区 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。