Assume two parties have exchanged a secret 128-bit Master Key, MK. When the two parties want to communicate, one of them generates a random 128-bit value, R, which is then sent in plaintext to the other party. Then, a KDF is used to generate a 128-bit Session Key, SK.
SK = KDF(MK, R)
SK is then used to encrypt communication between the parties. Let's say an authenticated encryption algorithm as AES-CCM is used with SK as input.
The question is: is there any difference between choosing a simple AES primitive and the more complex AES-CMAC as KDF?
Info
orOtherInfo
), differently sized output (try AES-192 keys for fun), labeling to generate different session keys. We're mainly concerned about security here, so I won't post this as an answer, but beware of the functional properties of your "KDF" as well. $\endgroup$