AES for CryptoAPI - i586-optimized
PATCH 1/1 AES for CryptoAPI - i586-optimized
Due to the recent discussion about the asm-optimized version of AES which is included in loop-AES, I'd like to point out that I've ported this implementation - Dr. Brian Gladman's btw. - to CryptoAPI a long time ago.
http://therapy.endorphin.org/patches/aes-i586-asm-2.5.58.diff
The demand for this patch will rise quickly if cryptoloop is included :)
Regards, Clemens
Quoted 4 lines · Fruhwirth Clemens
Due to the recent discussion about the asm-optimized version of AES which is included in loop-AES, I'd like to point out that I've ported this implementation - Dr. Brian Gladman's btw. - to CryptoAPI a long time ago.
Cool, that means we just need to hash out the framework for optimized implementations now..
A few more comments:
linux-2.5.58/crypto/Kconfig line 124
Quoted 10 lines
diff -r --new-file -u
crypto/Kconfig../linux-2.5.58/crypto/Kconfiglinux-2.5.58/crypto/Kconfig renamed from Kconfig +3
-0@@ -119,6 +119,26 @@ See http://csrc.nist.gov/encryption/aes/ for more information. +config CRYPTO_AES_586 + tristate "AES cipher algorithms (586)" + depends on CRYPTO
Should also depend on CONFIG_X86 && !CONFIG_X86_64
linux-2.5.58/crypto/Kconfig line 126
Quoted 2 lines
linux-2.5.58/crypto/Kconfig renamed from Kconfig +2
-0+$(obj)/aes-i586.o: $(obj)/aes-i586-asm.o crypto/aes-i586-glue.o + $(LD) -r $(obj)/aes-i586-asm.o $(obj)/aes-i586-glue.o -o $(obj)/aes-i586.o
That's not how kernel makesfile work. It should be something like
aes-i586-y := aes-i586-asm.o aes-i586-glue.o
linux-2.5.58/crypto/Kconfig line 127
Quoted 1 line
linux-2.5.58/crypto/Kconfig renamed from Kconfig +1
-0+// THE CIPHER INTERFACE
Please use C-style comments.
linux-2.5.58/crypto/Kconfig line 129
Quoted 2 lines
linux-2.5.58/crypto/Kconfig renamed from Kconfig +2
-0+ if(key_length != 16 && key_length != 24 && key_length != 32) + {
Should be
if (key_length != 16 && key_length != 24 && key_length != 32) {linux-2.5.58/crypto/Kconfig line 131
Quoted 2 lines
linux-2.5.58/crypto/Kconfig renamed from Kconfig +2
-0+MODULE_DESCRIPTION("Rijndael (AES) Cipher Algorithm"); +MODULE_LICENSE("Dual BSD/GPL");
MODULE_AUTHOR is missing. Also the description should mention that this is an optimized assembly version.