[发明专利]一种软硬件协同的SM2椭圆曲线密码算法实现方法在审
| 申请号: | 202210347648.0 | 申请日: | 2022-04-01 |
| 公开(公告)号: | CN114650135A | 公开(公告)日: | 2022-06-21 |
| 发明(设计)人: | 邓尧慷;杜歆 | 申请(专利权)人: | 浙江大学 |
| 主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L9/30;H04L9/32 |
| 代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 邱启旺 |
| 地址: | 310058 浙江*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 软硬件 协同 sm2 椭圆 曲线 密码 算法 实现 方法 | ||
1.一种软硬件协同的SM2椭圆曲线密码算法实现方法,其特征在于,该方法包含如下步骤:
S101:设定椭圆曲线参数;
S102:选择SM2椭圆曲线密码算法协议;
S103:软件端执行步骤S102选取的密码算法协议,通过软件/硬件接口向硬件端下发标量乘运算请求;
S104:硬件端响应步骤S103中软件端下发的标量乘运算请求,执行标量乘运算,并将运算结果通过软件/硬件接口返回软件端;
S105:软件端取回步骤S104中硬件端返回的运算结果,继续执行协议,若协议中仍有待执行的标量乘运算,则返回步骤S103;
S106:输出密码算法协议返回值。
2.根据权利要求1所述的软硬件协同的SM2椭圆曲线密码算法实现方法,其特征在于,所述步骤S101中,设定的椭圆曲线参数为GB/T 32918.5-2017标准规定的SM2椭圆曲线公钥密码算法的曲线参数。
3.根据权利要求1所述的软硬件协同的SM2椭圆曲线密码算法实现方法,其特征在于,所述步骤S102中,所述SM2椭圆曲线密码算法协议包括密钥对生成协议、数字签名生成协议、数字签名验证协议、消息加密协议和消息解密协议。
4.根据权利要求1所述的软硬件协同的SM2椭圆曲线密码算法实现方法,其特征在于,所述步骤S103中,软件端实现SM2椭圆曲线密码算法协议,由CPU负责执行,并通过软件/硬件接口调用硬件端完成标量乘运算。
5.根据权利要求1所述的软硬件协同的SM2椭圆曲线密码算法实现方法,其特征在于,所述步骤S104中,硬件端为在FPGA上实现的4个子模块:标量乘运算控制器子模块、点加运算控制器子模块、点倍运算控制器子模块、模运算子模块;其中,标量乘运算控制模块采用状态机方式实现,根据随机数k的NAF编码结果h组织进行点加运算与点倍运算;点加运算控制模块与点倍运算控制模块均采用状态机方式实现,按Jacobian坐标系下的计算公式组织进行模乘、模加和模减运算;模运算模块是执行具体的计算任务的模块,包括模乘运算、模加运算、模减运算和模逆运算4种运算模式。
6.根据权利要求1所述的软硬件协同的SM2椭圆曲线密码算法实现方法,其特征在于,所述步骤S103-S105中,在CPU软件端和FPGA硬件端之间进行数据传输的软件/硬件接口为PCIE高速总线接口。
7.根据权利要求3所述的软硬件协同的SM2椭圆曲线密码算法实现方法,其特征在于,支持的密钥对生成协议、数字签名生成协议、数字签名验证协议、消息加密协议和消息解密协议分别需要调用硬件端模块进行至少1、1、2、2、1次标量乘运算。
8.根据权利要求5所述的软硬件协同的SM2椭圆曲线密码算法实现方法,其特征在于,FPGA硬件端标量乘运算电路模块的标量乘运算控制器子模块用于调用点加运算和点倍运算模块,实现标量乘运算。
9.根据权利要求5所述的软硬件协同的SM2椭圆曲线密码算法实现方法,其特征在于,FPGA硬件端标量乘运算电路模块的点加运算控制器子模块和点倍运算控制器子模块用于调度模运算子模块,分别实现点加运算和点倍运算。
10.根据权利要求5所述的软硬件协同的SM2椭圆曲线密码算法实现方法,其特征在于,FPGA硬件端标量乘运算电路模块的模运算子模块支持模乘运算、模加运算、模减运算、模逆运算4种运算模式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210347648.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:火苗的检测方法、系统、设备和存储介质
- 下一篇:一种收获机的控制系统





