欢迎来到天天文库
浏览记录
ID:46406329
大小:816.20 KB
页数:15页
时间:2019-11-23
《密码学实验报告 实验一 Enigma密码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、院系:数学与统计学学院专业:信息与计算科学年级:11级课程名称:XXXXX学号:XXXXXXXXXX姓名:XXXXX指导教师:XXXXX2014年10月26日年级 班号 学号专业 姓名实验名称 实验一Enigma密码实验类型设计型综合型创新型√实验目的或要求通过使用Engima密码模拟器,加深对古典密码体制的了解,为深入学习现代密码学奠定基础。实验原理(算法流程)1.实验原理ENIGMA看起来像一个装满了复杂而精致的元件的盒子,其内部被分解成相当简单的三部分:键盘、转子和显示器。下面是它的最基本部分的示意图(图示已简化,字母和灯
2、应分别有26个)。图1-1由图可知,水平面板的下面部分是有26个键的键盘,键盘排列类似于我们现在使用的计算机键盘。键盘上方就是显示器,它由标示了同样字母的26个小灯组成,当键盘上的某个键被按下时,和此字母被加密后的密文相对应的小灯就在显示器上亮起来。在显示器的上方是三个转子,它们的主要部分隐藏在面板之下。 键盘、转子和显示器由电线相连,电线把键盘的信号对应到显示器不同的小灯上去。在示意图中我们可以看到,如果按下a键,那么灯B就会亮,这意味着a被加密成了B。同样地我们看到,b被加密成了A,c被加密成了D,d被加密成了F,e被加密成
3、了E,f被加密成了C。于是如果我们在键盘上依次键入cafe,显示器上就会依次显示DBCE。这是最简单的加密方法之一,把每一个字母都按一一对应的方法替换为另一个字母,这样的加密方式叫做“简单替换密码”。简单替换密码在历史上很早就出现了。著名的“凯撒法”就是一种简单替换法,它把每个字母和它在字母表中后若干个位置中的那个字母相对应。比如取后三个位置,那么字母的一一对应就如下表所示:明码字母表:abcdefghijklmnopqrstuvwxy 密码字母表:DEFGHIJKLMNOPQRSTUVWXYZABC 于是我们就可以从明文得到密文:
4、 明文:veni,vidi,vici 密文:YHAL,YLGL,YLFL实验结果分析及心得体会2实验步骤(1)消息发送者利用Engima模拟器进行下列操作:明文:INFORMATIONSECURITY模拟器参数设置:UKW:BWalzen:IIIVRingstellung:F-06V-22N-14Stecker:BGCDERFVHNIUJKLMOPTY生成:在转子的起始位置:XWB,生成INFORMATIONSECURITY的密文;模拟器显示如图2-1。图2-1将转子的起始位置设为ABC,XWB的密文如图2-2:图2-2传递给接
5、收者的信息截图:图2-3(2)接收者收到信息后:接收者收到信息对XWB的密文和INFORMATIONSECURITY的密文进行解密,给出明文,如图2-4,图2-5。图2-4图2-5年级班号 学号专业信息与计算科学 姓名实验名称 实验三基于构件的B/S三层体系结构设计实验类型设计型综合型创新型√实验目的或要求基于B/S三层体系结构,实现用户身份验证。能够熟练应用加密解密算法,基本掌握身份验证的整个流程。理解软件体系结构的思想,掌握4+1视图和用UML描述体系结构的方法。理解JavaBean的概念,掌握JSP中JavaBean的使用,编
6、写基于组件的B/S程序。实验原理(算法流程) 1实验原理1.1JSP+APPLET+JAVABEAN结构4+1视图是从5个不同的视角包括逻辑试图、进程视图、物理视图、开发视图、场景视图来描述软件体系结构。每一个视图只关心系统的一个侧面,5个试图结合在一起才能反映系统的软件体系结构的全部内容。根据4+1视图,场景视图如图1-1所示:图1-1场景视图使用JSP+APPLET+JAVABEAN结构实现程序:A.程序逻辑结构:客户端通过浏览器下载APPLET和加密解密算法jar包,把密码加密成密文后发往服务器。服务器接收到后调用JAVABE
7、AN组件的方式解密密文,得到密码,连接数据库,查询数据库,对登陆信息中用户名和密码验证。B.JavaBean组件JavaBean就是一个Java类,也就意味着,JAVA的一切特性,此处都可以使用,此JavaBean没有图形显示代码,只是完成基本业务逻辑,JavaBean可以使用JAVA的封装、继承、多态,使用JavaBean封装许多重复调用的代码,使用JavaBean可以达到显示与业务的分离,显示使用JSP,业务使用JavaBeanJavaBean的优点:·提高代码的可复用性—对于通用的事务处理逻辑,数据库操作等都可以封装在Java
8、Bean中,通过调用JavaBean的属性和方法可以快速的进行程序设计。·程序易于开发维护—实现逻辑的封装,使事务处理和显示互不干扰。·支持分布式运用—多用JavaBean,尽量减少java代码和Jsp的混编。图1-2web服务器目录
此文档下载收益归作者所有