[Libaes-devel] PowerPC G4 AES implementation
Status: Pre-Alpha
Brought to you by:
nigel
|
From: Rickard H. <Ric...@st...> - 2002-02-09 09:27:03
|
Hello everyone (still only Nigel and Sandy?) I have written a vector-based implementation of AES in PowerPC G4 assembler (there is an alpha version at http://home.student.uu.se/riho7361/aes.html). Since the PowerPC has pretty bad memory performance, I chose not to use any look-up tables other than the s-box and its inverse, and put that in registers (filling half of the available 32 x 128 bits vregs). This means that I have a quite high latency for loading the s-box, generating constants, etc. When that is done, encryption and decryption is quite fast. Thus, it is quite slow to encrypt a single block and much more efficient to encrypt more blocks in a single function call, since it only has to set up the constants once for each call. The PowerPC probably isn't the only processor where it would be beneficial to have an API that can process several blocks in one call. It could also be quite well-suited to wrap CBC and other modes of operation, if that should be included in the library. /Rickard Holmberg |