新闻中心

EEPW首页 > EDA/PCB > 设计应用 > AES加密算法的高速低功耗ASIC设计

AES加密算法的高速低功耗ASIC设计

作者:时间:2012-10-10来源:网络收藏

摘 要:本文提出了一个的高速设计方案,使用Synopsys设计流程和VeriSilicON 0.18μm CMOS工艺,实现了最高工作频率410MHz,数据吞吐率5.23Gbps,功耗为58 mW。采用改进算法(T盒算法),将轮变换操作中的不同步骤合并为一组表的查询,有效降低了关键时序路径的传输延迟,并通过动态功耗管理和门控时钟等设计方法有效地降低了功耗。

本文引用地址:http://www.eepw.com.cn/article/189858.htm

关键词:;;T盒;功耗管理;时钟门控

1 引言

从1976年美国数据加密标准算法(DES)公布以来,到20世纪末,DES算法或其某些变形基本上主宰了对称算法的研究与开发进程。随着密码分析水平、芯片处理能力和计算技术的不断进步,DES的安全强度已经难以适应新的安全需要,其实现速度、代码大小和跨平台性均难以继续满足性的应用需求。因此,(高级加密标准)应运而生。作为DES的继承者,AES自从被接纳为标准之日起就已经被工业界、银行业和行政部门作为事实上的密码标准。在网络通信和某些工业控制应用场合,对加密速度的需求成为对AES算法的最关键要求,同时功耗成为日渐突出的问题,必须进行设计。

2 AES简介

AES是一个密钥迭代分组密码,对加密来说,输入是一个明文分组和一个密钥,输出是一个密文分组。它将分组长度固定为128比特,而且仅支持128、196或256比特的密钥长度,本文仅对密钥长度为128比特的情况进行讨论。

加密过程包括一个初始密钥加法,记作AddRoundKey,接着进行9次轮变换(Round),最后再使用一个轮变换(FinalRound)。轮变换由SubBytes、ShiftRows、MixColumns 和AddRoundKey 共4个步骤构成。轮变换及其每一步均作用在中间结果上,将该中间结果称为状态,可以形象地表示为一个4*4字节的矩阵。

3 AES的改进算法(T盒算法)

假设加密过程中轮变化的输入为a,输出为d,则:

上式中SRD(S盒)由有限域GF(28)中的乘法逆变换和GF(2)中的仿射变换复合而成,符号

代表有限域GF(28)中的加法运算,符号 代表有限域GF(28)中的乘法运算。

这样我们可以定义4个表:T0,T1,T2以及T3:

则d简化为:

该实现方案中T0~T3,每个表都包含了256个双字,一共占用4KByte的空间。在每次循环迭代中,只要通过4次表查询和4次异或运算,就能快速地得到一次轮操作中一列的运算结果。改进算法有效降低了关键时序路径的传输延迟,能够明显的提高工作频率。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭