我在对称密码中得到了圆函数的具体问题。它在128-bit块上工作。每一轮都有两个128-bit键。在这轮的乞讨中,布洛克和k_{1}混在一起。然后进入圆形函数(它使用相同的k_{1}和k_{2}键,都是128-bit long)。最后,它将与k_{2}一起使用。
问题在于圆函数。如果您没有128和k_{2},那么让我们假设它将每个128-bit块穿过到D8-bit块中,这与随机块是没有区别的。但有一个例外。所有的零块总是被加密成所有的零块(每一个密钥)。因此,在进入圆函数之前,只有xoring使它不同于所有的零块。
如果我们考虑一下,比方说10回合--这是安全密码吗?有可能因为所有零块的问题而破坏它吗?
编辑:
我澄清了我的问题,特别是当执行xoring时:
INPUT \oplus k_{1} \to F_{roundfunction} \to OUTPUT \oplus k_{2}
发布于 2020-09-04 09:16:32
如果一个全零块为每一个键创建全部零,那肯定是个问题。它不一定是严重的,但可能泄露有关明文的数据,不符合安全分组密码的资格。
然而,解决方案相当简单.简单地说,XOR是k1或k2中的一个,它具有一个常量值,可以将您的全零块转换为能够产生更好结果的东西。就我个人而言,我会在每一轮中使用当前的轮号进行异或,因为这将防止算法意外地以产生相同问题的另一个输入结束。
https://crypto.stackexchange.com/questions/83720
复制相似问题