当前位置:   article > 正文

密码学理论05:对称密码认证——消息认证码_对称密码算法的消息鉴别码

对称密码算法的消息鉴别码

机密性 vs 完整性

一个基本的加密目标:使各方能够以安全的方式通过开放的通信渠道进行通信。

机密性:防止(窃听/CPA)对手了解通过通道发送的消息内容(长度除外)。

消息认证(消息完整性):确保每一方都可以验证收到的消息是由声称已发送消息的一方发送的,并且没有以任何方式修改。

加密 vs 消息认证

加密并不意味着任何真实性;消息完整性并不意味着任何保密性。

例:一次一密(完美的安全加密)——

 同样的攻击适用于我们简单地将消息异或为(伪)随机字符串的任何方案,例如输出反馈模式(OFB)。

消息认证码(MAC)

规范验证:

通常 Mac 是确定性的,在这种情况下 Vrfyk (m, t) 可以定义为:Vrfyk (m, t) = 1 ⇐⇒ Mack(m) = t

安全目标:在不知道 K的前提下,应该很难为新的消息M'想出 M′ ,T′ 使得 VrfyK(M ′ , T′ ) = 1。

MAC的安全性

 

 如果对于所有 PPT 对手 A:Pr[A 赢得上述游戏] = Pr[Mac-forgeA,Π (n) = 1] ≤ negl(n),则MAC Π = (Gen, Mac, Vrfy) 在自适应选择消息攻击下是存在不可伪造性的。

MAC 仅保证消息是由知道密钥的一方发送的。控制通道的对手仍然可以重复、重新排序或删除消息。——使用序列号或时间戳。

strong MACs

如果 A 找到一个 (m∗, t∗),其中 m∗ /∈ Q,即它没有明确请求 t ← Mack(m∗),那么它会破坏 MAC。

只是找到一个新的 t ∗ ̸= t 其中 Vrfyk (m ∗ , t) = 1 不算作对MAC的break。满足甚至很难找到这样一个新标签的更强定义的 MAC 被称为强 MAC。

 验证查询

我们可以通过额外授予 A 访问验证 oracle Vrfyk (·) 的权限来加强安全定义。

 对于具有规范验证的 MAC——我们将只讨论这些——这不会使攻击者变得更强大。

计时攻击

我们考虑一个可以向接收方发送消息/标签对的对手——因此使用接收方作为验证oracle——并且不仅可以获得接收方是接受还是拒绝,还可以了解接收方做出此决定所需的时间。

对手将 (m, t) 对发送给接收者。接收方逐字节比较 t ′ = Mack(m) 和 t,并在遇到第一个不相等的字节时立即拒绝。

攻击者发送 (m, t0)。 . .(m, t255) 到接收方,其中 tj 是前 i 个字节设置正确的字符串,第 (i + 1) 个字节等于 j,其余字节设置为 0x00。(一开始,i = 0。)

固定长度的MAC构建

构建:

 

 MAC 的域扩展(定长→任意长)

——添加“消息标识符”

 如果 Π ′ 是安全的定长 MAC,则 Π 是安全的MAC

 CBC-MAC

 对于任何多项式 ℓ,如果 F 是 PRF,则长度为 ℓ(n) · n 的消息的 CBC-MAC 是安全的。

如果我们允许不同长度的消息,CBC-MAC 是不安全的。

两种允许任意长度消息的简单变体:

  •  预处理消息,使它们没有前缀,例如通过在消息前添加消息长度。
  • 使用独立密钥 k ′ 再次加密标签。这种结构被称为 EMAC,或“加密的 MAC”。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/310613
推荐阅读
相关标签
  

闽ICP备14008679号