基于FPGA的AES密码算法设计

来源 :商业2.0 | 被引量 : 0次 | 上传用户:ironbra
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  中图分类号:TN918.4 文献标识码:A
  摘要:在逻辑资源少的现场可编程门阵列(FPGA)上实现高级数据加密标准(AES) 算法设计。
  关键词:高级加密标准;现场可编程逻辑阵列;低成本;并行总线接口
  引言
  密码学是保障信息安全的核心技术,应用涉及军事、国防、商贸及人们日常生活的各个方面。2001年美国标准技术研究所决定用AES算法逐渐取代日益不安全的56 bit密钥长度的  数据加密标准(DES)算法。AES 算法是迭代分组密码算法,分组长度为128 bit,而密钥长度可为128 bit、192 bit、256 bit,其对应不同的密钥长度相应的迭代循环次数为 10轮、12轮、14 轮。现在实现的是128 bit的AES算法。
  一种AES算法实现是采用轮展开的流水线结构,吞吐量很大可达到 10 Gb/s 量级,但消耗大量的逻辑面积。考虑在资源少的FPGA上实现AES算法,能满足低端应用的加、解密速度一般不超过100 Mb/s的需求。现设计采用顺序结构,多轮加密共用一个轮运算结构,加密模块和解密模块共用一个密钥扩展模块,能保持较高加解密速率,同时节省了逻辑面积,在50 MHz时钟下加解密速率可达530 Mb/s。
  1、AES 算法描述
  AES算法中的字节表示为有限域 GF (28)上的元素,并在有限域上定义加法和乘法两种运算,运算的基本单位是字节和双字(4个字节)。AES算法将128位的中间结果和密钥都分成16个字节,构成4×4以字节为元素的状态矩阵,AES在加解密过程中就是以状态矩阵为操作对象的。加密算法中每一次轮操作都由字节替换、行移位、列混淆和轮密钥加这四个函数组成,最后一次轮操作不含列混淆操作。
  2、在 FPGA 上实现 AES 算法
  2.1 顶层结构
  该设计的顶层结构由控制模块、加密模块、解密模块、密钥扩展模块、随机存储器(RAM)和FIFO组成。接口采用16位并行数据总线结构。加密数据流向为:明文数据通过数据总线写入16位入128位出的FIFO缓存;由控制模块启动AES加密模块进行一次加密运算; 运算完成输出128bit密文存入128位入16位出的 FIFO中。解密过程与之相同。加密模块和解密模块完全独立,保证模块能同时进行加密和解密运算,以满足快速双向保密通信的需求。
  2.2  加解密部分设计
  2.2.1 加密模块
  由于输入8次16位数据才能提供一个128 bit明文,这一过程至少需要8个时钟,因此采用逻辑面积较大的多轮展开流水线结构方式意义不大。该设计采用多轮运算复用一个轮操作结构的顺序方式。
  轮运算包括轮密钥加、字节替换、行移位和列混淆 4 个部分。其中,轮密钥加只是轮数据与轮密钥进行异或运算,结构比较简单;行移位也只是简单的逻辑连线,几乎不产生时延并且几乎不耗逻辑资源。
  字节替换如果采用 GF(28 )模乘求逆运算[4]实现,则逻辑延时较长,速度较慢。为加快速度,采用时延小的基于只读存储器(ROM)查找方式的S盒结构,即输入8bit数据作为地址而相应数据输出则为字节替换后的8 bit数据。S盒结构若采用基于块存储的查找表(LUT)来实现,一个轮运算中16个 S盒将占用16×128个 LUT,占用逻辑资源较大。可采用FPGA内部集成的块 RAM来实现 S 盒。
  列混淆是系数在有限域 GF(28)上的四次多项式矩阵乘法,输入列向量(X0, X1, X2, X3),输出列向量(Y0, Y1, Y2, Y3),加密过程是在GF(28)上乘以01、02、03、01,解密过程是乘以 09、0E、0B、0D。为了优化用 FPGA 逻辑实现,采用一个xtime函数来实现GF(28)上的乘02运算,对输入的一个字节b做以下变换:xtime = { b[6:0], 1'b0 } ^ ( 8'h1b &{ 8{ b[7]} } )。则列混淆在GF(28)上所有矩阵乘法就可以通过分解成有限个xtime运算和异或运算来实现。
  轮密钥加、行移位和列混淆三步运算实现的逻辑资源较少并且逻辑时延较小,可以合并在一个寄存器传输层间实现。
  2.2.2 密钥扩展模块
  密钥扩展模块设计比较简单,只需要4 个 S盒和一个轮常数字计算模块,外加一些异或运算和逻辑连线即可完成。密钥扩展模块也是一个迭代运算的结构,与加密模块的轮运算同步,即每个时钟计算出一轮加密的密钥。当解密密钥更新时,密钥扩展模块计算出的各轮密钥作为解密的轮密钥,需要按每个时钟存储在 RAM 中,解密运算时从RAM中读取。
  2.3  接口设计
  模块的外部接口采用了 16 位数据总线的接口。由于输入的加密密钥和解密密钥各 128位,占用地址为128×2/16=16 个。另外,加密需要一个输入明文寄存器和一个输出密文寄存器,解密需要一个输入密文寄存器和一个输出明文寄存器。因此芯片地址数总共 20,即需要 5 位地址线。接口读写时序的设计以 TMS320C5509 型号数字信号处理器(DSP)总线读写时序作为标准。16 位数据线采用双向三态设计。16 位三态口由片选信号 CS 和读使能信号RDE 控制,当 CS 和 RDE 均有效时三态口数值为输出数据寄存器的值以输出数据,否则三态口数值为高阻将数据输入。   3、测试与分析
  3.1  加密模块和解密模块功能仿真
  用Xilinx ISE Simulator分别对加密模块和解密模块进行信号仿真,仿真图如图1和图2所示。
  两图中 text_in[127:0]为输入数据,key[127:0]为密钥,text_in[127:0]为输出数据。在图4和图 5中,明文均为(3243, F6A8, 885A, 308D, 3131, 98A2, E037, 0734 H),密钥均为(2B7E, 1516, 28AE, D2A6, ABF7, 1588, 09CF, 4F3C H),密文均为(3925, 841D, 02DC, 09FB, DC11, 8597, 196A, 0B32 H),证明其加密和解密正确。
  图1加密结果信号仿真
  图2解密结果信号仿真
  3.2 功能测试
  将设计的FPGA模块连接到TI的5509的DSP开发板的总线扩展口,FPGA 模块通过 JTAG 线与计算机连接,DSP开发板通过仿真器与计算机连接。通过 C 程序将明文和密钥写入FPGA 模块,加密后读出密文,解密过程与之类似。通过 DSP 测试,结果与 3.1 仿真结果完全一致,证明 AES算法在FPGA 上准确实现。
  使用在线调试逻辑分析软件通过JTAG口对FPGA总线接口的信号波形进行采样并显示,地址、数据和控制信号正确。通过加密或解密时连续输出128 bit结果间隔的时钟数可以计算出,在50 MHz时,数据处理能力可达530 Mb/s。
  4、结语
  所采用的AES算法设计采用16位并行总线接口,能方便的与上层处理器扩展。在算法实现上,采用多轮运算共用一个轮结构的迭代结构,适用于在较少逻辑资源的 FPGA 芯片上实现,满足了较高吞吐率和较小的芯片面积的应用需求,能满足当前各种数据流的加密。算法的实现采用ROM来实现字节替换,同时优化实现列混淆运算。该设计在赛灵思(Xilinx) 公司的xc3s500e芯片上实现,仅占用4230个Slice,其中7222个LUT和1758个触发器,消耗的逻辑资源较少。
  作者简介:
  蔡亮(1982-)江西南昌人,江西科技学院计算机中心,助教,本科,研究方法:计算机应用。
其他文献
中图分类号:J524文献标识码:A  摘要:本文通过对老年人的书籍阅读障碍、老年书籍视觉需求等方面进行调研,分析老年书籍形态存在的突出问题,研究适合老年人阅读的书籍构成要素,提出了在诸多设计元素中,坚持以文字、色彩、图形和版式作为重点,进行老年书籍形态的通俗化、易读化、特色化设计和多样化出版,努力实现老年书籍易识别可读性,从而达到丰富老年人的精神文化生活。  关键词:老年人;书籍设计;易识别性;视
期刊
中图分类号:I207122文献标识码:A  摘要:作为一名高中生,笔者一直对古诗词渐渐产生了浓厚的兴趣,尤其对李白的诗更有一种痴迷。众所周知,李白是盛唐时期最为著名的诗人。我们要了解诗人的生平及思想品格,从而领会其创作风格,领悟诗的意境和蕴含的美好思想。高中课本中关于李白的诗集有限,我阅读了很多李白的诗集和一些相关资料,对李白的创作风格和身世际遇有了一些浅显的认识。  关键词:李白;诗风  一、李
期刊
中图分类号:J05文献标识码:A  摘要:谈到艺术,艺术家们一直都在探讨着这问题,这个问题的答案也是见仁见智,各不相同。值得肯定的是他们都从不同角度和层次丰富了对艺术的认识,艺术的本质、特征、目的……对此,本文从艺术的认识,艺术的本质、特征、目的等方面出发,浅谈艺术本质的内涵。  关键词:艺术;艺术家;艺术本质;艺术特征  1.前言  1.1艺术与艺术本质的含义  “艺术”一词来源于英文“art”
期刊
中图分类号:F272文献标识码:A  摘要:工作分析是现代人力资源管理中最基础、核心的一项工作,为人力资源规划、人员招募与录用、员工培训与开发、绩效考核、薪酬管理、职业安全及工作设计等管理活动提供了必要的信息支持,成为人力资源管理各项活动顺利开展的基石。中央企业的组织变革中,开展工作分析是建立现代人力资源管理体系的基础,同时也是央企实施组织变革的“地基”。本文简述在央企组织变革中开展工作分析的主要
期刊
中图分类号:F713.8文献标识码:A  电视公益广告是以电视、多媒体为媒介,不以盈利为目的的非商业性的视频类广告,具有观念的公益性、民族性、时代性的特征。电视公益广告是公益广告种的重要形式之一,以其富有动态美的声像综合艺术形式赢得了广大受众的喜爱,尤其是获得儿童的亲睐。  随着电视媒体发展,儿童逐步成为电视媒体的主力军。由美国心理学家斯普拉金(J.N.Spraflkin)等人设计的一项关于儿童在
期刊
中图分类号:J954文献标识码:A  摘要:中国水墨动画片的发展经历了从探索初创,到鼎盛繁荣再到沉寂的过程,是中国动画艺术发展的必然。它反映了中国传统文化特有的审美意趣,秉承中华民族的文化、艺术精神而生,具有鲜明的民族美学特征和深刻的人文内涵,对传统动画片的继承与发展有着极大的推动作用,也极大地丰富了水墨文化,继承发扬了中国文化艺术的精髓,做到了对民族文化和艺术精髓的集中阐释。因此,中国水墨动画片
期刊
中图分类号:G642文献标识码:A  摘要:随着互联网技术不断的更新换代和移动智能终端设备的发展,借助Android系统通过手机终端与服务器之间的数据通信。随着高校的发展,由于实验室管理部门与教师、学生与实验室之间缺少快捷方便的沟通通道,设计开发基于Android的高校实验室管理系统就显得很有必要了,实现了在实验室进行的各类实验教学、实践活动和其它与实验室有关的管理工作更好地开展。  关键词:An
期刊
中图分类号:B022.2文献标识码:A  摘要:人类社会是自然界的一部分,人与自然有着千丝万缕的联系,应和谐相处。然而在1978年改革开放后,我国经济迅猛发展的同时出现了很多新问题,尤其人与自然的矛盾日益激化。而党的十八大把生态文明建设放在突出地位,纳入中国特色社会主义事业总体布局后扩展为“五位一体”,在我国的发展方式还在走先发展后治理的资本主义老路时亟需转变发展方式,加强环境保护,发展中带来的环
期刊
中图分类号:TP308文献标识码:A  摘要:大学计算机机房是必不可少的教学设施,计算机是学生学习和实践的重要场所,计算机设备的好坏直接影响教学的效果和学习质量,为确保计算机机房的正常运行,机房设备的管理与维护是至关重要的。本文就大学计算机机房的管理与维护工作展开分析和论述。  关键词:学校;计算机;管理;维护  1、大学计算机房机房管理的必要性  1.1大学计算机机房的制度管理  建立计算机机房
期刊
中图分类号:TU-023文献标识码:A  摘要:在室内环境的设计中色彩作为一种视觉上的最直接感受,对设计效果有着非常重要的影响。室内设计中对于色彩的艺术化使用,能够通过不同的组合形成多种多样的设计效果,将富有艺术化的室内装修设计形式展现在人们眼前。本文针对色彩在室内环境设计中的应用原则与注意事项进行了分析,希望能对室内环境艺术提供一些参考。  关键词:环境艺术;室内设计;色彩处理  目前我国的社会
期刊