System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 使用国密算法SM3的后量子一次数字签名生成方法和装置制造方法及图纸_技高网

使用国密算法SM3的后量子一次数字签名生成方法和装置制造方法及图纸

技术编号:41385252 阅读:3 留言:0更新日期:2024-05-20 19:06
本发明专利技术提供一种使用国密算法SM3的后量子一次数字签名生成方法和装置,包括:在预设的安全参数下生成签名私钥,包含48个32字节的伪随机十六进制数据的私钥块;使用SM3将48个私钥块分别作哈希运算生成48条哈希链以及48个32字节的十六进制数据的签名公钥的公钥块;使用SM3对要签名的消息作哈希运算得到32字节的消息摘要,根据消息摘要计算获得每条哈希链的节点位置索引,将索引到的链节点中的数据作为数字签名的签名块,数字签名包含48个签名块,每个签名块为32字节的十六进制数据;使用SM3将各个签名块分别作哈希运算,得到验证公钥,使用验证公钥进行所述数字签名的验证。本发明专利技术使用较短的数字签名值保证良好的后量子安全性。

【技术实现步骤摘要】

本专利技术涉及信息安全与密码,尤其涉及一种使用国密算法sm3的后量子一次数字签名生成方法和装置。


技术介绍

1、随着量子计算机的应用与发展,传统基于大整数分解、离散对数、椭圆曲线等数学问题的公钥密码算法将面临更具有威胁的量子计算攻击,为对抗量子计算对信息安全的影响,新一代具有抵抗量子计算攻击能力的后量子密码算法的研究及优化工作迫在眉睫。

2、2022年7月,美国国家标准与技术研究院发布了第一批标准化的后量子密码算法,第一批被标准化的算法中包括一种公钥加密算法crystals-kyber和三种数字签名算法、crystals-dilithium、falcon、sphincs+。其中sphincs+是使用哈希函数构造的无状态签名方案,sphincs+底层使用了一次签名方案wots+和少次签名方案fors,并通过扩展二叉哈希树的方式将其扩展为多次签名方案。

3、一次签名方案是指其密钥对只能使用一次,在完成签名后,其密钥对完全失去安全性,其中wots+签名方案中使用哈希链的结构构造签名方案,wots+方案中安全参数为256bits下,签名私钥、公钥以及数字签名均为67x32字节,即生成的签名值较大,签名的速度较慢,而且数字签名生成过程需要校验链的参与,但校验链不能完全保证数据的正确性。


技术实现思路

1、本专利技术提供了一种使用国密算法sm3的后量子一次数字签名生成方法和装置,用以解决现有技术存在的问题,本专利技术提供的技术方案如下:

2、一方面,提供了一种使用国密算法sm3的后量子一次数字签名生成方法,所述方法包括:

3、s1、在预设的安全参数下,生成签名私钥,所述签名私钥包含48个私钥块,每个私钥块为32字节的伪随机十六进制数据;

4、s2、使用sm3将48个私钥块分别作哈希运算,生成48条哈希链和48个公钥块,每个公钥块为32字节的十六进制数据,48个公钥块构成签名公钥;

5、s3、使用sm3对要签名的消息作哈希运算,得到32字节的消息摘要,根据所述消息摘要计算获得每条哈希链的节点位置索引,将索引到的链节点中的数据作为数字签名的签名块,所述数字签名包含48个签名块,每个签名块为32字节的十六进制数据;

6、s4、使用sm3将所述数字签名的各个签名块分别作哈希运算,得到各个签名块的验证公钥,使用所述验证公钥进行所述数字签名的验证。

7、可选地,所述s1,具体包括:

8、在256bits的安全参数下,将私钥种子sk.seed作为伪随机数发生器prng的种子数据生成48个伪随机数sk0、sk1…sk47,每个伪随机数为32字节的伪随机十六进制数据,每个伪随机数作为签名私钥sk的构成元素,称为私钥块,所述签名私钥sk包含48个私钥块,记为sk=sk0、sk1…sk47。

9、可选地,所述s2,具体包括:

10、使用国密算法sm3将48个私钥块分别作w次哈希运算,w=127或255,得到48条哈希链,分别为l0、l1、l2...l47,每条哈希链中包含w+1个哈希节点,每个私钥块作为对应哈希链的首节点,每条哈希链中相邻两个链节点中后一个链节点中的数据是前一个链节点中数据的sm3哈希值,每条哈希链的尾节点为对应每个私钥块的公钥块,签名公钥pk包含对应48个私钥块的48个公钥块,记为pk=pk0、pk1…pk47。

11、可选地,当w=127,所述s3,具体包括:

12、所述32字节的消息摘要的十六进制形式包含64个0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f中的数据元素,以消息摘要的十六进制形式下第一个元素的位置定义为1,消息摘要的十六进制形式下最后一个元素的位置定义为64,计算出0-f的每个元素所在位置的和,作为每个元素的位置信息;

13、将所述每个元素的位置信息模除127,记为t1,将0-f的位置信息模除的结果按序映射到0-15号哈希链的位置节点t1+1上,作为0-15号哈希链的节点位置索引,将索引到的链节点中的数据作为数字签名中的0-15号签名块;

14、所述32字节的消息摘要的二进制形式为256比特,将每8个比特分成一组,共32组,将每组8比特二进制数据计算为一个十进制数据,计算出32个消息摘要分组的十进制数据;

15、将所述32个消息摘要分组的十进制数据模除127,记为t2,将1-32组的十进制数据模除的结果按序映射到第16-47号哈希链的的位置节点t2+1上,作为16-47号哈希链的节点位置索引,将索引到的链节点中的数据作为数字签名中的16-47号签名块。

16、可选地,当w=255,所述s3,具体包括:

17、所述32字节的消息摘要的十六进制形式包含64个0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f中的数据元素,以消息摘要的十六进制形式下第一个元素的位置定义为1,消息摘要的十六进制形式下最后一个元素的位置定义为64,计算出0-f的每个元素所在位置的和,作为每个元素的位置信息;

18、将所述每个元素的位置信息模除255,记为t3,将0-f的位置信息模除的结果按序映射到0-15号哈希链的位置节点t3+1上,作为0-15号哈希链的节点位置索引,将索引到的链节点中的数据作为数字签名中的0-15号签名块;

19、所述32字节的消息摘要的二进制形式为256比特,将每8个比特分成一组,共32组,将每组8比特二进制数据计算为一个十进制数据,计算出32个消息摘要分组的十进制数据,记为t4;

20、将1-32组的十进制数据按序映射到第16-47号哈希链的的位置节点t4+1上,作为16-47号哈希链的节点位置索引,将索引到的链节点中的数据作为数字签名中的16-47号签名块。

21、可选地,当w=127,所述s4,具体包括:

22、将所述数字签名中对应的0-15号签名块,使用sm3作127-t1次哈希运算得到0-15号验证公钥vpk0,vpk1…vpk15;

23、将所述数字签名中对应的16-47号签名块,使用sm3作127-t2次哈希运算得到16-47号验证公钥vpk16,vpk17…vpk47,完整的验证公钥vpk,记为vpk=vpk0,vpk1…vpk47;

24、验证vpk0,vpk1…vpk47是否与pk1,pk2…pk47相等,若vpk=pk,则签名有效,若vpk!=pk,则签名无效。

25、可选地,当w=127,所述s4,具体包括:

26、将所述数字签名中对应的0-15号签名块,使用sm3作255-t3次哈希运算得到0-15号验证公钥vpk0,vpk1…vpk15;

27、将所述数字签名中对应的16-47号签名块,使用sm3作255-t4次哈希运算得到16-47号验证公钥vpk16,vpk17…vpk47,完整的验证公钥vpk,记为vpk=vpk0,vpk1…vpk4本文档来自技高网...

【技术保护点】

1.一种使用国密算法SM3的后量子一次数字签名生成方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述S1,具体包括:

3.根据权利要求1所述的方法,其特征在于,所述S2,具体包括:

4.根据权利要求3所述的方法,其特征在于,当w=127,所述S3,具体包括:

5.根据权利要求3所述的方法,其特征在于,当w=255,所述S3,具体包括:

6.根据权利要求4所述的方法,其特征在于,当w=127,所述S4,具体包括:

7.根据权利要求5所述的方法,其特征在于,当w=255,所述S4,具体包括:

8.一种使用国密算法SM3的后量子一次数字签名生成装置,其特征在于,所述装置包括:

9.一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有指令,其特征在于,所述指令由所述处理器加载并执行以实现如权利要求1-7任一项所述使用国密算法SM3的后量子一次数字签名生成方法。

10.一种计算机可读存储介质,所述存储介质中存储有指令,其特征在于,所述指令由处理器加载并执行以实现如权利要求1-7任一项所述使用国密算法SM3的后量子一次数字签名生成方法。

...

【技术特征摘要】

1.一种使用国密算法sm3的后量子一次数字签名生成方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述s1,具体包括:

3.根据权利要求1所述的方法,其特征在于,所述s2,具体包括:

4.根据权利要求3所述的方法,其特征在于,当w=127,所述s3,具体包括:

5.根据权利要求3所述的方法,其特征在于,当w=255,所述s3,具体包括:

6.根据权利要求4所述的方法,其特征在于,当w=127,所述s4,具体包括:

7.根据权利要求5所述的方...

【专利技术属性】
技术研发人员:杨亚涛殷方锐陈亮宇史浩鹏董辉张思瑶赵若岩李兆夫
申请(专利权)人:北京电子科技学院
类型:发明
国别省市:

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

1