密码学基础:完整性、源认证、数字签名详解 单向散列函数

本文详细解释了单向散列函数的概念、出现原因、特点,介绍了MD4/MD5和SHA系列算法,以及它们在文件完整性校验、消息认证码和数字签名中的应用,讨论了单向散列函数无法解决的问题和公钥密码的相关关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

单向散列函数

单向散列函数出现的原因?

1.如图,客户如何确保文件是没有被修改过的?
在这里插入图片描述

2.可能有人想到了一个解决方案,保存之后,再拷贝一份,是可以解决这个问题的,如图所示:每次将文件做一次拷贝,然后进行比对
在这里插入图片描述
4.如果面向的文件对象为1T的数据或1万字的电子书时,拷贝对比的方法是否可行?
那么又会引发另一个问题:
如果原文件为100G,那么就需要保存100G的副本,这个方案这样看来是不可行的

在这里插入图片描述

5.若文件的本体拷贝对比方式不可行,能否获取文件的指纹呢?
通过文件的指纹来对比,是否就可以识别文件是否曾被篡改

如图所示:抓到凶手后的获取指纹与从数据库中提取到的嫌疑犯的指纹做比对,证明是否是一个人
散列值就相当于文件指纹
在这里插入图片描述
6.获取文件指纹的技术,便是‘单向散列函数’出现的原因

什么是单向散列函数

1.单向散列函数,有一个输入和输出:
1)输入称为消息
2)输出称为“散列值”
2.依据消息的内容来计算出散列值,再利用散列值来验证‘数据完整性’

比对流程:对重要文件做散列值计算,对比两边文件的散列值是否一样,一样,则证书文件完整;不一样,则证明文件呗修改了。
在这里插入图片描述

单向散列函数的特点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值