块密码通过异或将关键材料混合到排列中。同样,做前和后美白的方式。
Chacha/Salsa以32位模块完成,将键和iv材料(以及其他位元之一)添加到置换输出中,但因为逆转它们很简单,这并不重要。
对于最后一步,使用32位模块加法而不是XOR的理由是什么?具有完全相同问题的MD散列用XOR而不是模>2加法来解决。
发布于 2018-11-16 10:58:16
发布于 2018-11-15 23:12:36
只要一个操作数(或两者都是不可预测的)和两个操作数(实际上)在统计上是独立的,任何一个操作数都能工作。通常使用XOR是因为在基于硬件的实现中,它需要更少的晶体管和更少的时间。
在软件中,对于符合寄存器大小的数据,这两种操作都在一个周期内运行。这使加法比普通的XOR操作更有优势。对置换步骤的输入的差异随着加法而传播得更快,因为进位影响输出比特可能改变的概率。
ChaCha主要用于机器上的软件实现,本机支持32位模块添加。用XOR替换最后的添加不太可能影响安全性,因此选择可能是任意的。
发布于 2018-11-16 06:43:47
除了“未来安全答案”。
\boxplus是一个非线性过程,如下所示:
我假设非线性部分使得在最后一步很难逆转它。
有关密码学性质\boxplus#qcStackCode#的进一步阅读
https://crypto.stackexchange.com/questions/64074
复制相似问题