实验报告填写样例【红色字体请全部更换,以后各种实验均可参考,不能写得太简略】

实验报告填写样例【红色字体请全部更换,以后各种实验均可参考,不能写得太简略】

ID:38699018

大小:313.00 KB

页数:6页

时间:2019-06-17

实验报告填写样例【红色字体请全部更换,以后各种实验均可参考,不能写得太简略】_第1页
实验报告填写样例【红色字体请全部更换,以后各种实验均可参考,不能写得太简略】_第2页
实验报告填写样例【红色字体请全部更换,以后各种实验均可参考,不能写得太简略】_第3页
实验报告填写样例【红色字体请全部更换,以后各种实验均可参考,不能写得太简略】_第4页
实验报告填写样例【红色字体请全部更换,以后各种实验均可参考,不能写得太简略】_第5页
资源描述:

《实验报告填写样例【红色字体请全部更换,以后各种实验均可参考,不能写得太简略】》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、重庆三峡学院计算机科学与工程学院实验报告——填写样例开出学期:2015-2016学年第一学期实验时间:7周星期二,1-2节专业:信息安全实验性质:设计姓名:AlicePeter.W年级班:15级1班实验学时:2实验课程:密码学与信息安全学号:201501096199实验成绩:实验项目名称:AES——高级数据加密标准批阅:教师签名:一、实验目的1.通过这项实验使学生深入理解对称加密的基本原理;2.了解各种经典的对称加密算法,实现最新的对称加密算法AES;3.掌握……4.会……二、实验环境(硬件、软件平台及工具等)操作系统环境:W

2、indows7/2000/NT/XP;办公软件环境:Word、Excel;编程环境:java,BlueJ,Visualc++;TurboC。三、实验内容及步骤(实验原理、内容、步骤、流程图、操作步骤等)1、实验任务任务性质:设计性实验。任务描述:首先要完全理解AES算法的实现过程,然后用C或C++编写AES加解密程序。编写中应注意其执行效率。2、概述:AES是一个新的可以用于保护电子数据的加密算法。明确地说,AES是一个迭代的、对称密钥分组的密码,它可以使用128、192和256位密钥,并且用128位(16字节)分组加密和解密

3、数据。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换(permutations)和替换(substitutions)输入数据。下图显示了AES密钥对一个数据块进行加密和解密的情形。3.AES算法的框架描述Rijndael算法是一个可变数据块长和可变密钥长的分组迭代加密算法,数据块长和密钥长可分别为128,192或256比特,但为了满足AES的要求,分组长度为128比特,密钥长度为128,192或256比特。AE

4、S密码算法采用的是代替一置换网络(SPN)结构,每一轮操作由4层组成:第1层(字节替换)为非线性层,用S盒对每一轮中的单个字节分别进行替换;第2层(行移位)和第3层(列混合)是线性混合层,对当前的状态阵按行移位,按列混合;第4层(密钥加层)用子密钥与当前状态阵进行字节上的异或。具体算法结构如图所示:一、试验中出现的问题及解决方法(实验中出现的问题与解决办法、实验结果、实验数据与曲线图表等)程序运行开始界面:在选择“0”方式后输入“这是个简单的AES加密和解密算法的实现,采用16位密钥”后运行的结果如下图所示:二、实验结果总结(

5、实验结果分析、心得体会以及改进意见等)通过这次课程设计,才发现我们的能力非常有限,算法的实现是一个很大的考验,需要的不仅仅是比较全面的编程知识,还要较强的思维能力和足够的耐心。而我们在这些方面的能力是远远不够的,所以我们以后要努力加强这些方面的锻炼,多把书上理论的东西应用到实际中来,提高自己的实践能力。其实我们在实践的同时也是在学东西,在这个维持一个星期的课程设计中,我们一边学习一边探索,也学到了很多东西,其中感触良多,或者一个功能的实现都会让我们惊喜万分,因为这些东西是实实在在地用到实际中来了,这是在书本上感受不到的那种成就

6、感!这次实验历时一个星期,通过这个星期的学习,发现了我们的很多不足,我们知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。通过对信息安全这门课的学习和实验课的实践,我了解了对称加密算法(如DES,AES,3DES等)和非对称加密算法(如RSA)的基本原理,特别是对AES的实验,我掌握了它加密和解密的实现,进一步理解了它的功能和一些要改进的地方。巩固了我信息安全这门课的知识,使理论和实验联系起来,让我印象深刻。三、附录(实验源代码等另附纸张,教师没要求是可不要附录)2015年10月31日附录:总体的

7、实现方法和代码如下://packagecom.wintv.common;importjava.io.*;importjavax.crypto.Cipher;importjavax.crypto.spec.IvParameterSpec;importjavax.crypto.spec.SecretKeySpec;importsun.misc.BASE64Decoder;importsun.misc.BASE64Encoder;*AES加解密算法*@authorjimpublicclassAES{//加密publicstaticS

8、tringEncrypt(StringsSrc,StringsKey)throwsException{if(sKey==null){System.out.print("Key为空null");returnnull;}//判断Key是否为16位if(sKey.length()!

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

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

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