mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 15:32:33 +00:00
780477d17c
This patch backports changes to crypto4xx in order to get the crypto4xx operational. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
50 lines
1.6 KiB
Diff
50 lines
1.6 KiB
Diff
From e9b8e4e1129d0886094cfe013cdbaafc4ce0de76 Mon Sep 17 00:00:00 2001
|
|
From: Christian Lamparter <chunkeey@gmail.com>
|
|
Date: Wed, 4 Oct 2017 01:00:06 +0200
|
|
Subject: [PATCH 14/25] crypto: crypto4xx - fix off-by-one AES-OFB
|
|
|
|
I used aes-cbc as a template for ofb. But sadly I forgot
|
|
to update set_key method to crypto4xx_setkey_aes_ofb().
|
|
|
|
this was caught by the testmgr:
|
|
alg: skcipher: Test 1 failed (invalid result) on encr. for ofb-aes-ppc4xx
|
|
00000000: 76 49 ab ac 81 19 b2 46 ce e9 8e 9b 12 e9 19 7d
|
|
00000010: 50 86 cb 9b 50 72 19 ee 95 db 11 3a 91 76 78 b2
|
|
00000020: 73 be d6 b8 e3 c1 74 3b 71 16 e6 9e 22 22 95 16
|
|
00000030: 3f f1 ca a1 68 1f ac 09 12 0e ca 30 75 86 e1 a7
|
|
|
|
With the correct set_key method, the aes-ofb cipher passes the test.
|
|
|
|
name : ofb(aes)
|
|
driver : ofb-aes-ppc4xx
|
|
module : crypto4xx
|
|
priority : 300
|
|
refcnt : 1
|
|
selftest : passed
|
|
internal : no
|
|
type : ablkcipher
|
|
async : yes
|
|
blocksize : 16
|
|
min keysize : 16
|
|
max keysize : 32
|
|
ivsize : 16
|
|
geniv : <default>
|
|
|
|
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
|
|
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
---
|
|
drivers/crypto/amcc/crypto4xx_core.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
--- a/drivers/crypto/amcc/crypto4xx_core.c
|
|
+++ b/drivers/crypto/amcc/crypto4xx_core.c
|
|
@@ -1148,7 +1148,7 @@ struct crypto4xx_alg_common crypto4xx_al
|
|
.min_keysize = AES_MIN_KEY_SIZE,
|
|
.max_keysize = AES_MAX_KEY_SIZE,
|
|
.ivsize = AES_IV_SIZE,
|
|
- .setkey = crypto4xx_setkey_aes_cbc,
|
|
+ .setkey = crypto4xx_setkey_aes_ofb,
|
|
.encrypt = crypto4xx_encrypt,
|
|
.decrypt = crypto4xx_decrypt,
|
|
}
|