[发明专利]一种基于格的数字签名方法有效
申请号: | 201910339823.X | 申请日: | 2019-04-25 |
公开(公告)号: | CN110138549B | 公开(公告)日: | 2022-03-18 |
发明(设计)人: | 张江;郁昱;范淑琴;张振峰;杨糠 | 申请(专利权)人: | 北京信息科学技术研究院 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L9/32 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 邱晓锋 |
地址: | 100878*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 数字签名 方法 | ||
1.一种基于格的数字签名方法,其特征在于,包括以下步骤:
1)定义AMSIS数学困难问题,用于保证抗签名伪造的安全性;
2)定义AMLWE数学困难问题,用于保证抗私钥恢复的安全性;
3)基于所述AMSIS数学困难问题和所述AMLWE数学困难问题,提出基于格的数字签名方法,采用私钥签名消息,采用公钥验证签名的合法性;
所述AMSIS数学困难问题被定义如下:令是正整数,Rq是定义在上次数为n-1的多项式环,其中当n=1时定义给定正整数随机矩阵和正实数满足β1≠β2,多项式环Rq上正规形、无穷范数AMSIS问题的目标是寻找非零向量使得‖x1‖∞≤β1且‖x2‖∞≤β2成立,其中其中,Ik表示k×k的单位矩阵;
所述AMLWE数学困难问题被定义如下:对于正整数正实数满足α1≠α2,给定随机的矩阵和向量计算性AMLWE数学困难问题的目标是给定样本输出秘密向量对于随机的矩阵和向量判定性AMLWE数学困难问题的目标是将样本(A,b=As+e)和选自于上均匀分布的元组区分开;其中,对于正实数α∈{α1,α2},定义χα表示以α为参数的噪音分布;对于正实数α∈{α1,α2},表示多项式环Rq中系数根据分布χα取值的元素构成的集合;表示每个分量取自中的元素构成的l维向量集合;表示每个分量取自中的元素构成的k维向量集合;
所述基于格的数字签名方法由12个参数n,q,k,l,d,ω,η1,η2,β1,β2,γ1,γ2来实例化,其中,是正整数,是正整数;是正整数,是与AMLWE数学困难问题相关的两个参数;是正整数,是与AMSIS数学困难问题相关的两个参数;所述基于格的数字签名方法包括以下三个算法:
1)密钥生成算法KeyGen(1κ):输入安全参数κ,输出公钥pk和私钥sk;
2)签名算法Sign(sk,M):输入私钥sk和消息M∈{0,1}*,输出签名σ;
3)验证算法Verify(pk,M,σ):输入公钥pk、消息M和签名σ,如果签名σ是在公钥pk下关于消息M的合法签名,输出1;否则输出0;
所述密钥生成算法KeyGen(1κ)包括以下步骤:
1)随机选择ρ←{0,1}256,对于正整数定义Sα为多项式环R中每个系数都属于{q-α,...,q+α}的多项式组成的集合;对于正整数表示l个Sα的直积,即
2)计算(t1,t0):=Power2Roundq(t,d);是一个杂凑函数,用于生成一个矩阵A;H1(ρ)表示根据输入种子ρ计算一个输出矩阵;Power2Roundq表示二次方幂取整函数;
3)计算tr:=CRH(pk)∈{0,1}384,然后输出公钥pk=(ρ,t1)和私钥sk=(ρ,tr,s1,s2,t0);CRH:{0,1}*→{0,1}384表示抗碰撞杂凑函数;CRH(pk)表示输入公钥pk,输出相应的摘要;
所述签名算法Sign(sk,M)包括以下步骤:
1)给定私钥sk=(ρ,tr,s1,s2,t0)和消息M∈{0,1}*,计算μ:=CRH(tr||M)和矩阵A:=H1(ρ);
2)随机选择计算和w1:=HighBitsq(w,2γ2);其中HighBitsq是取高位比特函数;
3)计算c:=H(μ,w1),z:=y+cs1和u:=w-cs2;是一个杂凑函数,其中B60表示环Rq中恰好有60个系数为-1或1,且其他系数均为0的元素构成的集合;H(μ,w1)表示输入(μ,w1),输出B60中的一个元素;
4)计算(r1,r0):=Decomposeq(u,2γ2);其中Decomposeq是分解函数;
5)如果||z||∞≥γ1-β1或||r0||∞≥γ2-β2或r1≠w1,返回第2)步重新开始;
6)计算v=ct0和h:=MakeHintq(-v,u+v,2γ2);其中MakeHintq是生成提示函数;
7)如果||v||∞≥γ2或向量h中1的数量大于ω,返回第2)步重新开始;
8)输出签名σ:=(z,h,c);
所述验证算法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);其中UseHintq是使用提示函数;
3)计算c′:=H(μ,w1′);
4)如果||z||∞γ1-β1且c=c′且向量h中1的数量小于等于ω,输出1;否则输出0。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京信息科学技术研究院,未经北京信息科学技术研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910339823.X/1.html,转载请声明来源钻瓜专利网。