《网络安全与渗透测试》课堂笔记---09

2019/4/24- - -
关于HASH单向函数基本理论,和围绕验证hash各个特点,演示的实验,最后会有一个关于邮件加密签名传输的实验。
关于邮件加密签名传输的实验所准备的环境,请参考我另一篇文章《邮件加密传输》

哈希算法(hash)

需求与作用:

在网络安全目标中,要求信息在生成、存储或传输过程中保证不被偶然或蓄意地删除、
修改、伪造、乱序、重放、插入等破坏和丢失,因此需要一个较为安全的标准和算法,以保证数据的完整性。

单向散列函数的特点

给一个任意长度的数据,它返回一个固定长度的散列值

单向性

	作用:给定明文,容易推出密文,给定密文,不能推出明文。

防碰撞性

作用:即随机找到两个消息M和M’,使H(m)=H(m’)在计算上不可行。

完整性

作用:如果原数据做了改动,则hash值是不匹配的。

hash家族

 MD5
 sha1sum
 sha256sum
 sha224sum
 sha512sum
 sha384sum

中国哈希函数标准 SM3

hash的应用

1、常见的Unix系统口令以及多数论证系统口令都是经过hash处理后保持其摘要信息串

以:为组,第二组是经过hash计算后root的密码。
在这里插入图片描述
2、互联网下载文件的完整性验证

一般都提供一个hash的数字摘要,下载方通过hash摘要能够确认所下载的文件与原文件一致,
以此来防止文件被篡改。
举例说明:
下载两个文件
一个名为httpd-2.4.39.tar.gz的Apache文件,和名为SAH256的hash文件
地址:http://httpd.apache.org/download.cgi#apache24
在这里插入图片描述
下载的两个文件要在同一目录下
使用sha256sum命令,
结合-c 选项,来校验下载的文件是否一致。

-c 从文件中读取hash的校验值并予以检查。

在这里插入图片描述
那既然这样,就可以扩展一下

生成一个内容是hello Bob的test文本文件,然后将md5加密test文件后的hash值,再生成一个以.md5结尾的文件,这个文件可以比作是我们下载文件时的验证文件。
然后把test文件做一下改动,再来做一下比对验证,发现改动后的文件的哈希值与之前未改动的哈希值是不一致的,判断出文件作了改动。
在这里插入图片描述
3、hash还被用来与公钥技术结合创建数字签名。

数字签名的两个作用:

1、验证发送者的身份
2、校验数据的完整性

数字签名的原理

发送报文时,发送方用一个哈希函数从报文文本中生成报文摘要,然后用自己的私人密钥对这个摘要进行加密,这个加密后的摘要将作为报文的数字签名和报文一起发送给接收方,接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要,接着再用发送方的公用密钥来对报文附加的数字签名进行解密,如果这两个摘要相同、那么接收方就能确认该数字签名是发送方的。
在这里插入图片描述

举例说明:
邮件加密签名传输实验:

先编辑一个内容为下图的文件,停在编辑状态,即可,不用保存。
在这里插入图片描述
然后点击右下角的小锁(运行PGP软件后,才显示),选择当前窗口 —> 加密&签名
在这里插入图片描述
点击确定。。
在这里插入图片描述
选择要发送的邮件对象,拖拉进收件人,然后点击确定。。
在这里插入图片描述
输入之前为保护自己的私钥而设置的口令。
zZG4ubmV0L3poYW90aWFubnVvXzE5OTg=,size_16,color_FFFFFF,t_70)
然后将加密好的密文复制。
在这里插入图片描述
选择收件人,粘贴所复制的,然后发送
如果发送不成功,改变一下主题名字。。
在这里插入图片描述将收到的邮件密文,复制。。
在这里插入图片描述
粘贴到新打开的记事本上。。
然后点击右下角的小锁,选择当前窗口–>选择解密&校验
在这里插入图片描述
然后输入自己的口令。。
在这里插入图片描述然后,就看见解密后的内容了,OK,成功了O(∩_∩)O~
在这里插入图片描述
OK,有什么问题,欢迎评论交流( ̄︶ ̄*)

猜你喜欢

转载自blog.csdn.net/zhaotiannuo_1998/article/details/89492912