当前位置:文档之家› 实验五 数据加密与解密实验

实验五 数据加密与解密实验

实验五数据加密与解密实验(3学时)一、实验目的1、了解OPENSSL开放源程序的应用;2、熟悉用对称加密的方法加密和解密。

3、熟悉利用RSA非对称密钥对文件进行加密与解密的整个过程方法。

二、实验设备及软件环境(一)实验设备服务器、交换机和PC机组成NT网络。

(二)软件环境1.服务器采用Microsoft Windows 2003 Server 操作系统;2.学生客户端采用Windows XP系统、IE6.0以上浏览器。

3.OPENSSL开放源程序三、实验内容与步骤(整个实验共分五个部分)(一)准备工作步骤一下载OPENSSL安装包到C盘根目录下。

(下载地址:/openssl.rar)步骤二在C盘中右击压缩包,使用“解压到openssl\”方式来解压软件包,在C盘根目录下,自动生成OPENSSL文件夹。

步骤三点击“开始”、“程序”、“附件”、“命令提示符”,打开“命令提示符”窗口。

如图8-1。

图8-1 命令提示符步骤四在“C:\Documents and Settingsowner>”键入cd c:\openssl\out32dll,输入后按回车键,进入到openssl\out32dll的目录下,如图8-2所示。

(命令的含义:打开C盘目录下,openssl文件夹下的out32dll文件夹)图8-2 openssl\out32dll的目录(二)对称加密实验步骤步骤一用记事本创建一个文本文件,文件名为学生的学号(如026h321f.txt),内容为学生的名字和学号,保存在c:\openssl\out32dll的文件夹下,如图9-1所示。

图9-1用记事本创建的文本文件步骤二输入命令“openssl enc -des3 -in 026h231f.txt -out out026h231f.des”(注意所有的-符号的前面都有一个空格),输入后按回车键,加密过程中会提示你输入保护密码,按回车键后会再输一次密码进行确认,(注:输入密码时屏幕无任何显示)执行结果如图9-2所示。

执行完上述命令完后,在c:\openssl\out32dll目录下会自动生成一个用des3算法加密后out026h231f.des的文件。

(命令的含义:使用DES3算法对数据进行对称加密。

-in filename 要进行加密的输入文件名,即明文文件-out filename 加密后得到的文件名,即密文文件)图9-2 输入密码后的执行结果步骤三用“type out026h231f.des”命令查看加密后的out026h231f.des文件的内容,如图9-3所示。

图9-3加密后的文件步骤四用“openssl enc -des3 -d -in out026h231f.des -out new026h231f.txt” (注意所有的-符号的前面都有一个空格)命令对out026h231f.des文件内容进行解码(注:这里需要输入原先设定的保护密码),如图9-4所示。

(命令的含义:使用DES3算法对数据进行对称解密,使用加密时用到的对称密钥进行。

-in filename 要进行解密的输入文件名,即密文文件-out filename 解密后得到的文件名,即还原的明文文件)图9-4对out026h231f.des文件内容进行解码步骤五输入type new026h231f.txt命令查看解密后的文件内容,如图9-5所示。

判别是不是与源文件026h231f.txt的内容一致。

图9-5 判别与源文件内容的一致性(三)非对称加密实验步骤步骤一用记事本创建一个文本文件,文件名为学生的学号(如026h321f.txt),内容为学生的名字和学号,保存在c:\openssl\out32dll的文件夹下,如图10-1所示。

图10-1用记事本创建的文本文件步骤二产生一个私钥。

具体的操作步骤如下:输入命令“openssl genrsa -des3-out myrsaCA.key 1024” (注意所有的-符号的前面都有一个空格,另外“1024”前面有空格),输入后按回车键,出现如图10-2所示的等待提示页面,提示你输入保护密码,按回车键后会再输一次密码进行确认(注:输入密码时屏幕无任何显示)。

执行完上述命令完后,在c:\ openssl\out32dll目录下会自动生成一个用于存放rsa私钥的文件myrsaCA.key。

(命令的含义:genrsa指令生成RSA私有密钥,并使用DES3加密算法来加密密钥,通过输入保护密码。

myrsaCA.key 是私有密钥输入文件名;1024是产生的参数的长度,必须是本指令的最后一个参数,如果没有指明,则产生512bit长的参数)图10-2用于存放私钥的文件步骤三查看私钥内容。

在如图10-2所示页面,输入“openssl rsa -in myrsaCA.key -text -noout”(注意所有的-符号的前面都有一个空格)命令,然后根据提示输入先前设定的保护密码,查看私有密钥文件中的私钥内容,如图10-3所示。

(命令的含义:rsa指令专门处理RSA密钥。

-in filename 要分析的文件名称,如果文件有密码保护,会要你输入;-text 打印出私有密钥的各个组成部分;-noout 不打印出key的编码版本信息)图10-3 查看私有密钥文件中的私钥内容步骤四导出公共密钥,输入命令:openssl rsa -in myrsaCA.key -pubout -out myrsapubkey.pem(注:需输入原先设定的保护密码)(注意所有的-符号的前面都有一个空格),产生一个存放共钥myrsapubkey.pem文件,如图10-4所示。

(命令的含义:rsa指令专门处理RSA密钥。

-out filename 要输出的文件名;-pubin 缺省来说是从输入文件中读到私有密钥,有这个选项则可以从输入文件中去读公共密钥;-pubout 缺省来说是打印出私有密钥,有这个选项就可以打印出公共密钥。

)图10-4存放公钥的文件步骤五查看公钥内容。

在如图10-4所示页面中,输入“type myrsapubkey.pem”命令查看文件“myrsapubkey.pem”中的公钥内容,如图10-5所示。

图10-5 查看文件中的公钥内容2. 用公钥对文件加密和用私钥对文件解密步骤一用公钥对文件加密。

在如图8-2所示页面,输入命令“openssl rsautl -encrypt -in 026h231f.txt -inkey myrsaCA.key -out pub026h231f.enc” (注意所有的-符号的前面都有一个空格)后,如图10-6所示,根据提示输入保护密码,敲入回车键完成加密(自己尝试查看加密后的文件,命令为“type pub026h231f.enc”)。

(命令的含义:rsautl指令能够使用使用RSA算法签名,验证身份,加密和解密数据。

-in filename 指定输入文件名;-out filename 指定输出文件名;-inkey filename 指定私有密钥文件,格式必须是RSA私有密钥文件;-pubin 指定公共密钥文件-sign 给输入的数据签名,需要用到私有密钥文件-verify 对输入的数据进行验证-encrype 用公共密钥对输入的数据进行加密-decrypt 用RSA的私有密钥对输入的数据进行解密)图10-6加密后的文件步骤二用私钥对加密文件解密。

在如图8-2所示页面中,输入命令“openssl rsautl-decrypt -in pub026h231f.enc -inkey myrsaCA.key -out newpub026h231f.txt” (注意所有的-符号的前面都有一个空格)后,根据提示输入原先设定的保护密码,出现如图10-7页面。

(命令的含义:rsautl指令能够使用使用RSA算法签名,验证身份,加密和解密数据。

-in filename 指定输入文件名;-out filename 指定输出文件名;-inkey filename 指定私有密钥文件,格式必须是RSA私有密钥文件;-decrypt 用RSA的私有密钥对输入的数据进行解密)图10-7用私钥对文件解密步骤三查看解密后的newpub026h231f.txt文件的内容,命令“typenewpub026h231f.txt”。

如图10-8所示。

判别是不是与源文件026h231f.txt的内容一致。

图10-8判别与源文件内容的一致性3. 用私钥对文件加密和用公钥对文件解密(提示:类似签名过程)步骤一用私钥对026h231f.txt文件加密。

在如图8-2所示页面中,输入命令“openssl rsautl -sign -in 026h231f.txt -inkey myrsaCA.key -out pri026h231f.enc” (注意所有的-符号的前面都有一个空格),然后按回车键,出现如图10-9所示的页面(注:文件026h231f.txt不能太大,大了就会出错),然后输入原先设定的保护密码,完成对文件的加密。

(命令的含义:rsautl指令能够使用使用RSA算法签名,验证身份,加密和解密数据。

-in filename 指定输入文件名;-out filename 指定输出文件名;-inkey filename 指定私有密钥文件,格式必须是RSA私有密钥文件;-pubin 指定公共密钥文件-sign 给输入的数据签名,需要用到私有密钥文件)图10-9 命令提示符步骤二用公钥对026h231f.tx文件解密(提示:类似对签名进行验证),命令为“openssl rsautl -verify -in pri026h231f.enc -inkey myrsaCA.key -out newpri026h231f.txt”(注意所有的-符号的前面都有一个空格),输完按回车键,出现如图10-10所示的页面 (注:需输入原先设定的保护密码)(命令的含义:rsautl指令能够使用使用RSA算法签名,验证身份,加密和解密数据。

-in filename 指定输入文件名;-out filename 指定输出文件名;-verify 对输入的数据进行验证图10-10用公钥解密文件步骤三查看解密后的newpri026h231f.txt文件的内容。

在如图10-10所示页面中,输入命令“type newpri026h231f.txt”,回车后便可查看文件的内容,然后判别是不是与源文件026h231f.txt的内容一致。

(四)搜索《中华人民共和国电子签名法》,通过阅读熟悉该电子签名法的主要内容,每个部分内容都解决了什么问题。

(五)搜索《中国互联网络信息中心域名争议解决办法》,阅读并熟悉其主要内容。

相关主题