数字签名实验openssl

openssl

OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。

 

OpenSSL 是一个开源项目,其组成主要包括一下三个组件:

  • openssl:多用途的命令行工具

  • libcrypto:加密算法库

                    对称加密

                     提供了8种对称加密算法,其中7种是分组加密算法,仅有的一种流加密算法是RC4。这7种分                       组加密算法分别是AES、DES、Blowfish、CAST、IDEA、RC2、RC5

                     

                  非对称加密:

                      实现了4种非对称加密算法,包括DH算法、RSA算法、DSA算法和椭圆曲线算法(EC)。           

  • libssl:加密模块应用库,实现了ssl及tls

 

两种运行模式:交互模式和批处理模式

 

实验目的

过实验理解数字摘要、数字签名原理与应用

 

实验步骤

1. 创建明文文档plain.txt,写入内容。

2. 计算plain.txt的哈希值,输出到文件digest.txt。

3. 利用RSA算法对摘要进行签名。

(1)创建1024位的RSA私钥,写入文件rsprivatekey.pem,同时用3DES加密,设置密码。

(2)从文件rsprivatekey.pem中提取公钥,写入文件rsapublickey.pem.

(3)利用上述私钥对摘要digest.txt进行签名,生成签名文档signature.bin

实验过程

1.在openssl/bin下创建明文文档plain.txt,写入内容

 

 

 

2. 计算plain.txt的哈希值,输出到文件digest.txt。\

sha1

 

 

3. 利用RSA算法对摘要进行签名。

(1)创建1024位的RSA私钥,写入文件rsprivatekey.pem,同时将私钥用3DES加密,并设置密码。

 

 

(2)从文件rsprivatekey.pem中提取公钥,写入文件rsapublickey.pem.

 

 

(3)利用上述私钥对摘要digest.txt进行签名,生成签名文档signature.bin

输入之前设置的密码1234

 

 

4. 对签名signature.bin进行公钥验证。(rsautl--L)

 

 

 

posted @ 2021-10-07 20:42  学习日志羁旅  阅读(210)  评论(0编辑  收藏  举报