Hello all,
I'm looking through the AES encryption algorithm with the idea to implement it. I've been reading a lot about it and it seems relatively easy. However, I don't get what happens after each encrypted block. Are the round keys supposed to change, or not? I can't find any way it should change, but it sounds quite insecure.
Let me explain a bit better. Take AES 128 bits. 16 bytes are provided for a key and they are then expended to 11 round keys of 176 bytes in total.
Now let's say we want to encrypt 16 bytes. After this, should the round keys be changed? If they are kept the same, and the next block to encrypt contains the same 16 bytes, the cipher text would be exactly the same.
So let's say we send "Hello, world!!!!". It produces some cipher text. Then we send the same message again, a couple of messages later, and it would result in the same cipher text.
My bet is a new key would have to be used or something should be done to the round keys, but I can't find any documentation about this anywhere...
So, what should be done after each encrypted block?
Thanks in advance