论文部分内容阅读
近些年,随着互联网的普及和广泛应用,不管是在各种文档、网上银行、收发e-mail,还是在其它对安全性要求极高的数字通信领域,加密技术已经成为了保证数据传输私密性的一个重要工具。针对此类问题,美国国家标准技术研究所和美国安全局先后公布了SHA-1、SHA-224、SHA-256、SHA-384和SHA-512算法。另外,在高性能计算的性能不断刷新纪录带给人们惊喜的同时,我们不得不黯然接受两个令人沮丧的事实:计算机功耗越来越大和计算机的实际应用效率并没有获得期望的提升。高端计算的研究热点逐渐从高性能计算转向到高效能计算,越来越多的学者开始致力于可重构计算平台的研究。哈希函数被广泛应用于消息认证、数字签名、口令安全等领域。近年来,针对哈希函数硬件实现的研究较多,但多数研究只对哈希函数中的某一种进行了硬件设计与实现。然而,不同环境对哈希函数安全强度的要求不同,可能需要在不同算法之间进行切换,若使用不同的硬件电路来分别实现,既浪费资源,又降低了工作效率。另外,低功耗、高性能,小面积是当今加密芯片的发展趋势。针对上述问题,本文深入分析了SHA-1、SHA-256和SHA-512三种哈希函数的共性和不同点,采用了可重构计算思想,结合FPGA结构特点,按以下几部分展开:1、在总结、归纳三种哈希函数可重构模块与单元的基础上,采用可重构体系的设计思路,给出了SHA-1、SHA-256和SHA-512三种哈希函数的消息扩展模块、迭代压缩模块等模块的可重构设计。2、设计了可以实现SHA-1、SHA-256和SHA-512三种哈希函数的硬件结构,在关键计算路径对加法运算进行了优化,并且配合全流水线结构,实现了较高的吞吐率,SHA-1、SHA-256和SHA-512三种哈希函数也可以单独灵活地实现。3、随机选取一个加密SHA-1文件,分别在可重构组件和通用服务器上进行口令破解实验,记录了各自的破解速度和功耗,计算出相应的能效比。实验表明,可重构组件的能效比要高于通用服务器的。