AES课程设计报告

AES课程设计报告

ID:47024492

大小:464.02 KB

页数:22页

时间:2019-06-28

AES课程设计报告_第1页
AES课程设计报告_第2页
AES课程设计报告_第3页
AES课程设计报告_第4页
AES课程设计报告_第5页
资源描述:

《AES课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、课程设计报告AES加密解密的实现课程名称:密码算法程序设计学生姓名:学生学号:专业班级:任课教师:2011年6月24日附件:课程设计成绩评价表指导老师评阅成绩表学习与工作态度(30%)选题意义(10%)文献综述(10%)研究水平与设计能力(20%)课程设计说明说(论文)撰写质量(20%)设计创新(10%)总分指导老师签名:年月日课程设计答辩记录及评价表学生讲述情况教师主要提问记录学生回答问题情况答辩评分评分项目分值评价参考标准评分总分优良中及格差选题意义1098764文献综述1098764研究水平与设计能力201917151310课程设计说明书(论文)撰写质量20

2、1917151310设计创新1098764答辩效果302825221915答辩小组成员签名答辩小组组长签名:年月日课程设计成绩评定表成绩汇总评分项目评分比例分数课程设计总分指导老师评分50%答辩小组评分50%目录1.背景与意义12.系统设计12.1系统主要目标12.2主要软件需求(运行环境)22.3功能模块与系统结构23系统功能程序设计33.1基本要求部分33.1.1字节替换43.1.2行移位53.1.3列混合63.1.4密钥加83.1.5密钥扩展83.1.6获取RoundKey103.1.7逆字节替换113.1.8逆行移位113.1.9逆列混合123.1.10加

3、密133.1.11解密154.测试报告175.结论19参考文献191.背景与意义由于AES应用了,感觉这算法的分组为固定长度的128bit,而密钥却有三种,分别为128,192,256bit,对应三种不同轮数分别为10轮,12轮,14轮。这就加大了算法实现的难度,加上每轮的4种变换,更加体现了算法的复杂性,所以我采用的AES来实现。不仅加深了我对密码算法本身的认识,更加巩固了我本来不是很熟悉的C语言。AES算法采用的不可约多项式是p(x)=(84310),共256个多项余式构成了一个有限域,在这有限域上要用到字节运算和字运算。随着对称密码的发展,DES数据加密标准

4、算法由于密钥长度较小(56位),已经不适应当今分布式开放网络对数据加密安全性的要求,因此1997年NIST公开征集新的数据加密标准,即AES[1]。AES即高级加密标准,作为传统堆成加密算法标准DES的替代者,有美国国家标准与技术研究所于1997年提出征集该算法的公告.1999年3月22日,NIST从15个候选算法中公布了5个候选算法进入第二轮悬着:MARS、RC6、Rijindael、SERPENT和Twofish。经过三轮的筛选,2000年10月2日,以安全性(稳定的数学基础、没有算法弱点、算法抗密码分析的强度、算法输出的随机性)、性能(必须能再多种平台上一较

5、快的速度实现)、大小(不能占用大量的存储空间和内存)、实现特性(灵活性、硬件和软件适应性、算法的简单性等)为标准而最终选定了两个比利时研究者VincentRijmen和JoanDaemen发明的Rijndael算法,并于2001年正式发布了AES标准。此算法将成为美国新的数据加密标准而被广泛应用在各个领域中。尽管人们对AES还有不同的看法,但总体来说,AES作为新一代的数据加密标准汇聚了强安全性、高性能、高效率、易用和灵活等优点。AES设计有三个密钥长度:128,192,256位,相对而言,AES的128密钥比DES的56密钥强1021倍[2]。AES算法主要包括

6、三个方面:轮变化、圈数和密钥扩展。本文以128为例,介绍算法的基本原理;结合AVR汇编语言,实现高级数据加密算法AES。2.系统设计先定义后面s盒变换和密钥扩展要用到的s盒数组和rcon数组,然后定义s盒查找函数,行移位,列混合函数,因为这几个函数无论是在10轮还是12轮还是14轮执行时都没变化。然后就是12轮的轮密钥加和密钥扩展。这一步也许有点困难,接着就是12轮的加密函数本身。然后才是10轮的轮米要加和密钥扩展,加密函数。最后是解密要用到的逆字节替代,逆行移位,逆列混合,轮密钥加和密钥扩展函数和加密是一样的,所以不用重新定义。2.1系统主要目标基本要求部分:1

7、.完成一个明文分组的加解密,明文和密钥是十六进制,长度都为128比特(32个16进制数),按照标准输入明文和密钥,输出密文,进行加密后,能够进行正确的解密。2.程序运行时,要求输出每一轮使用的密钥,以及每一轮中字节替代、行移位、列混合和密钥加等每一步操作之后的16进制表示的值。3.提供运行标准示例的选项。4.能够在文件读取密钥明文。第19页共19页5.程序有良好的人机交互操作。,2.2主要软件需求(运行环境)本软件适用VC语言编写,编译成功后的EXE文件可以在装有windows系统的任何计算机上使用。测试平台:WindowsXPProfessional使用软件:V

8、isual

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。