| .. | .. | 
|---|
| 1 | 1 |  # SPDX-License-Identifier: GPL-2.0 | 
|---|
| 2 | 2 |   | 
|---|
| 3 |  | -comment "Crypto library routines"  | 
|---|
 | 3 | +menu "Crypto library routines"  | 
|---|
 | 4 | +  | 
|---|
 | 5 | +config CRYPTO_LIB_AES  | 
|---|
 | 6 | +	tristate  | 
|---|
 | 7 | +  | 
|---|
 | 8 | +config CRYPTO_LIB_ARC4  | 
|---|
 | 9 | +	tristate  | 
|---|
| 4 | 10 |   | 
|---|
| 5 | 11 |  config CRYPTO_ARCH_HAVE_LIB_BLAKE2S | 
|---|
| 6 |  | -	tristate  | 
|---|
 | 12 | +	bool  | 
|---|
| 7 | 13 |  	help | 
|---|
| 8 | 14 |  	  Declares whether the architecture provides an arch-specific | 
|---|
| 9 | 15 |  	  accelerated implementation of the Blake2s library interface, | 
|---|
| 10 | 16 |  	  either builtin or as a module. | 
|---|
| 11 | 17 |   | 
|---|
| 12 | 18 |  config CRYPTO_LIB_BLAKE2S_GENERIC | 
|---|
| 13 |  | -	tristate  | 
|---|
 | 19 | +	def_bool !CRYPTO_ARCH_HAVE_LIB_BLAKE2S  | 
|---|
| 14 | 20 |  	help | 
|---|
| 15 | 21 |  	  This symbol can be depended upon by arch implementations of the | 
|---|
| 16 | 22 |  	  Blake2s library interface that require the generic code as a | 
|---|
| 17 | 23 |  	  fallback, e.g., for SIMD implementations. If no arch specific | 
|---|
| 18 | 24 |  	  implementation is enabled, this implementation serves the users | 
|---|
| 19 | 25 |  	  of CRYPTO_LIB_BLAKE2S. | 
|---|
| 20 |  | -  | 
|---|
| 21 |  | -config CRYPTO_LIB_BLAKE2S  | 
|---|
| 22 |  | -	tristate "BLAKE2s hash function library"  | 
|---|
| 23 |  | -	depends on CRYPTO_ARCH_HAVE_LIB_BLAKE2S || !CRYPTO_ARCH_HAVE_LIB_BLAKE2S  | 
|---|
| 24 |  | -	select CRYPTO_LIB_BLAKE2S_GENERIC if CRYPTO_ARCH_HAVE_LIB_BLAKE2S=n  | 
|---|
| 25 |  | -	help  | 
|---|
| 26 |  | -	  Enable the Blake2s library interface. This interface may be fulfilled  | 
|---|
| 27 |  | -	  by either the generic implementation or an arch-specific one, if one  | 
|---|
| 28 |  | -	  is available and enabled.  | 
|---|
| 29 | 26 |   | 
|---|
| 30 | 27 |  config CRYPTO_ARCH_HAVE_LIB_CHACHA | 
|---|
| 31 | 28 |  	tristate | 
|---|
| .. | .. | 
|---|
| 36 | 33 |   | 
|---|
| 37 | 34 |  config CRYPTO_LIB_CHACHA_GENERIC | 
|---|
| 38 | 35 |  	tristate | 
|---|
| 39 |  | -	select CRYPTO_ALGAPI  | 
|---|
| 40 | 36 |  	help | 
|---|
| 41 | 37 |  	  This symbol can be depended upon by arch implementations of the | 
|---|
| 42 | 38 |  	  ChaCha library interface that require the generic code as a | 
|---|
| .. | .. | 
|---|
| 46 | 42 |   | 
|---|
| 47 | 43 |  config CRYPTO_LIB_CHACHA | 
|---|
| 48 | 44 |  	tristate "ChaCha library interface" | 
|---|
 | 45 | +	depends on CRYPTO  | 
|---|
| 49 | 46 |  	depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA | 
|---|
| 50 | 47 |  	select CRYPTO_LIB_CHACHA_GENERIC if CRYPTO_ARCH_HAVE_LIB_CHACHA=n | 
|---|
| 51 | 48 |  	help | 
|---|
| 52 | 49 |  	  Enable the ChaCha library interface. This interface may be fulfilled | 
|---|
| 53 | 50 |  	  by either the generic implementation or an arch-specific one, if one | 
|---|
| 54 | 51 |  	  is available and enabled. | 
|---|
 | 52 | +  | 
|---|
 | 53 | +config CRYPTO_ARCH_HAVE_LIB_CURVE25519  | 
|---|
 | 54 | +	tristate  | 
|---|
 | 55 | +	help  | 
|---|
 | 56 | +	  Declares whether the architecture provides an arch-specific  | 
|---|
 | 57 | +	  accelerated implementation of the Curve25519 library interface,  | 
|---|
 | 58 | +	  either builtin or as a module.  | 
|---|
 | 59 | +  | 
|---|
 | 60 | +config CRYPTO_LIB_CURVE25519_GENERIC  | 
|---|
 | 61 | +	tristate  | 
|---|
 | 62 | +	help  | 
|---|
 | 63 | +	  This symbol can be depended upon by arch implementations of the  | 
|---|
 | 64 | +	  Curve25519 library interface that require the generic code as a  | 
|---|
 | 65 | +	  fallback, e.g., for SIMD implementations. If no arch specific  | 
|---|
 | 66 | +	  implementation is enabled, this implementation serves the users  | 
|---|
 | 67 | +	  of CRYPTO_LIB_CURVE25519.  | 
|---|
 | 68 | +  | 
|---|
 | 69 | +config CRYPTO_LIB_CURVE25519  | 
|---|
 | 70 | +	tristate "Curve25519 scalar multiplication library"  | 
|---|
 | 71 | +	depends on CRYPTO_ARCH_HAVE_LIB_CURVE25519 || !CRYPTO_ARCH_HAVE_LIB_CURVE25519  | 
|---|
 | 72 | +	select CRYPTO_LIB_CURVE25519_GENERIC if CRYPTO_ARCH_HAVE_LIB_CURVE25519=n  | 
|---|
 | 73 | +	select LIB_MEMNEQ  | 
|---|
 | 74 | +	help  | 
|---|
 | 75 | +	  Enable the Curve25519 library interface. This interface may be  | 
|---|
 | 76 | +	  fulfilled by either the generic implementation or an arch-specific  | 
|---|
 | 77 | +	  one, if one is available and enabled.  | 
|---|
 | 78 | +  | 
|---|
 | 79 | +config CRYPTO_LIB_DES  | 
|---|
 | 80 | +	tristate  | 
|---|
| 55 | 81 |   | 
|---|
| 56 | 82 |  config CRYPTO_LIB_POLY1305_RSIZE | 
|---|
| 57 | 83 |  	int | 
|---|
| .. | .. | 
|---|
| 85 | 111 |  	  by either the generic implementation or an arch-specific one, if one | 
|---|
| 86 | 112 |  	  is available and enabled. | 
|---|
| 87 | 113 |   | 
|---|
| 88 |  | -config CRYPTO_ARCH_HAVE_LIB_CURVE25519  | 
|---|
| 89 |  | -	tristate  | 
|---|
| 90 |  | -	help  | 
|---|
| 91 |  | -	  Declares whether the architecture provides an arch-specific  | 
|---|
| 92 |  | -	  accelerated implementation of the Curve25519 library interface,  | 
|---|
| 93 |  | -	  either builtin or as a module.  | 
|---|
| 94 |  | -  | 
|---|
| 95 |  | -config CRYPTO_LIB_CURVE25519_GENERIC  | 
|---|
| 96 |  | -	tristate  | 
|---|
| 97 |  | -	help  | 
|---|
| 98 |  | -	  This symbol can be depended upon by arch implementations of the  | 
|---|
| 99 |  | -	  Curve25519 library interface that require the generic code as a  | 
|---|
| 100 |  | -	  fallback, e.g., for SIMD implementations. If no arch specific  | 
|---|
| 101 |  | -	  implementation is enabled, this implementation serves the users  | 
|---|
| 102 |  | -	  of CRYPTO_LIB_CURVE25519.  | 
|---|
| 103 |  | -  | 
|---|
| 104 |  | -config CRYPTO_LIB_CURVE25519  | 
|---|
| 105 |  | -	tristate "Curve25519 scalar multiplication library"  | 
|---|
| 106 |  | -	depends on CRYPTO_ARCH_HAVE_LIB_CURVE25519 || !CRYPTO_ARCH_HAVE_LIB_CURVE25519  | 
|---|
| 107 |  | -	select CRYPTO_LIB_CURVE25519_GENERIC if CRYPTO_ARCH_HAVE_LIB_CURVE25519=n  | 
|---|
| 108 |  | -	help  | 
|---|
| 109 |  | -	  Enable the Curve25519 library interface. This interface may be  | 
|---|
| 110 |  | -	  fulfilled by either the generic implementation or an arch-specific  | 
|---|
| 111 |  | -	  one, if one is available and enabled.  | 
|---|
| 112 |  | -  | 
|---|
| 113 | 114 |  config CRYPTO_LIB_CHACHA20POLY1305 | 
|---|
| 114 | 115 |  	tristate "ChaCha20-Poly1305 AEAD support (8-byte nonce library version)" | 
|---|
| 115 | 116 |  	depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA | 
|---|
| 116 | 117 |  	depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305 | 
|---|
 | 118 | +	depends on CRYPTO  | 
|---|
| 117 | 119 |  	select CRYPTO_LIB_CHACHA | 
|---|
| 118 | 120 |  	select CRYPTO_LIB_POLY1305 | 
|---|
 | 121 | +	select CRYPTO_ALGAPI  | 
|---|
 | 122 | +  | 
|---|
 | 123 | +config CRYPTO_LIB_SHA256  | 
|---|
 | 124 | +	tristate  | 
|---|
 | 125 | +  | 
|---|
 | 126 | +endmenu  | 
|---|