【问题标题】:Misunderstanding MixColumns step误解 MixColumns 步骤
【发布时间】:2010-10-05 10:55:48
【问题描述】:

我在理解 here 描述的 MixColumns 步骤时遇到问题。

我知道扩散,这一切都是有意义的,因为它声明每一列都被视为多项式并在 GF(2^8) 上乘以模数。

但是..乘以 GF(2^8)。尽管域仍然是相同的,但由于 mod.... 而它是不可逆的,它必须是可逆的,因为这就是它的全部意义。

就第一位而言,我的方法是将 A、B、C 和 D 作为列的 4 个字节,将 A1、A2、...、A8 作为位,将 E、F、G 和 H作为输出字节。我打算设置

E = A1,B2,C3,D4,A5,B6,C7,D8
F = D1,A2,B3,C4,D5,A6,B7,C8
G = C1,D2,A3,B4,C5,D6,A7,B8
H = B1,C2,D3,A4,B5,C6,D7,A8

因此它是可逆的、一对一的、线性的和分布的

它后来指出它可以被视为矩阵乘法,但由于矩阵的元素必须是字节并以字节输出,因此矩阵的每个元素必须是模 256,因此不可逆和非线性。

我理解错了吗?我在数学上苦苦挣扎,并试图了解需要做什么才能将其转换为逻辑。

【问题讨论】:

    标签: math logic aes


    【解决方案1】:

    MixColumns 可能是 AES 最难的部分,但对我来说,计算出数学并实际查看数字的来源让我很兴奋。我在我的博文“A Stick Figure Guide to the Advanced Encryption Standard (AES)”中详细计算了它的数学。具体来说,看第 4 幕,第 16 场。我还在下一个场景 (17) 中将它的反面放在婴儿床单上。如果您还有其他问题,请随时在该帖子或此处发表评论。

    【讨论】:

    • 确实,很好很好的解释!
    【解决方案2】:

    MixColumns 中的乘法确实是可逆的,它不是模 256。samiam.org/mix-column.html 很好地解释了 MixColumns 步骤,samiam.org/galois.html 很好地解释了如何在 AES 的有限域中进行算术运算。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-11
      • 1970-01-01
      • 1970-01-01
      • 2014-09-26
      相关资源
      最近更新 更多