一、实验目的
通过实验理解数字摘要、数字签名原理与应用
掌握Openssl的基本使用方法
二、 实验环境
硬件设备:电脑
软件产品:Openssl
三、 实验步骤
- 创建明文文档plain.txt,写入内容。
- 计算plain.txt的哈希值,输出到文件digest.txt。
- 利用RSA算法对摘要进行签名。
(1)创建1024位的RSA私钥,写入文件rsaprivatekey.pem,同时用>3DES加密,设置密码。
(2)从文件rsaprivatekey.pem中提取公钥,写入文件rsapublickey.pem.
(3)利用上述私钥对摘要digest.txt进行签名,生成签名文档>signature.bin- 对签名signature.bin进行公钥验证。
四、 实验过程
1. 在openssl/bin下创建明文文档plain.txt,写入内容。
2. 以管理员的身份打开openssl.exe,计算plain.txt的哈希值,输出到文件digest.txt。
命令:sha1 -out digest.txt plain.txt
3. 利用RSA算法对摘要进行签名。
###(1)创建1024位的RSA私钥,写入文件rsaprivatekey.pem,同时将私钥用3DES加密,并设置密码。
命令:genrsa -out rsaprivatekey.pem -passout pass:123456 -des3 1024
###(2)从文件rsaprivatekey.pem中提取公钥,写入文件rsapublickey.pem.
命令:rsa -in rsaprivatekey.pem -passin pass:123456 -pubout -out rsapublickey.pem
(3)利用上述私钥对摘要digest.txt进行签名,生成签名文档signature.bin
命令:rsautl -sign -inkey rsaprivatekey.pem -in digest.txt -out signature.bin(下图红框处需要输入密码123456)
4.对签名signature.bin进行公钥验证。
命令:rsautl -verify -inkey rsapublickey.pem -pubin -keyform PEM -in signature.bin
总结
你能反解出我最后一个文件的字符嘛?
解答出来了就祝你和文字一样.