[发明专利]一种基于FPGA的poseidon哈希算法的优化系统在审
申请号: | 202210415929.5 | 申请日: | 2022-04-20 |
公开(公告)号: | CN114757034A | 公开(公告)日: | 2022-07-15 |
发明(设计)人: | 王伟 | 申请(专利权)人: | 麦田云网(杭州)信息技术有限公司 |
主分类号: | G06F30/20 | 分类号: | G06F30/20;G06F7/72;G06F21/76 |
代理公司: | 成都慕川专利代理事务所(普通合伙) 51278 | 代理人: | 李小金 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga poseidon 算法 优化 系统 | ||
1.一种基于FPGA的poseidon哈希算法的优化系统,其特征在于,在FPGA内对poseidon算法参数及流程优化和底层蒙哥马利模乘优化两方面进行优化;其中在poseidon哈希算法参数及流程优化中通过常量计算、矩阵计算、常量及矩阵选择和算法流程优化;在底层蒙哥马利模乘优化中将蒙哥马利算法输入值由标准值转化为蒙哥马利形式,蒙哥马利算法包括模乘、约减和幂模运算;
蒙哥马利算法中的约减采用的模块包括约减取模模块、约减乘法器模块、约减加法器模块、约减除法器模块和约减减法器模块。在进行约减时,输入参数后依次通过约减取模模块、约减乘法器模块、约减加法器模块和约减除法模块进行一轮约减,并在经过若干轮次约减后判断输出数,并对高于阈值的输出参数通过约减减法器模块处理后输出;
蒙哥马利算法中的幂模采用的模块在采用蒙哥马利约减运算模块的基础上,还包括平方运算模块、截断模块、幂模加法器模块和幂模减法器模块,在进行幂模运算时,参数经过平方运算模块进行处理后,通过截断模块将其分为直接处理数据和约减处理数据,其中约减处理数据经过上述的蒙哥马利算法中约减的模块处理后输入幂模加法器模块内,直接处理数据也输出至幂模加法器模块内,随后判断输出数,并对高于阈值的输出参数通过幂模减法器模块处理后输出;
蒙哥马利算法中的模乘采用的模块在采用蒙哥马利约减运算模块的基础上,还包括加乘器模块、模乘取模模块、模乘加法器模块和模乘减法器模块,在进行模乘运算时,参数经过加乘模块进行处理后发送至约减运算模块进行处理,其中的约减运算模块内的约减加法器模块替换为模乘加法器进行运算,并经过若干轮相同处理方式后,判断输出数,并对高于阈值的输出参数通过模乘减法器模块处理后输出。
2.根据权利要求1所述的一种基于FPGA的poseidon哈希算法的优化系统,其特征在于,所述常量计算采用的SPN结构中,由于交换线性变换阶段和常量计算都是线性的,通过交换计算顺序,进行等价转换。
3.根据权利要求1所述的一种基于FPGA的poseidon哈希算法的优化系统,其特征在于,所述矩阵计算中的交换线性变换阶段,计算与MDS矩阵的乘积时,使用多线程及并行计算,提高矩阵运算效率。
4.根据权利要求1所述的一种基于FPGA的poseidon哈希算法的优化系统,其特征在于,所述算法流程优化时,将poseidon哈希算法的输入定为11个256bit大整数,输出定为1个256bit大整数,进行实现和优化,算法流程如下:
S1:将11个输入值扩充为12个256bit大整数;
S2:在12个输入值加前12个常量;
S3:进行4轮Full S-Box,每轮Full S-Box包含12个指数运算,12个加法运算,以及矩阵乘积,返回12个大整数;
S4:进行57轮Partial S-Box,每轮Partial S-Box包含1个指数运算,1个加法运算,以及稀疏矩阵乘法,返回12个大整数;
S5:进行3轮Full S-Box,每轮Full S-Box包含12个指数运算,12个加法运算,以及矩阵乘积,返回12个大整数;
S6:进行最后一轮Full S-Box,包含12个指数运算,以及矩阵乘积,返回12个大整数;
S7:输出第二个元素,为256bit大整数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于麦田云网(杭州)信息技术有限公司,未经麦田云网(杭州)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210415929.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:光盘库
- 下一篇:一种基于多模态和模糊理论的汽车造型敏感度评价方法