听说这玩意可以验证消息完整性 —— 消息认证码(MAC)

消息认证码

  消息认证码(Message Authentication Code)是一种确认完整性并进行认证的一种技术,简称 MAC

验证过程

在这里插入图片描述
消息认证码在输入任意长度的消息和一个发送者与接收者之间的共享密钥后,输出固定长度的数据,该数据称为 MAC 值

  1. 假设用户 A 和用户 B 使用共享密钥 K 进行通信。
  2. A 要发送一段消息 M 给 B,A 首先用消息认证码算法将 K 和 M 计算出消息认证码 MAC。
  3. 然后将 MAC 和 M 一起发送给 B。
  4. B 收到 MAC 和 M 后利用 M 和 K 计算消息认证码。
  5. 如果计算出的消息认证码与收到的一样则验证成功,证明消息未被篡改。

  由于攻击者没有密钥 K,攻击者修改了消息内容后无法计算出相应的消息验证码,通过使用发送者和接收者之间共享的密钥,就可以识别出是否存在伪装篡改行为。

实现方法

缺点

  通过 MAC 使用双方都拥有的密钥可以实现防篡改仿伪装。但是这是一把双刃剑,由于密钥是共享的,这就导致发送方和接收方都可以计算出同样的 MAC 值,所以我们无法判断这个 MAC 值到底是由谁计算出来的。这导致了 MAC 无法防止否认(无法证明消息是发送方生成的还是接收方生成的),可以使用数字签名解决这个问题。

posted @   Acx7  阅读(649)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示