Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f2c89a10 authored by Herbert Xu's avatar Herbert Xu
Browse files

crypto: drbg - Use Kconfig to ensure at least one RNG option is set



This patch removes the build-time test that ensures at least one RNG
is set.  Instead we will simply not build drbg if no options are set
through Kconfig.

This also fixes a typo in the name of the Kconfig option CRYTPO_DRBG
(should be CRYPTO_DRBG).

Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 8c987166
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -23,7 +23,7 @@ comment "Crypto core or helper"

config CRYPTO_FIPS
	bool "FIPS 200 compliance"
	depends on (CRYPTO_ANSI_CPRNG || CRYTPO_DRBG) && !CRYPTO_MANAGER_DISABLE_TESTS
	depends on (CRYPTO_ANSI_CPRNG || CRYPTO_DRBG) && !CRYPTO_MANAGER_DISABLE_TESTS
	depends on MODULE_SIG
	help
	  This options enables the fips boot option which is
@@ -1394,39 +1394,39 @@ config CRYPTO_ANSI_CPRNG
	  ANSI X9.31 A.2.4. Note that this option must be enabled if
	  CRYPTO_FIPS is selected

menuconfig CRYTPO_DRBG
menuconfig CRYPTO_DRBG_MENU
	tristate "NIST SP800-90A DRBG"
	depends on CRYPTO
	select CRYPTO_RNG
	help
	  NIST SP800-90A compliant DRBG. In the following submenu, one or
	  more of the DRBG types must be selected.

if CRYTPO_DRBG
if CRYPTO_DRBG_MENU

config CRYPTO_DRBG_HMAC
	bool "Enable HMAC DRBG"
	default y
	depends on CRYTPO_DRBG
	select CRYPTO_HMAC
	help
	  Enable the HMAC DRBG variant as defined in NIST SP800-90A.

config CRYPTO_DRBG_HASH
	bool "Enable Hash DRBG"
	depends on CRYTPO_DRBG
	select CRYPTO_HASH
	help
	  Enable the Hash DRBG variant as defined in NIST SP800-90A.

config CRYPTO_DRBG_CTR
	bool "Enable CTR DRBG"
	depends on CRYTPO_DRBG
	select CRYPTO_AES
	help
	  Enable the CTR DRBG variant as defined in NIST SP800-90A.

endif #CRYTPO_DRBG
config CRYPTO_DRBG
	tristate
	default CRYPTO_DRBG_MENU if (CRYPTO_DRBG_HMAC || CRYPTO_DRBG_HASH || CRYPTO_DRBG_CTR)
	select CRYPTO_RNG

endif	# if CRYPTO_DRBG_MENU

config CRYPTO_USER_API
	tristate
+1 −1
Original line number Diff line number Diff line
@@ -92,7 +92,7 @@ obj-$(CONFIG_CRYPTO_842) += 842.o
obj-$(CONFIG_CRYPTO_RNG2) += rng.o
obj-$(CONFIG_CRYPTO_RNG2) += krng.o
obj-$(CONFIG_CRYPTO_ANSI_CPRNG) += ansi_cprng.o
obj-$(CONFIG_CRYTPO_DRBG) += drbg.o
obj-$(CONFIG_CRYPTO_DRBG) += drbg.o
obj-$(CONFIG_CRYPTO_TEST) += tcrypt.o
obj-$(CONFIG_CRYPTO_GHASH) += ghash-generic.o
obj-$(CONFIG_CRYPTO_USER_API) += af_alg.o
+0 −6
Original line number Diff line number Diff line
@@ -99,12 +99,6 @@

#include <crypto/drbg.h>

#if !defined(CONFIG_CRYPTO_DRBG_HASH) && \
	!defined(CONFIG_CRYPTO_DRBG_HMAC) && \
	!defined(CONFIG_CRYPTO_DRBG_CTR)
#warning "The DRBG code is useless without compiling at least one DRBG type"
#endif

/***************************************************************
 * Backend cipher definitions available to DRBG
 ***************************************************************/