[发明专利]一种基于OpenSSL的国密算法硬件加速方法有效
| 申请号: | 202210828864.7 | 申请日: | 2022-07-15 | 
| 公开(公告)号: | CN114915405B | 公开(公告)日: | 2022-11-11 | 
| 发明(设计)人: | 李帅;张志成;杨沙洲;赵峰 | 申请(专利权)人: | 麒麟软件有限公司 | 
| 主分类号: | H04L9/06 | 分类号: | H04L9/06 | 
| 代理公司: | 北京汇智英财专利代理有限公司 11301 | 代理人: | 赵大宁 | 
| 地址: | 300450 天津市滨海新区*** | 国省代码: | 天津;12 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 一种 基于 openssl 算法 硬件加速 方法 | ||
本发明涉及一种基于OpenSSL的国密算法硬件加速方法,获取CPU型号,判断是否为兆芯相关的CPU型号,判断其是否支持用于硬件加速的GMI指令,如果不支持GMI指令,正常调用OpenSSL的evp接口进行软加解密;如果支持GMI指令,初始化支持硬件加速加解密的相关参数,调用相关接口进行数据传输的硬件加速加解密;本方法可以使OpenSSL实现硬件加速加解密,处理速度提高明显。
技术领域
本专利申请属于硬件加解密技术领域,更具体地说,是涉及一种基于OpenSSL的国密算法硬件加速方法。
背景技术
随着互联网、物联网的快速发展,网络和信息安全事件不断出现,因此信息安全越来越受到各个行业的广泛重视,而密码学算法是信息安全的核心技术和基础支撑,可以说是整个信息安全的灵魂所在。
国密算法是指由国家密码管理局颁布的一系列密码学算法标准,包括SM1、SM2、SM3、SM4、SM7、SM9以及祖冲之密码算法(ZUC)等一系列的密码算法。其中,SM1、SM4、SM7以及ZUC属于对称加密算法,SM2、 SM9属于非对称密码算法,而SM3是密码杂凑算法,也即常见的哈希算法。
OpenSSL是一套应用广泛的、开源的支持传输层安全协议的密码学基础库和全功能软件包,也已经支持国密SM2、SM3、SM4等加密算法。
硬件加速则需要兆芯硬件支持,由兆芯设计实现的GMI是一组硬件加速指令集,目前已经实现了两条CPU指令,分别用于加速国密算法SM3和SM4。
目前的OpenSSL高版本虽然已经支持国密算法,但仅仅只能做到软加解密,计算速度慢,性能相对较低。无法做到硬件加速加解密。
软加解密,完全由软件实现的方式,不需要其他的硬件设备进行的加解密,往往被称作软加解密。
硬件加速加解密,是指在软加解密的基础上使用硬件设备的高性能等特点,把原本比较复杂的编码算法,进行硬件指令化,简化操作复杂度,提高计算速度和性能。
发明内容
本发明需要解决的技术问题是提供一种基于OpenSSL的国密算法硬件加速方法,以使OpenSSL实现硬件加速加解密。
为了解决上述问题,本发明所采用的技术方案是:
一种基于OpenSSL的国密算法硬件加速方法,包括如下步骤:
步骤S1、初始化OpenSSL,输入加解密类型;
步骤S2、获取CPU型号,判断是否为兆芯相关的CPU型号;
步骤S3、如果不属于兆芯相关的CPU型号,执行步骤S5;
步骤S4、如果属于兆芯相关的CPU型号,判断其是否支持用于硬件加速的GMI指令,如果不支持GMI指令,执行步骤S5;如果支持GMI指令,执行步骤S6;
步骤S5、正常调用OpenSSL的evp接口进行软加解密;
步骤S6、初始化支持硬件加速加解密的相关参数,调用相关接口进行数据传输的硬件加速加解密;
步骤S7、步骤S5或步骤S6执行后(硬件加速加解密或软加解密执行后),释放空间。
本发明技术方案的进一步改进在于:步骤S1中,加解密类型是软加解密类型,即OpenSSL中的SM3,以及SM4的ecb、cbc、cfb、ofb、ctr五种模式加解密类型。
本发明技术方案的进一步改进在于:步骤S2中,通过调用汇编语言获取CPU型号,与兆芯相关的CPU型号包括ZX-C、ZX-D和ZX-E。
本发明技术方案的进一步改进在于:步骤S6中,硬件加速加解密适用的算法为SM3算法和SM4算法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于麒麟软件有限公司,未经麒麟软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210828864.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电机轴承故障诊断方法
 - 下一篇:一种算法包的更新方法及设备
 





