[发明专利]一种基于SM2加解密算法的签名验签系统和方法在审
申请号: | 201710183058.8 | 申请日: | 2017-03-24 |
公开(公告)号: | CN107147488A | 公开(公告)日: | 2017-09-08 |
发明(设计)人: | 郑欣;徐崇耀;熊晓明 | 申请(专利权)人: | 广东工业大学 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L9/30;H04L9/32 |
代理公司: | 广东广信君达律师事务所44329 | 代理人: | 杨晓松 |
地址: | 510062 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 sm2 解密 算法 签名 系统 方法 | ||
技术领域
本发明涉及网络空间安全的技术领域,尤其涉及到一种基于SM2加解密算法的签名验签系统和方法。
背景技术
随着网络安全问题日趋严重,造成的影响越来越大,数字签名验签应运而生;数字签名可实现用户身份的可靠性;实现信息的完整性;确保数据在存储、传输和处理的过程中免遭任何非授权的或非预期的修改、插入、删除、重发等破坏,从而实现数据的真实性、有效性和一致性;实现抗抵赖性,通过数字签名确保信息的发送方不能抵赖曾经发送的信息,不能否认自己的操作行为。
SM2算法是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法,其与RSA算法相比更先进安全,被应用于数字签名验签。
目前很多软件方法实现SM2签名验签步骤中的运算模块都采用了OpenSSL安全套接字层密码库,该囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。但缺点是:(1)OpenSSL被曝出现了严重安全漏洞,黑客可利用此漏洞直接对个人电脑发起“心脏出血”(Heartbleed)攻击;Windows上有大量软件使用了存在漏洞的OpenSSL代码库,可能被黑客攻击抓取用户电脑上的内存数据,安全性较差。(2)单纯使用软件方法实现SM2签名验签,其运算速度较慢,不能满足用户的需求。
而若单纯地通过硬件实现签名验签,其不可操作性和较差的兼容性也决定了其跟不上多元化时代的步伐。
发明内容
本发明的目的在于克服现有技术的不足,提供一种软硬件协同合作、安全性高、可控性强、兼容性好、运算效率高的基于SM2加解密算法的签名验签系统。
为实现上述目的,本发明所提供的技术方案为:包括软件模块和硬件模块;所述硬件模块包括运算模块、寄存器以及随机数发生器;其中,
所述随机数发生器,产生用于算法的随机数、分别对明密文进行加解密的对称密钥、分别对对称密钥进行加解密的接收方公钥和私钥以及分别对摘要和数字签名进行加密和解密的发送方私钥和公钥;
所述运算模块,用于运算加解密过程中SM2、SM3以及SM4的算法;该三种算法均为国密算法,由国家密码局发布;其中,SM2算法为椭圆曲线公钥密码算法,SM2标准包括总则,数字签名算法,密钥交换协议,公钥加密算法四个部分,数字签名算法,密钥交换协议以及公钥加密算法都使用了国家密管理局批准的SM3算法和随机数发生器;SM3算法为杂凑算法,给出了杂凑函数算法的计算方法和计算步骤,适用于商用密码应用中的数字签名和验证,消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求;SM4为对称算法,一个分组算法,用于无线局域网产品;解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
所述软件模块,用于实现签名验签功能;
所述寄存器,被软件模块访问调度运算模块。
为实现上述目的,本发明还提供一种用于基于SM2加解密算法的签名验签系统的方法,其包括签名加密和验签解密,其中,
签名加密包括以下步骤:
1)调用随机数发生器产生对称密钥、发送方公钥和私钥、接收方公钥和私钥;
2)软件模块通过访问寄存器调度运算模块进行SM4加密算法运算,使在对称密钥的基础上对所要发送的明文进行加密,得到报文密文;
3)软件模块通过访问寄存器调度运算模块进行SM2加密算法运算,使在接收方公钥的基础上对对称密钥进行加密,得到对称密钥密文;
4)软件模块通过访问寄存器调度运算模块对步骤2)得到的报文密文进行SM3算法运算,形成摘要;
5)软件模块通过访问寄存器调度运算模块进行SM2加密算法运算,使在发送方私钥的基础上对步骤4)形成的摘要进行加密,生成数字签名;
6)发送方将数字签名和报文密文一起发送给接收方;
验签解密包括以下步骤:
(1接收方接收发送过来的数字签名和报文密文;
(2软件模块通过访问寄存器调度运算模块对报文密文进行SM3算法运算,得到新的摘要;
(3软件模块通过访问寄存器调度运算模块进行SM2解密算法运算,使在发送方公钥的基础上对数字签名进行解密,得到原来的摘要;
(4对两个摘要进行对比,若相同则软件模块通过访问寄存器调度运算模块进行SM2解密算法运算,使在接收方私钥的基础上对对称密钥密文进行解密,得到对称密钥;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东工业大学,未经广东工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710183058.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:载波聚合中激活去激活的控制方法、系统和基站
- 下一篇:一种改进的网络交换机