# Performance for Subbytes in AES

I´m implementing the AES-encrypt algorithm for the SSE2 instruction set.

For the Subbyte function i use movzx, having loaded the S-box in the cache of the CPU for more performance. That cost about 56 OPS wing CPU.

I was wondering if you could calculate the value of the bytes without having to change the vector so seriously? In particular, I would like to ask if you can significantly improve on a round of AES-128-Encryption taking about 108 OPS?

-
From what I know, fast software implementations are table-based in which a single table lookup not only performs SubByte but also four field multiplications of the SubByte result with the four factors of MixColumns. So, you'd have one or four tables of 256 32-bit values. – sellibitze Apr 30 '14 at 11:08
I guess you mean those long vector called TE, not interpret. – user3127939 May 1 '14 at 1:19