Exetools

Exetools (https://forum.exetools.com/index.php)
-   General Discussion (https://forum.exetools.com/forumdisplay.php?f=2)
-   -   How to compute the inverse of a polynomial under GF(2^8) ? (https://forum.exetools.com/showthread.php?t=17184)

BlackWhite 10-10-2015 21:24

How to compute the inverse of a polynomial under GF(2^8) ?
 
It's well known that AES cryptography algorithm uses
Galois Field GF(2^8) multiplication to process the step
MixColumn, and each column of the 4*4 matrix on encrypting
should multiply the polynomial 3X^3 + X^2 + X + 2 which
is usually notated as an array {0x03, 0x01, 0x01, 0x02},
while on decrypting, the matrix should multiply the inverse
of the polynominal mentioned above, namely 0x0B*X^3 +
0x0D*X^2 + 0x09*X + 0x0E which can also notated as
an array {0x0B, 0x0D, 0x09, 0x0E}.

Now I wonder two things:
(1) Why the multiplication of {0x03, 0x01, 0x01, 0x02} *
{0x0B, 0x0D, 0x09, 0x0E} mod (X^4 + 1) is not equal to 1 ?
My multiplication program's result is {0x06, 0x04, 0x06, 0x05} which is
expected to be {0x00, 0x00, 0x00, 0x01}, and my program
has been proven to be correct at processing MixColumn.

(2) If only one polynomial is known, e.g. {0x03, 0x01, 0x01, 0x02},
how can I compute its inverse mod (X^4 + 1), namely
{0x0B, 0x0D, 0x09, 0x0E}, and vice versa.

Thank you.


All times are GMT +8. The time now is 07:06.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX