[发明专利]一种基于SM2加解密算法的签名验签系统和方法在审
申请号: | 201710183058.8 | 申请日: | 2017-03-24 |
公开(公告)号: | CN107147488A | 公开(公告)日: | 2017-09-08 |
发明(设计)人: | 郑欣;徐崇耀;熊晓明 | 申请(专利权)人: | 广东工业大学 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L9/30;H04L9/32 |
代理公司: | 广东广信君达律师事务所44329 | 代理人: | 杨晓松 |
地址: | 510062 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 sm2 解密 算法 签名 系统 方法 | ||
1.一种基于SM2加解密算法的签名验签系统,其特征在于:包括软件模块(1)和硬件模块(2);所述硬件模块(2)包括运算模块(3)、寄存器(4)以及随机数发生器(5);其中,
所述随机数发生器(5),产生用于算法的随机数、分别对明密文进行加解密的对称密钥、分别对对称密钥进行加解密的接收方公钥和私钥以及分别对摘要和数字签名进行加密和解密的发送方私钥和公钥;
所述运算模块(3),用于运算加解密过程中SM2、SM3以及SM4的算法;
所述软件模块(1),用于实现签名验签功能;
所述寄存器(4),被软件模块(1)访问调度运算模块(3)。
2.一种用于权利要求1所述的基于SM2加解密算法的签名验签系统的方法,其特征在于:包括签名加密和验签解密,其中,
签名加密包括以下步骤:
1)调用随机数发生器产生对称密钥、发送方公钥和私钥、接收方公钥和私钥;
2)软件模块通过访问寄存器调度运算模块进行SM4加密算法运算,使在对称密钥的基础上对所要发送的明文进行加密,得到报文密文;
3)软件模块通过访问寄存器调度运算模块进行SM2加密算法运算,使在接收方公钥的基础上对对称密钥进行加密,得到对称密钥密文;
4)软件模块通过访问寄存器调度运算模块对步骤2)得到的报文密文进行SM3算法运算,形成摘要;
5)软件模块通过访问寄存器调度运算模块进行SM2加密算法运算,使在发送方私钥的基础上对步骤4)形成的摘要进行加密,生成数字签名;
6)发送方将数字签名和报文密文一起发送给接收方;
验签解密包括以下步骤:
(1接收方接收发送过来的数字签名和报文密文;
(2软件模块通过访问寄存器调度运算模块对报文密文进行SM3算法运算,得到新的摘要;
(3软件模块通过访问寄存器调度运算模块进行SM2解密算法运算,使在发送方公钥的基础上对数字签名进行解密,得到原来的摘要;
(4对两个摘要进行对比,若相同则软件模块通过访问寄存器调度运算模块进行SM2解密算法运算,使在接收方私钥的基础上对对称密钥密文进行解密,得到对称密钥;
(5软件模块通过访问寄存器调度运算模块进行SM4算法运算,使在对称密钥的基础上对报文密文进行解密,得到明文。
3.根据权利要求2所述的一种用于基于SM2加解密算法的签名验签系统的方法,其特征在于:所述SM3算法由软硬件协同实现,其中,SM3算法由运算模块执行,过程如下:
1))填充
SM3对消息长度小于为2^64位进行运算,假设消息m的长度为l比特,先将比特“1”添加到消息的末尾,另添加k个“0”,k为满足l+1+k=448mod512的最小的非负整数,然后另添加一个64位比特串,该比特串为长度l的二进制表示,填充后的消息m′的比特长度为512的倍数;
2))迭代压缩
先进行消息扩展,之后迭代与压缩,其扩展与压缩计算以循环移位为主,并有异或计算,填充的消息经扩展后再进行64轮迭代,最后计算出杂凑结果;
SM3算法的软件调度部分如下:
通过配置硬件寄存器的地址,对所有的接口寄存器进行访问,其中需要调度的有状态寄存器、控制寄存器和数据寄存器;根据大小端的不同,将数据写入输入寄存器,通过对控制寄存器的操作实现相应的运算,对状态寄存器的读取,判断计算是否完成,在计算完成后读取输出寄存器的值作为输出。
4.根据权利要求2所述的一种用于基于SM2加解密算法的签名验签系统的方法,其特征在于:所述SM2加解密算法由软硬件协同实现,计算部分由运算模块实现,软件部分实现签名验签功能。
5.根据权利要求4所述的一种用于基于SM2加解密算法的签名验签系统的方法,其特征在于:所述SM2加解密算法实现签名验签过程中需要对输入数据进行预处理,预处理中用到的数据均采用大端表示法,在此过程中需要两次求得字节流的杂凑值,最终的杂凑值即明文的摘要作为签名函数的真正输入。
6.根据权利要求4所述的一种用于基于SM2加解密算法的签名验签系统的方法,其特征在于:所述SM2加解密算法包括模运算和点运算;其中,模运算包括模加、模减、模乘、模逆,模乘运算采用交错算法,模逆采用二进制欧拉算法,同时将模乘、模逆合并实现模逆乘;点运算包括点加、点乘、倍点运算,点加、倍点调度引入投影坐标,减少模逆的运算时间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东工业大学,未经广东工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710183058.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:载波聚合中激活去激活的控制方法、系统和基站
- 下一篇:一种改进的网络交换机