网站大量收购独家精品文档,联系QQ:2885784924

AES课程设计报告--AES加密解密的实现_精品.doc

AES课程设计报告--AES加密解密的实现_精品.doc

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AES课程设计报告--AES加密解密的实现_精品

课程设计报告 AES加密解密的实现 课程名称: 密码算法程序设计 学生姓名: 学生学号: 专业班级: 任课教师: 2011年 6 月 24 日 指导老师评阅成绩表 学习与工作态度(30%) 选题意义(10%) 文献综述(10%) 研究水平与设计能力(20%) 课程设计说明说(论文)撰写质量(20%) 设计创新(10%) 总分 指导老师签名: 年 月 日 课程设计答辩记录及评价表 学生 讲述情况 教师主要 提问记录 学生回答 问题情况 答辩评分 评分项目 分值 评价参考标准 评分 总分 优 良 中 及格 差 选题意义 10 9 8 7 6 4 文献综述 10 9 8 7 6 4 研究水平与设计能力 20 19 17 15 13 10 课程设计说明书(论文)撰写质量 20 19 17 15 13 10 设计创新 10 9 8 7 6 4 答辩效果 30 28 25 22 19 15 答辩小组成员签名 答辩小组组长签名: 年 月 日 课程设计成绩评定表 成绩汇总 评分项目 评分 比例 分数 课程设计总分 指导老师评分 50% 答辩小组评分 50% 目 录 1. 背景与意义 1 2. 系统设计 1 2.1系统主要目标 1 2.2主要软件需求(运行环境) 2 2.3功能模块与系统结构 2 3 系统功能程序设计 3 3.1基本要求部分 3 3.1.1 字节替换 4 3.1.2行移位 5 3.1.3列混合 6 3.1.4密钥加 8 3.1.5密钥扩展 8 3.1.6获取RoundKey 10 3.1.7逆字节替换 11 3.1.8逆行移位 11 3.1.9逆列混合 12 3.1.10加密 13 3.1.11解密 15 4. 测试报告 17 5.结论 19 参考文献 19 背景与意义 由于AES应用了,感觉这算法的分组为固定长度的128bit,而密钥却有三种,分别为128,192,256bit,对应三种不同轮数分别为10轮,12轮,14轮。这就加大了算法实现的难度,加上每轮的4种变换,更加体现了算法的复杂性,所以我采用的AES来实现。不仅加深了我对密码算法本身的认识,更加巩固了我本来不是很熟悉的C语言。AES算法采用的不可约多项式是p(x)=(84310),共256个多项余式构成了一个有限域,在这有限域上要用到字节运算和字运算。 随着对称密码的发展,DES数据加密标准算法由于密钥长度较小(56位),已经不适应当今分布式开放网络对数据加密安全性的要求,因此1997年NIST公开征集新的数据加密标准,即AES[1]。经过三轮的筛选此算法将成为美国新的数据加密标准而被广泛应用在各个领域中。尽管人们对AES还有不同的看法,但总体来说,AES作为新一代的数据加密标准汇聚了强安全性、高性能、高效率、易用和灵活等优点。AES设计有三个密钥长度:128,192,256位,相对而言,AES的128密钥比DES的56密钥强1021倍[2]。AES算法主要包括三个方面:轮变化、圈数和密钥扩展。本文以128为例,介绍算法的基本原理;结合AVR汇编语言,实现高级数据加密算法AES。xAESencrypt();128比特加密 xAESencrypt6(); 12轮加密 xAESdencrypt();128比特解密 show();演示 void SB() //从文件读取192比特密钥和明文 void SA()//从文件读取128比特密钥 void subbyte(int col[4][4]) //字节替代 void shiftrows(int col[4][4]) //行移位 void mixcolumn(int col[4][4]) //列混合 void addroundkey6(int col[4][4],int allkey[4][52],int nr) //192比特轮密钥加 void addroundkey(int col[4][4],int allkey[4][44],int nr) //128论密钥加 void keyschedule6(int key[4][6],int allkey[4][52],int nk,int

您可能关注的文档

文档评论(0)

seunk + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档