32-bit implementation of AES encryption
I'm trying to implement AES. I currently have implemented subByte()
, shiftRow()
, mixColumn()
, addRoundkey()
and generation roundkey of 8-bit AES, and that is working. But its performance is not good. So I want to implement 32-bit AES in software, but generating the extended s-box is confusing me. How does data entering as 8-bit come out as 32-bit?开发者_如何学Python I can't find a 32-bit implementation of AES in software.
I suggest implementing it in a bit sliced manner. Bit sliced implementations do not only scale very well, they have also very good properties regarding timing attacks. I know this requires a redesign of your functions. And a performance gain can only be archived if you calculate multiple AES operations in parallel.
The fastest AES implementation (without Intel AES instructions) is bit sliced: http://eprint.iacr.org/2009/129
With Google you will also find the source code.
精彩评论