碧波液压网 欢迎你,游客。 登录 注册

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

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  1 引言

  从1976年美国数据加密标准算法(DES)公布以来,到20世纪末,DES算法或其某些变形基本上主宰了对称算法的研究与开发进程。随着密码分析水平、芯片处理能力和计算技术的不断进步,DES的安全强度已经难以适应新的安全需要,其实现速度、代码大小和跨平台性均难以继续满足性的应用需求。因此,AES(高级加密标准)应运而生。作为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次异或运算,就能快速地得到一次轮操作中一列的运算结果。改进算法有效降低了关键时序路径的传输延迟,能够明显的提高ASIC工作频率。

  4 CMOS功耗

  对于一个CMOS逻辑门,其功耗主要由静态功耗和动态功耗两部分组成。静态功耗是指门处于非活动状态时的功耗,大部分是由扩散层到衬底,源极到漏极存在的反偏二极管造成的泄露电流产生的。一般来说,泄漏电流功耗在总功耗中所占的比重不到1%。动态功耗是门处于活动状态下产生的,它又包含两部分:开关功耗和内部功耗。内部功耗包括对门内部的寄生电容充放电的翻转电流功耗,以及PMOS管和NMOS管瞬间同时导通所形成的短路电流功耗。对于信号上升(下降)快的电路,短路电流功耗很小,但对信号上升(下降)较慢的电路,短路电流功耗可能要占总功耗的30%以上。开关功耗是对输出端负载电容充放电的翻转电流引起的。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论