给定大小为m的消息n、密钥k和消息身份验证代码mac = poly1305(m, k),知道损坏消息、mac代码和密钥的人可以纠正(或至少检测到)消息上的最小位翻转量吗?
发布于 2020-02-06 23:15:31
可以更正的消息上的最小位翻转量是多少?
零位,Poly1305没有提供错误校正(至少伯恩斯坦在原始文件中没有声明该属性)。
(或者至少检测到)有人知道损坏的消息,mac代码和钥匙?
一个位翻转已经是可探测的,它将用0.5的机会改变结果散列的所有位。
当然,数据产生正确哈希的可能性总是微乎其微(在2^{128}中,整个MAC输出的概率为1)。然而,这并不取决于翻转了多少位。
通常,建议将MAC计算的全部输出保留为身份验证标记。
如果还希望针对更改进行错误更正,则可以在消息+身份验证标记上包含一个纠错代码块。这样两种方法都可以防止非恶意更改。或者,您可以使用指定的在你自己的评论中专用的MAC算法。
就我个人而言,我不认为有一种直接的方法可以在Poly1305计算中添加纠错功能,但我不是最好的人来说明是否有可能。
https://crypto.stackexchange.com/questions/77459
复制相似问题