



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 类AES分组统一框架及其FPGA实现杨韩文报董博 郑州450002)(信息工程大学信息工程学院 摘 要 通过将AES算法模块化、运算一般化,给出了类AES算法的统一框架。在此框架下不仅可以同时实现AES 的加密、,而且可以通过外部参数动态设定分组算法,使得算法的使用更加灵活、安全。给出了算法的FPGA 实现。结果表明设计方案可行,速度较高。 关键词AES,FPGA,分组 中图法分类号TP309文献标识码A Unified Framework for BlockCipher Resembling AES Algorithm and its FPGAImplementation HAN Wen-
2、hao DONG 130YANG Hong-zhi(Institute of Information Engineering,Information Engineering University,Zhengzhou 450002,China) Abstract AES algorithm WflS modularized and the operation of it was generalizedA unified framework was proposedthis framework,not only AES encryption or decryption Can be realize
3、d,for block cipher resembling AES algorithmInalso the specific block cipher algorithm Call be set through external parametersThe use of cryptographic algorithmsbutis more flexible and securityFPGA realimtion for the unified framework was also givenThe testing results show the scheme is feasible and
4、has a higher speed Keywords AES,FPGA,BIock cipher 变的分组长度和密钥长度,而AES只采用了128位分组长度和128,192或256位的密钥长度。不失一般性,本文讨论的 算法分组长度和密钥长度设定为128位。 1 引 言Kerckhoffs假设必须全寓于密钥中,算法的安全性不依赖于算法实现细节的保密1。但是在实际应用中,一方下面简单介绍一下Rijndael算法。图1为AES加密算 面诸多算法(DES,IDEA,Blowfish等)或多或少存在弱法流程,运算逆序完成,相应的运算部件采用逆运算。 密钥,另一方面算法实现细节公开,被片面理解为算法结构固
5、 定,而固定的算法结构不利于算法硬件实现芯片的更新换代,在实用中存在安全隐患。 近年来,基于可重构技术的算法硬件实现研究成为学界的热点问题之一,其研究内容大多集中在多个算法的整合实现引、算法实现效率等方面。 本文借鉴可重构思想,将算法模块化,使得传统密钥扩展为算法密钥和数据密钥,有效拓展了Kerckhoffs假设的 内容。文中基于AES算法, 具体给出了类AES算法的统一框架。在不改变电路的前提下,通过算法密钥的设定,灵活切换 算法,特别地可以在此框架下同时实现AES的加密和算法。算法可选择范围大,并且硬件实现吞吐率较高。 本设计与实现方式的好处在于:以牺牲一定的算法实现效率,换取算法应用的灵
6、活性,提高了算法的硬件实现灵活性AES加密算法图1SubBytes:字节代换,用一个S盒函数完成分组中的字节代换,代数表达式为=sea。,其中S为一个变换函数。和应用安全性。对益尝试。 算法的设计与实现思路进行了新的有 具体的AES加对应的s口取值,限于篇幅,这里从略。 ShiftRows:行移位,一个简单的置换操作。即输入分组 矩阵的第】行保持不变,第2行循环左移1个字节,第3行循2 AES算法 环左移2个字节,第4行循环左(右)移3个字节。逆变换将 Rijndael是一种迭代分组算法。该算法本身支持可 到稿日期:2009-0519返修日期:20092本文受国家863计划(2006AA01Z
7、A25),国家自然科学基金重大研究计划(90104035)资助。 漱(1978一),男,博士生,主要研究方向为 理论,E-mail:l也yangsDh 论、网络安全;董博(1977),男,硕士生,主要研究方向为网络安全。 ucorD;韩3t报(1963-),男,博士生导师,主要研究方向为理 103 上述循环左移改为循环右移即可。 MixColumns: 列混淆,一个利用在域GF(28)上的算术特 性的代换。其代数式为 2048比特。特别地,在设定算法时,需要给出一对互逆效作用。当然对于一类特殊的S盒构造,只要给出S盒的构造规则即可,比如乘法逆及仿射变换的系数,此时参数取值将 大幅减少。 1 匡
8、3iF。,a,。;:0:2:ao:3J1=f至萎;至囊, ShiftRows: ShifRows 变换为简单的置换操作, AES 加密、对应厂 2 3 b d11-19-Ire的参数设定为0,1,Z,3及0,3,2,1,参数取值占用2X4=8比特。 MixColunms: 逆变换将系数矩阵f:;i:l更改为I三9e b。:i即L6L3 1 l d 9。JAES的MixColumns变换设计相当巧妙,加密运算采用的系数矩阵很简单,每个系数最多只有2比特有效,而系 6ed刁 数矩阵存在如下关系式7:I d9 9e:l= L6 d 9。Jo4o r23 1 1厂5o5l j:l0,4,进而可以简化电
9、路规模。 0 l砸”“叫删儿吧阳矾1x。1 1 2 3 4 05L3 1 1一Lo o 5j4MixColumns的参数取值占用44=16比特。本文考虑 最一般的MixColumns运算,给出相应的硬件实现效率。 运算模块的参数取值范围直接影响算法可选择范围。尽管学性质较好的运算模块可选择空间远远小于2踟+8+16=22们2,但运算模块的参数设定及运算模块的组合顺序使得动 分组设计的安全性主要基于Shannon提出的混淆原则和扩散原则6,混淆原则使得密钥和明文以及密文之间的依赖关系复杂,扩散原则使得密钥及明文的每一个比特影响密文的多个比特。在AES算法中,SubBytes变换实现混淆原则,Sh
10、iftRows和MixColumns混合运算主要实现扩散原则。 态切换的算法可选择范围很大。 我们知道,迭代足够多次后,即便是学性质很差的变换也可以达到安全的加密效果。基于此,给出类AES算法的 4类AES框架的FPGA优化实现 统一框架,将SubBytes, ShiftRows, MixColumns, AddRound41流水设计的考虑 建立流水线是提高速度的常用办法。 由于迭代次数为不定值,且由外部参数设定,为方便讨Key变换模块化,变换每次迭代选用某一种变换,迭代若干次后,完成对明文的加密。只需要将该迭代次序反过 来,对应的模块采用逆变换即可,如图2所示。 论,不妨设定迭代次数为固定值
11、n,某运算模块在一个时钟周期内由一个流水站完成。当一组数据到达第疗个流水站时,一个分组加完成,在算法不以反馈方式工作的前提下,咒个流水线站可以同时处理挖个分组。此设计方案 可以在资源占用面积和算法实现速度间进行折中考虑,流水 站数目不是必须为理,只要保证为行的因子即可。 42 S盒的设计 S盒的设计在AES硬件实现过程中占据很重要的地位, 目前对AES算法S盒硬件的实现主要基于LUT实现和基于 逻辑电路实现。基于LUT采用查找表对每个状态字节进行 变换,结构简单容易实现,处理速度也很快;基于逻辑电路则是利用AES算法S盒的数学性质,采用逻辑电路实现乘法求 逆和仿射变换来实现。此方法结构比较复杂
12、,处理速度较慢, 但规模较小,适宜特定的硬件平台。 图2类AES算法统一框架 统一框架的具体设定通过密钥实现,传统的密钥这里扩展为算法密钥和数据密钥。其中算法密钥完成对每次算法的设定,达到一次一密的效果。在此方案中算法密钥包括轮密钥选取次序、每次迭代对应的运算模块及其迭代次数,以及SubBytes,ShiftRows,MixColumns模块的参数;数据密钥 即为传统意义的密钥,经过密钥扩展后,参与运算。 需要说明的是,迭代次数由算法密钥指定,因此轮密钥扩展必须有足够的AddRoundKey模块迭代使用,具体扩展规则同标准AES算法。 接下来讨论3种运算模块的参数取值。 SubBytes: 在
13、本文中,由于S盒内容由外部参数指定,在最一般的 情况下,其硬件实现采用uJT方式更为合理,而针对一类特殊的数学方法构造的5盒,在速度要求不高的情况下,采用 逻辑电路方式也是可行的。 43密钥扩展设计的考虑 SubBytes变换是一个基于S盒的非线性置换,AES算法基于有限域GF(28)中的乘法逆实现。这里在保证变换可逆的前提下,只要给出对应的替换数值即可。参数取值占用 密钥扩展设计,容易想到密钥扩展与加密运算并行处理 】04, 的方案。也就是在每一轮加密的过程中,同时进行下一轮密钥的扩展,这样设计的好处在于减少了存储器的需求。这种文着重从工程实现的角度考虑,从最一般的角度实现AES算 法组件评
14、估,进而估算硬件实现效率。 算法的安全性由选取合适的算法组件及迭代次数保证,方案对于加密是最优的,但是对于锯密运算不可行。的密钥扩展过程虽然与加密相同,但选取的次序正好相反,而密钥扩展过程是不可逆的,因此我们采用在算法设定阶段就一次性完成密钥扩展的设计方案,依据迭代中AddRoundKey 的次数,一次性生成全部轮密钥,并保存起来。这种方式虽然根据选用的算法组件学特性,通过密钥给出足够的迭代次数。算法安全性由算法组件的安全性分析驱动,通过外部占用比较多的存储器资源,但针对一个同时实现加密、 种功能的算法,也是唯一的设计方案。 44迭代轮数的划分 两结束语本文依托Kerckhoffs假设, 创造
15、性地将密钥扩展为算法密钥和数据密钥。通过将AES算法模块化,以牺牲一定资源为代价,在保证算法实现效率的前提下,兼顾了算法的在设计之初,考虑用AddRoundKey来划分迭代次数,也就是传统意义的轮数。在每一轮中根据外部参数来连线 灵活性,一定程度上提高了算法使用的安全性。 文中给出了类AES算法最一般的元素部件硬件资源评 4种不SubBytes,ShiftRows,MixColumns和AddRoundKey 估。在实际应用中,如何快速、高效地找出学性质好的运 同的运算模块的输入输出,但由于参数的不确定性,4个模块算,进而利用该类运算特点优化硬件实现,提高算法效率,还之间的连线剧增,直接导致最
16、终实现的统一框架时钟频率不需要进一步做工作。 可行。综合考虑,最终的方案在一个时钟周期内完成一种运参考文献算模块。 E1Sehneier R Applied CryptographyMSecond Edition:protO- cols,algorithms,and source code in C New York:John Wiley& Sons Inc,1996 对于标准AES加密,这里需要42个时钟周期完成一个 分组的加、。45实验结果 E2高娜娜,王沁,李占才基于AES和DES算法的可重构S盒硬 件实现口小型微型计算机系统,2006(3):446-449 以Altera公司的Cycl
17、one II系列芯片EP2C70F672C8作为算法载体,通过Verilog编程实现了类AES算法统一框架, 并利用ModelSim对其进行了仿真。 3 Zhang X,Parhi K K An efficient 2156 Gbps AES implementation on FPGAECfThirty-Eighth Asilomar Conference on Sig实验结果为SubBytes 模块占用1362 个逻辑单元,nals,Systems and ComputersNov2004,1:465470 ShiftRows模块占用130 个逻辑单元, MixColumns模块占用391
18、个逻辑单元,AddRoundKey占用128个逻辑单元。统一4 Tim G,Mohammed B AES Oil FPGA from the fastest to the smallestcProceedings of CHES 2005Springer,2005:427 框架共实例化20个SubBytes模块(加密、运算部分并行441 53 Gael R,Francois-Xavier S,Jean-Jacques Q,et a1Compact and 实例化16个SubBytes模块,密钥扩展部分并行实例化4个efficient eneryptiondecryption module fo
19、r FPGA implementa SubBytes模块)、1个ShiftRows模块、4个MixColumns模tion of the AES Rijndael very well suited for small embedded 块、1个AddRoundKey模块,使用59个Io引脚,共计41007个逻辑单元,时钟频率为66MHz。以标准AES算法加密的applicationscProceedings of the International Conference on Information Technology:Coding and Computing2004,2: 迭代次数为例,加
20、201Mbitss。 使用42个时钟周期,吞吐率为 58358763冯5安全性分析73Daemefi J,Rijmen vThe Design of Rijndael:AES-the Ad- vanced Encryption StandardSSpringer-Verlag,2002 我们给出的基于AES算法的统一框架模型,是采用SP结构,直接依据Shannon提出的混淆和扩散原则设计的。本(上接第94页)163 Liang Z Q,Shi W S PET:A Personalized trust model with repu ration and risk evaluation for
21、P2P resource sharingCthe 38th Hawaii International Conference on System Science2005 17Lee S,Sherwood R,Bhattacharjee R Cooperative peer groups inNICECIEEE InfoeomSan Francisco。USA。2003 (3):293320Ramasamy S,Handley M,Karp R,et a1Application-level multi east using content-addressable networksCProceedi
22、ngs of Third International Workshop On Networked Group Coramuni cation2001:14-21 21张骞张霞,文学志,等Peer-to-Peer环境下多粒度Trust模型 构造J软件学报,2006,17(1):96107 183Stoica I,Morris R,Karger D,et a1Chord:A Scalable peert0- Peer Lookup Service for Internet ApplicationsCSIGCOMM 22Ramasamy S,Shenker S,Stoica LforRouting
23、algorithmsDHTstSome open questionsCfI Druschel P 。 edProcof the 1st Intl Workshop on P2P SystemsBerlin:Springer-Verlag,2001San Diego,California。USA。2001 19Aberer K,Cudre-Mauroux P,Datta A,et a1PG 喇 :A SelVor-ganizing Structured P2P SystemJSIGMOD Record,2003。32 2002:4552 105 类AES分组作者: 作者单位:刊名: 统一框架及其
24、FPGA实现 杨, 韩文报, 董博信息工程大学信息工程学院,郑州,450002计算机科学英文刊名: 年,卷(期): 被引用次数:COMPUTER SCIENCE2010,37(4)0次 参考文献(7条) 1.Schneier B Applied Cryptography2.高娜娜.王沁.李占才 基于AES和DES算法的可重构S盒硬件实现 2006(3)3.Zhang X.Parhi K K An efficient 21.56 Gbps AES implementation on FPGA 20044.Tim G.Mohammed B AES on FPGA from the fastest
25、to the smallest 20055.Gael R.Francois-Xavier S.Jean-Jacques Q Compact and efficient encryption/decryption module forFPGA implementation of the AES Rijndael very well suited for small embedded applications 20046.冯登国.吴文玲 分组的设计与分析 20007.Daemen J.Rijmen V The Design of Rijndael:AES-the Advanced Encrypti
26、on Standard 2002相似文献(10条) 1.期刊论文 马肃.王击.MA Su.WANG Ji 基于FPGA的AES加密算法的高速实现 -微计算机信息2009,25(26)介绍AES算法的原理以及基于FPGA的高速实现.结合算法和FPGA的特点,采用查表法优化处理了字节代换运算、列混合运算.同时,为了提高系统工作速度,在设计中应用了内外结合的流水线技术,并应用Altera公司的开发工具及芯片进行实际开发. 2.期刊论文 夏克维.李冰.XIA Kewei.LI Bing AES算法中S-box和列混合单元的优化及FPGA实现 -现代电子技术2009,32(24) 由于AES算法的硬件实
27、现较为复杂,在此提出一种优化算法中S-box和列混合单元的方法.其中S-box通过组合和有限域映射的方法进行优化,列混合单元使用算式重组的方法进行优化.这些优化设计通过组合逻辑实现,经过仿真并在Xilinx Spartan 3系列FPGA上进行综合验证,可以将结构简化,使AES电路面积得到优化,明显节约硬件资源. 3.期刊论文 张新贺.刘鸿雁.唐宏伟.ZHANG Xin-he.LIU Hong-yan.TANG Hong-wei 基于FPGA的低成本AES IP核的设计与实现 -微计算机信息2009,25(17)用硬件实现数据加密已成为信息安全的主流方向.本文提出了一种基于FPGA的低成本的A
28、ES IP核的实现方案.该方案轮内部系统资源共用,减少了系统资源的占用.输入密钥与输入数据复用8位数据总线,减少了硬件的接口数量.采用VHDL语言编程,利用QUARTUS 7.0进行了综合和布线,并进行了板级验证.器件采用CYCLONE EP2C35F672,占用25个引脚,实验测试表明在50MHz时钟频率下可以进行加密操作. 4.期刊论文 储奕锋.CHU Yi-feng AES算法的FPGA实现 -电脑知识与技术(学术交流)2007,4(19)本文介绍了AES数据加密结构,以及相关的有限域的知识及简单运算,提出了一种用FPGA高速实现AES算法的方案,该方案设计的加密模块支持AES标准的三种
29、密钥长度:128,192,256,支持ECB,CBC,CTR三种工作模式,即支持feedback和non-feedback两种模式,最后给出了本设计的性能指标.通过比较国内外相关测试数据,该方案在功能和速度(吞吐率)上均取得了较优的性能. 5.期刊论文 王钿.胡钢.Wang Dian.Hu Gang GPON中AES算法的FPGA实现 -现代传输2006,(1)介绍了AES算法的计数器工作模式及计算步骤;通过分析传统AES算法硬件实现的缺点,提出了一种能充分利用流水线、更高效及更适合于高速网络中使用的AES算法FPGA实现思路;并给出了综合结果以及与传统实现方法综合结果的进行了比较. 6.期刊论文 陆浪如.匡友华.杨强浩.高山 AES算法的FPGA实现 -交通与计算机2001,19(5)讨论了高级加密标准
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋购买协议合同范本
- 2025宣威市阿都乡中心学校招聘编制外学龄前教育有关辅助人员(33人)备考练习题库及答案解析
- 维修古旧老宅合同范本
- 2025年ICU护理重症监护练习题答案及解析
- 2025珠海高新区北京师范大学实验中学第三批招聘同工同酬合同制教师15人考试参考试题及答案解析
- 2025年康复护理学脑卒中患者长期护理策略答案及解析
- 金建材购销合同范本
- 2025西安市第三十八中学招聘备考练习题库及答案解析
- 2025年甘肃省陇南市宕昌县有关单位招聘公益性岗位人员41人备考练习试题及答案解析
- 2025年心理咨询学常见心理测试解读考核试卷答案及解析
- 2025-2026学年统编版(2024)初中道德与法治八年级上册(全册)教学设计(附目录 P133)
- 劳务外包协议书
- 2025年初级社工考试《综合能力》真题及答案
- 2025至2030中国草莓果酱行业发展研究与产业战略规划分析评估报告
- 2025纪念中国人民抗日战争胜利80周年心得体会五
- 2025义务教育劳动教育标准课程考试题库(含答案)
- 驾照科目四模拟考试题及答案大全
- 电商用户社区与运营创新创业项目商业计划书
- 土地增值税清算培训课件
- 2025年营养指导员师岗位技能及理论知识考试题库(含答案)
- 2025年青海省格尔木市辅警招聘考试试题题库及答案详解(易错题)
评论
0/150
提交评论