【能力验证】SM4 CBC-MAC 消息长度扩展异或伪造攻击

admin 2024年8月23日00:18:34评论147 views字数 1381阅读4分36秒阅读模式

SM4  CBC-MAC 消息长度扩展异或伪造攻击

根据 GB-T 15852.1—2020 《信息技术 安全技术 消息鉴别码 第 1 部分:采用分组密码的机制》文档内容:

【能力验证】SM4  CBC-MAC 消息长度扩展异或伪造攻击

【能力验证】SM4  CBC-MAC 消息长度扩展异或伪造攻击

【能力验证】SM4  CBC-MAC 消息长度扩展异或伪造攻击

【能力验证】SM4  CBC-MAC 消息长度扩展异或伪造攻击

【能力验证】SM4  CBC-MAC 消息长度扩展异或伪造攻击

【能力验证】SM4  CBC-MAC 消息长度扩展异或伪造攻击

题目使用SM4  CBC-MAC机制,计算了两个 32 字节消息的 MAC值,要求我们给出一个 64 字节的消息和对应的 MAC 值。
我们知道 CBC 的模式大概是这样的

【能力验证】SM4  CBC-MAC 消息长度扩展异或伪造攻击

而 SM4 CBC-MAC 是以最后一组的密文作为 MAC 值。于是对于这题而言,我们已知的信息是这样的

【能力验证】SM4  CBC-MAC 消息长度扩展异或伪造攻击

已知经由SM4 CBC-MAC生成的MAC值如下

MSG1:

E55E3E24A3AE7797808FDCA05A16AC15EB5FA2E6185C23A814A35BA32B4637C2

MAC1:

0712C867AA6EC7C1BB2B66312367B2C8

MSG2:

D8D94F33797E1F41CAB9217793B2D0F02B93D46C2EAD104DCE4BFEC453767719

MAC2:

43669127AE268092C056FD8D03B38B5B

要求生成64字节(128个16进制字)的MSG3和对应的MAC3。

分析:

A、SM4-CBC,输入为128位IV随机数、对称密钥K、128位明文分组

B、SM4 CBC-MAC,输入同SM4-CBC,只是IV取值固定为0,输出只取最后一个分组加密后的密文

C、MSG1明文长度为32字节(256位),所以有2个分组(M1a和M1b),输出为MAC1

    M1a =E55E3E24A3AE7797808FDCA05A16AC15

    M1b =EB5FA2E6185C23A814A35BA32B4637C2

    MAC1=0712C867AA6EC7C1BB2B66312367B2C8

    IV     =00000000000000000000000000000000

    MAC1 = Ek(k, Ek(k,IV⊕M1a)⊕M1b) = Ek(k, Ek(k,M1a)⊕M1b) 

D、同上MSG2与MSG1情况相同,所以

    MAC2 = Ek(k, Ek(k,M2a)⊕M2b) 

E、同理,对于MSG3,有4个分组(M3a、M3b、M3c、M3d),输出为MAC3

    MAC3 = Ek(k,Ek(k,Ek(k, Ek(k,M3a)⊕M3b)⊕M3c)⊕M3d)

经过分析,大致思路是MSG3可以由MSG1和MSG2适当拼接而成。具体的

    M3a = M1a

    M3b = M1b

    所以有Ek(k, Ek(k,M3a)⊕M3b) = Ek(k, Ek(k,M1a)⊕M1b) = MAC1

    现在需要构造一个 M3c满足:M3c⊕MAC1 = M2a,也就是M3c = M2a⊕MAC1

    这样,当IV=MAC1时,Ek(k,MAC1⊕M3a) = Ek(k,M2a)

    M3d = M2b

综上

MSG3 = M1a||M1b||M2a⊕MAC1||M2b

E55E3E24A3AE7797808FDCA05A16AC15EB5FA2E6185C23A814A35BA32B4637C2DFCB8754D310D88071924746B0D562382B93D46C2EAD104DCE4BFEC453767719

MAC3 = MAC2

43669127AE268092C056FD8D03B38B5B

原文始发于微信公众号(利刃信安):【能力验证】SM4 CBC-MAC 消息长度扩展异或伪造攻击

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月23日00:18:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【能力验证】SM4 CBC-MAC 消息长度扩展异或伪造攻击https://cn-sec.com/archives/3087138.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息