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