1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 22c98833aSArd Biesheuvel 34a329fecSRobert Elliottmenu "Accelerated Cryptographic Algorithms for CPU (arm64)" 42c98833aSArd Biesheuvel 59e5647ebSRobert Elliottconfig CRYPTO_GHASH_ARM64_CE 6*a336c01fSEric Biggers tristate "AEAD cipher: AES in GCM mode (ARMv8 Crypto Extensions)" 79e5647ebSRobert Elliott depends on KERNEL_MODE_NEON 89e5647ebSRobert Elliott select CRYPTO_LIB_AES 961c581a4SArd Biesheuvel select CRYPTO_LIB_GF128MUL 109e5647ebSRobert Elliott select CRYPTO_AEAD 113f342a23SRobert Elliott help 12*a336c01fSEric Biggers AEAD cipher: AES-GCM 133f342a23SRobert Elliott 143f342a23SRobert Elliott Architecture: arm64 using: 153f342a23SRobert Elliott - ARMv8 Crypto Extensions 167918ecefSArd Biesheuvel 1749788fe2SArd Biesheuvelconfig CRYPTO_AES_ARM64_CE_BLK 18cf514b2aSRobert Elliott tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (ARMv8 Crypto Extensions)" 19e2115069SArd Biesheuvel depends on KERNEL_MODE_NEON 20b95bba5dSEric Biggers select CRYPTO_SKCIPHER 212b1ef7aeSEric Biggers select CRYPTO_LIB_AES 225be8dcc1SEric Biggers select CRYPTO_LIB_SHA256 23cf514b2aSRobert Elliott help 24cf514b2aSRobert Elliott Length-preserving ciphers: AES cipher algorithms (FIPS-197) 25cf514b2aSRobert Elliott with block cipher modes: 26cf514b2aSRobert Elliott - ECB (Electronic Codebook) mode (NIST SP800-38A) 27cf514b2aSRobert Elliott - CBC (Cipher Block Chaining) mode (NIST SP800-38A) 28cf514b2aSRobert Elliott - CTR (Counter) mode (NIST SP800-38A) 29cf514b2aSRobert Elliott - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E 30cf514b2aSRobert Elliott and IEEE 1619) 31cf514b2aSRobert Elliott 32cf514b2aSRobert Elliott Architecture: arm64 using: 33cf514b2aSRobert Elliott - ARMv8 Crypto Extensions 3449788fe2SArd Biesheuvel 3549788fe2SArd Biesheuvelconfig CRYPTO_AES_ARM64_NEON_BLK 36cf514b2aSRobert Elliott tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (NEON)" 37e2115069SArd Biesheuvel depends on KERNEL_MODE_NEON 38b95bba5dSEric Biggers select CRYPTO_SKCIPHER 39c1844729SArd Biesheuvel select CRYPTO_LIB_AES 405be8dcc1SEric Biggers select CRYPTO_LIB_SHA256 41cf514b2aSRobert Elliott help 42cf514b2aSRobert Elliott Length-preserving ciphers: AES cipher algorithms (FIPS-197) 43cf514b2aSRobert Elliott with block cipher modes: 44cf514b2aSRobert Elliott - ECB (Electronic Codebook) mode (NIST SP800-38A) 45cf514b2aSRobert Elliott - CBC (Cipher Block Chaining) mode (NIST SP800-38A) 46cf514b2aSRobert Elliott - CTR (Counter) mode (NIST SP800-38A) 47cf514b2aSRobert Elliott - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E 48cf514b2aSRobert Elliott and IEEE 1619) 49cf514b2aSRobert Elliott 50cf514b2aSRobert Elliott Architecture: arm64 using: 51cf514b2aSRobert Elliott - NEON (Advanced SIMD) extensions 5249788fe2SArd Biesheuvel 531abee99eSArd Biesheuvelconfig CRYPTO_AES_ARM64_BS 54cf514b2aSRobert Elliott tristate "Ciphers: AES, modes: ECB/CBC/CTR/XCTR/XTS modes (bit-sliced NEON)" 551abee99eSArd Biesheuvel depends on KERNEL_MODE_NEON 56b95bba5dSEric Biggers select CRYPTO_SKCIPHER 5712fcd923SArd Biesheuvel select CRYPTO_AES_ARM64_NEON_BLK 58f68df543SArd Biesheuvel select CRYPTO_LIB_AES 59cf514b2aSRobert Elliott help 60cf514b2aSRobert Elliott Length-preserving ciphers: AES cipher algorithms (FIPS-197) 61cf514b2aSRobert Elliott with block cipher modes: 62cf514b2aSRobert Elliott - ECB (Electronic Codebook) mode (NIST SP800-38A) 63cf514b2aSRobert Elliott - CBC (Cipher Block Chaining) mode (NIST SP800-38A) 64cf514b2aSRobert Elliott - CTR (Counter) mode (NIST SP800-38A) 65cf514b2aSRobert Elliott - XCTR mode for HCTR2 66cf514b2aSRobert Elliott - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E 67cf514b2aSRobert Elliott and IEEE 1619) 68cf514b2aSRobert Elliott 69cf514b2aSRobert Elliott Architecture: arm64 using: 70cf514b2aSRobert Elliott - bit-sliced algorithm 71cf514b2aSRobert Elliott - NEON (Advanced SIMD) extensions 721abee99eSArd Biesheuvel 739e5647ebSRobert Elliottconfig CRYPTO_SM4_ARM64_CE 74cf514b2aSRobert Elliott tristate "Ciphers: SM4 (ARMv8.2 Crypto Extensions)" 759e5647ebSRobert Elliott depends on KERNEL_MODE_NEON 769e5647ebSRobert Elliott select CRYPTO_ALGAPI 779e5647ebSRobert Elliott select CRYPTO_SM4 78cf514b2aSRobert Elliott help 79cf514b2aSRobert Elliott Block ciphers: SM4 cipher algorithms (OSCCA GB/T 32907-2016) 80cf514b2aSRobert Elliott 81cf514b2aSRobert Elliott Architecture: arm64 using: 82cf514b2aSRobert Elliott - ARMv8.2 Crypto Extensions 83cf514b2aSRobert Elliott - NEON (Advanced SIMD) extensions 849e5647ebSRobert Elliott 859e5647ebSRobert Elliottconfig CRYPTO_SM4_ARM64_CE_BLK 8629fa12e9SHerbert Xu tristate "Ciphers: SM4, modes: ECB/CBC/CTR/XTS (ARMv8 Crypto Extensions)" 879e5647ebSRobert Elliott depends on KERNEL_MODE_NEON 889e5647ebSRobert Elliott select CRYPTO_SKCIPHER 899e5647ebSRobert Elliott select CRYPTO_SM4 90cf514b2aSRobert Elliott help 91cf514b2aSRobert Elliott Length-preserving ciphers: SM4 cipher algorithms (OSCCA GB/T 32907-2016) 92cf514b2aSRobert Elliott with block cipher modes: 93cf514b2aSRobert Elliott - ECB (Electronic Codebook) mode (NIST SP800-38A) 94cf514b2aSRobert Elliott - CBC (Cipher Block Chaining) mode (NIST SP800-38A) 95cf514b2aSRobert Elliott - CTR (Counter) mode (NIST SP800-38A) 9601f63311STianjia Zhang - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E 9701f63311STianjia Zhang and IEEE 1619) 98cf514b2aSRobert Elliott 99cf514b2aSRobert Elliott Architecture: arm64 using: 100cf514b2aSRobert Elliott - ARMv8 Crypto Extensions 101cf514b2aSRobert Elliott - NEON (Advanced SIMD) extensions 1029e5647ebSRobert Elliott 1039e5647ebSRobert Elliottconfig CRYPTO_SM4_ARM64_NEON_BLK 10429fa12e9SHerbert Xu tristate "Ciphers: SM4, modes: ECB/CBC/CTR (NEON)" 1059e5647ebSRobert Elliott depends on KERNEL_MODE_NEON 1069e5647ebSRobert Elliott select CRYPTO_SKCIPHER 1079e5647ebSRobert Elliott select CRYPTO_SM4 108cf514b2aSRobert Elliott help 109cf514b2aSRobert Elliott Length-preserving ciphers: SM4 cipher algorithms (OSCCA GB/T 32907-2016) 110cf514b2aSRobert Elliott with block cipher modes: 111cf514b2aSRobert Elliott - ECB (Electronic Codebook) mode (NIST SP800-38A) 112cf514b2aSRobert Elliott - CBC (Cipher Block Chaining) mode (NIST SP800-38A) 113cf514b2aSRobert Elliott - CTR (Counter) mode (NIST SP800-38A) 114cf514b2aSRobert Elliott 115cf514b2aSRobert Elliott Architecture: arm64 using: 116cf514b2aSRobert Elliott - NEON (Advanced SIMD) extensions 1179e5647ebSRobert Elliott 1189e5647ebSRobert Elliottconfig CRYPTO_AES_ARM64_CE_CCM 119cf514b2aSRobert Elliott tristate "AEAD cipher: AES in CCM mode (ARMv8 Crypto Extensions)" 120e2df5fb7SEric Biggers depends on KERNEL_MODE_NEON 1219e5647ebSRobert Elliott select CRYPTO_ALGAPI 122948ffc66SArd Biesheuvel select CRYPTO_AES_ARM64_CE_BLK 1239e5647ebSRobert Elliott select CRYPTO_AEAD 12458286738SEric Biggers select CRYPTO_LIB_AES_CBC_MACS 125cf514b2aSRobert Elliott help 126cf514b2aSRobert Elliott AEAD cipher: AES cipher algorithms (FIPS-197) with 127cf514b2aSRobert Elliott CCM (Counter with Cipher Block Chaining-Message Authentication Code) 128cf514b2aSRobert Elliott authenticated encryption mode (NIST SP800-38C) 129cf514b2aSRobert Elliott 130cf514b2aSRobert Elliott Architecture: arm64 using: 131cf514b2aSRobert Elliott - ARMv8 Crypto Extensions 132cf514b2aSRobert Elliott - NEON (Advanced SIMD) extensions 1339e5647ebSRobert Elliott 13467fa3a7fSTianjia Zhangconfig CRYPTO_SM4_ARM64_CE_CCM 13567fa3a7fSTianjia Zhang tristate "AEAD cipher: SM4 in CCM mode (ARMv8 Crypto Extensions)" 13667fa3a7fSTianjia Zhang depends on KERNEL_MODE_NEON 13767fa3a7fSTianjia Zhang select CRYPTO_ALGAPI 13867fa3a7fSTianjia Zhang select CRYPTO_AEAD 13967fa3a7fSTianjia Zhang select CRYPTO_SM4 14067fa3a7fSTianjia Zhang select CRYPTO_SM4_ARM64_CE_BLK 14167fa3a7fSTianjia Zhang help 14267fa3a7fSTianjia Zhang AEAD cipher: SM4 cipher algorithms (OSCCA GB/T 32907-2016) with 14367fa3a7fSTianjia Zhang CCM (Counter with Cipher Block Chaining-Message Authentication Code) 14467fa3a7fSTianjia Zhang authenticated encryption mode (NIST SP800-38C) 14567fa3a7fSTianjia Zhang 14667fa3a7fSTianjia Zhang Architecture: arm64 using: 14767fa3a7fSTianjia Zhang - ARMv8 Crypto Extensions 14867fa3a7fSTianjia Zhang - NEON (Advanced SIMD) extensions 14967fa3a7fSTianjia Zhang 150ae1b83c7STianjia Zhangconfig CRYPTO_SM4_ARM64_CE_GCM 151ae1b83c7STianjia Zhang tristate "AEAD cipher: SM4 in GCM mode (ARMv8 Crypto Extensions)" 152ae1b83c7STianjia Zhang depends on KERNEL_MODE_NEON 153ae1b83c7STianjia Zhang select CRYPTO_ALGAPI 154ae1b83c7STianjia Zhang select CRYPTO_AEAD 155ae1b83c7STianjia Zhang select CRYPTO_SM4 156ae1b83c7STianjia Zhang select CRYPTO_SM4_ARM64_CE_BLK 157ae1b83c7STianjia Zhang help 158ae1b83c7STianjia Zhang AEAD cipher: SM4 cipher algorithms (OSCCA GB/T 32907-2016) with 159ae1b83c7STianjia Zhang GCM (Galois/Counter Mode) authenticated encryption mode (NIST SP800-38D) 160ae1b83c7STianjia Zhang 161ae1b83c7STianjia Zhang Architecture: arm64 using: 162ae1b83c7STianjia Zhang - ARMv8 Crypto Extensions 163ae1b83c7STianjia Zhang - PMULL (Polynomial Multiply Long) instructions 164ae1b83c7STianjia Zhang - NEON (Advanced SIMD) extensions 165ae1b83c7STianjia Zhang 1664a329fecSRobert Elliottendmenu 1679e5647ebSRobert Elliott 168