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