采用go语言实现硬件密码接口的方法、介质及装置制造方法及图纸

技术编号:34510559 阅读:35 留言:0更新日期:2022-08-13 20:56
本发明专利技术公开了采用go语言实现硬件密码接口的方法、存储介质和装置,方法包括:通过go语言接口调用C语言接口,启动密码设备,与设备建立的会话句柄后,生成密钥协商参数并输出,请求所述密码设备生成指定类型和模长的密钥对并输出;使用私钥对数据进行签名运算;采用CBC模式对数据进行加密,使用公钥对数据进行加密运算,将加密后的数据密文存储于缓冲区指针中;使用私钥对所述数据密文进行解密运算,输出明文;对数据进行哈希(MAC)运算,初始化杂凑运算,进而输入数据明文运算多包杂凑,完成后返回杂凑数据;关闭与所述密码设备已建立的会话,关闭密码设备,释放内存。本发明专利技术实现go语言层面对外输出硬件密码,以便增强应用的安全等级。级。级。

【技术实现步骤摘要】
采用go语言实现硬件密码接口的方法、介质及装置


[0001]本专利技术属于硬件密码接口
,具体涉及采用go语言实现硬件非对称密码接口的方法、存储介质及装置。

技术介绍

[0002]SDF接口(硬件密码接口)标准是国家密码行业标准GM/T 0018

2012《密码设备应用接口规范》中规定的有关密码设备应用接口的规范。
[0003]该标准的目标是为公钥密码基础设施应用体系框架下的服务类密码设备指定统一的应用接口标准,通过该接口调用密码设备,向上层提供基础密码服务,为该类密码设备的开发、使用及检测提供标准依据和指导。
[0004]目前,部分加密机厂商已经开始支持SDF接口标准,而SDF接口标准是针对 C语言为原型的接口,在其他语言中无法直接调用这些接口。
[0005]因此,亟需一种基于go语言和C语言的SDF接口的封装方法,这样在go语言类型的应用中,可以直接调用go语言的接口来操作支持SDF接口标准的加密机,方便应用实现自己的密码系统,增强应用的安全等级。

技术实现思路
<br/>[0006]本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种采用go语言实现硬件非对称密码接口的方法,其特征在于,具体实现步骤包括:通过go语言接口调用C语言接口,启动密码设备,所述C语言接口创建与密码设备的会话,连接动态连接库返回状态码,返回会话句柄和状态码;与密码设备建立会话句柄后,生成密钥协商参数并输出,根据所述密钥协商参数计算会话密钥,请求所述密码设备生成指定类型和模长的密钥对并输出,用公钥对所述会话密钥加密后输出;使用私钥对数据进行签名运算,将签名后的数据存入缓存区指针,使用公钥对签名值进行验证运算;采用CBC模式对数据进行加密,导入会话密钥并用私钥解密,同时返回密钥句柄,使用公钥对数据进行加密运算,将加密后的数据密文存储于缓冲区指针中;使用私钥对所述数据密文进行解密运算,输出明文;对数据进行哈希运算,传入算法标识、签名公钥、签名ID值和ID长度,初始化杂凑运算,进而输入数据明文运算多包杂凑,完成后返回杂凑数据;通过go语言接口调用C语言接口,连接动态连接库返回状态码,关闭与所述密码设备已建立的会话,关闭密码设备,释放内存。2.根据权利要求1所述的采用go语言实现硬件非对称密码接口的方法,其特征在于,启动设备和会话的实现步骤包括:采用go语言接口对接C语言接口启动打开密码设备,通过C语言接口触发动态连接库打开密码设备,返回所述密码设备句柄和状态码,将所述状态码转化为错误信息。3.根据权利要求1所述的采用go语言实现硬件非对称密码接口的方法,其特征在于,使用ECC密钥协商算法计算所述会话密钥,具体包括:协商发起方获取响应方返回的协商参数和协商句柄,使用SM2算法计算会话密钥,同时返回指定索引位置的ECC公钥、临时ECC密钥对的公钥、协商句柄及会话密钥句柄。4.根据权利要求1所述的采用go语言实现硬件非对称密码接口的方法,其特征在于,采用go语言接口生成密钥对,具体实现步骤包括:密码设备采用go语言接口对接C语言接口为公钥开辟内存空间,公钥指针返回到go语言接口;产生密钥对,传入会话句柄、密钥模长以及密钥对指针;通过C语言接口触发动态连接库生产密钥对,返回填充后的密钥对和状态码;通过go语言接口复制密钥对信息到go语言内存空间,并销毁C语言中给密钥对开辟的内存空间。5.根据权利要求1或4所述的采用go语言实现硬件非对称密码接口的方法,其特征在于,所述密钥对包括:RSA密钥对或ECC密钥对其中的一种。6.根据权利要求1所述的采用go语言实现硬件非对称密码接口的方法,其特征在于,所述生成会话密钥并用公钥加密输出,包括:使用内部RSA公钥加密、使用外部...

【专利技术属性】
技术研发人员:黄步添苑振霞罗春凤刘成永方航王建冲
申请(专利权)人:杭州云象网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1