一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

签名公钥压缩方法、装置、计算机设备及存储介质与流程

2022-05-17 21:08:37 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,尤其涉及一种基于国密算法的签名公钥压缩方法、装置、计算机设备及存储介质。


背景技术:

2.随着计算机和互联网的发展,网络与信息安全成为了当前人们关注的热点。数字签名技术作为信息安全领域的重要组成部分,在身份认证,数据完整性及匿名性等方面有着重要作用。数字签名技术是用于鉴别数字信息的方法,在数字签名技术中需要两种互补的运算,一种用于签名,一种用于验证,在进行验证时,使用公钥对数字签名进行验证,判断数字签名是否有效合法,但公钥往往会占用一千比特以上的存储空间,对应用系统造成压力,不利于对数字签名信息的验证。


技术实现要素:

3.基于此,有必要针对上述技术问题,提供一种基于国密算法的签名公钥压缩方法、基于国密算法的签名公钥解压缩方法、基于国密算法的签名公钥压缩方法装置、基于国密算法的签名公钥解压缩方法装置、计算机设备及存储介质,以解决应用系统储存公钥压力较大的问题。
4.本技术实施例的第一方面提供了一种基于国密算法的签名公钥压缩方法,包括:
5.基于用户端发送的数字签名请求信息中的基点坐标,通过计算得到曲线点坐标;
6.按照预先设置的赋值规则,基于所述曲线点坐标中的数值信息,对预先设置的公钥压缩模板进行赋值,构建公钥压缩签名值;
7.将所述公钥压缩签名值与预先得到的原始的一组签名值作为压缩结果输出;所述公钥压缩签名值用于验证所述数字签名请求信息。
8.进一步地,所述基于用户端发送的数字签名请求信息中的基点坐标,通过计算得到曲线点坐标,包括:
9.对用户端发送的数字签名请求信息中的基点坐标进行点乘值预处理,得到第一点乘值集合;
10.基于所述第一点乘值集合以及随机数发生器生成的任意数值,通过计算,得到曲线点坐标。
11.进一步地,所述按照预先设置的赋值规则,基于所述曲线点坐标中的数值信息,对预先设置的公钥压缩模板进行赋值,构建公钥压缩签名值,包括:
12.基于所述曲线点坐标中的纵坐标的奇偶性,对所述预先设置的公钥压缩模板中的第一位赋值不同的数值,得到所述公钥压缩签名值的第一位数值;
13.基于预先得到的所述数字签名请求信息的摘要与所述曲线点坐标中的横坐标的大小,对所述预先设置的公钥压缩模板中的第二位赋值不同的数值,得到所述公钥压缩签名值的第二位数值;
14.基于所述公钥压缩签名值第一位数值与所述公钥压缩签名值的第二位数值,构建所述公钥压缩签名值。
15.进一步地,所述基于所述曲线点坐标中的纵坐标的奇偶性,对所述预先设置的公钥压缩模板中的第一位赋值不同的数值,得到所述公钥压缩签名值的第一位数值,包括:
16.当所述曲线点坐标中的纵坐标为奇数时,对所述公钥压缩模板中的第一位赋值0数值;
17.当所述曲线点坐标中的纵坐标为偶数时,对所述公钥压缩模板中的第一位赋值1数值。
18.进一步地,所述基于预先得到的所述数字签名请求信息的摘要与所述曲线点坐标中的横坐标的大小,对所述预先设置的公钥压缩模板中的第二位赋值不同的数值,得到所述公钥压缩签名值的第二位数值,包括:
19.当所述数字签名请求信息的摘要与所述曲线点坐标中的横坐标的和大于所述基点的阶数值,对所述公钥压缩模板中的第二位赋值1数值;
20.当所述数字签名请求信息的摘要与所述曲线点坐标中的横坐标的和不大于所述基点的阶数值,对所述公钥压缩模板中的第二位赋值0数值。
21.本技术实施例的第二方面提供了一种基于国密算法的签名公钥解压缩方法,包括:
22.基于输入的公钥压缩签名值与预先得到的原始的一组签名值,通过计算得到曲线点坐标;
23.按照预先设置的公钥解压缩公式,基于所述曲线点坐标,通过计算得到公钥。
24.本技术实施例的第三方面提供了一种基于国密算法的签名公钥压缩方法装置,包括:
25.计算单元:基于用户端发送的数字签名请求信息中的基点坐标,通过计算得到曲线点坐标;
26.赋值单元:按照预先设置的赋值规则,基于所述曲线点坐标中的数值信息,对预先设置的公钥压缩模板进行赋值,构建公钥压缩签名值;
27.输出单元:将所述公钥压缩签名值与预先得到的原始的一组签名值作为压缩结果输出;所述公钥压缩签名值用于验证所述数字签名请求信息。
28.本技术实施例的第四方面提供了一种基于国密算法的签名公钥解压缩方法装置,包括:
29.输入单元:基于输入的公钥压缩签名值与预先得到的原始的一组签名值,通过计算得到曲线点坐标;
30.解压缩单元:按照预先设置的公钥解压缩公式,基于所述曲线点坐标,通过计算得到公钥。
31.本技术实施例的第五方面提供了一种计算机设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,该计算机指令用于使该计算机执行基于国密算法的签名公钥压缩方法、基于国密算法的签名公钥解压缩方法的各步骤。
32.本技术实施例的第六方面提供了一种计算机可读存储介质,所述计算机可读存储
介质存储有计算机程序,所述计算机程序被处理器执行时实现基于国密算法的签名公钥压缩方法、基于国密算法的签名公钥解压缩方法的各步骤。
33.实施本技术实施例提供的一种基于国密算法的签名公钥压缩方法具有以下有益效果:
34.本发明涉及数据处理技术领域,提供了一种基于国密算法的签名公钥压缩方法,基于用户端发送的数字签名请求信息中的基点坐标,通过计算得到曲线点坐标,用于对预先设置的公钥压缩模板进行赋值,将公钥压缩至公钥压缩模板中,得到一个长度较短的公钥压缩签名值,以较短的公钥压缩签名值代替公钥值信息,降低应用系统对公钥的储存压力,在后续数字签名请求信息进行验证时,可以根据公钥压缩签名值得到公钥值信息,直接利用公钥压缩签名值对数字签名请求信息进行验证,提高了后续数字签名请求信息的验证效率。
附图说明
35.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
36.图1是本发明一实施例中一种基于国密算法的签名公钥压缩方法实现流程图;
37.图2是本发明一实施例中一种基于国密算法的签名公钥解压缩方法实现流程图;
38.图3是本技术实施例提供的一种基于国密算法的签名公钥压缩方法装置的结构框图;
39.图4是本技术实施例提供的一种基于国密算法的签名公钥解压缩方法装置的结构框图;
40.图5是本技术实施例提供的一种服务器端设备的结构框图。
具体实施方式
41.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
42.本技术实施例所涉及的基于国密算法的签名公钥压缩方法、基于国密算法的签名公钥解压缩方法,可以由服务器端执行。
43.本技术涉及的基于国密算法的签名公钥压缩方法、基于国密算法的签名公钥解压缩方法,应用于数据处理技术领域,使可以更安全保护用户输入的数据。
44.请参阅图1,图1示出了本技术实施例提供的一种基于国密算法的签名公钥压缩方法的实现流程图。
45.如图1所示,一种基于国密算法的签名公钥压缩方法,包括:
46.s11:基于用户端发送的数字签名请求信息中的基点坐标,通过计算得到曲线点坐标;
47.在步骤s11中,用户端发送的数字签名请求信息中包含待签名数据,基于国密算法的数字签名,待签名数据包括椭圆曲线中的参数,椭圆曲线上的无穷远基点以及基点的阶,还包括一对公私钥,基于椭圆曲线上的无穷远基点坐标,通过计算得到曲线点坐标。
48.本实施例中,数字签名算法是由签名者即消息发送方对数据进行数字签名后发送给验证者,由验证者即接收方来验证该签名的可靠性,从而对签名者进行身份认证或对所收到消息数据的完整性进行确定。当用户端发送数字签名请求信息时,根据数字签名请求信息中的基点坐标,计算得到曲线点坐标,曲线点坐标为与基点坐标是基于倍数的关系,所以在得到曲线点坐标时,首先需要随机选取一个数值,该数值为小于基点的阶的整数,本实施例中,使用的是椭圆曲线上数乘的算法,即一个大数与椭圆曲线上的一个点相乘的算法。
49.作为本技术一实施例,步骤s11包括:
50.对用户端发送的数字签名请求信息中的基点坐标进行点乘值预处理,得到第一点乘值集合;基于所述第一点乘值集合以及随机数发生器生成的任意数值,通过计算,得到曲线点坐标。
51.本实施例中,在计算曲线点坐标时,运用到的数乘算法中倍点和点加运算,计算复杂度较高,所以对基点坐标进行点乘值预处理,得到第一点乘值集合,第一点乘值集合中的包含从1到255的基点的点乘值,在进行倍点运算时,直接从第一点乘值集合中选取出对应点乘值,直接计算,节约了得到曲线点坐标的时间。
52.需要说明的是,在对基点坐标进行预处理时,对于1到255的任意数值,将任意数值转化为二进制数值,使用二进制展开法计算椭圆曲线上的点乘坐标,任意数值二进制展开后的二进制长度最长为256位,在进行预处理的过程中,若一个256位的二进制中0和1的个数相等,倍点运算将运行256次,点加运算将运行128次,所以当任意数值的二进制展开数为256位时,需要执行多次的倍点运算和多次点加运算。所以预先得到所有可能的倍点值集合,作为第一点乘值集合,当计算到倍点时,从第一点乘值集合中选取对应的结果。
53.例如,随机数发生器生成的任意数值,该任意数值小于基点的阶的任意数值,将任意数值展开为二进制数值,通过二进制展开法计算曲线点坐标,在循环的过程中,当需要得到倍点的结果时,直接从第一点乘值集合中选取对应的结果,继续循环,直到循环结束所有的二进制。
54.需要说明的是,第一点乘值集合中只有1到255的倍点值集合,当循环的过程中,倍点的系数大于255时,重新对倍点的系数进行循环,例如当倍点的系数为128,当进行下一次循环时,倍点运算中的系数将变为256,256大于第一点乘值集合中的最大的系数,所以将系数为1的倍点值赋予倍点系数为256的倍点值。以此类推,得到最后循环的倍点值,从而得到曲线单坐标。
55.需要说明的是,在进行数乘运算的过程中,也可以通过naf点乘算法得到预处理的点乘值集合,与二进制表示不同的是,naf表示中有两个特点:一是可以使用-1作为展开系数;二是非零的值不能相邻。在椭圆曲线上的数乘的计算中,对任意数值使用naf形式展开,可以在位数相近时,降低其展开的汉明重量,从而减少运算中的点加计算,进而提高数乘的计算效率。例如:十进制数123的二进制表示为:111 1011。naf表示为:1000 0101,其中1表示-1。
56.在进行数乘运算的过程中,也可以通过多基数链法法得到预处理的点乘值集合,
多基数链是对双基数链的扩展,在多基数链表示中,冗余性相对更高。相比于其他的整数的表示方法,多基数链的表示时具有两个特点:一是多基数链表示的长度更短;二是多基数链表示的非零比特的数目也更少,即汉明重量更小,因此在计算标量乘法时,减少点加的计算次数,降低算法的计算复杂度,减少标量乘算法的运算量,因而提高算法的运算效率。在构造任意数值的多基数表示时,通常采用贪婪算法。
57.需要说明的是,在选取椭圆曲线方程时,可以使用不同坐标系表示椭圆曲线坐标,一般有仿射坐标,标准射影坐标和雅克比坐标,不同坐标系下,倍点运算和点加运算的复杂度不同,本实施例中,为了降低运算的复杂度,使用雅克比坐标表示椭圆曲线方程。
58.s12:按照预先设置的赋值规则,基于所述曲线点坐标中的数值信息,对预先设置的公钥压缩模板进行赋值,构建公钥压缩签名值;
59.在步骤s12中,将公钥压缩至公钥压缩模板中,公钥压缩模板的长度远小于公钥的长度,从而起到了公钥压缩的功能,对公钥压缩模板进行赋值时,需要按照预先设置的赋值规则进行赋值,以便于对后续压缩公钥的解压缩,当对公钥压缩模板赋值完成后,得到公钥压缩签名值。
60.本实施例中,基于sm2算法生成公钥和对应的私钥,其中公钥为椭圆曲线中的一个坐标,一般通过16进制的方式,保存在服务器端。sm2算法是一种非对称加密算法,公钥是公开的,私钥是保密的。当进行数字签名验证时,需要根据公钥对生成的签名信息进行验证,由于公钥的复杂度,公钥保存时,需要占据较大的储存空间,不利于后续签名信息的验证。根据对公钥进行压缩,本实施例中公钥压缩模板为具有两位的二进制模板,按照一定的赋值规则,对二进制模板进行赋值,得到公钥压缩签名值,将16进制的多为公钥,压缩为两位。
61.需要说明的是,公钥与私钥是同时生成的,要生成一对密钥首先要确定一条椭圆曲线,公钥是私钥与基点相乘所得到的椭圆曲线上的一个点,在生成公私钥对时,sm2keypair表示为sm2密钥对的javabean类。在这个类里面有私有成员变量privatekey,代表着sm2的私钥;还有私有成员变量publickey,代表着sm2的公钥。sm2keypair类的对象可以通过get方法分别获取到私钥和公钥。在这个接口中,实现了密钥对的生成。
62.作为本技术一实施例,步骤s12包括:
63.基于所述曲线点坐标中的纵坐标的奇偶性,对所述预先设置的公钥压缩模板中的第一位赋值不同的数值,得到所述公钥压缩签名值的第一位数值;基于预先得到的所述数字签名请求信息的摘要与所述曲线点坐标中的横坐标的大小,对所述预先设置的公钥压缩模板中的第二位赋值不同的数值,得到所述公钥压缩签名值的第二位数值;基于所述公钥压缩签名值第一位数值与所述公钥压缩签名值的第二位数值,构建所述公钥压缩签名值。
64.本实施例中,公钥压缩模板为两位二进制模板,分别根据对应赋值规则,对二进制模板中的每一位进行赋值。对第一位进行赋值时,根据曲线点坐标中的纵坐标的奇偶性进行赋值,当曲线点坐标中的纵坐标为奇数时,对公钥压缩模板中的第一位赋值0数值;当曲线点坐标中的纵坐标为偶数时,对公钥压缩模板中的第一位赋值1数值。由此得到公钥压缩模板的第一位数值。
65.在构建所述公钥压缩签名值的第二位数值时,需要根据签名请求信息,计算得到请求信息的摘要,然后根据摘要信息得到公钥压缩签名值的第二位数值,当数字签名请求信息的摘要与曲线点坐标中的横坐标的和大于基点的阶数值,对公钥压缩模板中的第二位
赋值1数值;当数字签名请求信息的摘要与曲线点坐标中的横坐标的和不大于基点的阶数值,对公钥压缩模板中的第二位赋值0数值。
66.计算摘要时,使用sm3算法,sm3算法的算法结构是使用的merkle-da mgard结构,如果消息过长,会将消息分组为512比特单位长的切片,摘要长度256比特。压缩函数状态256比特,共64步操作步骤。
67.在sm3算法消息填充方面,原始消息(包括密钥和初始消息)长度也是要小于264位的,填充的方法是先在原始消息的最后加一位“1”,再添加k个“0”,最终要使l 1 k除以512后的余数为448,取其最小的非负整数。然后用一个64位的比特串标识原始消息的长度l。填充后的消息m正好是512位的倍数。下面举一个不带密钥的sm3杂凑算法消息填充的示例来帮助大家理解。如一个原始消息(本示例不带密钥,“原始消息”也即前面的“初始消息”)为:01010101111010 1111010100001一共27位,即l=24。先在原始的最后加一位“1”,这时一共就有28位了;再用448-28,得到还需要在再后面添加420位的“0”;再在最后用64位来表示原始消息长度“27”,得到用于标识原始消息长度的64位值为:000......00(前面一共有59位“0”)11011。填充后整个用于生成摘要的消息为512位。迭代压缩是sm3算法的关键,首先将第一个512位的消息块利用对应的压缩函数,压缩成某一固定长度的比特串;然后再将第一个512位消息块压缩后的固定长度比特串(具体长度与整个消息所划分的512位块多少有关),以及第二个512位消息块一起再利用压缩函数,又压缩成某一固定长度的比特串;然后再将这个比特串再将作为第三个512位消息块压缩运算的输入,连同第三个512位消息块一起利用压缩函数,再压缩成某一固定长度的比特串,以此类推;直到最后一个512位消息也被压缩成同样固定长度的比特串。最后再将所有这些512位消息块压缩后的固定长度比特串依次串联起来就是最终的摘要值了
68.摘要算法又被称为哈希算法,它的原理是导入随意长度的数据信息,导出确定长度的数据信息,同样的输入签名请求信息始终获得同样的输出,不一样的导入数据信息尽量获得不一样的导出。
69.s13:将所述公钥压缩签名值与预先得到的原始的一组签名值作为压缩结果输出。
70.在步骤s13中,根据公钥压缩签名值与预先得到的原始的一组签名值作为压缩结果输出,预先得到的原始的一组签名值通过原有的签名公式得到,原始的一组签名值包括两个签名信息,第一个签名信息通过含有摘要信息,曲线点坐标信息,以及基点的阶的签名计算公式得到,第二个签名信息通过含有私钥,任意数值,第一签名信息以及基点的阶的签名公式计算得到。得到原始的一组签名信息后,与公钥压缩签名值作为新的签名值信息输出。
71.本实施例中,计算原始的一组签名值中的第一个签名信息时,首先计算摘要值与曲线点坐标中的横坐标的和,然后计算摘要值与曲线点坐标中的横坐标的和,对基点的阶数值求余,得到原始的一组签名值中的第一个签名信息。
72.需要说明的是,计算原始的一组签名值时,是在整数域上进行的,所以这一步的加法是带进位的,而求余运算也是在整数域上进行的。
73.计算原始的一组签名值中的第二个签名信息时,通过含有私钥,任意数值,第一签名信息以及基点的阶的签名公式计算得到,签名公式中包含逆运算以及求余运算,这一步也是在整数域上进行的,即减法是正常的减法,不像有限域上无进位可当成加法处理,求逆
运算可以通过有限域上的幂指数运算来实现。
74.计算得到的原始的一组签名值与公钥压缩签名值作为新的签名值信息输出,相较于原始的一组签名值,增加了公钥的压缩值,从而达到了公钥压缩的目的。
75.请参阅图2,图2示出了本技术实施例提供的一种基于国密算法的签名公钥解压缩方法实现流程图。
76.如图2所示,一种基于国密算法的签名公钥解压缩方法,包括:
77.s21:基于输入的公钥压缩签名值与预先得到的原始的一组签名值,通过计算得到曲线点坐标;
78.在步骤s21中,输入的公钥压缩签名值与预先得到的原始的一组签名值为签名请求信息输出的签名值相等,根据输入的公钥压缩签名值与预先得到的原始的一组签名值得到曲线点坐标。
79.本实施例中,对公钥解压缩的过程中,首先得到曲线点坐标,曲线点坐标的横坐标根据公钥压缩签名值与先得到的原始的一组签名值中的第一个签名信息得到,曲线点坐标的纵坐标通过将曲线点坐标中的横坐标带入到椭圆曲线方程中得到。根据得到的曲线点坐标,从而得到任意数值与基点坐标的数乘。
80.s22:按照预先设置的公钥解压缩公式,基于所述曲线点坐标,通过计算得到公钥。
81.在步骤s22中,公钥解压缩公式中的参数因子为输入的预先得到的原始的一组签名值,以及曲线点坐标,将公钥拆分为含有这些参数的公式,根据这些参数得到公钥的解压缩值。
82.本实施例中,将公钥的解压缩公式拆分为带有输入的已知数据的参数形式,公钥的解压缩公式如式(1):
83.p=dg=(s r)^-1(kg rg)-g
ꢀꢀ
(1)
84.其中,p为公钥,d为私钥,g为椭圆曲线的基点坐标,^为逆运算,k为小于基点的阶的任意数值,则kg为曲线点坐标,r为原始的一组签名值中的第一个签名信息,s为原始的一组签名值中的第二个签名信息。kg为曲线点坐标,已经通过步骤s21得到,r,s,g为已知输入的数据,所以可以得到公钥的值。
85.需要说明的是,在计算rg的值时,类似于一个大数乘以基点坐标,与任意数值与基点坐标进行数乘的步骤相同,运用到的数乘算法中倍点和倍加运算,计算复杂度较高,所以对基点坐标进行点乘值预处理,得到的点乘值集合与第一点乘值集合中的数值相等,乘值集合中的包含从1到255的基点的点乘值,在进行倍点运算时,直接从第一点乘值集合中选取出对应点乘值,直接计算,减少了计算时间。
86.当解压缩得到公钥时,基于公钥的值,对预先得到的原始的一组签名值进行验证,若验证结果与生成的原始的一组签名值相等,则验证通过,若验证结果与生成的原始的一组签名值不相等,则验证不通过,说明数字签名不是指定用户端发送的数字签名请求信息。
87.本发明涉及数据处理技术领域,提供了一种基于国密算法的签名公钥压缩方法,基于用户端发送的数字签名请求信息中的基点坐标,通过计算得到曲线点坐标,用于对预先设置的公钥压缩模板进行赋值,将公钥压缩至公钥压缩模板中,得到一个长度较短的公钥压缩签名值,以较短的公钥压缩签名值代替公钥值信息,降低应用系统对公钥的储存压力,在后续数字签名请求信息进行验证时,可以根据公钥压缩签名值得到公钥值信息,直接
利用公钥压缩签名值对数字签名请求信息进行验证,提高了后续数字签名请求信息的验证效率。
88.请参阅图3,图3为本技术实施例提供的一种基于国密算法的签名公钥压缩方法装置结构框图。本实施例中基于国密算法的签名公钥压缩方法装置包括3个单元用于执行图1对应的实施例中的各步骤,具体请参阅图1以及图1所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图3,基于国密算法的签名公钥压缩方法装置30包括:计算单元31,赋值单元32,输出单元33,其中:
89.计算单元31,用于基于用户端发送的数字签名请求信息中的基点坐标,通过计算得到曲线点坐标;
90.赋值单元32,用于按照预先设置的赋值规则,基于所述曲线点坐标中的数值信息,对预先设置的公钥压缩模板进行赋值,构建公钥压缩签名值;
91.输出单元33,用于将所述公钥压缩签名值与预先得到的原始的一组签名值作为压缩结果输出。
92.作为本技术一实施例,计算单元31具体用于,对用户端发送的数字签名请求信息中的基点坐标进行点乘值预处理,得到第一点乘值集合;基于所述第一点乘值集合以及随机数发生器生成的任意数值,通过计算,得到曲线点坐标。
93.作为本技术一实施例,赋值单元32具体用于,基于所述曲线点坐标中的纵坐标的奇偶性,对所述预先设置的公钥压缩模板中的第一位赋值不同的数值,得到所述公钥压缩签名值的第一位数值;基于预先得到的所述数字签名请求信息的摘要与所述曲线点坐标中的横坐标的大小,对所述预先设置的公钥压缩模板中的第二位赋值不同的数值,得到所述公钥压缩签名值的第二位数值;基于所述公钥压缩签名值第一位数值与所述公钥压缩签名值的第二位数值,构建所述公钥压缩签名值
94.作为本技术一实施例,一种基于国密算法的签名公钥压缩方法装置30还包括:
95.第一执行单元34:用于当所述曲线点坐标中的纵坐标为奇数时,对所述公钥压缩模板中的第一位赋值0数值;当所述曲线点坐标中的纵坐标为偶数时,对所述公钥压缩模板中的第一位赋值1数值。
96.第二执行单元35:用于当所述数字签名请求信息的摘要与所述曲线点坐标中的横坐标的和大于所述基点的阶数值,对所述公钥压缩模板中的第二位赋值1数值;当所述数字签名请求信息的摘要与所述曲线点坐标中的横坐标的和不大于所述基点的阶数值,对所述公钥压缩模板中的第二位赋值0数值。
97.应当理解的是,图3示出的一种基于国密算法的签名公钥压缩方法装置的结构框图中,各单元用于执行图1对应的实施例中的各步骤,而对于图1对应的实施例中的各步骤已在上述实施例中进行详细解释,具体请参阅图1以及图1所对应的实施例中的相关描述,此处不再赘述。
98.请参阅图4,图4为本技术实施例提供的一种基于国密算法的签名公钥解压缩方法装置结构框图。本实施例中解密装置包括2个单元用于执行图2对应的实施例中的各步骤,具体请参阅图2以及图2所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图4,基于国密算法的签名公钥解压缩方法装置40包括:输入单元41,解压缩单元42,其中:
99.输入单元41,用于基于输入的公钥压缩签名值与预先得到的原始的一组签名值,通过计算得到曲线点坐标;
100.解压缩单元42,用于按照预先设置的公钥解压缩公式,基于所述曲线点坐标,通过计算得到公钥。
101.应当理解的是,图4示出的一种基于国密算法的签名公钥解压缩方法装置的结构框图中,各单元用于执行图2对应的实施例中的各步骤,而对于图2对应的实施例中的各步骤已在上述实施例中进行详细解释,具体请参阅图2以及图2所对应的实施例中的相关描述,此处不再赘述。
102.在一个实施例中,提供了一种计算机设备,该计算机设备为服务器,其内部结构图可以如图5所示。该计算机设备50包括通过系统总线52连接的处理器51、内存储器53、网络接口54。其中,该计算机设备的处理器51用于提供计算和控制能力。该计算机设备50的存储器包括可读存储介质55、内存储器53。该可读存储介质55存储有操作系统56、计算机可读指令57和数据库58。该内存储器53为可读存储介质55中的操作系统56和计算机可读指令57的运行提供环境。该计算机设备50的网络接口54用于与外部的终端通过网络连接通信。该计算机可读指令57被处理器51执行时以实现一种基于国密算法的签名公钥压缩及解压缩方法。本实施例所提供的可读存储介质55包括非易失性可读存储介质和易失性可读存储介质。
103.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性可读取存储介质或易失性可读存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
104.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
105.以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献