Programming AES Encryption - Mix Columns Part

Posted on 2011-05-09
Last Modified: 2012-08-13
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
Question by:nocturn4l
    LVL 47

    Expert Comment


    I guess, here is the description:

    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

    LVL 47

    Expert Comment

    Yes these multiplications and additions are not multiplications and additions, they are fairly  fairly complex - see here:

    LVL 47

    Accepted Solution


    Author Comment

    jus go to the computer, will see if your links help, i'll be back to give points or ask more questions - thanks

    Author Comment

    got to*
    LVL 92

    Assisted Solution

    this walks you through the maths required
    should be straight forward to implement it based on that
    we are not permitted to code it for you but if you have any problems let me know and I'll help you through it
    LVL 92

    Expert Comment

    also a java implementation here that you can probably extract from to meet your needs

    Author Closing Comment

    thanks guys, the links were of good help, think i understand it now

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Highfive + Dolby Voice = No More Audio Complaints!

    Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

    Suggested Solutions

    Title # Comments Views Activity
    matchUp  challenge 9 47
    Encrypted Laptop running Linux 3 60
    IT Company 5 52
    object oriented javascript web form 8 48
    Cybersecurity has become the buzzword of recent years and years to come. The inventions of cloud infrastructure and the Internet of Things has made us question our online safety. Let us explore how cloud- enabled cybersecurity can help us with our b…
    When the confidentiality and security of your data is a must, trust the highly encrypted cloud fax portfolio used by 12 million businesses worldwide, including nearly half of the Fortune 500.
    The viewer will learn how to implement Singleton Design Pattern in Java.
    The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.

    779 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    14 Experts available now in Live!

    Get 1:1 Help Now