信息安全实验报告2

上传人:沈*** 文档编号:100915202 上传时间:2022-06-03 格式:DOC 页数:17 大小:405KB
收藏 版权申诉 举报 下载
信息安全实验报告2_第1页
第1页 / 共17页
信息安全实验报告2_第2页
第2页 / 共17页
信息安全实验报告2_第3页
第3页 / 共17页
资源描述:

《信息安全实验报告2》由会员分享,可在线阅读,更多相关《信息安全实验报告2(17页珍藏版)》请在装配图网上搜索。

1、. . . . 院 系: 计算机科学学院 专 业:计算机科学与技术年 级: 09级 课程名称: 信息安全 学号: () () 指导教师: 孟博 2012年 5月 1日年级 09级班号计科二班学号专业计算机科学与技术实验名称Engima密码算法实验类型设计型综合型创新型实验目的或要求通过使用Engima密码模拟器,加深对古典密码体制的了解,为深入学习现代密码学奠定基础。实验原理(算法流程)一、实验原理1981年,尔比乌斯发明了Engima。Engima加密电子机械看起来是一个装满了复杂而精致的元件的盒子。它有三个部分:键盘、转子和显示器,键盘、转子和显示器由电线相连,转子本身也集成了6条线路(在

2、实物中是26条)。Engima加密的关键:不是一种简单替换密码,而是“复式替换密码”。通过Engima密码模拟器,我们可以了解古典密码体制由p、c、k、D五个部分组成。分别代表:所有可能明文的有限集,所有可能密文的有限集,密钥空间,加密函数,解密函数。同时知道明文通过加密得到密文,密文通过解密得到原始明文。二、实验步骤1、使用消息的发送者利用Engima模拟器进行下列操作:明文:INFORMATION SECURITY模拟器参数设置:UKW: BWalzen: I II VRingstellung: F-06 V-22 N-14 Stecker: BG CD ER FV HN IU JK LM

3、 OP TY如图所示:(写不完时,可另加附页。)实验原理(算法流程)生成:在转子的起始位置:XWB,生成INFORMATION SECURITY的密文。如图所示:然后把转子的起始位置设为ABC,求出XWB的密文;如图所示: 最后把模拟器参数设置,转子的起始位置ABC,XWB的密文,INFORMATION SECURITY的密文发送给接收者。(写不完时,可另加附页。)组分工(可选)无实验结果分析与心得体会三、实验结果分析实验容以与上述实验步骤是按照Engima密码算法一步步进行得到结果。通过参数设置可以将一个明文加密成一个密文,发送给接受者以后,接受者进行解密得到明文。其中,参数的设置起到了关键

4、性的作用。四、心得体会通过本次实验了解了古典密码体制,对Engima密码算法有了详细和系统的了解,在惊叹Engima机精密的设计这一古典密码加密的巅峰之作时,对密码的加密解密有了大概的认知。成绩评定教师签名: 年 月 日备注:源代码附后,源代码要求有注释说明年级 09级班号计科二班学号专业计算机科学与技术实验名称 基于RSA的数字签名实现实验类型设计型综合型创新型实验目的或要求掌握RSA算法的基本原理,通过用RSA算法对实际数据进行加密和解密来深刻了解RSA的运行原理。对数字签名有所了解,理解和掌握MD5算法,以与如何利用RSA和MD5算法来实现数字签名。实验原理(算法流程)一、实验原理公钥密

5、码体制中,解密和加密密钥不同,解密和加密可分离,通信双方无须事先交换密钥就可建立起通信,较好地解决了传统密码体制在网络通信中出现的问题.另外,随着电子商务的发展,网络上资金的电子交换日益频繁,如何防止信息的伪造和欺骗也成为非常重要的问题.数字签名可以起到身份认证,核准数据完整性的作用.目前关于数字签名的研究主要集中基于公钥密码体制的数字签名.公钥密码体制的特点是:为每个用户产生一对密钥(PK和SK);PK公开,SK;从PK推出SK是很困难的;A,B双方通信时,A通过任何途径取得B的公钥,用B的公钥加密信息.加密后的信息可通过任何不安全信道发送.B收到密文信息后,用自己私钥解密恢复出明文.RSA

6、公钥密码体制到目前为止还是一种认可为安全的体制. RSA算法和用RSA算法实现数字签名的理论,以与它们在实际应用中的实现.二、RSA算法流程RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。 RSA的算法涉与三个参数,n、e1、e2。 其中,n是两个大质数p、q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度。 e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-1)互质;再选择e2,要求(e2*e1)mod(p-1)*(q-1)=1。 n与e1),(n与e2)就是密钥对。 RSA加解密的算法完全一样,设A

7、为明文,B为密文,则:A=Be1 mod n;B=Ae2 mod n; e1和e2可以互换使用,即: A=Be2 mod n;B=Ae1 mod n;(写不完时,可另加附页。)实验原理(算法流程)三、主要代码实现/*密码生成组件。*/class KeyPanel extends JPanelKeyPanel(String str)JLabel label = new JLabel(str);JTextField fileText = new JTextField(35);utton chooseButton = new utton(随机产生);this.add(label);this.add(

8、fileText);this.add(chooseButton);clickAction ca = new clickAction(this);chooseButton.addActionListener(ca);/返回生成的密码public String getKey()JTextField jtf = (JTextField)this.getComponent(1);return jtf.getText();private class clickAction implements ActionListenerclickAction(Component c)cmpt = c;public v

9、oid actionPerformed(ActionEvent event)tryKeyGenerator kg = KeyGenerator.getInstance(DES);kg.init(56);Key ke = kg.generateKey();byte bytK1 = ke.getEncoded();ke = kg.generateKey();byte bytK2 = ke.getEncoded();ke = kg.generateKey();byte bytK3 = ke.getEncoded();JPanel jp = (JPanel)cmpt;JTextField jtf =

10、(JTextField)jp.getComponent(1);jtf.setText(getByteStr(bytK1)+getByteStr(bytK2)+getByteStr(bytK3);catch(Exception e)e.printStackTrace();/*输入密码的字符形式,返回字节数组形式。如输入字符串:AD67EA2F3BE6E5AD返回字节数组: * 173,103,234,47,59,230,229,173 */private byte getKeyByStr(String str)byte bRet = new bytestr.length()/2;for(int

11、i=0;istr.length()/2;i+)Integer itg =new Integer(16*getChrInt(str.charAt(2*i) + getChrInt(str.charAt(2*i+1);bReti = itg.byteValue();return bRet;(写不完时,可另加附页。)组分工(可选)无实验结果分析与心得体会四、实验结果新建一个密钥文件:生成:key1.pri和key1.pub新建一个明文文件mingwen.txt并输入xtiqjy123456进行加密过程:实验结果分析与心得体会将密文解密的结果存入output.txt该文件中。确定后打开output.t

12、xt得到解密后的容为:xtiqjy123456即为加密的容。编程实现MD5算法:(源码附后)1、新建要加密的文件 input.txt 输入xtiqjy,随机产生密码:加密后生成:input.txt.tdes文件。2、选择第1步生成的文件,用同样的密码解密:选择保存文件output.txt后: 实验结果分析与心得体会生成output.txt文件,进行解密得到output.txt容为:xtiqjy五、心得体会通过本次试验初步掌握RSA算法的基本原理,通过用RSA算法对实际数据进行加密和解密来深刻了解RSA的运行原理。并且对数字签名有所了解,进一步掌握MD5算法,以与如何利用RSA和MD5算法来实现

13、数字签名。成绩评定教师签名: 年 月 日备注:源代码附后,源代码要求有注释说明年级 09级班号计科二班学号专业计算机科学与技术实验名称基于B/S三层体系结构的用户身份验证系统的设计与开发实验类型设计型综合型创新型实验目的或要求基于B/S三层体系结构,实现用户身份验证。能够熟练应用加密解密算法,基本掌握身份验证的整个流程。实验原理(算法流程)一、实验原理本实验使用JSP+APPLET+JAVABEAN技术:A. 程序逻辑结构:客户端通过浏览器下载APPLET和加密解密算法jar包,把密码加密成密文后发往服务器。服务器接收到后调用JAVABEAN组件的方式解密密文,得到密码,连接数据库,查询数据库

14、,对登陆信息中用户名和密码验证。B. JavaBean组件JavaBean就是一个Java类,也就意味着,JAVA的一切特性,此JavaBean没有图形显示代码,只是完成基本业务逻辑,JavaBean可以使用JAVA的封装、继承、多态,使用JavaBean封装许多重复调用的代码,使用JavaBean可以达到显示与业务的分离,显示使用JSP,业务使用JavaBeanJavaBean的优点提高代码的可复用性 对于通用的事务处理逻辑,数据库操作等都可以封装在JavaBean中,通过调用JavaBean的属性和方法可以快速的进行程序设计。程序易于开发维护 实现逻辑的封装,使事务处理和显示互不干扰。支持

15、分布式运用 多用JavaBean,尽量减少java代码和Jsp的混编。C. Applet组件Applet或Java小应用程序是一种在Web环境下,运行于客户端的Java程序组件。它也是上世纪90年代中期,Java在诞生后得以一炮走红的功臣之一。通常,每个Applet的功能都比较单一(例如仅用于显示一个舞动的Logo),因此它被称作“小应用程序”。Applet必须运行于某个特定的“容器”,这个容器可以是浏览器本身,也可以是通过各种插件,或者包括支持Applet的移动设备在的其他各种程序来运行。与一般的Java应用程序不同,Applet不是通过main方法来运行的。在运行时Applet通常会与用户

16、进行互动,显示动态的画面,并且还会遵循严格的安全检查,阻止潜在的不安全因素(例如根据安全策略,限制Applet对客户端文件系统的访问)。(写不完时,可另加附页。)实验原理(算法流程)运行环境:运行Windows操作系统的PC机,具有Java语言编译环境。MSSqlServer2005(选用Tomcat 6.0.14搭建 WEB服务器)。本实验需要4个JSP网页页面文件分别为:登陆页面login.jsp 在此处使用了Applet小程序实现的信息输入并实现对密码进行加密。信息验证页面login_conf.jsp在此使用了JavaBean技术,在Jsp代码中实现调用JavaBean类,包括解密类(j

17、iemi)和数据库连接类(SqlBean)登陆成功主页面login_success.jsp登陆失败提示页面login_failure.jsp编写java文件Applet程序abc.java编写连接数据库类SqlBean.java加密类 jiami.java解密类jiemi.java二、实验流程图1 程序数据流示意图实验原理(算法流程)三、关键代码import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;public class Login extends JFrame implements

18、ActionListener JLabel titleLabel,nameLabel,passwordLabel; JTextField nameTextField; JPasswordField passwordField; utton btnOk,btnCanel; JRadioButton emptyRadBtn,managerRadBtn; static String UserName, LoginPassword;/主界面设计部分 public Login() super(登录); this.setSize(335, 245); this.setVisible(true); this

19、.setBounds(300, 300,335, 245);titleLabel=new JLabel(登陆系统); titleLabel.setFont(new Font(华文行楷,30,30);nameLabel=new JLabel(用户:); nameLabel.setFont(new Font(,15,15); passwordLabel=new JLabel(用户密码:); passwordLabel.setFont(new Font(,15,15); nameTextField=new JTextField(10); nameTextField.setFont(new Font(

20、,12,12); passwordField=new JPasswordField(10); passwordField.setFont(new Font(,12,12); btnOk=new utton(确定); btnCanel=new utton(取消); btnOk.addActionListener(this); btnCanel.addActionListener(this);btnOk.addActionListener(this); btnCanel.addActionListener(this);JPanel p1=new JPanel(),p2=new JPanel(),p

21、3=new JPanel(),p4=new JPanel(),p5=new JPanel();p1.add(titleLabel); p2.add(nameLabel); p2.add(nameTextField); p3.add(passwordLabel); p3.add(passwordField);实验原理(算法流程)/关联数据库部分代码private void connectDB() String user=nameTextField.getText();char password=passwordField.getPassword();tryClass.forName(sun.jd

22、bc.odbc.JdbcOdbcDriver);catch(Exception e)JOptionPane.showMessageDialog(null, 连接数据库失败!, 错误,JOptionPane.ERROR_MESSAGE);String url=jdbc:odbc:Driver=MicroSoft Access Driver (*.mdb);DBQ=DBLogin.mdb;tryConnection con=DriverManager.getConnection(url,);Statement st=con.createStatement();ResultSet rs=st.exe

23、cuteQuery(SELECT * FROM TestLogin WHERE UserName=+user+);while(rs.next()UserName=rs.getString(UserName);LoginPassword=rs.getString(PassWord);st.close();con.close();catch(Exception e)JOptionPane.showMessageDialog(null, 读取数据失败!, 错误, JOptionPane.ERROR_MESSAGE);if(user.toLowerCase().equals(UserName.toLo

24、werCase()&isPasswordCorrect(password)new TestWin();hide();elseJOptionPane.showMessageDialog(null, 登录失败!, 警告, JOptionPane.ERROR_MESSAGE);nameTextField.setText();passwordField.setText();组分工(可选)无实验结果分析与心得体会四、实验结果登陆页面:验证:(数据库服务器采用Access2003)登录成功:实验结果分析与心得体会登录失败:数据存储容:实验结果分析与心得体会五、实验心得通过本次试验练习使用JavaEE编写登陆系统,并实现数据库查找功能,反馈给客户端。同时对数据进行加密后传输,使得信息在传递过程中的安全得到保障。本次试验虽然使用JavaEE自身函数自带库对数据进行加密,但对三层加密系统的工作流程也有所了解也熟悉,可谓收获不小。成绩评定教师签名: 年 月 日备注:源代码附后,源代码要求有注释说明16 / 17

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!