[发明专利]一种软硬件协同的SM2椭圆曲线密码算法实现方法在审
申请号: | 202210347648.0 | 申请日: | 2022-04-01 |
公开(公告)号: | CN114650135A | 公开(公告)日: | 2022-06-21 |
发明(设计)人: | 邓尧慷;杜歆 | 申请(专利权)人: | 浙江大学 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L9/30;H04L9/32 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 邱启旺 |
地址: | 310058 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软硬件 协同 sm2 椭圆 曲线 密码 算法 实现 方法 | ||
本发明公开了一种软硬件协同的SM2椭圆曲线密码算法实现方法。在CPU软件端运行SM2密码协议,将其中计算复杂度最高的标量乘运算通过软件/硬件接口交由FPGA硬件端执行;FPGA硬件端实现一个通用的高性能标量乘运算模块,快速完成标量乘运算并通过软件/硬件接口返回运算结果;软件端取回标量乘运算结果后继续执行协议,向上层应用返回协议结果。该方法在软件端适配协议的更改,硬件端无需重新配置,具有运算性能高,通用性、可扩展性强的特点,可用于加密服务器等场合,尤其适用于有高吞吐的加密操作,且需要频繁更改使用的SM2密码协议的场景。
技术领域
本发明涉及信息安全技术领域,尤其涉及一种软硬件协同的SM2椭圆曲线密码算法实现方法。
背景技术
椭圆曲线密码(Elliptic Curve Cryptography,ECC)算法是一种基于椭圆曲线的公开密钥密码算法,最早于1985年由Neal Koblitz和Victor Miller分别独立地提出。与另一种公钥密码算法—RSA算法相比,ECC算法具有更高的安全性和更小的密钥长度,在数字签名、信息安全、区块链等领域具有广泛的应用。
自1998年起,一些国际标准化组织陆续制定了ECC的标准,如ANSI公布的ANSI-X9.62、ANSI-X9.63标准,IEEE公布的IEEE-P1363标准等。SM2椭圆曲线密码算法是我国自行研发并具有自主知识产权的ECC算法,于2017年底纳入ISO/IEC国际标准。
目前的SM2椭圆曲线密码算法实现方法可分为软件实现和硬件实现两类。软件方法实现具有设计开发成本低、便于维护等优点;硬件方法实现具有算法性能高、功耗低等优点。
在以往的SM2椭圆曲线密码算法实现方法中存在的主要问题有:(1)软件方法实现的算法性能低,无法满足高吞吐的场景需求;(2)硬件方法实现的通用性、扩展性较差,二次开发、升级的成本较大。
发明内容
本发明的目的在于针对现有技术的不足,提供一种软硬件协同的SM2椭圆曲线密码算法实现方法。
本发明的目的是通过以下技术方案来实现的:一种软硬件协同的SM2椭圆曲线密码算法实现方法,该方法包含如下步骤:
S101:设定椭圆曲线参数;
S102:选择SM2椭圆曲线密码算法协议;
S103:软件端执行步骤S102选取的密码算法协议,通过软件/硬件接口向硬件端下发标量乘运算请求;
S104:硬件端响应步骤S103中软件端下发的标量乘运算请求,执行标量乘运算,并将运算结果通过软件/硬件接口返回软件端;
S105:软件端取回步骤S104中硬件端返回的运算结果,继续执行协议,若协议中仍有待执行的标量乘运算,则返回步骤S103;
S106:输出密码算法协议返回值。
进一步地,所述步骤S101中,设定的椭圆曲线参数为GB/T 32918.5-2017标准规定的SM2椭圆曲线公钥密码算法的曲线参数。
进一步地,所述步骤S102中,所述SM2椭圆曲线密码算法协议包括密钥对生成协议、数字签名生成协议、数字签名验证协议、消息加密协议和消息解密协议。
进一步地,所述步骤S103中,软件端实现SM2椭圆曲线密码算法协议,由CPU负责执行,并通过软件/硬件接口调用硬件端完成标量乘运算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210347648.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:火苗的检测方法、系统、设备和存储介质
- 下一篇:一种收获机的控制系统