1、计算机网络安全技术 实验七2010/6/8第1、2节课上机内容以下实验在主机里面完成。(本实验的工具和程序代码在ftp:/219.222.171.9/资源共享 /计算机网 络安全教程/第九章的相 应案例的压缩包里)。声明:本 实验 内容 为 研究学 习 之用,若有人根据本 实验 之技 术 和工具做出危害社会之事,一切后果由 实施破坏者承担。案例9-1 DES算法的程序实现根据DES 算法的原理,可以方便的利用C语言实现其加密和解密算法。在VC+6.0中新建基于控制台的Win32应用程序,算法如程序proj8_1.cpp所示。设置一个密钥匙为数组char key8=1,9,8,0,9,1,7,2
2、,要加密的字符串数组是str=“Hello“,利用Des_SetKey(key)设置加密的密钥,调用Des_Run(str, str, ENCRYPT)对输入的明文进行加密,其中第一个参数str是输出的密文,第二个参数str是输入的明文,枚举值ENCRYPT设置进行加密运算。程序执行的结果如图8-7所示。案例9-2 RSA算法的程序实现根据RSA算法的原理,可以利用C语言实现其加密和解密算法。 RSA算法比DES算法复杂,加解密的所需要的时间也比较长。本案例利用RSA 算法对文件的加密和解密。算法根据设置自动产生大素数p和q,并根据p和q 的值产生模(n)、公钥(e)和密钥(d)。利用VC+6
3、.0实现核心算法,如图8-8 所示。编译执行程序,如图8-9所示。该对话框提供的功能是对未加密的文件进行加密,并可以对已经加密的文件进行解密。在图8-9中点击按钮“ 产生RSA密钥对”,在出现的对话框中首先产生素数p和素数q,如果产生100位长度的p和q ,大约分别需要10秒左右,产生的素数如图8-10所示。利用素数p和q产生密钥对,产生的结果如图8-11 所示。必须将生成的模n、公密e 和私密d导出,并保存成文件,加密和解密的过程中要用到这三个文件。其中模n和私密d用来加密,模n 和公密e用来解密。将三个文件分别保存,如图8-12所示。在主界面选择一个文件,并导入“模n.txt”文件到 RS
4、A模n 文本框,导入“私密.txt” 文件或者 “公密.txt” ,加密如果用 “私密.txt”,那么解密的过程就用“公密.txt” 。反之依然,加密过程如图8-13 所示。加密完成以后,自动产生一个加密文件,如图8-14所示。解密过程要在输入文件对话框中输入已经加密的文件,按钮“加密” 自动变成 “解密” 。选择“模n.txt”和密钥,解密过程如图8-15所示。解密成功以后,查看原文件和解密后的文件,如图8-16所示。案例9-3 使用PGP产生密钥PGP加密技术的创始人是美国的Phil Zimmermann。他的创造性把把RSA 公钥体系和传统加密体系的结合起来,并且在数字签名和密钥认证管理
5、机制上有巧妙的设计,因此PGP成为目前几乎最流行的公钥加密软件包。由于RSA算法计算量极大,在速度上不适合加密大量数据,所以PGP 实际上用来加密的不是RSA本身,而是采用传统加密算法IDEA,IDEA加解密的速度比RSA快得多。PGP随机生成一个密钥,用IDEA算法对明文加密,然后用RSA 算法对密钥加密。收件人同样是用 RSA解出随机密钥,再用IEDA解出原文。这样的链式加密既有RSA算法的保密性(Privacy)和认证性(Authentication),又保持了IDEA算法速度快的优势。PGP加密软件最新版本是8.0.2 ,使用PGP8.0.2i可以简洁而高效地实现邮件或者文件的加密、数
6、字签名。PGP8.0.2的安装界面如图8-17所示。下面的几步全面采用默认的安装设置,因为是第一次安装,所以在用户类型对话框中选择“No, I am a New User”,如图8-18所示。根据需要选择安装的组件,一般根据默认选项就可以了:“PGPdisk Volume Security”的功能是提供磁盘文件系统的安全性; “PGPmail for Microsoft Outlook/Outlook Express”提供邮件的加密功能。如图8-19所示。因为在用户类型对话框中选择了“新用户”,在计算机启动以后,自动提示建立PGP密钥,如图8-20所示。点击按钮 “下一步”,在用户信息对话框中输入相应的姓名和电子邮件地址,如图8-21所示。在PGP密码输入框中输入8位以上的密码并确认,如图8-22所示然后PGP 会自动产生PGP密钥,生成的密钥如图8-23所示。案例9-4 使用PGP加密文件使用PGP可以加密本地文件,右击要加密的文件,选择PGP菜单项的菜单“Encrypt” ,如图8-24所示。系统自动出现对话框,让用户选择要使用的加密密钥,选中一个密钥,点击按钮“OK”,如图8-25所示。目标文件被加密了,在当前目录下自动产生一个新的文件,如图8-26所示。打开加密后的文件时,程序自动要求输入密码,输入建立该密钥时的密码。如图8-27所示。