当前位置:文档之家› 计算机密码学实验报告

计算机密码学实验报告

院系:计算机科学学院专业:网络工程产业班年级: 2013 课程名称:信息安全学号: ************ *名:**指导教师:**2016年 6 月 6 日年级 2013级班号产业班学号 201321093022专业网络工程姓名刘浏实验名称 Enigma密码算法实验类型设计型综合型创新型实验目的或要求通过使用Enigma密码模拟器,加深对古典密码体制的了解,为深入学习现代密码学奠定基础。

实验原理(算法流程)(1)消息的发送着利用Enigma模拟器进行下列操作:明文:INFORMATION SECURITY模拟器参数设置:UKW: BWalzen: I II VRingstellung: F-06 V-22 N-14Stecker: BG CD ER FV HN IU JK LM OP TY生成:在转子的起始位置:XWB,生成INFORMA TION SECURITY的密文;同时给出模拟器在此结果时的屏幕截图。

写不完时,可另加附页。

)然后把转子的起始位置设为ABC,求出XWB的密文;同时给出模拟器在此结果时的屏幕截图。

最后把模拟器参数设置,转子的起始位置ABC,XWB的密文,INFORMATION SECURITY的密文发送给接收者。

发送内容:PPX CTIZJ OCYNE EEADH HA VE(2)接收者收到信息后:对XWB 的密文,INFORMATION SECURITY的密文进行解密,给出明文,并且分别给出相应的屏幕截图。

明文为:INFORMA TION SECURITY组内分工(可选)实验结果分析及心得体会实验输出截图:可以清楚地看见签名的信息、公钥产生的值(未完全截图)、私钥的值,以及私钥的签名结果和签名的认证结果。

它们的计算方法和产生过程已经在前面讲清楚了,根据写入的消息(明文信息)计算出来的消息摘要、解密数字签名得到的消息摘要(即是本设计中的解密信息)。

如果两个消息摘要是一样的则证明RSA 数字签名者的身份的真实性,从而实现了RSA数字签名。

成绩评定教师签名:年月日实验原理(算法流程)图1 程序数据流示意图本实验使用JSP+APPLET+JA V ABEAN技术:A.程序逻辑结构:客户端通过浏览器下载APPLET和加密解密算法jar包,把密码加密成密文后发往服务器。

服务器接收到后调用JA V ABEAN组件的方式解密密文,得到密码,连接数据库,查询数据库,对登陆信息中用户名和密码验证。

B.JavaBean组件JavaBean就是一个Java类,也就意味着,JA V A的一切特性,此JavaBean没有图形显示代码,只是完成基本业务逻辑,JavaBean可以使用JA V A的封装、继承、多态,使用JavaBean 封装许多重复调用的代码,使用JavaBean可以达到显示与业务的分离,显示使用JSP,业务使用JavaBeanJavaBean的优点(写不完时,可另加附页。

)·提高代码的可复用性—对于通用的事务处理逻辑,数据库操作等都可以封装在JavaBean中,通过调用JavaBean的属性和方法可以快速的进行程序设计。

·程序易于开发维护—实现逻辑的封装,使事务处理和显示互不干扰。

·支持分布式运用—多用JavaBean,尽量减少java代码和Jsp的混编。

C.Applet组件Applet或Java小应用程序是一种在Web环境下,运行于客户端的Java程序组件。

它也是上世纪90年代中期,Java在诞生后得以一炮走红的功臣之一。

通常,每个Applet的功能都比较单一(例如仅用于显示一个舞动的Logo),因此它被称作“小应用程序”。

Applet必须运行于某个特定的“容器”,这个容器可以是浏览器本身,也可以是通过各种插件,或者包括支持Applet的移动设备在内的其他各种程序来运行。

与一般的Java应用程序不同,Applet不是通过main方法来运行的。

在运行时Applet通常会与用户进行互动,显示动态的画面,并且还会遵循严格的安全检查,阻止潜在的不安全因素(例如根据安全策略,限制Applet对客户端文件系统的访问)。

图2 Applet程序运行图代码实现与截图展示:用户登录组建如下所示:代码如下所示:import java.awt.*;import java.applet.Applet;import java.awt.event.*;import ng.String;import com.mima.jiami;public class abc extends Applet{public Label nameLabel,passwardLabel,titleLabel;public TextField name,passward;public void init(){setLayout(null);titleLabel = new Label("用户登陆");titleLabel.setFont(new Font("Times New Roman",Font.BOLD,30));titleLabel.setBackground(Color.orange);nameLabel = new Label("用户名:");nameLabel.setFont(new Font("Times New Roman",Font.BOLD,30));登陆页面如下所示:代码如下所示:<%@page contentType="text/html;charset=gb2312"%><HTML><HEAD><TITLE>小测试</TITLE></HEAD><BODY><center><form action="login_conf.jsp" method=post name="myForm" ><APPLET CODE="abc.class" id=abc archive="com.mima.jar"WIDTH="700"HEIGHT="300"></APPLET><p><input type=hidden name="name"></p><p><input type=hidden name="password"></p><script language=JScript>function processApplet(){ .value = abc.getName();parent.myForm.password.value = abc.getPassword();/* alert("Sent to form: Image Name: " +.value +" Image Number: " +parent.myForm.password.value);*/}</script><input type=submit value="确认" style="width:100px;height:30px"language="JScript" onClick="processApplet();"></form></center></BODY></HTML>登陆成功界面:代码如下所示:<%@page contentType="text/html;charset=gb2312"%> <html><head><title>登陆</title></head><body><center><h1>登陆范例——用户名及密码固定</h1><hr><br><br><h2>登陆成功</h2><h3>欢迎<font color="red" size="15"><%=request.getParameter("name")%></font>光临!!!</h3></center></body></html>登录失败界面:代码如下所示:<%@page contentType="text/html;charset=gb2312"%> <html><head><title>登陆</title></head><body><center><h1>登陆范例——用户名及密码固定</h1><hr><br><br><h2>登陆失败</h2><h3>错误的用户名及密码!!!</h3><a href="login.jsp">重新登陆</a></center></body></html>保存用户名与密码到数据库界面:代码如下所示:<%@ page contentType="text/html;charset=gb2312"%><jsp:useBean id="Sec" scope="page" class="com.mima.jiemi"/><jsp:useBean id="Co" scope="page" class="com.SqlConnection.SqlBean"/> <html><head><title>登陆</title></head><body><center><h1>登陆范例——用户名及密码保存在数据库</h1><hr><br><br><%String sqlQuery;sqlQuery="SELECT name FROM test WHEREname='"+request.getParameter("name")+"'andpassword='"+Sec.jieMi(request.getParameter("password"))+"'";Boolean flag = Co.executeQuery(sqlQuery);if(flag){%><jsp:forward page="login_success.jsp"/><%}else{%><jsp:forward page="login_failure.jsp"/><%}%></center></body></html>。

相关主题