I just want to know that in AES we use following multiplication matrix for encryption.

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

and for decryption it use's following matrix.

0E 0B 0D 09
09 0E 0B 0D
0D 09 0E 0B
0B 0D 09 0E

So my question is that can i change these matrices? and what is the process of doing that.


2 Answers 2


So my question is that can i change these matrices?

Yes, you can, however than you are getting a potentially insecure cipher that is no longer AES.

AES is defined to use the matrix you described, so if you change it, which technically you can by just grabbing an implementation that uses this representation, you can create a related cipher. However, I'm somewhat sure that this matrix was carefully chosen to satisfy specific properties, that make attacks harder (like differential and linear cryptanalysis) and using a new matrix would potentially drastically weaken the cipher in that regard.


The matrices are inverse of each other. Specifically, we work in a vector space of dimension $4$ over the finite field $\mathbb{F}_{256}$. That finite field (also often denoted by "GF(28)", with "GF" meaning "Galois field") is the one defined in section 4 of the AES standard. From there, matrix inversion is classic algebra.

Now, about the process... These matrices have been defined in the following way:

  • The AES designers thought real hard to make matrices that ensure good security properties, in particular proper behaviour with regards to differential cryptanalysis, while at the same time trying to achieve good performance for a large variety of implementation strategies, notably hardware circuits. Not all matrices are equivalent to each other in terms of security, by far.

  • Since it is actually nigh impossible to guarantee that you did not goof up with the security analysis, the only known method to get some decent security is to show your creations to hundreds of other cryptographers and have them mull over it for a few years. In the case of AES, this was organized as the AES competition.

Therefore, if you want to set out and "change the matrices", then, rationally, you would have to follow the same process:

  1. Think real hard about the properties you want to achieve, and find matrix values that fulfill them.
  2. Somehow induce hundreds of other cryptographers to themselves think real hard over your creation.
  3. Wait for a few years.
  4. If none of these cryptographers has found anything bad in your new matrix values, then rejoice! Process is done.

Understanding the maths behind finite fields and matrix multiplication are merely the first step of a very long journey.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.