当前位置:   article > 正文

密码学学习笔记(三):MAC - 消息认证码_密码学mac

密码学mac

Message authentication codes - MACs消息认证码是经过特定算法后产生的一小段信息,检查某段消息的完整性,以及作身份验证。它可以用来检查在消息传递过程中,其内容是否被更改过,不管更改的原因是来自意外或是蓄意攻击。同时可以作为消息来源的身份验证,确认消息的来源。-- 《百度百科》

MAC的工作原理

  • Alice和Bob生成并共享密钥K
  • Alice使用K在消息M上生成标签T,并将M和T一起发送给Bob
  • Bob使用K检查T是否根据M和K进行验证
  • 目标:M的真实性或完整性
  • 真实性:M源自Alice
  • 完整性:M在从Alice到Bob的过程中未被修改

如果没有钥匙我们能验证真实性吗?

想象一个不需要密钥的校验和算法(Checksum),对手能否在不被抓到的情况下更改消息?

  • CheckSum算法是公共的,因此将M更改为M',然后使用该算法生成新标签T',并将(M,T)替换为(M',T')

这被称为错误检测代码

  • 示例:MD5 散列/摘要、CRC码
  • 无法提供对抗性攻击的真实性保证
  • 但可以针对不受控制的通信或存储错误提供错误检测能力
  • 示例:一个简单的奇偶校验码(所有M位的异或)可以提供多达1位错误的错误检测

形式语法

MAC方案是3种算法的集合:

推荐阅读
相关标签