xref: /linux/arch/arm64/crypto/Kconfig (revision 6f52b16c5b29b89d92c0e7236f4655dc8491ad70)
1# SPDX-License-Identifier: GPL-2.0
2
3menuconfig ARM64_CRYPTO
4	bool "ARM64 Accelerated Cryptographic Algorithms"
5	depends on ARM64
6	help
7	  Say Y here to choose from a selection of cryptographic algorithms
8	  implemented using ARM64 specific CPU features or instructions.
9
10if ARM64_CRYPTO
11
12config CRYPTO_SHA256_ARM64
13	tristate "SHA-224/SHA-256 digest algorithm for arm64"
14	select CRYPTO_HASH
15
16config CRYPTO_SHA512_ARM64
17	tristate "SHA-384/SHA-512 digest algorithm for arm64"
18	select CRYPTO_HASH
19
20config CRYPTO_SHA1_ARM64_CE
21	tristate "SHA-1 digest algorithm (ARMv8 Crypto Extensions)"
22	depends on KERNEL_MODE_NEON
23	select CRYPTO_HASH
24	select CRYPTO_SHA1
25
26config CRYPTO_SHA2_ARM64_CE
27	tristate "SHA-224/SHA-256 digest algorithm (ARMv8 Crypto Extensions)"
28	depends on KERNEL_MODE_NEON
29	select CRYPTO_HASH
30	select CRYPTO_SHA256_ARM64
31
32config CRYPTO_GHASH_ARM64_CE
33	tristate "GHASH/AES-GCM using ARMv8 Crypto Extensions"
34	depends on KERNEL_MODE_NEON
35	select CRYPTO_HASH
36	select CRYPTO_GF128MUL
37	select CRYPTO_AES
38	select CRYPTO_AES_ARM64
39
40config CRYPTO_CRCT10DIF_ARM64_CE
41	tristate "CRCT10DIF digest algorithm using PMULL instructions"
42	depends on KERNEL_MODE_NEON && CRC_T10DIF
43	select CRYPTO_HASH
44
45config CRYPTO_CRC32_ARM64_CE
46	tristate "CRC32 and CRC32C digest algorithms using ARMv8 extensions"
47	depends on CRC32
48	select CRYPTO_HASH
49
50config CRYPTO_AES_ARM64
51	tristate "AES core cipher using scalar instructions"
52	select CRYPTO_AES
53
54config CRYPTO_AES_ARM64_CE
55	tristate "AES core cipher using ARMv8 Crypto Extensions"
56	depends on ARM64 && KERNEL_MODE_NEON
57	select CRYPTO_ALGAPI
58	select CRYPTO_AES_ARM64
59
60config CRYPTO_AES_ARM64_CE_CCM
61	tristate "AES in CCM mode using ARMv8 Crypto Extensions"
62	depends on ARM64 && KERNEL_MODE_NEON
63	select CRYPTO_ALGAPI
64	select CRYPTO_AES_ARM64_CE
65	select CRYPTO_AES_ARM64
66	select CRYPTO_AEAD
67
68config CRYPTO_AES_ARM64_CE_BLK
69	tristate "AES in ECB/CBC/CTR/XTS modes using ARMv8 Crypto Extensions"
70	depends on KERNEL_MODE_NEON
71	select CRYPTO_BLKCIPHER
72	select CRYPTO_AES_ARM64_CE
73	select CRYPTO_AES_ARM64
74	select CRYPTO_SIMD
75
76config CRYPTO_AES_ARM64_NEON_BLK
77	tristate "AES in ECB/CBC/CTR/XTS modes using NEON instructions"
78	depends on KERNEL_MODE_NEON
79	select CRYPTO_BLKCIPHER
80	select CRYPTO_AES_ARM64
81	select CRYPTO_AES
82	select CRYPTO_SIMD
83
84config CRYPTO_CHACHA20_NEON
85	tristate "NEON accelerated ChaCha20 symmetric cipher"
86	depends on KERNEL_MODE_NEON
87	select CRYPTO_BLKCIPHER
88	select CRYPTO_CHACHA20
89
90config CRYPTO_AES_ARM64_BS
91	tristate "AES in ECB/CBC/CTR/XTS modes using bit-sliced NEON algorithm"
92	depends on KERNEL_MODE_NEON
93	select CRYPTO_BLKCIPHER
94	select CRYPTO_AES_ARM64_NEON_BLK
95	select CRYPTO_AES_ARM64
96	select CRYPTO_SIMD
97
98endif
99