AES算法是基于GF(2^8)数域的,其中的0x02与其他数相乘时,不大于0x80左移,大于要与0x1b异或,0x1b哪

我是一只小龙虾2022-10-04 11:39:541条回答

AES算法是基于GF(2^8)数域的,其中的0x02与其他数相乘时,不大于0x80左移,大于要与0x1b异或,0x1b哪来的
如题,这个0x1b有什么理论依据么?0x80又是以什么作为标准的呢?

已提交,审核后显示!提交回复

共1条回复
x_spy 共回答了22个问题 | 采纳率90.9%
你看的很细嘛,其实不用理解那么详细,我跟你说一下
大于不大于0x80其实指的最高位是不是1,因为小于1x80的数只要左移(乘2)就可以了,不涉及到进位,而大于或等于0x80的数,最高位是1,左移就会溢出了,而溢出后的数就不在有限域里了,为了实现进位溢出和仍然停留在有限域里的矛盾就要找个方法
结果就是溢出的时候与0x1b异或,0x1b怎么来的呢,你肯定知道GF(28)的不可约多项式吧,m(x)=x8+x4+x3+x+1,它的二进制就是0x1
1年前

相关推荐