2009-02-04 90 views
5

我在理解MixColumns步骤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,因此不可逆和非线性。

我明白这个错误吗?我与数学斗争,并试图理解需要做什么,以便将其转化为逻辑。

回答

5

MixColumns对于AES来说可能是最难的部分,但对于我计算出数学并真正看到数字来自哪里,我感到非常兴奋。我在我的博客文章“A Stick Figure Guide to the Advanced Encryption Standard (AES)”中详细计算了它的数学运算。具体来说,请看第4场,第16场。我也把它放在下一个场景(17)的婴儿床上。如果您有任何进一步的问题,请随时对该帖子或此处发表评论。

+0

不错的漫画,谢谢。现在我明白AES的工作原理了:-) – 2011-08-23 23:12:03