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.htmlhttps://www.cnblogs.com/yangxiaolan/p/6256838.html,两人一组实践附图中的混合加密,提交实践截图

  1. A,B两位同学分别产生一个公私钥对Apub,Apri, Bpub,Bpri,自己把公钥文件发送给对方(A的Apub给B,B的Bpub给A)
  2. A同学准备一个文件demo.txt,内容为AB的学号,A同学用3DES算法对demo.txt加密得到 demo1,加密密钥为K
  3. A同学用B同学的公钥Bpub对K加密得到K1,A同学用自己私钥Apri对K1签名得到K2, A把K2和Demo1发送给B
  4. B同学用A同学的公钥Apub对K2验签得到K1,再用自己的私钥Bpri对K1解密得到K
  5. B同学用K对demo1解密得到demo.txt, 查看demo内容对不对
  6. 提交过程截图

一、openssl常用命令

  1. rsa

    技术图片

  2. rsautl

    技术图片

  3. dgst

    技术图片

  4. 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

技术图片

技术图片

实践过程中所遇问题

  1. 学号文件加密中-p/P的使用

    [pP]

    加上p参数会打印文件密钥Key和IV值,加上P参数也会打印文件密钥Key和IV值,但不进行真正的加解密操作

    P→显示Key但不执行加密,如果此时重复out,则原本加密的文件会变成空文件

  2. 关于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

  3. 另附: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《网络空间安全专业导论》第六周学习总结

2019-2020-1学期20192424《网络空间安全专业导论》第一周学习总结

2019-2020-1学期 20192416《网络空间安全专业导论》第十周学习总结