论文部分内容阅读
高级加密标准(AES)是美国国家标准与技术研究院(NIST)推出的新的联邦信息处理标准(FIPS),以Rijndael算法为基础。AES是128bit的分组对称加解密标准,具有非常优秀的加解密性能,且非常易于实现。AES具有的优秀性能使其在推出后即受到广泛关注,迅速取代了其前任标准DES的角色,成为现在最广泛使用的一种加密方法。高级加密标准可以用软件编程实现或纯粹以硬件方式实现。现场可编程门阵列(FPGA)可提供了一个更快,更灵活、可定制的方案,本文重点调查研究用FPGA芯片和VHDL语言来实现AES算法,使用Altera公司的Quartus II软件来仿真和优化可综合的VHDL代码。为评估不同设计方案的性能和硬件消耗,加密和解密这两种变换都用不同方案来实现,并使用Altera的FPGA芯片来进行硬件评估。本文给出了三种AES加密/解密128bit分组数据的不同设计方案,同时为这三种设计方案中实现了三种不同的密钥扩展模块,这个用来生成所有迭代轮所需要的轮密钥。第一种结构是AES完全迭代结构,在所有的加解密轮迭代中复用同样的硬件。考虑吞吐量与硬件消耗比提出第二种结构,混合结构。混合结构是迭代结构和流水线结构的结合;其中这种混合结构可详细分为单级流水线AES结构和四级流水线AES结构。分析上面三种结构,给出了不同应用场合下的AES设计方案推荐。这三种结构都在Altera的FPGA上综合和硬件实现了,同时对这三种结构进行了测试并使用片上逻辑分析仪进行了验证。基础迭代AES结构加密速率可达1.51Gbps,一级流水线AES结构加密速率为2.98Gbps。第三种结构是对一级流水线的扩展,扩展为四级流水线AES结构,这个结构的加密效率提高到5.03Gbps,文中给出了这三种结构的比较。