与ChaCha20-Poly1305-SIV相比,HS1-SIV有哪些优势?
我知道两者都使用ChaCha流密码,但我试图理解为什么HS1-Hash是一个更好的MAC。
编辑:要隐藏Poly1305结果,我将使用ChaCha20核心,即a.k.a。HChaCha20,作为一个现在免费但关键的PRF.这是因为ChaCha20实际上是计数器模式下的键控散列,并且也可以直接用作PRF。事实上,这就是XSalsa20对Salsa20所做的事情--它使用Salsa20核心作为PRF,从256位键和128位当前位生成一个256位的子密钥,其他64位作为子键的nonce。由于HChaCha20是一个强PRF (否则ChaCha20就坏了),我可以将其作为键控128->128位PRF使用,方法是丢弃前128位。
发布于 2016-02-24 08:32:16
ChaCha20-Poly1305-SIV没有很好的定义,如果您定义它,它也没有SIV模式的优点。
SIV模式本质上是MAC -然后加密,MAC被重用为现在.ChaCha20-Poly1305中的MAC需要一个nonce,因为它使用ChaCha20加密Poly1305身份验证器(您不能显示原始身份验证器)。因此,您不能使用它来派生出一个名为“没有”的词。
您可以使用SIV的一个版本,其中包含了一个nonce在MAC计算中,但是这样您就不会获得任何现在的重用阻力-- MAC与现在的重用被打破了。您还有一个问题(不是不可克服的),就是定义128位MAC是如何作为加密算法的现在使用的,而加密算法只需要96位节点。
基本上,与仅使用Cha20-Poly1305相比,使用SIV模式没有任何好处,而且性能和复杂性都存在明显的缺点。HS1-SIV通过使用消息的哈希来生成新的键来解决这个问题。这意味着现在的滥用并不意味着世界末日。
随着更新的问题,其中的MAC是Poly1305和一个PRF应用到它,一个强大的现在的要求是减少了。但是,除非您包含了一个non,否则您将得到一个差界,所以您仍然需要一个non(如果您想要的话,也是为了使它不确定)。
在这种情况下,HS1-SIV的优势就不那么明显了。然而,希望这是一个更好的分析建筑--或者如果它在凯撒做得很好的话。它还提供了不同的参数选项,其中最高的选项使用的哈希大于使用Poly1305限制的128位。这意味着碰撞的概率较低,并且在进入生日界限之前消息数量更多。
同样,您仍然需要定义在ChaCha20中如何使用128位的nonce,如何或是否对关联的数据进行身份验证,等等,但是对于HS1-SIV的中间参数集来说,这似乎是一个合理的选项。因此,HS1-Hash的主要优势在于它的灵活性。
(我不知道它是否具有性能优势,但似乎有可能,特别是使用短消息时,它比使用额外的ChaCha调用作为PRF更有优势。)
https://crypto.stackexchange.com/questions/33068
复制相似问题