lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 02 Jul 2015 10:00:52 +0200
From:	Stephan Mueller <smueller@...onox.de>
To:	Lokesh Vutla <lokeshvutla@...com>
Cc:	herbert@...dor.apana.org.au, linux-crypto@...r.kernel.org,
	davem@...emloft.net, linux-omap@...r.kernel.org,
	linux-kernel@...r.kernel.org, t-kristo@...com, nsekhar@...com
Subject: Re: [PATCH 08/10] crypto: omap-aes: gmc: Add algo info

Am Donnerstag, 2. Juli 2015, 10:48:38 schrieb Lokesh Vutla:

Hi Lokesh,

>Now the driver supports gcm mode, add omap-aes-gcm
>algo info to omap-aes driver.
>
>Signed-off-by: Lokesh Vutla <lokeshvutla@...com>
>---
> drivers/crypto/omap-aes.c |   22 ++++++++++++++++++++++
> 1 file changed, 22 insertions(+)
>
>diff --git a/drivers/crypto/omap-aes.c b/drivers/crypto/omap-aes.c
>index e5e9a19..11f3850 100644
>--- a/drivers/crypto/omap-aes.c
>+++ b/drivers/crypto/omap-aes.c
>@@ -789,6 +789,28 @@ static struct crypto_alg algs_ctr[] = {
> 		.decrypt	= omap_aes_ctr_decrypt,
> 	}
> },
>+{
>+	.cra_name		= "gcm(aes)",
>+	.cra_driver_name	= "gcm-aes-omap",
>+	.cra_priority		= 100,

Why did you choose the priority 100? The software implementations commonly use 
100. crypto/gcm.c uses the prio of the underlying cipher. In case of ARM, 
there seem to be assembler implementations of AES which have the prio of 200 
or 300. So, such software implementation of gcm(aes) would have a higher 
precedence than your hw implementation.

So, if a user would use gcm(aes), isn't it more likely that he gets the 
software implementation?

>+	.cra_flags		= CRYPTO_ALG_TYPE_AEAD | CRYPTO_ALG_ASYNC |
>+				  CRYPTO_ALG_KERN_DRIVER_ONLY,
>+	.cra_blocksize		= AES_BLOCK_SIZE,
>+	.cra_ctxsize		= sizeof(struct omap_aes_ctx),
>+	.cra_alignmask		= 0xf,
>+	.cra_type		= &crypto_aead_type,
>+	.cra_module		= THIS_MODULE,
>+	.cra_init		= omap_aes_gcm_cra_init,
>+	.cra_exit		= omap_aes_cra_exit,
>+	.cra_u.aead = {
>+		.maxauthsize	= AES_BLOCK_SIZE,
>+		.geniv		= "eseqiv",
>+		.ivsize		= AES_BLOCK_SIZE,
>+		.setkey		= omap_aes_gcm_setkey,
>+		.encrypt	= omap_aes_gcm_encrypt,
>+		.decrypt	= omap_aes_gcm_decrypt,
>+	}
>+},
> };
>
> static struct omap_aes_algs_info omap_aes_algs_info_ecb_cbc[] = {


Ciao
Stephan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ