I was tasked with making an expo about AES and its steps, but I still can't grasp it, especially when it comes to "key schedule".

Does anyone know some good material to start learning? Or can someone give me good explanations about AES? I tried Wikipedia and some random PDFs but nothing really fit the bill.

  • 1
    $\begingroup$ I guess your primary reference should be AES Proposal: Rijndael. At a very high level, remember that the key schedule is here to build, from the key, one more (blockwide) subkey than there are rounds, because the block is XORed with a subkey on input, between rounds, and on output; and the subkeys should not be so closely related that it creates a weakness. $\endgroup$ – fgrieu May 4 '15 at 5:56
  • 1
    $\begingroup$ formaestudio.com/rijndaelinspector/archivos/… $\endgroup$ – Richie Frame May 4 '15 at 6:36
  • 4
    $\begingroup$ How about A Stick Figure Guide to the Advanced Encryption Standard $\endgroup$ – mikeazo May 4 '15 at 12:09
  • $\begingroup$ LOL @ mikeazo a great place to start $\endgroup$ – Anthony Jun 3 '15 at 13:04
  • $\begingroup$ I found this blog to be very helpful in explaining some of the concepts behind AES and it even had an entry for the key schedule. AES $\endgroup$ – Anthony Jun 3 '15 at 13:08

First of all, AES is like an alias for a winner of a contest that has started in 1997 and finishes in 2000 with the announcement of Rijndael's win. A nice document to learn AES is the link given by Richie Frame in the comments of this question.

Trying to do an small summary, there are two main families of symmetric ciphers and Rijndael is a member of the Substitution-Permutation Network (SPN). The other family is the Feistel Networks with DES as a highlighted member (the AES predecessor).

The main goal of a symmetric cypher is to provide enough confusion and diffusion (Shannon properties) and often this is provided by a set of rounds where different operations are applied on each of them. The key shall be applied in those rounds, and in the case of Rijndael is not the key itself, but parts of a Key Derivation Function.

Long a go I've wrote something, and perhaps the image I've made could help you to understand the iterative process of the KDF in Rijndael. It had a mistake and I'm placing here a fixed version of the image. That is for 128 bit keys, but it's not hard to imagine how different it is with the other key sizes.

corrected image of the AES KDF

Rijndael have some good characteristics like efficiency in software and in hardware, specially because in the lowest level all the operations are bit xors (but this has been already pointed in the comments). Perhaps one cons would be the complexity to protect against side channel attacks.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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