欢迎来到天天文库
浏览记录
ID:18841949
大小:352.23 KB
页数:24页
时间:2018-09-26
《aes密码学课程设计(c语言实现)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、成都信息工程学院课程设计报告AES加密解密软件的实现课程名称:应用密码算法程序设计学生姓名:樊培学生学号:2010121058专业班级:信息对抗技术101任课教师:陈俊2012年6月7日24课程设计成绩评价表指导老师评阅成绩表学习与工作态度(30%)选题意义(10%)文献综述(10%)研究水平与设计能力(20%)课程设计说明说(论文)撰写质量(20%)设计创新(10%)总分指导老师签名:年月日课程设计答辩记录及评价表学生讲述情况教师主要提问记录学生回答问题情况答辩评分评分项目分值评价参考标准评分总分优良中及格差选题意义1098764文献综
2、述1098764研究水平与设计能力201917151310课程设计说明书(论文)撰写质量201917151310设计创新1098764答辩效果302825221915答辩小组成员签名答辩小组组长签名:年月日课程设计成绩评定表成绩汇总评分项目评分比例分数课程设计总分指导老师评分50%答辩小组评分50%24目录1、选题背景42、设计的目标42.1基本目标:42.2较高目标:53、功能需求分析54、模块划分64.1、密钥调度64.2、加密84.2.1、字节代替(SubBytes)84.2.2、行移位(ShiftRows)104.2.3、列混合(
3、MixColumn)114.2.4、轮密钥加(AddRoundKey)134.2.5、加密主函数144.3、解密164.3.1、逆字节替代(InvSubBytes)164.3.2、逆行移位(InvShiftRows)174.3.3、逆列混合(InvMixCloumns)174.3.4、轮密钥加(AddRoundKey)184.3.5、解密主函数185.测试报告205.1主界面205.2测试键盘输入明文和密钥加密205.3测试键盘输入密文和密钥加密215.3测试文件输入明文和密钥加密225.4测试文件输入密文和密钥加密225.5软件说明23
4、6.课程设计报告总结237.参考文献24241、选题背景高级加密标准(AdvancedEncryptionStandard,AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPSPUB197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。该算法为比利时密码学家JoanDaemen和
5、VincentRijmen所设计,结合两位作者的名字,以Rijndael之命名之,投稿高级加密标准的甄选流程。(Rijndael的发音近于"Rhinedoll")严格地说,AES和Rijndael加密法并不完全一样(虽然在实际应用中二者可以互换),因为Rijndael加密法可以支援更大范围的区块和密钥长度:AES的区块长度固定为128位元,密钥长度则可以是128,192或256位元;而Rijndael使用的密钥和区块长度可以是32位元的整数倍,以128位元为下限,256位元为上限。加密过程中使用的密钥是由Rijndael密钥生成方案产生。
6、大多数AES计算是在一个特别的有限域完成的。截至2006年,针对AES唯一的成功攻击是旁道攻击旁道攻击不攻击密码本身,而是攻击那些实作于不安全系统(会在不经意间泄漏资讯)上的加密系统。2005年4月,D.J.Bernstein公布了一种缓存时序攻击法,他以此破解了一个装载OpenSSLAES加密系统的客户服务器[6]。为了设计使该服务器公布所有的时序资讯,攻击算法使用了2亿多条筛选过的明码。有人认为[谁?],对于需要多个跳跃的国际互联网而言,这样的攻击方法并不实用[7]。BruceSchneier称此攻击为“好的时序攻击法”[8]。200
7、5年10月,EranTromer和另外两个研究员发表了一篇论文,展示了数种针对AES的缓存时序攻击法。其中一种攻击法只需要800个写入动作,费时65毫秒,就能得到一把完整的AES密钥。但攻击者必须在执行加密的系统上拥有执行程式的权限,方能以此法破解该密码系统。虽然高级加密标准也有不足的一面,但是,它仍是一个相对新的协议。因此,安全研究人员还没有那么多的时间对这种加密方法进行破解试验。我们可能会随时发现一种全新的攻击手段会攻破这种高级加密标准。至少在理论上存在这种可能性。2、设计的目标2.1基本目标:(1)在深入理解AES加密/解密算法理论
8、的基础上,能够设计一个AES加密/解密软件系统,采用控制台模式,使用VS2010进行开发,所用语言为C语言进行编程,实现加密解密;(2)能够完成只有一个明文分组的加解密,明文和密钥是ASCII
此文档下载收益归作者所有