diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt index 84ca74307a5..1f63bf18de8 100644 --- a/crypto/CMakeLists.txt +++ b/crypto/CMakeLists.txt @@ -57,10 +57,14 @@ if(CONFIG_CRYPTO) list(APPEND SRCS gmac.c) list(APPEND SRCS cmac.c) list(APPEND SRCS hmac.c) - if(CONFIG_CRYPTO_RANDOM_POOL) + if(CONFIG_CRYPTO_IDGEN) list(APPEND SRCS idgen.c) + endif() + + if(CONFIG_CRYPTO_CURVE25519) list(APPEND SRCS curve25519.c) endif() + list(APPEND SRCS key_wrap.c) list(APPEND SRCS siphash.c) list(APPEND SRCS hmac_buff.c) diff --git a/crypto/Kconfig b/crypto/Kconfig index 6bf77de0800..ba75999abba 100644 --- a/crypto/Kconfig +++ b/crypto/Kconfig @@ -43,11 +43,13 @@ config CRYPTO_CRYPTODEV config CRYPTO_CRYPTODEV_SOFTWARE_CRYPTO bool "cryptodev software cipher support" depends on CRYPTO_CRYPTODEV && CRYPTO_SW_AES + select CRYPTO_CURVE25519 default n config CRYPTO_CRYPTODEV_SOFTWARE_KEYMGMT bool "cryptodev software key management support" depends on CRYPTO_CRYPTODEV && !MTD_CONFIG_NONE + select CRYPTO_CURVE25519 default n if CRYPTO_CRYPTODEV_SOFTWARE_KEYMGMT @@ -89,6 +91,8 @@ config CRYPTO_SW_AES config CRYPTO_RANDOM_POOL bool "Entropy pool and strong random number generator" + select CRYPTO_IDGEN + select CRYPTO_CURVE25519 default n ---help--- Entropy pool gathers environmental noise from device drivers, @@ -99,6 +103,14 @@ config CRYPTO_RANDOM_POOL NOTE: May not actually be cyptographically secure, if not enough entropy is made available to the entropy pool. +config CRYPTO_CURVE25519 + bool + default n + +config CRYPTO_IDGEN + bool + default n + if CRYPTO_RANDOM_POOL config CRYPTO_RANDOM_POOL_COLLECT_IRQ_RANDOMNESS diff --git a/crypto/Makefile b/crypto/Makefile index 4c4c59f0bfe..d0a237ce768 100644 --- a/crypto/Makefile +++ b/crypto/Makefile @@ -60,10 +60,14 @@ CRYPTO_CSRCS += sha2.c CRYPTO_CSRCS += gmac.c CRYPTO_CSRCS += cmac.c CRYPTO_CSRCS += hmac.c -ifeq ($(CONFIG_CRYPTO_RANDOM_POOL),y) +ifeq ($(CONFIG_CRYPTO_IDGEN),y) CRYPTO_CSRCS += idgen.c +endif + +ifeq ($(CONFIG_CRYPTO_CURVE25519),y) CRYPTO_CSRCS += curve25519.c endif + CRYPTO_CSRCS += key_wrap.c CRYPTO_CSRCS += siphash.c CRYPTO_CSRCS += hmac_buff.c