论文部分内容阅读
随着信息社会的飞速发展,信息的安全性越来越受到人们的关注。传统的软件加密技术已经越来越不能满足信息安全对运算速度和系统安全性的需求。在信息安全系统中,普遍趋于采用硬件加密技术实现对数据的加密、解密运算。由美国国家标准与技术研究所(NIST)在2000年10确定的新的加密标准AES算法,是目前安全芯片中普遍实现的加密算法。从AES被提出至今,存在许多对其硬件实现方案的研究,但是这些实现方案都或多或少存在一定的问题,要么过分追求运算速度,而消耗大量的芯片面积或简化了芯片的功能;要么追求芯片的兼容性而降低了运算速度。
本文研究了大量的AES加密算法硬件实现方案,从速度、面积等方面进行了综合评估,提出了一个易于实现的、性价比较优的实现方案,包括在AES加密运算和解密运算的硬件实现方面进行了一致性设计,用组合逻辑代替查表法实现其中的关键运算S盒,最大限度地复用了硬件资源,减小了芯片面积;同时,采用128位并行运算,保证每个时钟周期可以完成一次AES算法的轮运算,使计算速度成倍提高;增加输入和输出的缓冲部件,实现了数据的3级流水,保证了在8位CPU平台下,可以实现数据的实时加解密运算。为了使AES协处理器满足不同安全级别的需要,算法加速器可以支持128比特、192比特、256比特3种密钥长度,以及ECB、CBC、CFB和OFB四种分组密码操作模式。密钥扩展采用预先生成并存储的方式,在对大量数据进行实时加密的应用场合,首次密钥扩展时间可以忽略不计。在实现过程中,对关键路径进行了优化,使得在0.18um的CMOS工艺下,时钟频率上限可达125Mhz,获得1.14Gbps的加解密速率。本设计使用Verilog HDL硬件描述语言进行了电路的RTL级描述,利用Cadence NC-Verilog完成了EDA平台上的功能仿真,用Synopsys DesignCompile对其进行逻辑综合,并在FPGA上进行验证。设计成果已经在相关的密码芯片产品中得到应用,这充分说明AES协处理的实用性和可靠性已经达到标准。