summaryrefslogtreecommitdiffstats
path: root/arch/arm64/crypto/Kconfig
blob: 60db5bb2ddda5038bda4f60b12c42c4c58082058 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
# SPDX-License-Identifier: GPL-2.0

menuconfig ARM64_CRYPTO
	bool "ARM64 Accelerated Cryptographic Algorithms"
	depends on ARM64
	help
	  Say Y here to choose from a selection of cryptographic algorithms
	  implemented using ARM64 specific CPU features or instructions.

if ARM64_CRYPTO

config CRYPTO_SHA256_ARM64
	tristate "SHA-224/SHA-256 digest algorithm for arm64"
	select CRYPTO_HASH

config CRYPTO_SHA512_ARM64
	tristate "SHA-384/SHA-512 digest algorithm for arm64"
	select CRYPTO_HASH

config CRYPTO_SHA1_ARM64_CE
	tristate "SHA-1 digest algorithm (ARMv8 Crypto Extensions)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_HASH
	select CRYPTO_SHA1

config CRYPTO_SHA2_ARM64_CE
	tristate "SHA-224/SHA-256 digest algorithm (ARMv8 Crypto Extensions)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_HASH
	select CRYPTO_SHA256_ARM64

config CRYPTO_SHA512_ARM64_CE
	tristate "SHA-384/SHA-512 digest algorithm (ARMv8 Crypto Extensions)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_HASH
	select CRYPTO_SHA512_ARM64

config CRYPTO_SHA3_ARM64
	tristate "SHA3 digest algorithm (ARMv8.2 Crypto Extensions)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_HASH
	select CRYPTO_SHA3

config CRYPTO_SM3_ARM64_CE
	tristate "SM3 digest algorithm (ARMv8.2 Crypto Extensions)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_HASH
	select CRYPTO_SM3

config CRYPTO_SM4_ARM64_CE
	tristate "SM4 symmetric cipher (ARMv8.2 Crypto Extensions)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_ALGAPI
	select CRYPTO_SM4

config CRYPTO_SM4_ARM64_CE_BLK
	tristate "SM4 in ECB/CBC/CFB/CTR modes using ARMv8 Crypto Extensions"
	depends on KERNEL_MODE_NEON
	select CRYPTO_SKCIPHER
	select CRYPTO_SM4

config CRYPTO_SM4_ARM64_NEON_BLK
	tristate "SM4 in ECB/CBC/CFB/CTR modes using NEON instructions"
	depends on KERNEL_MODE_NEON
	select CRYPTO_SKCIPHER
	select CRYPTO_SM4

config CRYPTO_GHASH_ARM64_CE
	tristate "GHASH/AES-GCM using ARMv8 Crypto Extensions"
	depends on KERNEL_MODE_NEON
	select CRYPTO_HASH
	select CRYPTO_GF128MUL
	select CRYPTO_LIB_AES
	select CRYPTO_AEAD

config CRYPTO_POLYVAL_ARM64_CE
	tristate "POLYVAL using ARMv8 Crypto Extensions (for HCTR2)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_POLYVAL

config CRYPTO_CRCT10DIF_ARM64_CE
	tristate "CRCT10DIF digest algorithm using PMULL instructions"
	depends on KERNEL_MODE_NEON && CRC_T10DIF
	select CRYPTO_HASH

config CRYPTO_AES_ARM64
	tristate "AES core cipher using scalar instructions"
	select CRYPTO_AES

config CRYPTO_AES_ARM64_CE
	tristate "AES core cipher using ARMv8 Crypto Extensions"
	depends on ARM64 && KERNEL_MODE_NEON
	select CRYPTO_ALGAPI
	select CRYPTO_LIB_AES

config CRYPTO_AES_ARM64_CE_CCM
	tristate "AES in CCM mode using ARMv8 Crypto Extensions"
	depends on ARM64 && KERNEL_MODE_NEON
	select CRYPTO_ALGAPI
	select CRYPTO_AES_ARM64_CE
	select CRYPTO_AEAD
	select CRYPTO_LIB_AES

config CRYPTO_AES_ARM64_CE_BLK
	tristate "AES in ECB/CBC/CTR/XTS/XCTR modes using ARMv8 Crypto Extensions"
	depends on KERNEL_MODE_NEON
	select CRYPTO_SKCIPHER
	select CRYPTO_AES_ARM64_CE

config CRYPTO_AES_ARM64_NEON_BLK
	tristate "AES in ECB/CBC/CTR/XTS/XCTR modes using NEON instructions"
	depends on KERNEL_MODE_NEON
	select CRYPTO_SKCIPHER
	select CRYPTO_LIB_AES

config CRYPTO_CHACHA20_NEON
	tristate "ChaCha20, XChaCha20, and XChaCha12 stream ciphers using NEON instructions"
	depends on KERNEL_MODE_NEON
	select CRYPTO_SKCIPHER
	select CRYPTO_LIB_CHACHA_GENERIC
	select CRYPTO_ARCH_HAVE_LIB_CHACHA

config CRYPTO_POLY1305_NEON
	tristate "Poly1305 hash function using scalar or NEON instructions"
	depends on KERNEL_MODE_NEON
	select CRYPTO_HASH
	select CRYPTO_ARCH_HAVE_LIB_POLY1305

config CRYPTO_NHPOLY1305_NEON
	tristate "NHPoly1305 hash function using NEON instructions (for Adiantum)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_NHPOLY1305

config CRYPTO_AES_ARM64_BS
	tristate "AES in ECB/CBC/CTR/XTS modes using bit-sliced NEON algorithm"
	depends on KERNEL_MODE_NEON
	select CRYPTO_SKCIPHER
	select CRYPTO_AES_ARM64_NEON_BLK
	select CRYPTO_LIB_AES

endif