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