【技术实现步骤摘要】
用于执行散列算法的电路以及执行比特币挖矿算法的装置
本公开总体而言涉及用于实现散列算法(也可以称为哈希算法)的电路,更具体而言,涉及用于比特币矿机芯片的混合锁存优化的电路。
技术介绍
自2009年初开始比特币的出现吸引了人们广泛的关注,与此同时分布式虚拟货币的受欢迎程度迅速增加。比特币是一种P2P(Peer-to-Peer)形式的虚拟加密数字货币,其独特之处在于,它不依靠特定货币机构发行,而是依据特定算法通过大量运算来产生。比特币交易使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学设计来确保安全性。从密码学的角度而言,比特币是基于SHA-256散列算法的工作量证明POW(proofofwork),其交易完整性取决于SHA-256的碰撞性和前映像阻力。散列算法是一种将可变长度的数据作为输入并产生固定长度的散列值作为输出的算法,其本质是对信息的提炼。自1993年以来,美国标准与技术研究所先后设计并发布了多个版本的安全散列算法SHA(SecureHashAlgorithm),SHA-2 ...
【技术保护点】
1.一种用于执行散列算法的电路,其特征在于,所述电路包括:/n输入模块,用于接收数据;以及/n运算模块,用于基于接收到的数据计算散列值,所述运算模块包括:/n多个寄存器,用于存储运算模块的数据,/n多个组合逻辑运算部,所述多个组合逻辑运算部中的每个组合逻辑运算部用于对来自所述多个寄存器中的一个或多个寄存器的数据执行组合逻辑运算,/n其中,所述多个寄存器包括接收从所述多个组合逻辑运算部中的一个或多个组合逻辑运算部输出的组合逻辑运算数据的第一组寄存器和接收从所述多个寄存器中的一个或多个寄存器输出的移位数据的第二组寄存器,/n其中,所述第一组寄存器由锁存器构成,并且所述第二组寄存器由触发器构成。/n
【技术特征摘要】
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.一种用于执行散列算法的电路,其特征在于,所述电路包括:
输入模块,用于接收数据;以及
运算模块,用于基于接收到的数据计算散列值,所述运算模块包括以流水线结构布置的...
【专利技术属性】
技术研发人员:范志军,许超,薛可,郭海丰,杨作兴,
申请(专利权)人:深圳比特微电子科技有限公司,
类型:新型
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。