[发明专利]一种面向PQC数字签名算法的硬件加速方法在审
申请号: | 202210762259.4 | 申请日: | 2022-06-29 |
公开(公告)号: | CN115168912A | 公开(公告)日: | 2022-10-11 |
发明(设计)人: | 方利志;黄晶晶;侯莹莹;张凡武;丁瑞阳 | 申请(专利权)人: | 东风汽车集团股份有限公司 |
主分类号: | G06F21/64 | 分类号: | G06F21/64;G06F21/71;G06N10/60 |
代理公司: | 湖北武汉永嘉专利代理有限公司 42102 | 代理人: | 樊凡 |
地址: | 430056 湖北省武*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 pqc 数字签名 算法 硬件加速 方法 | ||
1.一种面向PQC数字签名算法的硬件加速方法,其特征在于:包括以下步骤:
S1:对Dilithium源码结构进行分析,寻找硬件可优化的点;
S2:修改源代码,便于硬件实现;
S3:使用不同的策略进行硬件优化;
S3:综合所有优化指令;
S4:开发板测试。
2.根据权利要求1所述的一种面向PQC数字签名算法的硬件加速方法,其特征在于:所述的步骤S3中,具体步骤为:
S31:对数组即硬件端口进行优化;
S32:对不同的循环进行不同的优化;
S33:对不同的时钟约束下的设计进行优化。
3.根据权利要求2所述的一种面向PQC数字签名算法的硬件加速方法,其特征在于:所述的步骤S31中,具体步骤为:
S311:数组分割:将数组分成多个块,增加端口数量以提高输入和输出的并行性,减少时延;
S312:数组重组:在数组分割的基础上对多个数组的元素进行位拼接,增加端口的位宽以减少输入和输出数据的等待时间。
4.根据权利要求2所述的一种面向PQC数字签名算法的硬件加速方法,其特征在于:所述的步骤S32中,具体步骤为:
S321:循环流水:采用循环迭代的并发执行缩短迭代间隔,运用空闲的电路模块使得下一次迭代的开始不等待当前的迭代计算完成;
S322:循环展开:创建多个相同的电路同时执行循环的每一次迭代。
5.根据权利要求2所述的一种面向PQC数字签名算法的硬件加速方法,其特征在于:所述的步骤S32中,算法中的循环包括简单循环和复杂循环;
简单循环的特征是循环内部没有调用其他函数,或调用到的函数内部不包含循环;根据简单循环内部是否还有嵌套循环,分为单层简单循环和嵌套简单循环;复杂循环的特征是循环调用了其他包含循环的函数;复杂循环导致高延迟。
6.根据权利要求5所述的一种面向PQC数字签名算法的硬件加速方法,其特征在于:所述的步骤S32中,对简单循环,若循环边界较小,则采用循环展开创建多个独立操作;若循环边界增大,或循环所在的函数被调用的次数较少,或循环内包含复杂的运算或赋值操作,则采用循环流水;
对于嵌套简单循环的外层循环进行循环流水优化的同时展开内层循环。
7.根据权利要求5所述的一种面向PQC数字签名算法的硬件加速方法,其特征在于:所述的步骤S32中,对复杂循环中操作简单的内部调用函数,外部复杂循环根据分析选择合适的优化,并与内部函数的优化相叠加;若内部调用函数及其循环复杂,则不优化外部循环。
8.根据权利要求1所述的一种面向PQC数字签名算法的硬件加速方法,其特征在于:所述的步骤S4中,具体步骤为:
S41:采用Zynq-7000 SoC XC7Z020-CLG484-1作为目标硬件平台;
S42:考虑硬件的速度和资源消耗,使用Latency测量速度,使用FF和LUT的数量测量硬件资源;
使用LAP=(FF+LUT)×Latency作为衡量速度和资源之间的平衡标准,LAP越小,性能越好;
在循环优化中添加不同的时钟约束,使用LAP×clk度量不同的时钟约束下的性能差别。
9.一种计算机存储介质,其特征在于:其内存储有可被计算机处理器执行的计算机程序,该计算机程序执行如权利要求1至权利要求8中任意一项所述的一种面向PQC数字签名算法的硬件加速方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东风汽车集团股份有限公司,未经东风汽车集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210762259.4/1.html,转载请声明来源钻瓜专利网。