So for each round in AES a different key is used, and as I saw the keys are created form a master key.

My question is how these round keys are generated.

Are they created via a Key Derivation Function as the session keys, or its something else ?


No, it uses a specific type of algorithm called a key schedule. Unlike a KDF, it is not designed to be slow (in the case of a password-based KDF) or to be irreversible. The requirements of a key schedule are quite simple. Whereas a KDF might need to expand a key into a number of keys such that knowledge of any one key does not reveal knowledge of the master key or any other derived keys, that is not always true for a key schedule. If you have any round key for 128-bit AES, you can derive all other round keys.

| improve this answer | |
  • $\begingroup$ Note that only password based key derivation functions are slow. Normally a key based key derivation function would be used for key expansion and those are fast. So the speed argument is invalid if you ask me. $\endgroup$ – Maarten Bodewes Jun 13 at 0:03

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.