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