System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及密码学应用,具体涉及一种数字签名方法、验证方法、装置、设备、存储介质及系统。
技术介绍
1、随着量子计算技术的快速发展,传统数字签名算法(如rsa和ecc)因其数学基础面临被量子计算机破解的威胁。因此,后量子密码算法成为未来数字签名的重要研究方向。然而,相关技术中直接切换到后量子密码算法后存在数字签名抗篡改性差,对传统密码系统兼容性较差等问题。
2、上述的陈述仅用于提供与本申请有关的
技术介绍
信息,而不必然地构成现有技术。
技术实现思路
1、本申请的目的是提供一种数字签名方法、验证方法、装置、设备、存储介质及系统。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
2、根据本申请实施例的一个方面,提供一种数字签名方法,应用于发送端,所述方法包括:
3、获取原始消息数据的附加值;
4、将所述附加值连接到所述原始消息数据上,生成待签名数据;
5、基于所述待签名数据,进行第一签名操作和第二签名操作,对应得到第一签名数据和第二签名数据;
6、串联所述第一签名数据和所述第二签名数据,得到最终签名数据。
7、在本申请的一些实施例中,所述获取原始消息数据的附加值,包括:
8、获取所述原始消息数据的时间戳、动态标识符和/或上下文信
9、在本申请的一些实施例中,所述基于所述待签名数据,进行第一签名操作和第二签名操作,对应得到第一签名数据和第二签名数据,包括:
10、针对所述待签名数据进行第一签名操作,得到第一签名数据;
11、针对所述待签名数据进行第二签名操作、或者针对所述待签名数据和所述第一签名数据进行第二签名操作,得到第二签名数据。
12、在本申请的一些实施例中,所述第一签名操作为经典密码算法签名操作且所述第二签名操作为后量子密码算法签名操作;
13、或者,
14、所述第一签名操作为后量子密码算法签名操作且所述第二签名操作为经典密码算法签名操作。
15、在本申请的一些实施例中,所述方法还包括:发送所述最终签名数据给接收端,以使所述接收端利用所述第一签名操作对应的第一公钥验证所述第一签名数据并利用所述第二签名操作对应的第二公钥验证所述第二签名数据。
16、根据本申请实施例的另一个方面,提供一种数字签名验证方法,应用于接收端,所述方法包括:
17、接收发送端生成并发送的最终签名数据;所述最终签名数据是串联第一签名数据和第二签名数据得到的,所述第一签名数据和第二签名数据是基于待签名数据进行第一签名操作和第二签名操作对应得到的;所述待签名数据是将附加值连接到原始消息数据上生成的;
18、利用所述第一签名操作对应的第一公钥验证所述第一签名数据并利用所述第二签名操作对应的第二公钥验证所述第二签名数据;
19、根据所述第一签名数据的验证结果和所述第二签名数据的验证结果,确定数字签名验证是否通过。
20、在本申请的一些实施例中,所述根据所述第一签名数据的验证结果和所述第二签名数据的验证结果,确定数字签名验证是否通过,包括:
21、在所述第一签名数据和所述第二签名数据均验证通过的情况下,确定数字签名验证通过,否则确定数字签名验证失败。
22、根据本申请实施例的另一个方面,提供一种数字签名装置,应用于发送端,所述装置包括:
23、附加值获取模块,用于获取原始消息数据的附加值;
24、待签名数据生成模块,用于将所述附加值连接到所述原始消息数据上,生成待签名数据;
25、签名模块,用于基于所述待签名数据,进行第一签名操作和第二签名操作,对应得到第一签名数据和第二签名数据;
26、串联模块,用于串联所述第一签名数据和所述第二签名数据,得到最终签名数据。
27、根据本申请实施例的另一个方面,提供一种数字签名验证装置,应用于接收端,所述装置包括:
28、接收模块,用于接收发送端生成并发送的最终签名数据;所述最终签名数据是串联第一签名数据和第二签名数据得到的,所述第一签名数据和第二签名数据是基于待签名数据进行第一签名操作和第二签名操作对应得到的;所述待签名数据是将附加值连接到原始消息数据上生成的;
29、验证模块,用于利用所述第一签名操作对应的第一公钥验证所述第一签名数据并利用所述第二签名操作对应的第二公钥验证所述第二签名数据;
30、验证结果确定模块,用于根据所述第一签名数据的验证结果和所述第二签名数据的验证结果,确定数字签名验证是否通过。
31、根据本申请实施例的另一个方面,提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序,以实现本申请任一实施例所述的数字签名方法、或者本申请任一实施例所述的数字签名验证方法。
32、根据本申请实施例的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行,以实现本申请任一实施例所述的数字签名方法、或者本申请任一实施例所述的数字签名验证方法。
33、根据本申请实施例的另一个方面,提供一种数字认证系统,包括数字签名设备和数字签名验证设备,所述数字签名设备用于执行本申请任一实施例所述的数字签名方法,所述数字签名验证设备用于执行本申请任一实施例所述的数字签名验证方法。
34、本申请实施例的其中一个方面提供的技术方案可以包括以下有益效果:
35、本申请实施例提供的数字签名方法,获取原始消息数据的附加值;将所述附加值连接到所述原始消息数据上,生成待签名数据;基于所述待签名数据,进行第一签名操作和第二签名操作,对应得到第一签名数据和第二签名数据;串联所述第一签名数据和所述第二签名数据,得到最终签名数据,通过引入附加值实现签名数据的逻辑关联,提高了签名唯一性与抗篡改性,通过第一签名操作和第二签名操作的双重签名,能够有效抵御量子计算攻击,增强了数字签名抗篡改性,增强了数据安全性,并且对传统密码系统兼容性较好。
36、上述说明仅是本申请实施例技术方案的概述,为了能够更清楚了解本申请的实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本申请实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
本文档来自技高网...【技术保护点】
1.一种数字签名方法,其特征在于,应用于发送端,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述获取原始消息数据的附加值,包括:
3.根据权利要求1或2所述的方法,其特征在于,所述基于所述待签名数据,进行第一签名操作和第二签名操作,对应得到第一签名数据和第二签名数据,包括:
4.根据权利要求3所述的方法,其特征在于,所述第一签名操作为经典密码算法签名操作且所述第二签名操作为后量子密码算法签名操作;
5.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:发送所述最终签名数据给接收端,以使所述接收端利用所述第一签名操作对应的第一公钥验证所述第一签名数据并利用所述第二签名操作对应的第二公钥验证所述第二签名数据。
6.一种数字签名验证方法,其特征在于,应用于接收端,所述方法包括:
7.根据权利要求6所述的方法,其特征在于,所述根据所述第一签名数据的验证结果和所述第二签名数据的验证结果,确定数字签名验证是否通过,包括:
8.一种数字签名装置,其特征在于,应用于发送端,所述装置包括:
...【技术特征摘要】
1.一种数字签名方法,其特征在于,应用于发送端,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述获取原始消息数据的附加值,包括:
3.根据权利要求1或2所述的方法,其特征在于,所述基于所述待签名数据,进行第一签名操作和第二签名操作,对应得到第一签名数据和第二签名数据,包括:
4.根据权利要求3所述的方法,其特征在于,所述第一签名操作为经典密码算法签名操作且所述第二签名操作为后量子密码算法签名操作;
5.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:发送所述最终签名数据给接收端,以使所述接收端利用所述第一签名操作对应的第一公钥验证所述第一签名数据并利用所述第二签名操作对应的第二公钥验证所述第二签名数据。
6.一种数字签名验证方法,其特征在于,应用于接收端,所述方法包括:
7.根据权利要求6所述的方法,其特征在于,所述根据所述第一签名数据的验证结果和所述第二签名数据的验证结果...
【专利技术属性】
技术研发人员:王慧,郑江东,
申请(专利权)人:北京握奇数据股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。