基于AES的软件加密解密的设计与实现.docVIP

基于AES的软件加密解密的设计与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于AES的软件加密解密的设计与实现

基于AES的软件加密解密的设计与实现-设计论文 基于AES的软件加密解密的设计与实现 唐高阳1 孙世坤2 (1.沈阳理工大学理学院,辽宁 沈阳 110168;2.朝阳县蒙古族中学,辽宁 朝阳 122000) 【摘 要】随着计算机的普及以及重视知识产权保护,使得软件加密技术蓬勃兴起,AES算法正取代DES算法成为使用广泛的新标准。介绍了如何运用AES算法对文档进行加密和解密,并给出了一个基于Visual C++ 2010开发平台和AES算法的实例。 关键词 软件加密;AES算法;S盒 作者简介:唐高阳(1971—),男,沈阳人,硕士,讲师,研究方向为智能优化算法、软件工程。 孙世坤(1968—),男,朝阳人,本科,中学高级,研究方向为中学数学教育。 1 AES算法基本原理 AES(Advanced Encryption Standard,高级加密标准)是一个对称分组算法,用来取代DES算法,从而成为使用广泛的新标准。选用Rijndael算法来作为AES,Rijndael是比利时的两位密码学家Daemen和Rijmen共同设计的。Rijndael算法是具有分组长度和密钥长度均可变的分组算法。密钥长度和分组长度可以独立地指定为128位、192位或是256位。 Feistel结构是数据分组中的一半被用来修改数据分组中另外一半,然后交换这两部分,AES算法不是Feistel结构的算法。AES定义了一个S盒,它是由16×16个字节组成的矩阵,包含了8位值所能表达的256种可能的变换。 1.1 字节代换 AES中输入分组是用以字节为单位的正方形矩阵来描述的,该分组被复制到State数组,这个数组在加密或解密的每个阶段都会被改变,运算完最后的轮密钥加变换后,State被复制到输出矩阵中。字节代换是一个简单的查表操作,用State数组中的每个字节的高4位作为行值,低4位作为列值,然后取S盒中对应行列的元素作为输出,最后把State数组的该字节用输出的这个元素替换。例如,十六进制值19,所对应的S盒的行值是1,列值是9,S盒中在此位置的值是D4,然后用D4替换19。 1.2 行位移 行位移是这样来实现的,State的第一行保持不变,第二行循环左移1个字节,第三行循环左移2个字节,第四行循环左移3个字节 。 1.3 列混淆 列混淆是对每列独立地进行操作。列混淆变换是这样进行的,把经行位移变换操作后的State数组的一列取出来,然后与一个4×4的矩阵进行与操作,把得到的结果覆盖取出来的那一列,依次类推,处理完4列以后就完成了列混淆变换。 1.4 轮密钥加 轮密钥加变换就是把经过列混淆得到的State与密钥进行异或运算,也就是State的第1列与密钥的第1列进行异或运算,运算结果替换State的第1列,后面的几列以此方法类推。 2 实现过程 2.1 定义类CASE作为AES算法的实现类 2.2 在CAES类中实现SetKeys方法,该方法用于指定密钥及轮密钥加运算的次数 4 结束语 在商业企业的计算机中往往存在大量的机密文件,这些机密文件对企业的发展将会产生不可估量的作用。如果这些机密文件保管不善,将会使企业遭受巨大的损失。AES是一个新的可以用于保护电子数据并被广泛使用的加密算法。 参考文献 [1]史子荣.软件加密技术从入门到精通[M].北京:清华大学出版社,2007:69-74. [2]张翟.加密解密与网络安全技术[M].北京:冶金工业出版社,2002. [3]段钢.加密与解密[M].北京:冶金工业出版社,2003. [4]徐海风,曹小军.软件加密方法及技术[J].山西冶金,2007,1. [5]魏光村,孙忠林,徐燕妮.软件加密技术研究[J].福建电脑,2009,9. [6]Ivor Horton.Visual C++ 2010 入门经典[M].北京:清华大学出版社,2010. [责任编辑:汤静]

文档评论(0)

phltaotao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档