[发明专利]Dilithium算法的实现方法和装置在审
申请号: | 201911230381.1 | 申请日: | 2019-12-04 |
公开(公告)号: | CN112910649A | 公开(公告)日: | 2021-06-04 |
发明(设计)人: | 程朝辉;周枭淳 | 申请(专利权)人: | 深圳奥联信息安全技术有限公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32 |
代理公司: | 深圳市智胜联合知识产权代理有限公司 44368 | 代理人: | 齐文剑 |
地址: | 518101 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | dilithium 算法 实现 方法 装置 | ||
1.一种Dilithium算法的实现方法,其特征在于,包括:
选择Dilithium算法的参数,所述参数包括n、c、k、d、ω、η、β、q、γ1、γ2,其中,n=256,c=60,k=5,d=14,ω=96,η=3,β=175,q为22比特的素数且q=1 mod 512;γ1满足γ2是大于245760且整除(q-1)的整数;
依据所述参数和所述Dilithium算法生成签名密钥对,以及对消息M进行签名。
2.根据权利要求1所述的Dilithium算法的实现方法,其特征在于,所述q=2101249,所述γ1=131072,所述γ2=262656;或者,所述q=3072001,所述γ1=131072,所述γ2=256000;或者,所述q=3686401,所述γ1=131072,所述γ2=245760;或者,所述q=3870721,所述γ1=131072,所述γ2=258048。
3.根据权利要求1或2所述的Dilithium算法的实现方法,其特征在于,所述方法还包括:
对接收的消息M和签名进行验签,所述签名采用如权利要求1或2所述的Dilithium算法的实现方法进行签名。
4.根据权利要求3所述的Dilithium算法的实现方法,其特征在于,所述依据所述参数和所述Dilithium算法生成签名密钥对,以及对消息M进行签名的步骤,包括使用多项式商环R=Zq[X]/(Xn+1);并执行如下步骤:
计算ρ←{0,1}256;
计算K←{0,1}256;
计算
计算
计算t:=As1+s2;
计算(t1,t0):=Power2Roundq(t,d);
计算tr∈{0,1}384:=CRH(ρ||t1);
返回(pk=(ρ,t1),sk=(ρ,K,tr,s1,s2,t0));其中,pk为私钥,sk为公钥;
计算
计算μ∈{0,1}384:=CRH(tr||M);
计算k:=0,(z,h):=⊥;
计算ρ′∈{0,1}384:=CHR(K||μ),或者,ρ′←{0,1}384的随机签名;
当(z,h)=⊥时;循环执行如下过程:
计算
计算w:=Ay;
计算w1:=HighBitsq(w,2γ2);
计算c∈B60:=H(μ||w1);
计算z:=y+cs1;
计算(r1,r0):=Decomposeq(w-cs2,2γ2);
如果满足||z||∞≥γ1-β,或者满足||r0||∞≥γ2-β,或者满足r1≠w1,则计算(z,h):=⊥;否则,计算h:=MakeHintq(-ct0,w-cs2+ct0,2γ2);
如果满足||ct0||∞≥γ2,或者h中比特1的个数大于ω,则计算(z,h):=⊥和k:=k+1;
返回σ=(z,h,c);其中,σ为数字签名结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳奥联信息安全技术有限公司,未经深圳奥联信息安全技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911230381.1/1.html,转载请声明来源钻瓜专利网。