- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AES算法分析及实现
1引言
信息社会的兴起,给全球带来了信息技术飞速发展的契机:信息技术的应用,引起了人们生产方式、生活方式和思想观念的巨大变化,极大地推动了人类社会的发展和人类文明的进步。随着人类进入知识经济时代,网络和信息已主见成为人们从事社会活动的基本工具,但是,由于计算机和网络系统的发放性带来的信息与信息系统的安全问题也拓展到前所未有的程度。日益增多的对信息系统的非法入侵和破坏活动正在以惊人的速度在全世界蔓延,给各国信息系统带来巨大的经济损失和安全威胁。
随着信息技术的不断发展,信息安全,网络安全的概念正在与时俱进,逐渐从早期的通信保密发展到关注信息的保密、完整、可用、可控和不可否认的信息安全。信息与信息系统,网络与网络系统安全并重,保证信息系统能够安全、可靠、不间断的运行,以提供必要的服务。近年来,我国在发展知识经济、建设信息基础设施以及中国互联网的建设和应用方面都有相当大的进步。计算机网络的广泛应用已经对经济、文化、教育、科学的发展和人类生活质量的提高产生了重要影响,但也带来了一些新的问题。信息系统的的安全总是面临着日益严重的威胁。一方面是由于互联网的开放性及安全性不足,另一方面是众多的攻击手段。为了保证信息系统的安全,需要完整的安全保障体系,应具有保护功能、检测手段、工具的反应以及事故恢复能力。
因而,除了不断完善相应的法律和监督措施,我们更需要自我保护。理论和事实都说明,密码技术是一种经济、实用而有效的方法,这也是密码技术得到快速发展和广泛应用的原因。
2AES算法分析
2.1AES算法产生背景
1、AES 是美国国家标准技术研究所NIST旨在取代DES的新一代的加密标准。NIST 对AES 候选算法的基本要求是:对称分组密码体制;密钥长度支持128 ,192 ,256位;明文分组长度128 位;算法应易于各种硬件和软件实现。
2、1998 年NIST开始AES 第一轮征集、分析、测试,共产生了15 个候选算法。1999 年3 月完成了第二轮AES 的分析、测试。1999 年8 月NIST 公布了五种算法(MARS , RC6 ,Rijndael ,Serpent ,Twofish) 成为候选算法。最后,Rijndael ,这个由比利时人设计的算法与其它候选算法在成为高级加密标准(AES) 的竞争中取得成功,于2000 年10月被NIST宣布成为取代DES 的新一代的数据加密标准,即AES。
3、Rijndael 作为新一代的数据加密标准汇聚了强安全性、高性能、高效率、易用和灵活等优点。
4、AES 设计有三个密钥长度:128 ,192 ,256 比特
2.2AES算法原理
AES 算法是基于置换和代替的。置换是数据的重新排列,而代替是用一个单元数据替换另一个。AES 使用了几种不同的技术来实现置换和替换。为了阐明这些技术,让我们用 Figure 1 所示的数据讨论一个具体的 AES 加密例子。下面是你要加密的128位值以及它们对应的索引数组:00 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15192位密钥的值是: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 170 1 2 3 4 5 6 7 8 9 10 1112 13 14 15 16 17 18 19 20 21 22 23Figure 2 S-盒( Sbox )当 AES 的构造函数(constructor)被调用时,用于加密方法的两个表被初始化。第一个表是代替盒称为S-盒。它是一个16×16的矩阵。S-盒的前五行和前五列如 Figure 2 所示。在幕后,加密例程获取该密钥数组并用它来生成一个名为w[]的密钥调度表,Figure 3 所示。 Figure 3 密钥调度表(Key Sched)w[] 最初的 Nk (6) 行被作为种子,用原始密钥值(0x00 到0x17)。剩余行从种子密钥来产生。变量 Nk 代表以 32 位字为单位的种子密钥长度。稍后我分析 AES 实现时你将清楚地看到 w[] 是怎样产生的。 关键是这里现在有许多密钥使用而不只是一个。这些新的密钥被称为轮密钥(round keys)以将它们与原始种子密钥区别开来。Figure 4 State (态)数组 AES 加密例程开始是拷贝 16 字节的输入数组到一个名为??State (态)的 4×4 字节矩阵中。。AES 加密算法 取名为 Cipher,它操作 State[],其过程描述的伪代码参见 Figure 5 。 在规范中,加密算法实现的
原创力文档


文档评论(0)