So, having read a variety of documentations on AES encryption, I came to the unk
ID: 649054 • Letter: S
Question
So, having read a variety of documentations on AES encryption, I came to the unknowledgeable conclusion that the key schedule applied to the array of chunks, and not just the 14 cycles on a single chunk. Thus I concluded that AES was not a linear hash, such that ciphering sequential equivalent chunks would produce a set of non-equivalent chunks.
I guess I kinda didn't pay attention though - I just used AES encryption source code to cipher an array of the same character, and got a very linear result. x-)
Is the AES key constant for all chunks? And should I be using a block-cipher mode other than ecb? Or is AES strong enough on its own?
Explanation / Answer
The full AES key schedule used by each call to the AES block cipher. The use of the key schedule does not stretch across different calls for different block encryptions.
Internally, the 14 rounds (for 256 bit keys) of the AES round function use each of the 14 round keys. Those 14 round keys are what comprise the key schedule.
The linear property you observed is indeed correct when AES is used this way. Each block is encrypted without context, and always encrypts to the same ciphertext. This method is called ECB mode. In the real world, that property is a weakness and a different mode like CBC would be used to destroy that property (although the key schedule is not used to do so).
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.