您当前的位置:五五电子网电子知识单片机-工控设备DSP/FPGA技术AES加密算法的一种优化的FPGA实现方法 正文
AES加密算法的一种优化的FPGA实现方法

AES加密算法的一种优化的FPGA实现方法

点击数:7685 次   录入时间:03-04 11:54:00   整理:http://www.55dianzi.com   DSP/FPGA技术
1 引 言

随着密码分析水平,芯片处理能力和计算技术的不断进步,DES的安全强度已经难以适应新的安全需要,其实现速度、代码大小和跨平台性均难以继续满足应用需求。因此,NIST(美国国家标准与技术研究所)筹划AES(高级数据加密标准)算法,旨在取代DES,以保护21世纪敏感政府信息的新型加密标准。Rijndael算法以其简洁、高效、安全和原则性的设计被接纳为AES,并于2001年11月26日正式公布在FIPS(FEDeral Information ProcessingStandards)出版的FIPS-PUB 197中。作为DES的继承者,AES自从被接纳为标准之日起就已经被工业界、银行业和行政部门作为事实上的密码标准。

随着网络传输速度提升为gigabits数量级,业界对算法的执行速度的要求也越来越高,基于软件的密码算法便显得性能不足,需要采用硬件加密的方式,他采用一些特殊的优化技术(如流水线和查找表等),可极大地提高数据的流量并减少密钥的生成时间。另外,用硬件实现加密算法及与之相关的密钥生成过程,并且封装到芯片中,因为他们不易被外部攻击者读取或更改,会有较高的物理安全性。因此,基于硬件的密码算法就受到业界的普遍关注。以FPGA为代表的可重构硬件以其自身所固有的特点——既具有硬件的安全性和高速性又有软件的灵活性和易维护性,已经成为分组密码算法硬件实现的热点研究方向。

本文介绍AES加密算法的一种FPGA实现的方法以及对其加密速度的优化处理技巧。

2 AES加密算法简介

AES是一种迭代分组密码,采用的是代替/置换网络(SPN)。他将明文分组长度固定为128 b,而且仅支持128,196或256 b的密钥长度,本文仅对密钥长度为128 b的情况进行讨论。

AES加密算法的实现包括密钥扩展过程和加密过程。加密过程又包括一个作为初始轮的初始密钥加法(AddRoundKey),接着进行9次轮变换(Round),最后再使用一个轮变换(FinalRound),如图1所示。




本文关键字:加密  DSP/FPGA技术单片机-工控设备 - DSP/FPGA技术

《AES加密算法的一种优化的FPGA实现方法》相关文章>>>