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