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