diff options
Diffstat (limited to 'target/linux/omap/patches-3.12/602-crypto-omap-des-Add-triple-DES-des3_ede-support-to-driver.patch')
-rw-r--r-- | target/linux/omap/patches-3.12/602-crypto-omap-des-Add-triple-DES-des3_ede-support-to-driver.patch | 111 |
1 files changed, 0 insertions, 111 deletions
diff --git a/target/linux/omap/patches-3.12/602-crypto-omap-des-Add-triple-DES-des3_ede-support-to-driver.patch b/target/linux/omap/patches-3.12/602-crypto-omap-des-Add-triple-DES-des3_ede-support-to-driver.patch deleted file mode 100644 index 06d96b1..0000000 --- a/target/linux/omap/patches-3.12/602-crypto-omap-des-Add-triple-DES-des3_ede-support-to-driver.patch +++ /dev/null @@ -1,111 +0,0 @@ -From patchwork Thu Aug 29 23:27:53 2013 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [3/3] crypto: omap-des: Add triple DES (des3_ede) support to driver -From: Joel Fernandes <joelf@ti.com> -X-Patchwork-Id: 2851679 -Message-Id: <1377818873-21174-4-git-send-email-joelf@ti.com> -To: Herbert Xu <herbert@gondor.hengli.com.au>, "David S. Miller" - <davem@davemloft.net>, Mark Greer <mgreer@animalcreek.com>, Tony Lindgren - <tony@atomide.com>, Lokesh Vutla <lokeshvutla@ti.com> -Cc: Joel Fernandes <joelf@ti.com>, - Linux OMAP List <linux-omap@vger.kernel.org>, - Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, - Linux ARM Kernel List <linux-arm-kernel@lists.infradead.org>, - Linux Crypto Mailing List <linux-crypto@vger.kernel.org> -Date: Thu, 29 Aug 2013 18:27:53 -0500 - -OMAP DES module supports 3DES operation where 3 64-bit keys are used to -perform a DES encrypt-decrypt-encrypt (ede) operation on a buffer. - -Signed-off-by: Joel Fernandes <joelf@ti.com> - ---- -drivers/crypto/omap-des.c | 53 ++++++++++++++++++++++++++++++++++++++++++++--- - 1 file changed, 50 insertions(+), 3 deletions(-) - ---- a/drivers/crypto/omap-des.c -+++ b/drivers/crypto/omap-des.c -@@ -83,7 +83,7 @@ struct omap_des_ctx { - struct omap_des_dev *dd; - - int keylen; -- u32 key[DES_KEY_SIZE / sizeof(u32)]; -+ u32 key[(3 * DES_KEY_SIZE) / sizeof(u32)]; - unsigned long flags; - }; - -@@ -265,8 +265,10 @@ static int omap_des_write_ctrl(struct om - val |= DES_REG_CTRL_CBC; - if (dd->flags & FLAGS_ENCRYPT) - val |= DES_REG_CTRL_DIRECTION; -+ if (key32 == 6) -+ val |= DES_REG_CTRL_TDES; - -- mask |= DES_REG_CTRL_CBC | DES_REG_CTRL_DIRECTION; -+ mask |= DES_REG_CTRL_CBC | DES_REG_CTRL_DIRECTION | DES_REG_CTRL_TDES; - - omap_des_write_mask(dd, DES_REG_CTRL(dd), val, mask); - -@@ -725,7 +727,7 @@ static int omap_des_setkey(struct crypto - { - struct omap_des_ctx *ctx = crypto_ablkcipher_ctx(tfm); - -- if (keylen != DES_KEY_SIZE) -+ if (keylen != DES_KEY_SIZE && keylen != (3*DES_KEY_SIZE)) - return -EINVAL; - - pr_debug("enter, keylen: %d\n", keylen); -@@ -815,6 +817,51 @@ static struct crypto_alg algs_ecb_cbc[] - .ivsize = DES_BLOCK_SIZE, - .setkey = omap_des_setkey, - .encrypt = omap_des_cbc_encrypt, -+ .decrypt = omap_des_cbc_decrypt, -+ } -+}, -+{ -+ .cra_name = "ecb(des3_ede)", -+ .cra_driver_name = "ecb-des3-omap", -+ .cra_priority = 100, -+ .cra_flags = CRYPTO_ALG_TYPE_ABLKCIPHER | -+ CRYPTO_ALG_KERN_DRIVER_ONLY | -+ CRYPTO_ALG_ASYNC, -+ .cra_blocksize = DES_BLOCK_SIZE, -+ .cra_ctxsize = sizeof(struct omap_des_ctx), -+ .cra_alignmask = 0, -+ .cra_type = &crypto_ablkcipher_type, -+ .cra_module = THIS_MODULE, -+ .cra_init = omap_des_cra_init, -+ .cra_exit = omap_des_cra_exit, -+ .cra_u.ablkcipher = { -+ .min_keysize = 3*DES_KEY_SIZE, -+ .max_keysize = 3*DES_KEY_SIZE, -+ .setkey = omap_des_setkey, -+ .encrypt = omap_des_ecb_encrypt, -+ .decrypt = omap_des_ecb_decrypt, -+ } -+}, -+{ -+ .cra_name = "cbc(des3_ede)", -+ .cra_driver_name = "cbc-des3-omap", -+ .cra_priority = 100, -+ .cra_flags = CRYPTO_ALG_TYPE_ABLKCIPHER | -+ CRYPTO_ALG_KERN_DRIVER_ONLY | -+ CRYPTO_ALG_ASYNC, -+ .cra_blocksize = DES_BLOCK_SIZE, -+ .cra_ctxsize = sizeof(struct omap_des_ctx), -+ .cra_alignmask = 0, -+ .cra_type = &crypto_ablkcipher_type, -+ .cra_module = THIS_MODULE, -+ .cra_init = omap_des_cra_init, -+ .cra_exit = omap_des_cra_exit, -+ .cra_u.ablkcipher = { -+ .min_keysize = 3*DES_KEY_SIZE, -+ .max_keysize = 3*DES_KEY_SIZE, -+ .ivsize = DES_BLOCK_SIZE, -+ .setkey = omap_des_setkey, -+ .encrypt = omap_des_cbc_encrypt, - .decrypt = omap_des_cbc_decrypt, - } - } |