我正在研究AES加密算法,但我无法理解AES要求的字倍增。 如果我有两个单词乘法:
{a3}{a2}{a1}{a0} * {b3}{b2}{b1}{b0}
我到了写多项式:
{2d}x^6+{10}x^5+{1c}x^4+{29}x^2+{10}x+{18}
现在AES标准要求将前一个多项式除以
x^4+1
并取系数该分区的MOD。 我该如何进行划分?我的意思是我理解多项式系数是0和1(位),但是当它们是字节时我真的无法弄清楚...
在阅读其他AES文档后,我怀疑AES中的字倍增类似于以下矩阵乘法:
{a0}{a3}{a2}{a1} {b0}
{a1}{a0}{a3}{a2} * {b1}
{a2}{a1}{a0}{a3} {b2}
{a3}{a2}{a1}{a0} {b3}
所以最后我的结果是:
{a3}{a2}{a1}{a0} * {b3}{b2}{b1}{b0} = {00}{04}{00}{04}.
AES计算是否正确?