基于FPGA的密码加速引擎关键模块设计与实现
Design and Implementation of Key Modules of Cryptography Accleration Engine Using FPGA
密码加速引擎技术是近几年发展起来的一种新的密码设计技术.由于采用了SOC的设计方法,与一般意义上的密码协处理器相比,密码加速引擎具有安全性更好,集成度更高,适应性更强等优势,拥有广阔的发展空间和良好的应用前景.作为RSA等公钥密码算法的核心,模幂运算模块是大多数密码加速引擎系统的关键模块之一,而蒙哥马利模乘算法是模幂运算硬件实现的理想算法.本文在分析前人工作的基础上,提出了蒙哥马利模乘算法的一种改进算法.算法针对硬件实现进行了优化,借助一组32比特运算的迭代组合完成了参数长度为1024比特的模幂运算,减小了硬件实现的开销,适合于在资源和面积受限的设计中使用.根据优化算法设计了一个资源优化的1024比特模幂运算IP核,并在Xilinx的Virtex2系列FPGA芯片中的进行实现,综合结果显示该实现仅使用了467个CLB,可以在40ms内完成一次模幂运算.论文还分析了SHA-2Hash函数的相关技术文档,根据FIPS-180-2标准设计实现了个SHA-512算法IP核为密码加速引擎系统提供Hash函数功能.论文选择Leon2处理器核作为系统的处理器模块.考虑到密码加速引擎的功能特点,对处理器核进行了结构上的优化,裁减了原有的cache子系统.对裁剪后综合得到结果分析表明,这一优化使处理器在FPGA中的资源使用下降了10.5%,内存模块使用量减少近60%,而同时密码加速引擎系统的工作效率未受到实质性的影响.文章的最后利用优化后的处理器和两个密码算法IP核实现了一个具备初步结构和功能的密码加速引擎系统,可以进行基于模幂运算的公钥密码以及Hash函数的运算.
- 作者:
- 光焱
- 学位授予单位:
- 解放军信息工程大学
- 专业名称:
- 密码学
- 授予学位:
- 硕士
- 学位年度:
- 2008年
- 导师姓名:
- 祝跃飞
- 中图分类号:
- TN918.2
- 关键词:
- Cryptography Acceleration Engine;FPGA;Modular Exponentiation;Montgomery Modular Multiplication;SHA;IP core;Resource Efficient
- Cryptography Acceleration Engine;FPGA;Modular Exponentiation;Montgomery Modular Multiplication;SHA;IP core;Resource Efficient