有人能解释一下为什么这是个坏主意吗?我看不出它有什么问题,只是对于MAC和AES,键K应该是不同的。
MAC算法由消息M的MAC (由消息块M1、M2、.、Mn组成)作为AES加密,密钥K为所有消息块的异或。
即MACK(M)=EK(M1 XOR M2 XOR .异或锰)
发布于 2016-01-31 18:45:34
计算冲突非常简单,因为消息块M1..Mn可以在没有问题的情况下被交换。因此EK(M1 XOR M2) = EK( M1‘XOR M2'),其中M1’= M2和M2‘=M1。不同的消息显然不应该计算到相同的MAC身份验证标记。
发布于 2016-01-31 17:26:57
问题在于XOR-将消息块合并成一个压缩块。这以一种非常有规律的方式减少了消息,这意味着构建冲突非常容易。对此MAC设计的长度扩展攻击可以由任何数据组成,只要其中一个块是剩余部分的二进制补充--计算非常简单。
https://crypto.stackexchange.com/questions/32365
复制相似问题