Kconfig 4.4 KB
Newer Older
1 2 3 4 5 6 7 8 9 10
# SPDX-License-Identifier: GPL-2.0

comment "Crypto library routines"

config CRYPTO_LIB_AES
	tristate

config CRYPTO_LIB_ARC4
	tristate

11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
config CRYPTO_ARCH_HAVE_LIB_BLAKE2S
	tristate
	help
	  Declares whether the architecture provides an arch-specific
	  accelerated implementation of the Blake2s library interface,
	  either builtin or as a module.

config CRYPTO_LIB_BLAKE2S_GENERIC
	tristate
	help
	  This symbol can be depended upon by arch implementations of the
	  Blake2s library interface that require the generic code as a
	  fallback, e.g., for SIMD implementations. If no arch specific
	  implementation is enabled, this implementation serves the users
	  of CRYPTO_LIB_BLAKE2S.

config CRYPTO_LIB_BLAKE2S
	tristate "BLAKE2s hash function library"
	depends on CRYPTO_ARCH_HAVE_LIB_BLAKE2S || !CRYPTO_ARCH_HAVE_LIB_BLAKE2S
	select CRYPTO_LIB_BLAKE2S_GENERIC if CRYPTO_ARCH_HAVE_LIB_BLAKE2S=n
	help
	  Enable the Blake2s library interface. This interface may be fulfilled
	  by either the generic implementation or an arch-specific one, if one
	  is available and enabled.

36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
config CRYPTO_ARCH_HAVE_LIB_CHACHA
	tristate
	help
	  Declares whether the architecture provides an arch-specific
	  accelerated implementation of the ChaCha library interface,
	  either builtin or as a module.

config CRYPTO_LIB_CHACHA_GENERIC
	tristate
	select CRYPTO_ALGAPI
	help
	  This symbol can be depended upon by arch implementations of the
	  ChaCha library interface that require the generic code as a
	  fallback, e.g., for SIMD implementations. If no arch specific
	  implementation is enabled, this implementation serves the users
	  of CRYPTO_LIB_CHACHA.

config CRYPTO_LIB_CHACHA
	tristate "ChaCha library interface"
	depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA
	select CRYPTO_LIB_CHACHA_GENERIC if CRYPTO_ARCH_HAVE_LIB_CHACHA=n
	help
	  Enable the ChaCha library interface. This interface may be fulfilled
	  by either the generic implementation or an arch-specific one, if one
	  is available and enabled.

62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
config CRYPTO_ARCH_HAVE_LIB_CURVE25519
	tristate
	help
	  Declares whether the architecture provides an arch-specific
	  accelerated implementation of the Curve25519 library interface,
	  either builtin or as a module.

config CRYPTO_LIB_CURVE25519_GENERIC
	tristate
	help
	  This symbol can be depended upon by arch implementations of the
	  Curve25519 library interface that require the generic code as a
	  fallback, e.g., for SIMD implementations. If no arch specific
	  implementation is enabled, this implementation serves the users
	  of CRYPTO_LIB_CURVE25519.

config CRYPTO_LIB_CURVE25519
	tristate "Curve25519 scalar multiplication library"
	depends on CRYPTO_ARCH_HAVE_LIB_CURVE25519 || !CRYPTO_ARCH_HAVE_LIB_CURVE25519
	select CRYPTO_LIB_CURVE25519_GENERIC if CRYPTO_ARCH_HAVE_LIB_CURVE25519=n
	help
	  Enable the Curve25519 library interface. This interface may be
	  fulfilled by either the generic implementation or an arch-specific
	  one, if one is available and enabled.

87 88 89
config CRYPTO_LIB_DES
	tristate

90 91
config CRYPTO_LIB_POLY1305_RSIZE
	int
92
	default 2 if MIPS
93
	default 11 if X86_64
94
	default 9 if ARM || ARM64
95 96 97 98 99 100 101 102 103
	default 1

config CRYPTO_ARCH_HAVE_LIB_POLY1305
	tristate
	help
	  Declares whether the architecture provides an arch-specific
	  accelerated implementation of the Poly1305 library interface,
	  either builtin or as a module.

104 105
config CRYPTO_LIB_POLY1305_GENERIC
	tristate
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
	help
	  This symbol can be depended upon by arch implementations of the
	  Poly1305 library interface that require the generic code as a
	  fallback, e.g., for SIMD implementations. If no arch specific
	  implementation is enabled, this implementation serves the users
	  of CRYPTO_LIB_POLY1305.

config CRYPTO_LIB_POLY1305
	tristate "Poly1305 library interface"
	depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305
	select CRYPTO_LIB_POLY1305_GENERIC if CRYPTO_ARCH_HAVE_LIB_POLY1305=n
	help
	  Enable the Poly1305 library interface. This interface may be fulfilled
	  by either the generic implementation or an arch-specific one, if one
	  is available and enabled.
121

122 123 124 125 126 127 128
config CRYPTO_LIB_CHACHA20POLY1305
	tristate "ChaCha20-Poly1305 AEAD support (8-byte nonce library version)"
	depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA
	depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305
	select CRYPTO_LIB_CHACHA
	select CRYPTO_LIB_POLY1305

129 130
config CRYPTO_LIB_SHA256
	tristate