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