论文部分内容阅读
随着移动互联网的发展,数字签名、密码验证等算法在手机、平板电脑等嵌入式平台上得到了越来越广的应用。杂凑算法作为这些算法的基础,其重要性也越来越高。但是近年来广为使用的MD5和SHA-1杂凑算法受到了严重的挑战,美国NIST为应对这种情况展开了SHA-3标准的竞赛,以期得到一种新的杂凑算法替代SHA-1和改进不大的SHA-2。BLAKE算法为SHA-3竞赛最后一轮的候选算法,具有一系列的优势,但是在嵌入式平台上依然缺乏高效而灵活的实现,阻碍了它的应用。所以,本文以面向在嵌入式系统上高效地实现BLAKE算法为研究目标,致力于设计一款为加速BLAKE算法的特殊指令集处理器(Application Specific Instruction-set Processor或ASIP)。针对这一目标,本文首先根据BLAKE算法的描述建立了模型,然后在前人的基础上整理和改进,得出了一整套方法结合自动化的算法和人工干预的手段,在一定约束条件下在G函数的范围内进行指令空间探索,从而获得专门用于G函数的优化指令集、相应的支持特殊硬件及匹配的输入输出方式,用于指导专用指令集处理器硬件的设计。然后,根据理论分析的结果,本文设计了一款面向嵌入式应用的ASIP,并从硬件和软件2个方面详细描述了该处理器的设计,实现了在嵌入式系统上高效地实现BLAKE算法的研究目标。为验证本文所设计的解决方案,带有异步功能单元特殊硬件的处理器实现则经过Design Compiler逻辑综合并通过TSMC65nm工艺流片来实现和验证。经逻辑综合结果表明,本文设计的专用处理器理论上最高可以运行于1001M Hz的频率之上,在此频率下32位和64位BLAKE算法程序的吞吐率分别可以达到335Mbps和176Mbps,周期数每字节则分别可以达到23.81和45.39。专用处理器所占面积在案例A和案例B下分别为28.48和28.07千等效门。流片结果经测试,在1.3V核心电压下,芯片可以134mW功率工作在890Mhz频率下,吞吐率指标达到300Mbps。本文设计达到了预期目标,在高效低开销实现BLAKE算法的同时,同时具有很高的扩展性可兼顾SHA-3族的其他候选算法,非常适用于嵌入式系统的安全应用,具有较高的应用前景。