深入浅出密码学(中)

本文深入探讨密码学,解释单向散列函数的局限性,引出消息认证码(MAC)的概念,阐述MAC如何确保数据完整性和认证发送者身份。同时指出MAC的局限性,包括无法防止否认和密钥配送问题,并预告将通过数字签名来解决这些问题。
摘要由CSDN通过智能技术生成

前言

 

在之前的文章《深入浅出密码学(上)》中,笔者为大家简要介绍了密码学中的加密跟单向散列函数的概念与应用。在这里先简单回顾下,由于网络通信过程中存在信息被窃听的风险,因此需要通过加密来防止窃听以保护信息安全。此外,在网络通信中数据还存在被篡改的风险,因此我们还需要有一种机制能够识别数据是否被篡改,而单向散列函数正是能够识别数据一致性或完整性的一种机制。然而单向散列函数不能解决的一个问题是不能确认消息一定是发送者的本意,也就是说无法识别“伪装”,为什么这样说呢?且听我细细道来。

 

一、单向散列函数的局限性

 

为了说明单项散列函数的局限性,我们还是引入一个场景。小明从某个网站W上下载了一个开源软件,由于该软件是开源的,所以没必要使用加密算法进行加密以防止窃听,但是小明需要确定下载的开源软件是否是完整的,所以需要使用单向散列函数进行验证。因此小明从该网站同时将开源软件与该开源软件的散列值下载到本地再进行比对,发现下载的软件计算出来的散列值与网站上的散列值是一致的,因此可以断定该软件是完整的。但是这并不代表该软件确实是来自网站W,而不是来自其他地方,即单纯使用单向散列函数存在“伪装”的风险。为了说明这一点&#x

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值