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

上传人:g****s 文档编号:86021927 上传时间:2023-04-13 格式:PDF 页数:13 大小:724.47KB
返回 下载 相关 举报
实验五数据加密与解密实验.pdf_第1页
第1页 / 共13页
实验五数据加密与解密实验.pdf_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《实验五数据加密与解密实验.pdf》由会员分享,可在线阅读,更多相关《实验五数据加密与解密实验.pdf(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、实验五 数据加密与解密实验(3 学时)一、实验目的 1、了解OPENSSL 开放源程序的应用;2、熟悉用对称加密的方法加密和解密。3、熟悉利用RSA 非对称密钥对文件进行加密与解密的整个过程方法。二、实验设备及软件环境 (一)实验设备 服务器、交换机和PC 机组成NT 网络。(二)软件环境 1服务器采用Microsoft Windows 2003 Server 操作系统;2学生客户端采用Windows XP 系统、IE6.0 以上浏览器。3 OPENSSL 开放源程序 三、实验内容与步骤(整个实验共分五个部分)(一)准备工作 步骤一 下载OPENSSL 安装包到 C 盘根目录下。(下载地址:h

2、ttp:/ 在C 盘中右击压缩包,使用“解压到openssl”方式来解压 软件包,在C 盘根目录下,自动生成OPENSSL 文件夹。步骤三 点击“开始”、“程序”、“附件”、“命令提示符”,打开“命令提示符”窗口。如图8-1。图 8-1 命令提示符 步骤四 在“C:Documents and Settingsowner”键入cd c:opensslout32dll,输入后按回车键,进入到opensslout32dll 的目录下,如图8-2 所示。(命令的含义:打开C 盘目录下,openssl 文件夹下的out32dll 文件夹)图 8-2 openssl out32dll 的目录(二)对称加密

3、实验步骤 步骤一 用记事本创建一个文本文件,文件名为学生的学号(如026h321f.txt),内容为学生的名字和学号,保存在c:opensslout32dll 的文件夹下,如图9-1 所示。图 9-1 用记事本创建的文本文件 步骤二 输入命令“openssl enc-des3-in 026h231f.txt-out out026h231f.des”(注意所有的-符号的前面都有一个空格),输入后按回车键,加密过程中会提示你输入保护密码,按回车键后会再输一次密码进行确认,(注:输入密码时屏幕无任何显示)执行结果如图9-2 所示。执行完上述命令完后,在c:opensslout32dll 目录下会自动

4、生成一个用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”(注意所有的-符号的前面都有一个空格)

5、命令对out026h231f.des 文件内容进行解码(注:这里需要输入原先设定的保护密码),如图9-4 所示。(命令的含义:使用DES3 算法对数据进行对称解密,使用加密时用到的对称密钥进行。-in filename 要进行解密的输入文件名,即密文文件-out filename 解密后得到的文件名,即还原的明文文件)图 9-4 对 out026h231f.des 文件内容进行解码 步骤五 输入type new026h231f.txt 命令查看解密后的文件内容,如图9-5 所示。判别是不是与源文件026h231f.txt 的内容一致。图 9-5 判别与源文件内容的一致性(三)非对称加密实验步骤

6、 步骤一 用记事本创建一个文本文件,文件名为学生的学号(如026h321f.txt),内容为学生的名字和学号,保存在c:opensslout32dll 的文件夹下,如图10-1 所示。图 10-1 用记事本创建的文本文件 步骤二 产生一个私钥。具体的操作步骤如下:输入命令“openssl genrsa-des3-out myrsaCA.key 1024”(注意所有的-符号的前面都有一个空格,另外“1024”前面有空格),输入后按回车键,出现如图10-2 所示的等待提示页面,提示你输入保护密码,按回车键后会再输一次密码进行确认(注:输入密码时屏幕无任何显示)。执行完上述命令完后,在 c:open

7、sslout32dll 目录下会自动生成一个用于存放rsa 私钥的文件myrsaCA.key。(命令的含义:genrsa 指令生成RSA 私有密钥,并使用DES3 加密算法来加密密钥,通过输入保护密码。myrsaCA.key 是私有密钥输入文件名;1024 是产生的参数的长度,必须是本指令的最后一个参数,如果没有指明,则产生512bit 长的参数)图 10-2 用于存放私钥的文件 步骤三 查看私钥内容。在如图10-2 所示页面,输入“openssl rsa-in myrsaCA.key-text-noout”(注意所有的-符号的前面都有一个空格)命令,然后根据提示输入先前设定的保护密码,查看私

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

9、sa 指令专门处理RSA 密钥。-out filename 要输出的文件名;-pubin 缺省来说是从输入文件中读到私有密钥,有这个选项则可以从输入文件中去读公共密钥;-pubout 缺省来说是打印出私有密钥,有这个选项就可以打印出公共密钥。)图 10-4 存放公钥的文件 步骤五 查看公钥内容。在如图10-4 所示页面中,输入“type myrsapubkey.pem”命令查看文件“myrsapubkey.pem”中的公钥内容,如图10-5 所示。图 10-5 查看文件中的公钥内容 2.用公钥对文件加密和用私钥对文件解密 步骤一 用公钥对文件加密。在如图8-2所示页面,输入命令“openssl

10、 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 指定公

11、共密钥文件 -sign 给输入的数据签名,需要用到私有密钥文件 -verify 对输入的数据进行验证 -encrype 用公共密钥对输入的数据进行加密 -decrypt 用 RSA 的私有密钥对输入的数据进行解密)图 10-6 加密后的文件 步骤二 用私钥对加密文件解密。在如图8-2 所示页面中,输入命令“openssl rsautl-decrypt-in pub026h231f.enc-inkey myrsaCA.key-out newpub026h231f.txt”(注意所有的-符号的前面都有一个空格)后,根据提示输入原先设定的保护密码,出现如图10-7页面。(命令的含义:rsautl 指

12、令能够使用使用RSA 算法签名,验证身份,加密和解密数据。-in filename 指定输入文件名;-out filename 指定输出文件名;-inkey filename 指定私有密钥文件,格式必须是RSA 私有密钥文件;-decrypt 用 RSA 的私有密钥对输入的数据进行解密)图 10-7 用私钥对文件解密 步骤三 查看解密后的newpub026h231f.txt 文件的内容,命令“type newpub026h231f.txt”。如图10-8 所示。判别是不是与源文件026h231f.txt 的内容一致。图 10-8 判别与源文件内容的一致性 3.用私钥对文件加密和用公钥对文件解密

13、(提示:类似签名过程)步骤一 用私钥对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 filena

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

15、utl 指令能够使用使用RSA 算法签名,验证身份,加密和解密数据。-in filename 指定输入文件名;-out filename 指定输出文件名;-verify 对输入的数据进行验证 图 10-10 用公钥解密文件 步骤三 查看解密后的newpri026h231f.txt 文件的内容。在如图10-10 所示页面中,输入命令“type newpri026h231f.txt”,回车后便可查看文件的内容,然后判别是不是与源文件 026h231f.txt 的内容一致。(四)搜索中华人民共和国电子签名法,通过阅读熟悉该电子签名法的主要内容,每个部分内容都解决了什么问题。(五)搜索中国互联网络信息

16、中心域名争议解决办法,阅读并熟悉其主要内容。四、实验结果 1、把加密前的明文文件(如026h321f.txt)的内容显示在下面空白处。2、把对明文进行对称加密后的内容(如out026h231f.des 文件)显示在下面空白处。4、把对对称加密密文(如out026h231f.des 文件)进行解码的内容(如new026h231f.txt)显示在下面空白处。比较new026h231f.txt 与 026h321f.txt 是否一致。5、将图10-3 中私有密钥文件中的私钥内容显示在下面空白处,可通过查看OPENSSL 安装目录中的文件myrsaCA.key,打开即为私钥内容。6、将图10-6 中公

17、钥加密后的密文(如pub026h231f.enc)的内容,以及公钥文件myrsapubkey.pem 的内容显示在下面空白处(可通过查看OPENSSL 安装目录中的文件myrsapubkey.pem,打开即为公钥内容)。7、将图10-9 中私钥加密后的密文(如pri026h231f.enc)的内容,以及私钥文件myrsaCA.key的内容显示在下面空白处。五、实验思考 【相关知识】1.OpenSSL简介 Openssl 是一个自由软件,包含了SSL 接口、对称加密、非对称加密及PKCS 接口(包括X509证书、PKCS 标准、ASN.1)等功能。到目前为止,Openssl 已发展到0.95 版

18、,功能越来越丰富。OpenSSL软件由两部分组成,分为ssleay模块和openssl模块。openssl模块是建立在ssleay模块上的一个高级应用;ssleay 模块是整个Openssl 软件的核心,由Eric A.Young 和 Tim J.Hudson 用标准C 语言写成,能跨平台运行,功能很齐全,涉及的范围很广,提供的接口大约有2000 多个,其中有关对称加密的算法主要有:DES、IDEA、RC2、RC4、RC5、Blowfish、CAST 等;有关非对称加密算法主要有:RSA、DH、DSA 等;有关哈稀算法主要有:MD2、MD5、SHA、SHA-1、RIPEMD、MDC2 等。单从

19、实现的这些算法来看,就足以用它们构建起各种有关数据加密的应用和PKCS 接口了。更难能可贵的是,它打破了美国不允许强加密产品出口的限制,使用ssleay,完全可以替代微软所提供的用组件来加密应用的低强度加密。通过调用 ssleay 接口,开发自己的应用,可以做到SSL 的 128 位甚至更高位数的数据加密。ssleay 除提供底层的加密算法外,还实现了大部分PKCS 功能,如 PKCS1(对 RSA 加密算法的描述)、PKCS3(Diffie-Hellmen 密钥协商)、PKCS5(基于口令进行加密的标准)、PKCS6(扩展证书语法标准)、PKCS7(加密信息表示的语法标准)、PKCS8(私钥

20、信息语法标准)、PKCS10(证书申请语法标准)、PKCS12(个人身份信息迁移语法标准)。由于PKCS 是一套有关使用公开密钥进行加密的标准,用以规范加密算法的处理,规范数字证书、数据封装、数字签名,以及个人私有信息保护的实现,因而单独利用ssleay,就能实现标准数字证书的申请、签发,个人信息(如证书、私钥等)的安全存放、数据加密、数据密封、数据签名。正因为OpenSSL 有这么强大的功能并且还开放源代码,所以被广泛用于各种应用,在Linux系统中尤为多见。值得一提的是,OpenSSL 的 license 是 ssleay license 和 openssl license的结合,属于BS

21、D 类型。按照license 里面的说明,OpenSSL 可以被用于各种商业、非商业的用途,当然也需遵守一些基本协议,目的是为了保护软件作品,其他人想要在ssleay 或openssl 的基础上进行开发,必须遵守它的license。OpenSSL 软件包含表13-1-1 中的一些主要文件。表 14-1-1 OpenSSL 中的主要文件 文件 说明 libssl.a 实现了SSLv2、SSLv3、TLSv1 的安全功能 libcrypto.a 实现了加密、摘要、证书生成的功能,其中对称加密包括DES、RC4、RC2、IDEA,摘要包括MD5、MD2、SHA(SHA-0,SHA-1)、MDC2,公

22、钥加密包括RSA、DSA、Diffie-Hellman openssl 一个命令行实用工具,可用来生成证书 2.Openssl 的安装 从 www.openssl.org 网站下载相应平台下的OpenSSL 压缩软件包,如openssl-0.9.7d.tar for windows 版,把它解压缩到某个目录如c:openssl 下,按照安装手册中的安装要求进行安装。由于OpenSSL 软件是用C 语言和Perl 语言编写的,安装时需要使用C 语言编译器来进行编译和Perl 语言来进行解释,因此,要求在安装OpenSSL 之前系统平台上必须先装有Perl 语言和C 语言编译器,Perl 语言可以

23、使用ActiveState Perl,网站http:/ 上可进行自由下载;至于C 语言编译器,可为Visual C+或 Borland C 或 GNU C(Cygwin or MinGW)三者之一。下面以Windows 平台为例,说明安装OpenSSL 软件的具体步骤,详细情况可参见Install.w32文件说明(unix 平台下可参照INSTALL 文件说明,OpenVMS 平台下可参照INSTALL.VMS 文件说明)。1)运行配置文件Configure,进行环境变量设置 执行步骤为:c:opensslperl Configure VC-WIN32 c:opensslmsdo_ms 如果Windows 下存在masm 编译器,也可运行msdo_masm 文件来代替do_ms 文件。2)编译Openssl 软件 若为vc+环境,则执行:c:opensslnmake-f mstdll.mak 成功后,将会在c:openssl 下生成out32dll 目录,目录下存有Openssl 的相关dll 文件和exe 文件。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 文案大全

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁