实验五 数据加密与解密实验(3学时)
一、实验目的
1、了解OPENSSL开放源程序的应用;
2、熟悉用对称加密的方法加密和解密。
3、熟悉利用RSA非对称密钥对文件进行加密与解密的整个过程方法。
二、实验设备及软件环境
(一)实验设备
服务器、交换机和PC机组成NT网络。
(二)软件环境
1.服务器采用Microsoft Windows 2003 Server 操作系统;
2.学生客户端采用Windows XP系统、IE6.0以上浏览器。
3OPENSSL开放源程序
三、实验内容与步骤 (整个实验共分五个部分)
(一)准备工作
步骤一 下载OPENSSL安装包C盘根目录下
(下载地址:lp/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 opensslout32dll的目录
(二)对称加密实验步骤
步骤一  用记事本创建一个文本文件,文件名为学生的学号(如),内容为学生的名字和学号,保存在c:\openssl\out32dll的文件夹下,如图9-1所示。
9-1用记事本创建的文本文件
步骤二  输入命令openssl enc -des3 - -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 - (注意所有的-符号的前面都有一个空格)命令对out026h231f.des文件内容进行解码(注:这里需要输入原先设定的保护密码),如图9-4所示。
命令的含义:使用DES3算法对数据进行对称解密,使用加密时用到的对称密钥进行。
-in filename 要进行解密的输入文件名,即密文文件
-out filename 解密后得到的文件名,即还原的明文文件
9-4out026h231f.des文件内容进行解码
步骤五  输入命令查看解密后的文件内容,如图9-5所示。判别是不是与源文件的内容一致。
9-5 判别与源文件内容的一致性
(三)非对称加密实验步骤
步骤一  用记事本创建一个文本文件,文件名为学生的学号(如),内容为学生的名字和学号,保存在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 -noou
t (注意所有的-符号的前面都有一个空格)命令,然后根据提示输入先前设定的保护密码,查看私有密钥文件中的私钥内容,如图10-3所示。
命令的含义:rsa指令专门处理RSA密钥。
            -in filename 要分析的文件名称,如果文件有密码保护,会要你输入;
            -text 打印出私有密钥的各个组成部分;
            -noout 不打印出key的编码版本信息)
10-3 查看私有密钥文件中的私钥内容
骤四  c语言编译器idea导出公共密钥,输入命令: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所示。