Link to home
Start Free TrialLog in
Avatar of nocturn4l
nocturn4l

asked on

Programming AES Encryption - Mix Columns Part

I'm not understanding at all how I can program this... I'm quite confused at the moment..

I'm hoping someone here can break it down into layman's terms for me...

best way probably for me to understand is maybe by picking a couple numbers and showing me in a psuedo code type of way, how I could come up with the correct answer

at the moment i have:

d4  e0  48  28
bf  b4  41  27
5d  52  11  98
30  ae  f1  e5

I guess i'm supposed to break it down into binary and multiply it by

2  3  1  1
1  2  3  1
1  1  2  3
3  1  1  2

end result after mix columns:
04  e0  48  28
66  cb  f8  06
81  19  d3  26
e5  9a  7a  4c
Avatar of for_yan
for_yan
Flag of United States of America image


I guess, here is the description:
http://www.angelfire.com/biz7/atleast/mix_columns.pdf

One of the ways is to read the fisrt matrix as strings and then tokenize
into individual numbers use this method Integer.parseInt(String, 16)
and get [4][4] array of integers

Then you read matrix of decimal  integers.

Then you multiply matrices and
transform each one with Integer.toHexString
and you should get another matrix.

I don't understand, though, it should be not just simple multipilication
as all numbers should be no bigger than ff after multiplication -and I'm not
sure I understood from the above metntioned text




Yes these multiplications and additions are not multiplications and additions, they are fairly  fairly complex - see here:
http://en.wikipedia.org/wiki/Rijndael_mix_columns

ASKER CERTIFIED SOLUTION
Avatar of for_yan
for_yan
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of nocturn4l
nocturn4l

ASKER

jus go to the computer, will see if your links help, i'll be back to give points or ask more questions - thanks
got to*
SOLUTION
Avatar of Mick Barry
Mick Barry
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
also a java implementation here that you can probably extract from to meet your needs
http://www.cs.utsa.edu/~wagner/laws/AESEncryptJava.html
thanks guys, the links were of good help, think i understand it now