Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0
0002 
0003 menuconfig ARM64_CRYPTO
0004         bool "ARM64 Accelerated Cryptographic Algorithms"
0005         depends on ARM64
0006         help
0007           Say Y here to choose from a selection of cryptographic algorithms
0008           implemented using ARM64 specific CPU features or instructions.
0009 
0010 if ARM64_CRYPTO
0011 
0012 config CRYPTO_SHA256_ARM64
0013         tristate "SHA-224/SHA-256 digest algorithm for arm64"
0014         select CRYPTO_HASH
0015 
0016 config CRYPTO_SHA512_ARM64
0017         tristate "SHA-384/SHA-512 digest algorithm for arm64"
0018         select CRYPTO_HASH
0019 
0020 config CRYPTO_SHA1_ARM64_CE
0021         tristate "SHA-1 digest algorithm (ARMv8 Crypto Extensions)"
0022         depends on KERNEL_MODE_NEON
0023         select CRYPTO_HASH
0024         select CRYPTO_SHA1
0025 
0026 config CRYPTO_SHA2_ARM64_CE
0027         tristate "SHA-224/SHA-256 digest algorithm (ARMv8 Crypto Extensions)"
0028         depends on KERNEL_MODE_NEON
0029         select CRYPTO_HASH
0030         select CRYPTO_SHA256_ARM64
0031 
0032 config CRYPTO_SHA512_ARM64_CE
0033         tristate "SHA-384/SHA-512 digest algorithm (ARMv8 Crypto Extensions)"
0034         depends on KERNEL_MODE_NEON
0035         select CRYPTO_HASH
0036         select CRYPTO_SHA512_ARM64
0037 
0038 config CRYPTO_SHA3_ARM64
0039         tristate "SHA3 digest algorithm (ARMv8.2 Crypto Extensions)"
0040         depends on KERNEL_MODE_NEON
0041         select CRYPTO_HASH
0042         select CRYPTO_SHA3
0043 
0044 config CRYPTO_SM3_ARM64_CE
0045         tristate "SM3 digest algorithm (ARMv8.2 Crypto Extensions)"
0046         depends on KERNEL_MODE_NEON
0047         select CRYPTO_HASH
0048         select CRYPTO_SM3
0049 
0050 config CRYPTO_SM4_ARM64_CE
0051         tristate "SM4 symmetric cipher (ARMv8.2 Crypto Extensions)"
0052         depends on KERNEL_MODE_NEON
0053         select CRYPTO_ALGAPI
0054         select CRYPTO_SM4
0055 
0056 config CRYPTO_SM4_ARM64_CE_BLK
0057         tristate "SM4 in ECB/CBC/CFB/CTR modes using ARMv8 Crypto Extensions"
0058         depends on KERNEL_MODE_NEON
0059         select CRYPTO_SKCIPHER
0060         select CRYPTO_SM4
0061 
0062 config CRYPTO_SM4_ARM64_NEON_BLK
0063         tristate "SM4 in ECB/CBC/CFB/CTR modes using NEON instructions"
0064         depends on KERNEL_MODE_NEON
0065         select CRYPTO_SKCIPHER
0066         select CRYPTO_SM4
0067 
0068 config CRYPTO_GHASH_ARM64_CE
0069         tristate "GHASH/AES-GCM using ARMv8 Crypto Extensions"
0070         depends on KERNEL_MODE_NEON
0071         select CRYPTO_HASH
0072         select CRYPTO_GF128MUL
0073         select CRYPTO_LIB_AES
0074         select CRYPTO_AEAD
0075 
0076 config CRYPTO_POLYVAL_ARM64_CE
0077         tristate "POLYVAL using ARMv8 Crypto Extensions (for HCTR2)"
0078         depends on KERNEL_MODE_NEON
0079         select CRYPTO_POLYVAL
0080 
0081 config CRYPTO_CRCT10DIF_ARM64_CE
0082         tristate "CRCT10DIF digest algorithm using PMULL instructions"
0083         depends on KERNEL_MODE_NEON && CRC_T10DIF
0084         select CRYPTO_HASH
0085 
0086 config CRYPTO_AES_ARM64
0087         tristate "AES core cipher using scalar instructions"
0088         select CRYPTO_AES
0089 
0090 config CRYPTO_AES_ARM64_CE
0091         tristate "AES core cipher using ARMv8 Crypto Extensions"
0092         depends on ARM64 && KERNEL_MODE_NEON
0093         select CRYPTO_ALGAPI
0094         select CRYPTO_LIB_AES
0095 
0096 config CRYPTO_AES_ARM64_CE_CCM
0097         tristate "AES in CCM mode using ARMv8 Crypto Extensions"
0098         depends on ARM64 && KERNEL_MODE_NEON
0099         select CRYPTO_ALGAPI
0100         select CRYPTO_AES_ARM64_CE
0101         select CRYPTO_AEAD
0102         select CRYPTO_LIB_AES
0103 
0104 config CRYPTO_AES_ARM64_CE_BLK
0105         tristate "AES in ECB/CBC/CTR/XTS/XCTR modes using ARMv8 Crypto Extensions"
0106         depends on KERNEL_MODE_NEON
0107         select CRYPTO_SKCIPHER
0108         select CRYPTO_AES_ARM64_CE
0109 
0110 config CRYPTO_AES_ARM64_NEON_BLK
0111         tristate "AES in ECB/CBC/CTR/XTS/XCTR modes using NEON instructions"
0112         depends on KERNEL_MODE_NEON
0113         select CRYPTO_SKCIPHER
0114         select CRYPTO_LIB_AES
0115 
0116 config CRYPTO_CHACHA20_NEON
0117         tristate "ChaCha20, XChaCha20, and XChaCha12 stream ciphers using NEON instructions"
0118         depends on KERNEL_MODE_NEON
0119         select CRYPTO_SKCIPHER
0120         select CRYPTO_LIB_CHACHA_GENERIC
0121         select CRYPTO_ARCH_HAVE_LIB_CHACHA
0122 
0123 config CRYPTO_POLY1305_NEON
0124         tristate "Poly1305 hash function using scalar or NEON instructions"
0125         depends on KERNEL_MODE_NEON
0126         select CRYPTO_HASH
0127         select CRYPTO_ARCH_HAVE_LIB_POLY1305
0128 
0129 config CRYPTO_NHPOLY1305_NEON
0130         tristate "NHPoly1305 hash function using NEON instructions (for Adiantum)"
0131         depends on KERNEL_MODE_NEON
0132         select CRYPTO_NHPOLY1305
0133 
0134 config CRYPTO_AES_ARM64_BS
0135         tristate "AES in ECB/CBC/CTR/XTS modes using bit-sliced NEON algorithm"
0136         depends on KERNEL_MODE_NEON
0137         select CRYPTO_SKCIPHER
0138         select CRYPTO_AES_ARM64_NEON_BLK
0139         select CRYPTO_LIB_AES
0140 
0141 endif