2019-2020-1学期 20192415 《网络空间安全专业导论》openssl实践
Posted lanvin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2019-2020-1学期 20192415 《网络空间安全专业导论》openssl实践相关的知识,希望对你有一定的参考价值。
2019-2020-1学期 20192415
《网络空间安全专业导论》openssl实践
- 任务详情
参考https://www.cnblogs.com/rocedu/p/5087623.html,https://www.cnblogs.com/yangxiaolan/p/6256838.html,两人一组实践附图中的混合加密,提交实践截图。
- A,B两位同学分别产生一个公私钥对Apub,Apri, Bpub,Bpri,自己把公钥文件发送给对方(A的Apub给B,B的Bpub给A)
- A同学准备一个文件demo.txt,内容为AB的学号,A同学用3DES算法对demo.txt加密得到 demo1,加密密钥为K
- A同学用B同学的公钥Bpub对K加密得到K1,A同学用自己私钥Apri对K1签名得到K2, A把K2和Demo1发送给B
- B同学用A同学的公钥Apub对K2验签得到K1,再用自己的私钥Bpri对K1解密得到K
- B同学用K对demo1解密得到demo.txt, 查看demo内容对不对
- 提交过程截图
一、openssl常用命令
rsa
rsautl
dgst
enc
二、实践过程
(一)生成A的公私钥
openssl genrsa -out Apri.txt #生成私钥
openssl rsa -in Apri.txt -pubout -out Apub.txt #从公钥中提取出公钥
-in filename:指明私钥文件
-out filename:指明将提取出的公钥保存至指定文件中
-pubout:根据私钥提取出公钥
参考:http://www.178linux.com/48764?utm_source=tuicool&utm_medium=referral
(二) 学号文件加密
openssl enc -in demo.txt -e -des3 -out demo1.txt -p #用3DES算法对demo.txt加密得到demo1.txt,并打印文件密钥Key
-in filename:指定要利用的文件存放路径
-out filename:指定生成的文件存放路径
-e/d:加密/解密
-des3表示使用的加密算法是3DES
-p:打印文件密钥Key和IV值
参考:https://www.cnblogs.com/gordon0918/p/5317701.html
(三) K的加密与签名
openssl rsautl -encrypt -in K.txt -inkey Bpub.txt -pubin -out K1.txt #利用B公钥加密K得到K1
-encrypt:用我们的公共密钥对输入的数据进行加密
-in filename:需要加密的文件
-inkey file:指定我们的私有(公有)密钥文件,格式必须是RSA私有(公有)密钥文件
-pubin:表明我们输入的是一个公钥文件(默认输入为私钥文件)
-out filename:输出加密后的文件
参考:
https://www.stackoverflow.wiki/blog/articles/2019/03/17/1552806479704.html
https://blog.csdn.net/sunweixiang1002/article/details/83864727
openssl dgst -out K2.txt -sign Apri.txt K1.txt #利用A私钥签名K1得到K2
或
openssl rsautl -sign -inkey Apri.pem -in K1.txt -out K2.txt #使用rsautl需要密钥的pem形式
参考:https://blog.csdn.net/linan101/article/details/83858095
实践过程中所遇问题
学号文件加密中-p/P的使用
[pP]
加上p参数会打印文件密钥Key和IV值,加上P参数也会打印文件密钥Key和IV值,但不进行真正的加解密操作
P→显示Key但不执行加密,如果此时重复out,则原本加密的文件会变成空文件
关于pem与txt
将公钥、私钥转为文本格式:
openssl rsa -in root.pem -text -out private.txt(私钥)
openssl rsa -pubin -in pub.pem -text -out public.txt(公钥)
参考:https://blog.csdn.net/sunweixiang1002/article/details/81116427
另附:genssl部分命令的中文详解——https://blog.csdn.net/liao20081228/article/details/77159039
以上是关于2019-2020-1学期 20192415 《网络空间安全专业导论》openssl实践的主要内容,如果未能解决你的问题,请参考以下文章
2019-2020-1学期 20192415 获奖感想与网络空间安全专业导论学习总结
2019-2020-1学期 20192415《网络空间安全专业导论》第一周学习总结
2019-2020-1学期 20192415 《网络空间安全专业导论》第一周学习总结 第四章
2019-2020-1学期20192429《网络空间安全专业导论》第六周学习总结