Skip to content

Commit 8646485

Browse files
Ard Biesheuvelherbertx
authored andcommitted
crypto: arm - AES in ECB/CBC/CTR/XTS modes using ARMv8 Crypto Extensions
This implements the ECB, CBC, CTR and XTS asynchronous block ciphers using the AArch32 versions of the ARMv8 Crypto Extensions for AES. Signed-off-by: Ard Biesheuvel <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
1 parent 006d062 commit 8646485

File tree

4 files changed

+1049
-0
lines changed

4 files changed

+1049
-0
lines changed

arch/arm/crypto/Kconfig

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,4 +101,13 @@ config CRYPTO_AES_ARM_BS
101101
This implementation does not rely on any lookup tables so it is
102102
believed to be invulnerable to cache timing attacks.
103103

104+
config CRYPTO_AES_ARM_CE
105+
tristate "Accelerated AES using ARMv8 Crypto Extensions"
106+
depends on KERNEL_MODE_NEON
107+
select CRYPTO_ALGAPI
108+
select CRYPTO_ABLK_HELPER
109+
help
110+
Use an implementation of AES in CBC, CTR and XTS modes that uses
111+
ARMv8 Crypto Extensions
112+
104113
endif

arch/arm/crypto/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
obj-$(CONFIG_CRYPTO_AES_ARM) += aes-arm.o
66
obj-$(CONFIG_CRYPTO_AES_ARM_BS) += aes-arm-bs.o
7+
obj-$(CONFIG_CRYPTO_AES_ARM_CE) += aes-arm-ce.o
78
obj-$(CONFIG_CRYPTO_SHA1_ARM) += sha1-arm.o
89
obj-$(CONFIG_CRYPTO_SHA1_ARM_NEON) += sha1-arm-neon.o
910
obj-$(CONFIG_CRYPTO_SHA512_ARM_NEON) += sha512-arm-neon.o
@@ -17,6 +18,7 @@ sha1-arm-neon-y := sha1-armv7-neon.o sha1_neon_glue.o
1718
sha512-arm-neon-y := sha512-armv7-neon.o sha512_neon_glue.o
1819
sha1-arm-ce-y := sha1-ce-core.o sha1-ce-glue.o
1920
sha2-arm-ce-y := sha2-ce-core.o sha2-ce-glue.o
21+
aes-arm-ce-y := aes-ce-core.o aes-ce-glue.o
2022

2123
quiet_cmd_perl = PERL $@
2224
cmd_perl = $(PERL) $(<) > $(@)

0 commit comments

Comments
 (0)