OSDN Git Service

crypto: arm64/aes-blk - add support for CTS-CBC mode
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Mon, 10 Sep 2018 14:41:14 +0000 (16:41 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 21 Sep 2018 05:24:50 +0000 (13:24 +0800)
commitdd597fb33ff0d2a158d7dd098be6dc849b7c2bcc
treeb3f3a1c2f95f4e5a087cabc435479b55a28bd4ab
parent6e7de6af91b2a271ba111c6d055fc3fe1558c280
crypto: arm64/aes-blk - add support for CTS-CBC mode

Currently, we rely on the generic CTS chaining mode wrapper to
instantiate the cts(cbc(aes)) skcipher. Due to the high performance
of the ARMv8 Crypto Extensions AES instructions (~1 cycles per byte),
any overhead in the chaining mode layers is amplified, and so it pays
off considerably to fold the CTS handling into the SIMD routines.

On Cortex-A53, this results in a ~50% speedup for smaller input sizes.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
arch/arm64/crypto/aes-glue.c
arch/arm64/crypto/aes-modes.S