# SPDX-License-Identifier: GPL-2.0

menuconfig ARM64_CRYPTO
	bool "ARM64 Accelerated Cryptographic Algorithms"
	depends on ARM64
	help
	  Say Y here to choose from a selection of cryptographic algorithms
	  implemented using ARM64 specific CPU features or instructions.

if ARM64_CRYPTO

config CRYPTO_SHA256_ARM64
	tristate "SHA-224/SHA-256 digest algorithm for arm64"
	select CRYPTO_HASH

config CRYPTO_SHA512_ARM64
	tristate "SHA-384/SHA-512 digest algorithm for arm64"
	select CRYPTO_HASH

config CRYPTO_SHA1_ARM64_CE
	tristate "SHA-1 digest algorithm (ARMv8 Crypto Extensions)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_HASH
	select CRYPTO_SHA1

config CRYPTO_SHA2_ARM64_CE
	tristate "SHA-224/SHA-256 digest algorithm (ARMv8 Crypto Extensions)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_HASH
	select CRYPTO_SHA256_ARM64

config CRYPTO_SHA512_ARM64_CE
	tristate "SHA-384/SHA-512 digest algorithm (ARMv8 Crypto Extensions)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_HASH
	select CRYPTO_SHA512_ARM64

config CRYPTO_SHA3_ARM64
	tristate "SHA3 digest algorithm (ARMv8.2 Crypto Extensions)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_HASH
	select CRYPTO_SHA3

config CRYPTO_SM3_ARM64_CE
	tristate "SM3 digest algorithm (ARMv8.2 Crypto Extensions)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_HASH
	select CRYPTO_SM3

config CRYPTO_SM4_ARM64_CE
	tristate "SM4 symmetric cipher (ARMv8.2 Crypto Extensions)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_ALGAPI
	select CRYPTO_SM4

config CRYPTO_GHASH_ARM64_CE
	tristate "GHASH/AES-GCM using ARMv8 Crypto Extensions"
	depends on KERNEL_MODE_NEON
	select CRYPTO_HASH
	select CRYPTO_GF128MUL
	select CRYPTO_LIB_AES

config CRYPTO_CRCT10DIF_ARM64_CE
	tristate "CRCT10DIF digest algorithm using PMULL instructions"
	depends on KERNEL_MODE_NEON && CRC_T10DIF
	select CRYPTO_HASH

config CRYPTO_AES_ARM64
	tristate "AES core cipher using scalar instructions"
	select CRYPTO_AES

config CRYPTO_AES_ARM64_CE
	tristate "AES core cipher using ARMv8 Crypto Extensions"
	depends on ARM64 && KERNEL_MODE_NEON
	select CRYPTO_ALGAPI
	select CRYPTO_LIB_AES

config CRYPTO_AES_ARM64_CE_CCM
	tristate "AES in CCM mode using ARMv8 Crypto Extensions"
	depends on ARM64 && KERNEL_MODE_NEON
	select CRYPTO_ALGAPI
	select CRYPTO_AES_ARM64_CE
	select CRYPTO_AEAD
	select CRYPTO_LIB_AES

config CRYPTO_AES_ARM64_CE_BLK
	tristate "AES in ECB/CBC/CTR/XTS modes using ARMv8 Crypto Extensions"
	depends on KERNEL_MODE_NEON
	select CRYPTO_SKCIPHER
	select CRYPTO_AES_ARM64_CE
	select CRYPTO_AES_ARM64
	select CRYPTO_SIMD

config CRYPTO_AES_ARM64_NEON_BLK
	tristate "AES in ECB/CBC/CTR/XTS modes using NEON instructions"
	depends on KERNEL_MODE_NEON
	select CRYPTO_SKCIPHER
	select CRYPTO_AES_ARM64
	select CRYPTO_LIB_AES
	select CRYPTO_SIMD

config CRYPTO_CHACHA20_NEON
	tristate "ChaCha20, XChaCha20, and XChaCha12 stream ciphers using NEON instructions"
	depends on KERNEL_MODE_NEON
	select CRYPTO_SKCIPHER
	select CRYPTO_LIB_CHACHA_GENERIC
	select CRYPTO_ARCH_HAVE_LIB_CHACHA

config CRYPTO_POLY1305_NEON
	tristate "Poly1305 hash function using scalar or NEON instructions"
	depends on KERNEL_MODE_NEON
	select CRYPTO_HASH
	select CRYPTO_ARCH_HAVE_LIB_POLY1305

config CRYPTO_NHPOLY1305_NEON
	tristate "NHPoly1305 hash function using NEON instructions (for Adiantum)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_NHPOLY1305

config CRYPTO_AES_ARM64_BS
	tristate "AES in ECB/CBC/CTR/XTS modes using bit-sliced NEON algorithm"
	depends on KERNEL_MODE_NEON
	select CRYPTO_SKCIPHER
	select CRYPTO_AES_ARM64_NEON_BLK
	select CRYPTO_AES_ARM64
	select CRYPTO_LIB_AES
	select CRYPTO_SIMD

endif
