密码学Hash函数、消息认证码、数字签名和用户认证

在这里插入图片描述
在安全应用中使用的Hash函数称为密码学Hash函数
密码学Hash函数要求两种情况在计算上不可行(即没有攻击方法比穷举更有效):

  • 对预先指定的Hash值找到对应的数据块(单向性)
  • 找到两个不同的数据块对应相同的Hash值(抗碰撞性)
    Hash函数被用于判断数据是否被篡改过(数据完整性)

Hash函数的操作过程:
输入数据的长度首先被填充为某固定长度(如1024位)分组的整数倍,填充的内容包括原始消息的位长度信息。填充长度信息能够提高攻击者修改信息而保持Hash值不变的难度。
在这里插入图片描述

一、密码学Hash函数的应用

1.消息认证(Message Authentication)
是用来验证消息完整性的一种机制和服务

  • 消息认证确保收到的数据确实和发送时的一样(即没有修改、插入、删除或重放)
  • 还要求消息认证机制确保发送方声称的身份是真实有效的
    当Hash函数用于提供消息认证功能时,Hash函数值通常称为消息摘要
    消息认证中使用Hash函数的本质如下:
  • 发送者根据待发送的消息使用该函数计算一组Hash值,然后将Hash值和消息一起发送过去
  • 接收者收到后对消息执行同样的Hash计算,并将结果与收到的Hash值进行对比
  • 如果不匹配则接收者推断出消息(也可能是Hash值)遭到了篡改
    Hash函数 的运行结果必须通过安全的方式进行传输。
    在这里插入图片描述
    在这里插入图片描述
    Hash码能够通过以下方法用于提供消息认证:
    在这里插入图片描述
  • 使用对称密码算法加密消息和Hash码
  • 使用对称密码算法只对Hash码进行加密
  • 不使用加密算法,仅使用Hash函数也能实现消息认证
  • 对整个消息和Hash值加密

b所需计算少,a、d需要加密整个消息,如果不要求提供保密性,b比a、d更有优势。

更一般地,消息认证是通过使用消息认证码(MAC)实现的,即带密钥的Hash函数
通常情况下,通信双方基于共享的同一密钥来认证彼此之间交互的信息时,就会使用MAC。
MAC函数将密钥和数据块作为输入产生Hash值作为MAC码,然后将MAC码和受保护的消息一起传递或存储。
检查消息完整性的时候,使用MAC函数对消息重新计算,并将计算结果与存储的MAC码对比。

  • 20
    点赞
  • 89
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值