WSL2-Linux-Kernel/arch/arm64/crypto
Ard Biesheuvel dd597fb33f 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>
2018-09-21 13:24:50 +08:00
..
.gitignore crypto: arm64/sha2 - add generated .S files to .gitignore 2016-11-29 16:06:56 +08:00
Kconfig crypto: arm64/crc32 - remove PMULL based CRC32 driver 2018-09-04 11:37:04 +08:00
Makefile crypto: arm64/crc32 - remove PMULL based CRC32 driver 2018-09-04 11:37:04 +08:00
aes-ce-ccm-core.S crypto: arm64 - revert NEON yield for fast AEAD implementations 2018-08-07 17:26:23 +08:00
aes-ce-ccm-glue.c crypto: arm64/aes-ce-ccm - move kernel mode neon en/disable into loop 2018-03-16 23:35:54 +08:00
aes-ce-core.S crypto: arm64/aes-ce-cipher - move assembler code to .S file 2017-11-29 17:33:30 +11:00
aes-ce-glue.c crypto: arm64/aes-ce-cipher - move assembler code to .S file 2017-11-29 17:33:30 +11:00
aes-ce-setkey.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
aes-ce.S crypto: arm64/aes-blk - yield NEON after every block of input 2018-05-12 00:13:08 +08:00
aes-cipher-core.S crypto: arm64/aes-cipher - move S-box to .rodata section 2018-01-18 23:00:30 +11:00
aes-cipher-glue.c crypto: arm64/aes - add scalar implementation 2017-01-13 00:26:49 +08:00
aes-ctr-fallback.h crypto: arm64/aes-blk - add a non-SIMD fallback for synchronous CTR 2017-08-04 09:27:21 +08:00
aes-glue.c crypto: arm64/aes-blk - add support for CTS-CBC mode 2018-09-21 13:24:50 +08:00
aes-modes.S crypto: arm64/aes-blk - add support for CTS-CBC mode 2018-09-21 13:24:50 +08:00
aes-neon.S crypto: arm64/aes-neon - move literal data to .rodata section 2018-01-18 23:00:30 +11:00
aes-neonbs-core.S crypto: arm64/aes-bs - yield NEON after every block of input 2018-05-12 00:13:09 +08:00
aes-neonbs-glue.c crypto: arm64/aes-bs - move kernel mode neon en/disable into loop 2018-03-16 23:35:55 +08:00
chacha20-neon-core.S crypto: arm64/chacha20 - implement NEON version based on SSE3 code 2017-01-13 00:26:48 +08:00
chacha20-neon-glue.c crypto: arm64/chacha20 - move kernel mode neon en/disable into loop 2018-03-16 23:35:55 +08:00
crct10dif-ce-core.S crypto: arm64/crct10dif - implement non-Crypto Extensions alternative 2018-09-04 11:37:04 +08:00
crct10dif-ce-glue.c crypto: arm64/crct10dif - implement non-Crypto Extensions alternative 2018-09-04 11:37:04 +08:00
ghash-ce-core.S crypto: arm64/ghash-ce - implement 4-way aggregation 2018-08-07 17:51:40 +08:00
ghash-ce-glue.c crypto: arm64/aes-gcm-ce - fix scatterwalk API violation 2018-08-25 19:50:43 +08:00
sha1-ce-core.S crypto: arm64/sha1-ce - yield NEON after every block of input 2018-05-12 00:13:05 +08:00
sha1-ce-glue.c crypto: shash - remove useless setting of type flags 2018-07-09 00:30:24 +08:00
sha2-ce-core.S crypto: arm64/sha2-ce - yield NEON after every block of input 2018-05-12 00:13:06 +08:00
sha2-ce-glue.c crypto: shash - remove useless setting of type flags 2018-07-09 00:30:24 +08:00
sha3-ce-core.S crypto: arm64/sha3-ce - yield NEON after every block of input 2018-05-12 00:13:11 +08:00
sha3-ce-glue.c crypto: shash - remove useless setting of type flags 2018-07-09 00:30:24 +08:00
sha256-core.S_shipped crypto: clarify licensing of OpenSSL asm code 2018-05-31 00:13:44 +08:00
sha256-glue.c crypto: arm64/sha256 - increase cra_priority of scalar implementations 2018-07-27 19:16:38 +08:00
sha512-armv8.pl crypto: clarify licensing of OpenSSL asm code 2018-05-31 00:13:44 +08:00
sha512-ce-core.S crypto: arm64/sha512-ce - yield NEON after every block of input 2018-05-12 00:13:12 +08:00
sha512-ce-glue.c crypto: shash - remove useless setting of type flags 2018-07-09 00:30:24 +08:00
sha512-core.S_shipped crypto: clarify licensing of OpenSSL asm code 2018-05-31 00:13:44 +08:00
sha512-glue.c crypto: shash - remove useless setting of type flags 2018-07-09 00:30:24 +08:00
sm3-ce-core.S crypto: arm64/sm3 - new v8.2 Crypto Extensions implementation 2018-01-26 01:10:35 +11:00
sm3-ce-glue.c crypto: shash - remove useless setting of type flags 2018-07-09 00:30:24 +08:00
sm4-ce-core.S crypto: arm64 - add support for SM4 encryption using special instructions 2018-05-05 14:52:53 +08:00
sm4-ce-glue.c crypto: arm64/sm4-ce - check for the right CPU feature bit 2018-08-25 19:50:41 +08:00