crypto: crypto4xx - add aes-ctr support
authorChristian Lamparter <chunkeey@gmail.com>
Thu, 19 Apr 2018 16:41:54 +0000 (18:41 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sat, 28 Apr 2018 08:09:43 +0000 (16:09 +0800)
commit98e87e3d933b8e504ea41b8857c038d2cd06cddc
tree49f9dea288fa426f43118b11da4b1beee71bdcca
parentc4e90650ff0cbf123ec9cfc32026fa0fb2931658
crypto: crypto4xx - add aes-ctr support

This patch adds support for the aes-ctr skcipher.

name         : ctr(aes)
driver       : ctr-aes-ppc4xx
module       : crypto4xx
priority     : 300
refcnt       : 1
selftest     : passed
internal     : no
type         : skcipher
async        : yes
blocksize    : 16
min keysize  : 16
max keysize  : 32
ivsize       : 16
chunksize    : 16
walksize     : 16

The hardware uses only the last 32-bits as the counter while the
kernel tests (aes_ctr_enc_tv_template[4] for example) expect that
the whole IV is a counter. To make this work, the driver will
fallback if the counter is going to overlow.

The aead's crypto4xx_setup_fallback() function is renamed to
crypto4xx_aead_setup_fallback.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/Kconfig
drivers/crypto/amcc/crypto4xx_alg.c
drivers/crypto/amcc/crypto4xx_core.c
drivers/crypto/amcc/crypto4xx_core.h