Exetools  

Go Back   Exetools > General > General Discussion

Notices

Reply
 
Thread Tools Display Modes
  #1  
Old 10-10-2015, 21:24
BlackWhite BlackWhite is offline
Friend
 
Join Date: Apr 2013
Posts: 85
Rept. Given: 4
Rept. Rcvd 14 Times in 6 Posts
Thanks Given: 14
Thanks Rcvd at 56 Times in 25 Posts
BlackWhite Reputation: 14
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.

Last edited by BlackWhite; 10-10-2015 at 21:32.
Reply With Quote
The Following User Says Thank You to BlackWhite For This Useful Post:
p4r4d0x (10-16-2015)
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
CRC Polynomial dila General Discussion 4 03-28-2016 04:40


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


Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX, chessgod101
( Since 1998 )