(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210347648.0 (22)申请日 2022.04.01 (71)申请人 浙江大学 地址 310058 浙江省杭州市西湖区余杭塘 路866号 (72)发明人 邓尧慷 杜歆  (74)专利代理 机构 杭州求是专利事务所有限公 司 33200 专利代理师 邱启旺 (51)Int.Cl. H04L 9/08(2006.01) H04L 9/30(2006.01) H04L 9/32(2006.01) (54)发明名称 一种软硬件协同的SM2椭圆 曲线密码算法实 现方法 (57)摘要 本发明公开了一种软硬件协同的SM2椭圆 曲 线密码算法实现方法。 在CP U软件端运行SM2密码 协议, 将其中计算复杂 度最高的标量乘运算通过 软件/硬件接口交由FPGA硬件端执行; FPGA硬件 端实现一个通用的高性能标量乘 运算模块, 快速 完成标量乘 运算并通过软件/硬件接口返回运算 结果; 软件端取回标量乘运算结果后继续执行协 议, 向上层应用返回协议结果。 该方法在软件端 适配协议的更改, 硬件端无需重新配置, 具有运 算性能高, 通用性、 可扩展 性强的特点, 可用于加 密服务器等场合, 尤其适用于有高吞吐的加密操 作, 且需要频繁更改使用的SM2密码协议的场景。 权利要求书2页 说明书8页 附图7页 CN 114650135 A 2022.06.21 CN 114650135 A 1.一种软硬件协同的SM2椭圆曲线密码算法实现方法, 其特征在于, 该方法包含如下步 骤: S101: 设定椭圆曲线参数; S102: 选择SM2椭圆曲线密码算法协议; S103: 软件端执行步骤S102选取的密码算法协议, 通过软件/硬件接口向硬件端下发标 量乘运算请求; S104: 硬件端响应步骤S103中软件端下发的标量乘运算请求, 执行标量乘运算, 并将运 算结果通过软件/硬件接口返回软件端; S105: 软件端取 回步骤S104中硬件端返回的运算结果, 继续执行协议, 若协议中仍有待 执行的标量乘运 算, 则返回步骤S10 3; 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组织进 行点加运算与点倍运算; 点加运算控 制模块与点倍运算控制模块均采用状态机方式实现, 按J acobian坐标系下的计算 公式组织 进行模乘、 模加和模减运算; 模运算模块是执行具体的计算任务的模块, 包括模乘运算、 模 加运算、 模减运算和模逆运算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硬件端标量乘运算电路模块的点加运算控制器子模块和点倍运算控制器子模块用于 调度模运 算子模块, 分别实现点加运 算和点倍运算。权 利 要 求 书 1/2 页 2 CN 114650135 A 210.根据权利要求5所述的软硬件协同的SM2椭圆曲线密码算法实现方法, 其特征在于, FPGA硬件端标量乘运算电路模块的模运算子模块支持模乘 运算、 模加运算、 模减运算、 模逆 运算4种运算模式。权 利 要 求 书 2/2 页 3 CN 114650135 A 3

.PDF文档 专利 一种软硬件协同的SM2椭圆曲线密码算法实现方法

安全报告 > 其他 > 文档预览
中文文档 18 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共18页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种软硬件协同的SM2椭圆曲线密码算法实现方法 第 1 页 专利 一种软硬件协同的SM2椭圆曲线密码算法实现方法 第 2 页 专利 一种软硬件协同的SM2椭圆曲线密码算法实现方法 第 3 页
下载文档到电脑,方便使用
本文档由 思考人生2024-02-07 20:40:18上传分享
给文档打分
您好可以输入 255 个字符
网站域名是多少( 答案:github5.com )
评论列表
  • 暂时还没有评论,期待您的金玉良言
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。