基于AES的软件加密解密的设计与实现_第1页
基于AES的软件加密解密的设计与实现_第2页
基于AES的软件加密解密的设计与实现_第3页
基于AES的软件加密解密的设计与实现_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于AES的软件加密解密的设计与实现作者:唐高阳,孙世坤来源:科技视界2015年第18期唐高阳1孙世坤2(1.沈阳理工大学理学院,辽宁沈阳110168;2.朝阳县蒙古族中学,辽宁朝阳122000)【摘要】随着计算机的普及以及重视知识产权保护,使得软件加密技术蓬勃兴起,AES算法正取代DES算法成为使用广泛的新标准。介绍了如何运用AES算法对文档进行加密和解密,并给出了一个基于VisualC+2010开发平台和AES算法的实例。【关键词】软件加密;AES算法;S盒作者简介:唐高阳(1971),男,沈阳人,硕士,讲师,研究方向为智能优化算法、软件工程。孙世坤(1968),男,朝阳人,本科,中学高级

2、,研究方向为中学数学教育。1AES算法基本原理AES(AdvancedEncryptionStandard,高级加密标准)是一个对称分组算法,用来取代DES算法,从而成为使用广泛的新标准。选用Rijndael算法来作为AES,Rijndael是比利时的两位密码学家Daemen和Rijmen共同设计的。Rijndael算法是具有分组长度和密钥长度均可变的分组算法。密钥长度和分组长度可以独立地指定为128位、192位或是256位。Feistel结构是数据分组中的一半被用来修改数据分组中另外一半,然后交换这两部分,AES算法不是Feistel结构的算法。AES定义了一个S盒,它是由16X16个字节组

3、成的矩阵,包含了8位值所能表达的256种可能的变换。字节代换AES中输入分组是用以字节为单位的正方形矩阵来描述的,该分组被复制到State数组,这个数组在加密或解密的每个阶段都会被改变,运算完最后的轮密钥加变换后,State被复制到输出矩阵中。字节代换是一个简单的查表操作,用State数组中的每个字节的高4位作为行值,低4位作为列值,然后取S盒中对应行列的元素作为输出,最后把State数组的该字节用输出的这个元素替换。例如,十六进制值19,所对应的S盒的行值是1,列值是9,S盒中在此位置的值是D4,然后用D4替换19。行位移行位移是这样来实现的,State的第一行保持不变,第二行循环左移1个字

4、节,第三行循环左移2个字节,第四行循环左移3个字节。列混淆列混淆是对每列独立地进行操作。列混淆变换是这样进行的,把经行位移变换操作后的State数组的一列取出来,然后与一个4X4的矩阵进行与操作,把得到的结果覆盖取出来的那一列,依次类推,处理完4列以后就完成了列混淆变换。1.4轮密钥加轮密钥加变换就是把经过列混淆得到的State与密钥进行异或运算,也就是State的第1列与密钥的第1列进行异或运算,运算结果替换State的第1列,后面的几列以此方法类推。2实现过程2.1定义类CASE作为AES算法的实现类顷册KiumENU密勿刼类型BIT128=0,册BI1256LCMCi|F:邛列讹A-戌I

5、MUMJ-XH(i,WfJItSUZ.MlMXJDEOMX1:MHil%lIlXhfiyiinlk-rv4E-iM-tKbTri-4-IIIVTKvr|4|Huh-Cails/AtyAtr曲沁乂rimMrij*!*:Lniwk.f”/rrsfcWHtdLJiSC忻占liti:sNr-Jrt希例加的厲博曲M科tv,t.-(*!-muie.-.i-iLhf+L.-ki-fii;.MStil山.W-HUVhh4RiIiWe.I,“于门矗-mid!9iiARjmrj;“亍了位暮題yihiI.iii沖YiHlILlllIIH3IHlh.4-1(UltvHtKcj-I1|uj.n;hiw,LTdlIrEh

6、iihHkZbvoid:LniMSii!plJietri4lllliVMx*lUiillrmbdM轮谢创1.切血:曲泗鹰衆/JJxm:厅2肿询小更向了巾转報!&反向刖混令ki棹HUK4L.nkiHi*IKI.M-!Jlh.,:“皿応於M逹.v.d.tt-j.dn-piiH*ri-ik.piHj-lMl:-.U!|ULIEL:nil宦広G於致tKyih4Li-n|feiilFI-.jrrpiaJ-l-TKnuiiml:);.禹幣下门妆tEsrqJdI-ni-ryplHiiHirlHVI1-:Kin|url.irvl|r-iipl15.7/J-2.ii1B.HIJrrs-|FlIJiiH-r1BY

7、IKK“丁时1朮V*亍絳J;廿亡十i足弋X注1,11*ih-r-Y.iF.IMKt/iSIZ1;kr-%SijM-.(;Sirui;iKn-yJ;“岸丄呂蛊气f|fcnrap阳卜ncryp+SrimfMJtnTtg:.rinpialh=i.-Hl:4和“卜tAtriimi;坠口“:盯声总Ei3iR*CSlriil百dlicipui:7刖由dC;卩端hlilc(fflrin*whkHriof1:训讪md脑耐胖血湎融恤Tajirfibj2.2在CAES类中实现SetKeys方法,该方法用于指定密钥及轮密钥加运算的次数K.-S5VI4-1H-4M-.IE.Bih.r-v|Mn.l牡14-+J甲助毎刪

8、if詐刪r*E|hyi!L|也|i|:ItHkrrlip-1JJ.ril-SF-TBBITIIailiM11ttn.lJtl-L4il砒卒MJ毎1MtEfVI阳覽我twiil-ALFhytv-iui!S.r13:kl4vr|ij-nL.IJJInimmililarar-H-i,l4k.l.4Ll-py.!fS,+!FL7SFiH-(jL=严+fLfh/rjiil:Kx-yKMfMJisd3rilh:.ihftiff#JHlifiL&2.fl-e-i-i*.奇|皱i退血十疔副力为.輛I5严H比舟号:也En-vv-hIC3AI-li-UsiirMj*$F、N电Fir空战limi:Llii.ilji

9、f!-riMi!-gi.H.ii|:ln-Bi|i-nn|I|J|-_rBl-叩2l|存EKVbbViJVWIlil:PUP.、|fIMlfII严u:wi.H-l-riR!iIWrrv*rif4.-j._1.arwiaiTihiiH-diflL:.2*naLiMl-l:K2|h|-.riZF贰mr2I卜Th1.!.h=F二p,I.ia,*.IP门1七F5Mei斫rfLnhIH7I:;fdr叩iiuI!-14.aLi-I!.1-1-aji-liil-jFiJJIh.M4!1IIIfillwhlLJim-.Ut-iJjxI.iiiaii*2*2,iiIi4lrn!f.:!i.i.ii:|H-I:aixi-tl.-hii-n-.I-ti-3.-I,%l.II.IIJf!.1I=!IIUHH*.oli-lla.MLIIJirAljEl!d-Z1运盯址JP.4结束语在商业企业的计算机中往往存在大量的机密文件,这些机密文件对企业的发展将会产生不可估量的作用。如果这些机密文件保管不善,将会使企业遭受巨大的损失。AES是一个新的可以用于保护电子数据并被广泛使用的加密算法。【参考文献】史子荣软件加密技术从入门到精通M.北京:清华大学出版社,2007:69-74.张翟.加密解密与网络安全技术M.北京:冶

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论