论文部分内容阅读
Hash函数是一种单向密码体制,它可以将任意长度的输入转换成固定长度的输出,其单向性和输出长度固定性使得它可以生成消息或其它数据的“数字指纹”。SHA-3作为新的Hash函数标准,由NIST于2007年正式向全世界发起了征集活动,在经过几轮的严格筛选后,目前剩下BLAKE、Gr(?)stl、JH、Skein、Keccak五种候选算法进行最后的角逐。这些算法是Hash函数领域最新思想的集中体现,也必将成为密码学发展的一个新的里程碑。经过认真仔细的学习SHA-3五种候选算法,在进一步学习Xilinx Virtex-Ⅱ Pro开发平台及Hash函数的硬件实现方法的基础上,本文采用VHDL硬件描述语言对SHA-3五种候选算法进行了设计实现及优化,并在Xilinx Virtex-Ⅱ Pro FPGA开发板上进行了实现与验证。通过对五种算法实现结果进行对比分析,我们发现:优化前,Gr(?)stl占用的面积最小,仅为1892个slice,运算速度最快的是Keccak算法,能达到8568.51Mbps;优化后,Keccak算法的运算速度仍是最快,并提高到了8738.88Mbps,Skein所占用的系统资源最少,为3950个slice;平衡考虑系统资源占用和速度两个因素,五种候选算法中Keccak算法整体性能表现最佳。