我们都知道Google引入ChaCha / Poly1305作为TLS密码套件的方法。基本原理似乎很明确:ChaCha是更新的,似乎可以从Salsa20的设计经验中获得更好的安全性(也许还有速度?)。

在他的“最新”论文McBits中:基于时间码的密码学(基本上是基于ECIES的密码)Bernstein(Salsa20和ChaCha的发明者),Chou和Schwabe将Salsa20用作McBits而不是ChaCha的标准原语。

那是什么原因造成的比ChaCha更喜欢Salsa20?

评论

我不能完全确定这是“主要基于意见”还是可以被认为“不负责任”,但是我认为,对于这种“重要的” PKCS,偏爱salsa20的理由应该是“显而易见的” /“透明的”。

大概(正如DJ BERNSTEIN声称的那样),ChaCha是salsa20的一种变体。他撰写了许多有关该主题的各种版本的论文,因此他需要时间来稳定它们。

我记得ChaCha的优势是每轮的扩散效果更好,并且经过修改的轮结构可以在某些SSE指令可用时提供更好的性能

#1 楼

我同意保守主义是选择McBits的可能原因。
ChaCha在eSTREAM仍在运行时发布。 Salsa20 / 12现在处于最终的eSTREAM产品组合中。即使在关于构造更大随机数的XSalsa论文中,伯恩斯坦也没有提到ChaCha。


那么,为什么使用Salsa20而不是ChaCha是什么原因呢?想要使用标准化算法是原因之一。选择更加详尽的算法是另一种不错的算法。

如果戴上了锡纸帽子,您可能还希望避免在没有真正休息的情况下进行任何调整。毕竟,调整密码将是引入新后门的机会。

#2 楼

Salsa20进行了很多密码分析。如果我没记错的话,在进入TLS之前,Chacha20仅由两篇论文进行了分析。某些人可能会认为,即使考虑到它的传承,这也有点草率。如果DJB(Daniel J. Bernstein)只是保守的话,我不会感到惊讶。

评论


$ \ begingroup $
难道ChaCha20的安全性不亚于Salsa20内核吗?
$ \ endgroup $
–森林
18-3-12的3:54

$ \ begingroup $
那将是一个令人惊讶的简单证明-我怀疑是否有可能。 “对于所有可能的攻击,在所有可能的安全配置文件下,表明一种算法比另一种算法更安全。” ChaCha20或多或少地被设计为Salsa20的增量,并旨在在增加扩散的同时消除一些小问题-因此,“同样安全”的一般概念并非完全没有根据。
$ \ endgroup $
– Thomas M. DuBuisson
18年3月12日在5:06

$ \ begingroup $
嗯,好像我在想XSalsa20,它确实具有安全证明。
$ \ endgroup $
–森林
18年3月24日在23:13