Re: [PATCH] AES for CryptoAPI - i586-optimized

Christoph Hellwig (hch@infradead.org)
Tue, 8 Jul 2003 17:49:07 +0100


On Tue, Jul 08, 2003 at 05:27:55PM +0200, Fruhwirth Clemens wrote:
>
> 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:

> diff -r --new-file -u crypto/Kconfig ../linux-2.5.58/crypto/Kconfig
> --- crypto/Kconfig Thu Feb 6 13:53:47 2003
> +++ ../linux-2.5.58/crypto/Kconfig Tue Feb 4 00:54:18 2003
> @@ -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

> +$(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

> +// THE CIPHER INTERFACE

Please use C-style comments.

> + if(key_length != 16 && key_length != 24 && key_length != 32)
> + {

Should be

if (key_length != 16 && key_length != 24 && key_length != 32) {

> +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.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/