[发明专利]用于实现散列算法的电路和方法在审
申请号: | 202010555957.8 | 申请日: | 2020-06-17 |
公开(公告)号: | CN111600699A | 公开(公告)日: | 2020-08-28 |
发明(设计)人: | 范志军;许超;薛可;郭海丰;杨作兴 | 申请(专利权)人: | 深圳比特微电子科技有限公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 张小稳 |
地址: | 518000 广东省深圳市高*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 实现 算法 电路 方法 | ||
1.一种用于执行散列算法的电路,其特征在于,所述电路包括:
输入模块,用于接收数据;以及
运算模块,用于基于接收到的数据计算散列值,所述运算模块包括:
多个寄存器,用于存储运算模块的数据,
多个组合逻辑运算部,所述多个组合逻辑运算部中的每个组合逻辑运算部用于对来自所述多个寄存器中的一个或多个寄存器的数据执行组合逻辑运算,
其中,所述多个寄存器包括接收从所述多个组合逻辑运算部中的一个或多个组合逻辑运算部输出的组合逻辑运算数据的第一组寄存器和接收从所述多个寄存器中的一个或多个寄存器输出的移位数据的第二组寄存器,
其中,所述第一组寄存器由锁存器构成,并且所述第二组寄存器由触发器构成。
2.根据权利要求1所述的电路,其特征在于,所述电路用于执行SHA-256,
其中,所述多个寄存器包括:
第一至第八缓存寄存器(A至H),用于存储运算模块的中间值,
第一至第十六扩展寄存器(R0至R15),用于存储运算模块的扩展数据,
其中,所述第一组寄存器包括第一缓存寄存器(A)和第五缓存寄存器(E)以及第十六扩展寄存器(R15),并且所述第二组寄存器包括第二至第四缓存寄存器(B至D)和第六至第八缓存器(F至H)以及第一至第十五扩展寄存器(R0至R14)。
3.根据权利要求1所述的电路,其特征在于,所述触发器是D触发器DFF。
4.根据权利要求1所述的电路,其特征在于,所述多个组合逻辑运算部中的一个或多个组合逻辑运算部包括加法器,并且所述第一组寄存器接收从所述加法器输出的运算数据。
5.根据权利要求1所述的电路,其特征在于,所述锁存器是采用脉冲类型的时钟信号的锁存器。
6.根据权利要求1所述的电路,其特征在于,所述锁存器的保持时间满足以下公式:
T保持时间≤TClk-Q+Tcl_pdmin-T偏斜,
其中T保持时间是锁存器的保持时间,TClk-Q是锁存器之前的前一寄存器在时钟信号有效之后在输出有效之前需要等待的时间量,Tcl_pdmin是锁存器之前的前一寄存器与锁存器之间的组合逻辑的延时时间,并且T偏斜表示不同的锁存器处的时钟的到达时间的静态变化。
7.一种用于执行散列算法的电路,其特征在于,所述电路包括:
输入模块,用于接收数据;以及
运算模块,用于基于接收到的数据计算散列值,所述运算模块包括以流水线结构布置的多个运算级,所述多个运算级包括第0运算级、第1运算级、直到第P运算级,P为大于1且小于流水线结构中运算级的数量的固定的正整数,
其中,从第1运算级到第P运算级中的每个运算级包括:
多个寄存器,用于存储当前运算级的数据,
多个组合逻辑运算部,所述多个组合逻辑运算部中的每个组合逻辑运算部用于对来自当前运算级中的多个寄存器中的一个或多个寄存器的数据执行组合逻辑运算,
其中,所述多个寄存器包括接收从前一运算级中的多个组合逻辑运算部中的一个或多个组合逻辑运算部输出的组合逻辑运算数据的第一组寄存器和接收从前一运算级的多个寄存器中的一个或多个寄存器输出的移位数据的第二组寄存器,
其中,所述第一组寄存器由锁存器构成,并且所述第二组寄存器由触发器构成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳比特微电子科技有限公司,未经深圳比特微电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010555957.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于三目摄像头的森林火灾识别与测距方法
- 下一篇:电平转换电路、显示面板