[发明专利]一种SM2算法并行多路硬件实现方法有效

专利信息
申请号: 201910010722.8 申请日: 2019-01-07
公开(公告)号: CN111416717B 公开(公告)日: 2023-01-03
发明(设计)人: 刘歆;彭涛;郭春碌;朱剑;王训 申请(专利权)人: 中安网脉(北京)技术股份有限公司
主分类号: H04L9/30 分类号: H04L9/30
代理公司: 北京君有知识产权代理事务所(普通合伙) 11630 代理人: 潘丹
地址: 100070 北京市丰台*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 sm2 算法 并行 硬件 实现 方法
【权利要求书】:

1.一种SM2算法并行多路硬件实现方法,包括:客户端、FPGA、密码模块以及主控处理器;其中,所述客户端:用于创建会话,使用密码设备应用接口,以会话方式调用SM2密码运算接口;每个所述FPGA包含有FPGA模块1至模块4,每个模块均内置有卡内接口寄存器和PC侧接口寄存器,且所述卡内接口寄存器和PC侧接口寄存器共用存储器内的计算资源,减少数据复制带来的开销; 所述主控处理器内置有处理核,每个处理核含有1-4个内核,所述内核中轮询线程获取 状态队列中的状态数据,根据数据中的通道号唤醒对应通道的处理线程;其特征在于,每个客户端会话对应一路通道,每个通道的请求由对应的通道处理线程进行处理,FPGA为每个通道预分配计算资源,由于每个内核支持64个通道,4个内核支持256个多路通道,因此最大支持可以256个客户端会话;所述FPGA 的卡内寄存器接口组数与主控处理器的内核数目一致,以支持无锁并行计算;运行时,所述FPGA通过状态队列通知客户端、主控处理器;其中,状态队列与主控处理器的内核数目一致,以支持无锁并行计算;该方法中所述内接口寄存器、PC侧接口寄存器与状态队列分离设计,以减少数据复制带来的开销;

该方法包括:初始阶段和运行阶段;

初始阶段:1)FPGA为每个通道分配卡内、PC侧接口寄存器资源,计算资源;2) 主控处理器分配DMA资源、配置卡内寄存器,为每个处理核创建一个轮询线程,和FPGA进行通信,为每个通道创建处理线程;

运行阶段:1)客户端创建会话,调用SM2密码运算接口;

2)客户端将SM2密码运算请求数据发送到会话对应的通道中,同时写PC侧接口寄存器;

3)FPGA获取SM2密码运算请求数据,将数据写入到卡内寄存器,通过状态队列通知主控处理器;

4)主控处理器轮询线程获取状态队列中的状态数据,根据数据中的通道号唤醒对应通道处理线程;

5)通道处理线程从卡内寄存器中获取待处理数据,解析并处理请求转化为SM2运算原语请求写入到卡内接口寄存器,进入睡眠状态;

6)FPGA获取到卡内寄存器中的请求数据,调用对应通道计算资源进行SM2运算,将计算结果写入到卡内寄存器,通过状态队列通知主控处理器;

7)主控处理器轮询线程获取到状态数据后,唤醒对应通道处理线程继续处理,主线程处理结束后将处理结果写入卡内寄存;

8)FPGA获取处理结果,写入PC侧接口寄存器,通过状态队列通知客户端;

9)客户端从会话对应的通道中获取SM2响应数据。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中安网脉(北京)技术股份有限公司,未经中安网脉(北京)技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910010722.8/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top