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