[发明专利]Crypt-SHA512加密算法的加速装置与方法有效
| 申请号: | 201810562960.5 | 申请日: | 2018-06-04 | 
| 公开(公告)号: | CN108959128B | 公开(公告)日: | 2023-03-31 | 
| 发明(设计)人: | 陈敏珍;刘鹏 | 申请(专利权)人: | 浙江大学 | 
| 主分类号: | G06F12/14 | 分类号: | G06F12/14 | 
| 代理公司: | 杭州中成专利事务所有限公司 33212 | 代理人: | 金祺 | 
| 地址: | 310058 浙江*** | 国省代码: | 浙江;33 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | crypt sha512 加密算法 加速 装置 方法 | ||
1.利用加速装置进行Crypt-SHA512加密算法的加速方法,其特征在于:
Crypt-SHA512加密算法的加速装置,包括FPGA与通用CPU组成的CPU-FPGA异构系统,CPU和FPGA通过总线接口相互连接,所述CPU用于进行Crypt-SHA512加密算法初始化阶段和输出阶段的计算;所述FPGA用于进行Crypt-SHA512加密算法循环阶段的加速计算;所述CPU将Crypt-SHA512加密算法初始化阶段的计算结果发送至FPGA,由FPGA进行循环阶段加速计算后,FPGA再将计算结果发送至CPU进行输出阶段的计算;
在Crypt-SHA512加密算法的循环阶段进行加速,包括以下步骤:
(1)、预处理:将口令集合按照口令长度分成不同的口令子集;
(2)、粗粒度数据通路调整:
根据口令子集的口令长度和固定的盐值长度对FPGA进行重构,令粗粒度数据通路与该口令子集的口令长度和盐值长度相对应;
(3)、初始化计算:
将步骤(2)所得口令子集中口令,按照每组N个口令进行分组;
每组口令依次在CPU端进行初始化阶段的计算,CPU将N个口令的初始化计算结果通过总线接口传输到FPGA上的存储单元P mem、S mem和DL_1mem中;
(4)、迭代计算:
将消息分组填充所需的数据从存储单元P mem、S mem、DL_1mem或DL_2mem中经过对应细粒度数据通路流水化地输入到SHA-512计算单元中进行计算,计算的结果存放在DL_2mem或DL_1mem中;
进行下一次迭代计算时,数据选择器控制细粒度数据通路调整,重复步骤(4),直至完成迭代计算;
(5)口令认证:
SHA-512计算单元将步骤(4)完成迭代计算所得的计算结果输出至CPU;CPU根据这组N个口令的计算结果判断是否有正确的口令;如果没有正确口令,则取口令子集中的下一组N个口令重复步骤(4),直至在该口令子集中找到正确的口令,或将该口令子集中的口令全都计算和验证完;
当该口令子集中未找到正确的口令,则选取下一个口令子集重复步骤(2)至步骤(5)。
2.根据权利要求1所述的Crypt-SHA512加密算法的加速方法,其特征在于:
所述步骤(4)中细粒度数据通路调整方法为:
分析每次迭代的数据选择器的控制信号的变换规律,根据该控制信号的变换规律建立查找表;
依次输出查找表中的控制信号到对应的数据选择器,令对应的数据选择器控制细粒度数据通路的切换。
3.根据权利要求2所述的Crypt-SHA512加密算法的加速方法,其特征在于:
所述FPGA包括存储单元、状态控制器、数据选择器以及流水计算单元;
所述存储单元分别与CPU、数据选择器和流水计算单元相连;
所述数据选择器分别与状态控制器、存储单元和流水计算单元相连;
所述流水计算单元还与CPU相连;
所述存储单元存储用于消息分组填充的数据;
所述状态控制器用于控制状态转换并且向数据选择器输送对应的控制信号;
所述数据选择器根据控制信号从存储单元中选择用于消息分组填充的数据输送至流水计算单元;
所述流水计算单元用于对输入的消息分组填充的数据进行流水计算,并将循环阶段每次迭代的计算结果输出到存储单元,循环阶段最后一次迭代的计算结果输出到CPU。
4.根据权利要求3所述的Crypt-SHA512加密算法的加速方法,其特征在于:
所述数据选择器的数量与消息分组的字节数相同;
消息分组填充的数据的每个字节通过对应数据选择器由存储单元输送至流水计算单元。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810562960.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:地址转换方法、装置及系统
 - 下一篇:一种基于硬件的嵌入式系统机密性保护方法
 





