Maamoun TK maamoun.tk@googlemail.com writes:
I made this patch operate AES ciphering with fixed key sizes of 128-bit, 192-bit, and 256-bit, in this case I eliminated the loading process of key expansion for every round. Since this technique produces performance benefits, I'm planning to keep the implementation as is and in case handling uncommon key size is mandatory, I can append additional branch to process message blocks with any key size. What do you think?
There's no need to support non-standard key sizes. _nettle_aes_encrypt should only ever be called with one of the constants _AES128_ROUNDS, _AES192_ROUNDS, _AES256_ROUNDS as the first argument.
I think it's becoming clearer that we should make assembly for _nettle_aes_encypt optional, in favor of separate entry points for aes{128,192,256}_{en,de}crypt. I think you or I had an experimental branch to do that.
Regards, /Niels