信息安全实验报告(共16页).doc
《信息安全实验报告(共16页).doc》由会员分享,可在线阅读,更多相关《信息安全实验报告(共16页).doc(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上院 系: 计算机科学学院 专 业:计算机科学与技术年 级: 09级 课程名称: 信息安全 学号姓名: () () 指导教师: 孟博 2012年 5月 1日年级 09级班号计科二班学号 专业计算机科学与技术姓名 实验名称 Engima密码算法实验类型设计型综合型创新型实验目的或要求 通过使用Engima密码模拟器,加深对古典密码体制的了解,为深入学习现代密码学奠定基础。实验原理(算法流程)一、实验原理1981年,谢尔比乌斯发明了Engima。Engima加密电子机械看起来是一个装满了复杂而精致的元件的盒子。它有三个部分:键盘、转子和显示器,键盘、转子和显示器由电线相连,
2、转子本身也集成了6条线路(在实物中是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
3、FV HN IU JK LM 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的公钥加密信息.加密后的信息可通过任何不安全信道发送.
6、B收到密文信息后,用自己私钥解密恢复出明文.RSA公钥密码体制到目前为止还是一种认可为安全的体制. 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及e
7、2)就是密钥对。 RSA加解密的算法完全相同,设A为明文,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);JButton chooseButton = new JButton(随
8、机产生);this.add(label);this.add(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
9、(Component c)cmpt = c;public void 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 =
10、(JPanel)cmpt;JTextField jtf = (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 = n
11、ew bytestr.length()/2;for(int 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并输入xtiqjy进行加密过程:实验结果分析及心得体会将密文解密的结果存入out
12、put.txt该文件中。确定后打开output.txt得到解密后的内容为:xtiqjy即为加密的内容。编程实现MD5算法:(源码附后)1、新建要加密的文件 input.txt 输入xtiqjy,随机产生密码:加密后生成:input.txt.tdes文件。2、选择第1步生成的文件,用同样的密码解密:选择保存文件output.txt后: 实验结果分析及心得体会生成output.txt文件,进行解密得到output.txt内容为:xtiqjy五、心得体会通过本次试验初步掌握RSA算法的基本原理,通过用RSA算法对实际数据进行加密和解密来深刻了解RSA的运行原理。并且对数字签名有所了解,进一步掌握MD
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息 安全 实验 报告 16
限制150内