Skip to contentSkip to conversation

AES for CryptoAPI - i586-optimized

PATCH In review Fruhwirth Clemens 2 participants 2 messages Jul 8, 2003

lore
Share & tools
lore
#0 lore raw

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

#1 lore raw
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/Kconfig

linux-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.