Skip to main content
edited title
Link
user47922
user47922

How to compute the inverse of a polynomial under GF$GF(2^8)$?

It's well known that AES cryptography algorithm uses Galois Field GF(2^8)$GF(2^8)$ multiplication to process the step MixColumn, and each column of the 44 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 0x0BX^3 + 0x0DX^2 + 0x09X + 0x0E4x4 matrix on encrypting should multiply the polynomial $3X^3 + X^2 + X + 2$ which can alsois usually notated as an array {0x0B$\{\tt 0x03, 0x01, 0x01, 0x02\}$, 0x0Dwhile on decrypting, 0x09the matrix should multiply the inverse of the polynominal mentioned above, 0x0E}namely $\texttt{0x0B}X^3 + \texttt{0x0D}X^2 + \texttt{0x09}X + \texttt{0x0E}$ which can also notated as an array $\{\tt 0x0B, 0x0D, 0x09, 0x0E\}$.

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

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 44 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 0x0BX^3 + 0x0DX^2 + 0x09X + 0x0E which can also notated as an array {0x0B, 0x0D, 0x09, 0x0E}.

Now I wonder 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.

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 4x4 matrix on encrypting should multiply the polynomial $3X^3 + X^2 + X + 2$ which is usually notated as an array $\{\tt 0x03, 0x01, 0x01, 0x02\}$, while on decrypting, the matrix should multiply the inverse of the polynominal mentioned above, namely $\texttt{0x0B}X^3 + \texttt{0x0D}X^2 + \texttt{0x09}X + \texttt{0x0E}$ which can also notated as an array $\{\tt 0x0B, 0x0D, 0x09, 0x0E\}$.

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

Source Link

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 44 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 0x0BX^3 + 0x0DX^2 + 0x09X + 0x0E which can also notated as an array {0x0B, 0x0D, 0x09, 0x0E}.

Now I wonder 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.