1# SPDX-License-Identifier: GPL-2.0 2 3menu "Accelerated Cryptographic Algorithms for CPU (arm64)" 4 5config CRYPTO_GHASH_ARM64_CE 6 tristate "Hash functions: GHASH (ARMv8 Crypto Extensions)" 7 depends on KERNEL_MODE_NEON 8 select CRYPTO_HASH 9 select CRYPTO_LIB_AES 10 select CRYPTO_LIB_GF128MUL 11 select CRYPTO_AEAD 12 help 13 GCM GHASH function (NIST SP800-38D) 14 15 Architecture: arm64 using: 16 - ARMv8 Crypto Extensions 17 18config CRYPTO_NHPOLY1305_NEON 19 tristate "Hash functions: NHPoly1305 (NEON)" 20 depends on KERNEL_MODE_NEON 21 select CRYPTO_NHPOLY1305 22 help 23 NHPoly1305 hash function (Adiantum) 24 25 Architecture: arm64 using: 26 - NEON (Advanced SIMD) extensions 27 28config CRYPTO_SHA1_ARM64_CE 29 tristate "Hash functions: SHA-1 (ARMv8 Crypto Extensions)" 30 depends on KERNEL_MODE_NEON 31 select CRYPTO_HASH 32 select CRYPTO_SHA1 33 help 34 SHA-1 secure hash algorithm (FIPS 180) 35 36 Architecture: arm64 using: 37 - ARMv8 Crypto Extensions 38 39config CRYPTO_SHA512_ARM64 40 tristate "Hash functions: SHA-384 and SHA-512" 41 select CRYPTO_HASH 42 help 43 SHA-384 and SHA-512 secure hash algorithms (FIPS 180) 44 45 Architecture: arm64 46 47config CRYPTO_SHA512_ARM64_CE 48 tristate "Hash functions: SHA-384 and SHA-512 (ARMv8 Crypto Extensions)" 49 depends on KERNEL_MODE_NEON 50 select CRYPTO_HASH 51 select CRYPTO_SHA512_ARM64 52 help 53 SHA-384 and SHA-512 secure hash algorithms (FIPS 180) 54 55 Architecture: arm64 using: 56 - ARMv8 Crypto Extensions 57 58config CRYPTO_SHA3_ARM64 59 tristate "Hash functions: SHA-3 (ARMv8.2 Crypto Extensions)" 60 depends on KERNEL_MODE_NEON 61 select CRYPTO_HASH 62 select CRYPTO_SHA3 63 help 64 SHA-3 secure hash algorithms (FIPS 202) 65 66 Architecture: arm64 using: 67 - ARMv8.2 Crypto Extensions 68 69config CRYPTO_SM3_NEON 70 tristate "Hash functions: SM3 (NEON)" 71 depends on KERNEL_MODE_NEON 72 select CRYPTO_HASH 73 select CRYPTO_LIB_SM3 74 help 75 SM3 (ShangMi 3) secure hash function (OSCCA GM/T 0004-2012) 76 77 Architecture: arm64 using: 78 - NEON (Advanced SIMD) extensions 79 80config CRYPTO_SM3_ARM64_CE 81 tristate "Hash functions: SM3 (ARMv8.2 Crypto Extensions)" 82 depends on KERNEL_MODE_NEON 83 select CRYPTO_HASH 84 select CRYPTO_LIB_SM3 85 help 86 SM3 (ShangMi 3) secure hash function (OSCCA GM/T 0004-2012) 87 88 Architecture: arm64 using: 89 - ARMv8.2 Crypto Extensions 90 91config CRYPTO_POLYVAL_ARM64_CE 92 tristate "Hash functions: POLYVAL (ARMv8 Crypto Extensions)" 93 depends on KERNEL_MODE_NEON 94 select CRYPTO_POLYVAL 95 help 96 POLYVAL hash function for HCTR2 97 98 Architecture: arm64 using: 99 - ARMv8 Crypto Extensions 100 101config CRYPTO_AES_ARM64 102 tristate "Ciphers: AES, modes: ECB, CBC, CTR, CTS, XCTR, XTS" 103 select CRYPTO_AES 104 help 105 Block ciphers: AES cipher algorithms (FIPS-197) 106 Length-preserving ciphers: AES with ECB, CBC, CTR, CTS, 107 XCTR, and XTS modes 108 AEAD cipher: AES with CBC, ESSIV, and SHA-256 109 for fscrypt and dm-crypt 110 111 Architecture: arm64 112 113config CRYPTO_AES_ARM64_CE 114 tristate "Ciphers: AES (ARMv8 Crypto Extensions)" 115 depends on KERNEL_MODE_NEON 116 select CRYPTO_ALGAPI 117 select CRYPTO_LIB_AES 118 help 119 Block ciphers: AES cipher algorithms (FIPS-197) 120 121 Architecture: arm64 using: 122 - ARMv8 Crypto Extensions 123 124config CRYPTO_AES_ARM64_CE_BLK 125 tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (ARMv8 Crypto Extensions)" 126 depends on KERNEL_MODE_NEON 127 select CRYPTO_SKCIPHER 128 select CRYPTO_AES_ARM64_CE 129 help 130 Length-preserving ciphers: AES cipher algorithms (FIPS-197) 131 with block cipher modes: 132 - ECB (Electronic Codebook) mode (NIST SP800-38A) 133 - CBC (Cipher Block Chaining) mode (NIST SP800-38A) 134 - CTR (Counter) mode (NIST SP800-38A) 135 - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E 136 and IEEE 1619) 137 138 Architecture: arm64 using: 139 - ARMv8 Crypto Extensions 140 141config CRYPTO_AES_ARM64_NEON_BLK 142 tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (NEON)" 143 depends on KERNEL_MODE_NEON 144 select CRYPTO_SKCIPHER 145 select CRYPTO_LIB_AES 146 help 147 Length-preserving ciphers: AES cipher algorithms (FIPS-197) 148 with block cipher modes: 149 - ECB (Electronic Codebook) mode (NIST SP800-38A) 150 - CBC (Cipher Block Chaining) mode (NIST SP800-38A) 151 - CTR (Counter) mode (NIST SP800-38A) 152 - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E 153 and IEEE 1619) 154 155 Architecture: arm64 using: 156 - NEON (Advanced SIMD) extensions 157 158config CRYPTO_AES_ARM64_BS 159 tristate "Ciphers: AES, modes: ECB/CBC/CTR/XCTR/XTS modes (bit-sliced NEON)" 160 depends on KERNEL_MODE_NEON 161 select CRYPTO_SKCIPHER 162 select CRYPTO_AES_ARM64_NEON_BLK 163 select CRYPTO_LIB_AES 164 help 165 Length-preserving ciphers: AES cipher algorithms (FIPS-197) 166 with block cipher modes: 167 - ECB (Electronic Codebook) mode (NIST SP800-38A) 168 - CBC (Cipher Block Chaining) mode (NIST SP800-38A) 169 - CTR (Counter) mode (NIST SP800-38A) 170 - XCTR mode for HCTR2 171 - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E 172 and IEEE 1619) 173 174 Architecture: arm64 using: 175 - bit-sliced algorithm 176 - NEON (Advanced SIMD) extensions 177 178config CRYPTO_SM4_ARM64_CE 179 tristate "Ciphers: SM4 (ARMv8.2 Crypto Extensions)" 180 depends on KERNEL_MODE_NEON 181 select CRYPTO_ALGAPI 182 select CRYPTO_SM4 183 help 184 Block ciphers: SM4 cipher algorithms (OSCCA GB/T 32907-2016) 185 186 Architecture: arm64 using: 187 - ARMv8.2 Crypto Extensions 188 - NEON (Advanced SIMD) extensions 189 190config CRYPTO_SM4_ARM64_CE_BLK 191 tristate "Ciphers: SM4, modes: ECB/CBC/CTR/XTS (ARMv8 Crypto Extensions)" 192 depends on KERNEL_MODE_NEON 193 select CRYPTO_SKCIPHER 194 select CRYPTO_SM4 195 help 196 Length-preserving ciphers: SM4 cipher algorithms (OSCCA GB/T 32907-2016) 197 with block cipher modes: 198 - ECB (Electronic Codebook) mode (NIST SP800-38A) 199 - CBC (Cipher Block Chaining) mode (NIST SP800-38A) 200 - CTR (Counter) mode (NIST SP800-38A) 201 - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E 202 and IEEE 1619) 203 204 Architecture: arm64 using: 205 - ARMv8 Crypto Extensions 206 - NEON (Advanced SIMD) extensions 207 208config CRYPTO_SM4_ARM64_NEON_BLK 209 tristate "Ciphers: SM4, modes: ECB/CBC/CTR (NEON)" 210 depends on KERNEL_MODE_NEON 211 select CRYPTO_SKCIPHER 212 select CRYPTO_SM4 213 help 214 Length-preserving ciphers: SM4 cipher algorithms (OSCCA GB/T 32907-2016) 215 with block cipher modes: 216 - ECB (Electronic Codebook) mode (NIST SP800-38A) 217 - CBC (Cipher Block Chaining) mode (NIST SP800-38A) 218 - CTR (Counter) mode (NIST SP800-38A) 219 220 Architecture: arm64 using: 221 - NEON (Advanced SIMD) extensions 222 223config CRYPTO_AES_ARM64_CE_CCM 224 tristate "AEAD cipher: AES in CCM mode (ARMv8 Crypto Extensions)" 225 depends on KERNEL_MODE_NEON 226 select CRYPTO_ALGAPI 227 select CRYPTO_AES_ARM64_CE 228 select CRYPTO_AES_ARM64_CE_BLK 229 select CRYPTO_AEAD 230 select CRYPTO_LIB_AES 231 help 232 AEAD cipher: AES cipher algorithms (FIPS-197) with 233 CCM (Counter with Cipher Block Chaining-Message Authentication Code) 234 authenticated encryption mode (NIST SP800-38C) 235 236 Architecture: arm64 using: 237 - ARMv8 Crypto Extensions 238 - NEON (Advanced SIMD) extensions 239 240config CRYPTO_SM4_ARM64_CE_CCM 241 tristate "AEAD cipher: SM4 in CCM mode (ARMv8 Crypto Extensions)" 242 depends on KERNEL_MODE_NEON 243 select CRYPTO_ALGAPI 244 select CRYPTO_AEAD 245 select CRYPTO_SM4 246 select CRYPTO_SM4_ARM64_CE_BLK 247 help 248 AEAD cipher: SM4 cipher algorithms (OSCCA GB/T 32907-2016) with 249 CCM (Counter with Cipher Block Chaining-Message Authentication Code) 250 authenticated encryption mode (NIST SP800-38C) 251 252 Architecture: arm64 using: 253 - ARMv8 Crypto Extensions 254 - NEON (Advanced SIMD) extensions 255 256config CRYPTO_SM4_ARM64_CE_GCM 257 tristate "AEAD cipher: SM4 in GCM mode (ARMv8 Crypto Extensions)" 258 depends on KERNEL_MODE_NEON 259 select CRYPTO_ALGAPI 260 select CRYPTO_AEAD 261 select CRYPTO_SM4 262 select CRYPTO_SM4_ARM64_CE_BLK 263 help 264 AEAD cipher: SM4 cipher algorithms (OSCCA GB/T 32907-2016) with 265 GCM (Galois/Counter Mode) authenticated encryption mode (NIST SP800-38D) 266 267 Architecture: arm64 using: 268 - ARMv8 Crypto Extensions 269 - PMULL (Polynomial Multiply Long) instructions 270 - NEON (Advanced SIMD) extensions 271 272endmenu 273 274