[发明专利]实现OpenSSL支持SM2算法的方法有效
申请号: | 201410153072.X | 申请日: | 2014-04-16 |
公开(公告)号: | CN104852803B | 公开(公告)日: | 2019-04-23 |
发明(设计)人: | 华刚;邵波 | 申请(专利权)人: | 航天信息股份有限公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32 |
代理公司: | 北京工信联合知识产权代理有限公司 11266 | 代理人: | 黄晓军 |
地址: | 100195 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实现 openssl 支持 sm2 算法 方法 | ||
1.一种实现OpenSSL支持SM2算法的方法,其特征在于,包括:
在OpenSSL的代码文件中增加重命名的摘要算法的算法描述;
在OpenSSL的代码文件中增加SM2算法的曲线参数描述及其参数;
在OpenSSL的引擎机制中增加支持重命名的摘要算法的第一新引擎;
在OpenSSL的引擎机制中增加对SM2算法进行支持的第二新引擎;
所述第一新引擎在被OpenSSL所调用时,获取所述重命名的摘要算法的算法描述,根据所述重命名的摘要算法的算法描述通过调用OpenSSL本身的摘要算法来实现重命名的摘要算法;
所述第二新引擎在被OpenSSL所调用时,获取调用参数,判断所述调用参数是否为SM2算法的曲线参数描述及其参数,若是,根据所述SM2算法的曲线参数描述及其参数来实现SM2算法;否则调用OpenSSL本身的ECC的算法实现的API来实现;
通过修改OpenSSL的命令代码,将所述第一新引擎、第二新引擎的启动置于OpenSSL的中所有其他API调用之前。
2.根据权利要求1所述的实现OpenSSL支持SM2算法的方法,其特征在于,所述的方法还包括:
在OpenSSL的代码文件中增加“SM2算法-重命名摘要算法”的混合算法的算法描述及其分解成重命名的摘要算法和ECC算法的描述。
3.根据权利要求2所述的实现OpenSSL支持SM2算法的方法,其特征在于,所述的方法还包括:
修改OpenSSL的obj_dat.h和obj_mac.h文件,在obj_dat.h和obj_mac.h文件中增加“EH_SM2_WITH_摘要算法名”来表示“SM2签名-摘要”混合运算的算法描述;
修改OpenSSL的obj_xref.h文件,在obj_xref.h文件中增加“SM2签名-摘要”混合运算为ECC算法和重命名摘要算法组成的表示。
4.根据权利要求1所述的实现OpenSSL支持SM2算法的方法,其特征在于,所述的在OpenSSL的代码文件中增加重命名的摘要算法的算法描述,包括:
修改OpenSSL的obj_dat.h和obj_mac.h文件,在所述obj_dat.h和obj_mac.h文件增加重命名的摘要算法的算法描述。
5.根据权利要求1所述的实现OpenSSL支持SM2算法的方法,其特征在于,所述的在OpenSSL的代码文件中增加SM2算法的曲线参数描述及其参数,包括:
修改OpenSSL的obj_dat.h和obj_mac.h文件,在所述obj_dat.h和obj_mac.h文件中增加EH_SM2相关的定义,用EH_SM2来表示SM2的曲线参数描述,
修改OpenSSL的ec_curve.c文件,在ec_curve.c文件中增加SM2曲线参数的值。
6.根据权利要求1所述的实现OpenSSL支持SM2算法的方法,其特征在于,所述的第一新引擎在被OpenSSL所调用时,获取所述重命名的摘要算法的算法描述,根据所述重命名的摘要算法的算法描述通过调用OpenSSL本身的摘要算法来实现重命名的摘要算法,包括:
所述第一新引擎在被OpenSSL所调用时,获取所述重命名的摘要算法的算法描述,利用OpenSSL的Engine机制,在init()和update()和final()的接口实现中,分别调用OpenSSL本身的内部摘要算法来实现。
7.根据权利要求1所述的实现OpenSSL支持SM2算法的方法,其特征在于,所述的方法还包括:
在OpenSSL的命令或者API调用时,确定非对称算法为SM2算法,摘要算法为重命名的摘要算法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天信息股份有限公司,未经航天信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410153072.X/1.html,转载请声明来源钻瓜专利网。