论文部分内容阅读
从2007年11月,美国国家标准与技术研究所(NIST)开始向全世界发起征集SHA-3算法起,经过第一轮和第二轮竞选,到现在SHA-3候选算法已经进入到第三轮,也是最后一轮。在这一轮中,共有BLAKE、Gr?stl、JH、Keccak、 Skein等5种候选算法。NIST希望在全世界人们征求对这5种算法的评估后的意见,以期望在2012年年底,选出最终的胜出的算法,并将它命名为SHA-3。当前,已有很多文献,对SHA-3算法的软硬件实现,做了一些研究工作。但在硬件实现时,大部分文献都是采用FPGA的形式,以VLSI方式来实现这些算法的文献相对较少。针对这种情况,本文主要对SHA-3第三轮候选算法中的Grostl算法,在SMIC65nm的工艺下,进行VLSI实现,以期望获得Grostl算法在SMIC65nm工艺下的的面积、速度、性能、功耗等相关的指标,为SHA-3第三轮竞选提供一些事实依据。本文首先根据Grostl算法的SPEC和它的C代码实现,绘制它的整体架构框图,然后插入流水线,并进行模块设计及其接口信号定义。接着编写测试向量,对设计进行充分的验证。最后在SMIC65nm工艺下,进行综合。综合后,电路能工作的最高时钟频率为1030MHz,吞吐率为69Gbps,等效门为97K,功耗为79mW。同比其他文献中的VLSI实现方案,本设计的速度,和性能都是其他文献无法比拟的,同时面积和功耗都适中,接近这些文献中的平均值。本文主要采用流水线技术,同时对设计中的逻辑进行不断优化,并采用简化的用case语句生成的Sbox代替用逻辑电路搭起来的Sbox的方案,来实现高性能的设计。接下来,本设计采用AlteraDE2开发板,对设计进行FPGA验证。通过将测试集写入板上的ROM中,并将运算电路的结果与之比较,来验证设计的正确性。最后所有FPGA板上的case,全部验证通过。本文的末尾提出了下一步的工作,可以继续研究Gr(?)stl算法,如将它集成一个SoC系统中,以专用指令的形式,来驱动它。或者将它映射到多核处理器上,来加快它的运算速度。