随着集成电路与工艺技术的发展,现在单芯片的处理能力越来越强,传统的加密算法DES已经被证明不太安全了,为此美国国家标准技术研究院(NIST)于2001 年11 月26 日发布了新的加密算法AES用来取代DES算法,并于2002年5月26日制定了新的高级加密标准(AES)规范。,如今AES加密算法已经在金融、电信等多方面获得了广泛的应用。本文基于Spartan-3E FPGA设计AES加解密模块,由于应用中数据吞吐量不大,所以主要的重点是尽量减少面积来实现设计。
一、算法简介
根据AES标准,加密过程主要包括四种操作,分别为字节代换、行移位、列混合和轮密钥加。字节替代是对State中每个字节进行的一个独立非线性变换,一般由查表得到。行移位就是State行进行不同的移位,第一行不移,第二行左移一个字节,第三行左移二个字节,第四行左移个三字节。列混合为有限域GF(28)上的多项式运算。轮密钥加就是数据和密钥的异或。
加密流程用伪码表示如下:
Cipher(byte in[4*Nb], byte out[4*Nb], word w[Nb*(Nr+1)])
begin
byte state[4,Nb]
state = in
AddRoundKey(state, w[0, Nb-1]) //轮密钥加
for round = 1 step 1 to Nr–1
作者:毋杰 康丙寅 王昭婧 黄克军 电子科技大学
来源:电子产品世界
利用软件实施加密算法已经成为实时安全通信系统的重要瓶颈。标准的商品化CPU和DSP无法跟上数据加密算法的计算速度要求。此外,CPU和DSP需要完成太多的其他任务。基于FPGA高度优化的可编程的硬件安全性解决方案提供了并行处理能力,并且可以达到所要求的加密处理性能基准[1].然而如果仅使用FPGA可编程VHDL来实现的话,系统就不够灵活,升级困难,况且实现起来有很大的难度,本系统以AES加密算法为例,使用Xilinx SPARTAN 3E为开发平台,以xilinx的嵌入式软核microblaze为主控制器,调用FPGA的硬件VHDL编程实现的AES加解密和控制CC2420来实现高速有效的数据通信。
最新评论
2 天 4 小时之前
2 天 4 小时之前
2 天 5 小时之前
2 天 8 小时之前
3 天 5 小时之前
5 天 3 小时之前
5 天 10 小时之前
5 天 23 小时之前
6 天 5 小时之前
6 天 9 小时之前