[发明专利]PBKDF2密码算法加速方法及所用装置有效
申请号: | 201710411353.4 | 申请日: | 2017-06-05 |
公开(公告)号: | CN107135078B | 公开(公告)日: | 2019-12-20 |
发明(设计)人: | 丁庆缘;李顺斌;陈逸飞;刘鹏 | 申请(专利权)人: | 浙江大学 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/08 |
代理公司: | 33212 杭州中成专利事务所有限公司 | 代理人: | 金祺 |
地址: | 310058 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | pbkdf2 密码 算法 加速 方法 所用 装置 | ||
1.PBKDF2密码算法加速装置,包括由FPGA(1)与通用CPU(2)组成的CPU+FPGA异构系统,其特征是:
所述CPU(2)与FPGA(1)通过总线接口相连接;
所述CPU(2)用于对输入的口令进行预计算,并将预计算结果处理后通过总线接口传输至FPGA(1),以及用于读取并校验所述FPGA(1)加速计算后得到的结果数据;
所述FPGA(1)用于读取CPU(2)预计算的计算结果,并加速计算PBKDF2算法的循环体,将得到的结果数据通过总线接口传输至CPU(2);
所述FPGA(1)包含至少一个的用于PBKDF2算法中循环部分加速计算的IP核(11);
FPGA(1)中的单个循环部分的IP核(11)包括分组循环流水部分(111)、双BRAM输送存储数据部分(112)和分组交错处理部分(113),所述分组交错处理部分(113)分别与分组循环流水部分(111)和双BRAM输送存储数据部分(112)连接:
所述分组循环流水部分(111)用于将PBKDF2中运算次数最多的核心函数进行流水,并在数据进行分组后,将分组数据输入循环流水线进行计算;
所述双BRAM输送存储数据部分(112)用于存储和传输循环部分每组数据中不随运算改变的固定参数、随着运算过程改变的过程参数以及输出参数;
所述分组交错处理部分(113)用于将从CPU预计算处理后传来的两组不同的数据分别存储于双BRAM输送存储数据部分(112)并从双BRAM输送存储数据部分(112)取出相应数据交错送入分组循环流水部分(111)进行计算,另外输出参数的计算也随着流水线的计算进行分组交错处理。
2.PBKDF2密码算法加速方法,其特征是该方法包含以下步骤:
1)、初始化:将预计算部分和在执行PBKDF2算法循环体之前的部分在CPU(2)中进行计算,并将计算结果通过总线接口传输至FPGA(1);
2)、循环:将PBKDF2算法中计算密集的循环体部分放置在FPGA(1)上,并将计算结果通过总线接口传输至CPU(2);
分组循环流水:首先将PBKDF2算法中采用的伪随机函数或是伪随机函数中的核心函数进行流水,并对属于不同待测密钥的数据进行分组,然后在一个时钟周期内将每组的属于一个密钥的数据输入流水线,上一轮的输出作为下一轮的输入,所以在一组的数据都输入流水线后,输出的计算结果将再次输入流水线进行计算;如此循环往复,直到这一组数据在PBKDF2算法中的循环体计算结束,即为分组循环流水;
双BRAM输送存储数据:对于每一组数据中的输出参数以及在循环体内不变的固定参数分别用一组双BRAM进行存储;对于每一组数据中需要在循环体内被不断更新的过程参数,在被输送进入流水线计算后得到更新的数据将被存储到另一组双BRAM中;即对于一组过程变量,将对应两组双BRAM用于存储;需要将每次流水线输出的过程参数用BRAM存储起来;流水线中输出的过程变量将先写入另一组双BRAM,让从流水线中计算得到的数据得到及时的存储;在一组双BRAM中读取这一组的数据输入流水线时用另外一组双BRAM存储这一组数据这一轮流水的结果,下一轮流水时则交换这两组双BRAM的读写操作的状态,从而保证了计算的正确性;
分组交错处理:指在对这一组数据流水线计算的结果写入BRAM,流水线产生停顿时,从另外一对双BRAM中取出另一组使用同样存储方式的被测密钥对应的数据,将其送入流水线进行计算;这一组的数据全部送入流水线后,读取上一组存储完毕的数据送入流水线;如此循环往复直到循环体结束,以此来消除使用双BRAM输送存储数据手段后引起的流水线停顿;
3)、校验:读取FPGA(1)加速计算后得到的结果数据,并执行运算结果汇总以及校验值计算判定。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710411353.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:软件防护方法及装置
- 下一篇:电子文书验证方法、设备及系统