incubator-nuttx/crypto/Kconfig

90 lines
2.1 KiB
Plaintext
Raw Normal View History

#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
config CRYPTO
2014-11-30 23:35:07 +08:00
bool "Crypto API support"
default n
---help---
Enable or disable Crypto API features
if CRYPTO
config CRYPTO_AES
2014-11-30 23:35:07 +08:00
bool "AES cypher support"
default n
config CRYPTO_ALGTEST
2014-11-30 23:35:07 +08:00
bool "Perform automatic crypto algorithms test on startup"
default n
2015-02-04 21:28:43 +08:00
if CRYPTO_ALGTEST
config CRYPTO_AES128_DISABLE
bool "Omit 128-bit AES tests"
default n
config CRYPTO_AES192_DISABLE
bool "Omit 192-bit AES tests"
default n
config CRYPTO_AES256_DISABLE
bool "Omit 256-bit AES tests"
default n
endif # CRYPTO_ALGTEST
config CRYPTO_CRYPTODEV
2014-11-30 23:35:07 +08:00
bool "cryptodev support"
depends on ALLOW_BSD_COMPONENTS
2014-11-30 23:35:07 +08:00
default n
config CRYPTO_CRYPTODEV_SOFTWARE
bool "cryptodev software support"
board/sim/crypto: Enable CONFIG_CRYPTO_SW_AES to fix the following linker error: /usr/bin/ld: nuttx.rel: in function `aes_encrypt_xform': /github/workspace/sources/nuttx/crypto/xform.c:509: undefined reference to `aes_encrypt' /usr/bin/ld: nuttx.rel: in function `aes_decrypt_xform': /github/workspace/sources/nuttx/crypto/xform.c:514: undefined reference to `aes_decrypt' /usr/bin/ld: nuttx.rel: in function `aes_setkey_xform': /github/workspace/sources/nuttx/crypto/xform.c:519: undefined reference to `aes_setkey' /usr/bin/ld: nuttx.rel: in function `aes_ctr_crypt': /github/workspace/sources/nuttx/crypto/xform.c:566: undefined reference to `aes_encrypt' /usr/bin/ld: nuttx.rel: in function `aes_ctr_setkey': /github/workspace/sources/nuttx/crypto/xform.c:585: undefined reference to `aes_setkey' /usr/bin/ld: nuttx.rel: in function `aes_ofb_encrypt': /github/workspace/sources/nuttx/crypto/xform.c:694: undefined reference to `aes_encrypt' /usr/bin/ld: nuttx.rel: in function `aes_ofb_setkey': /github/workspace/sources/nuttx/crypto/xform.c:706: undefined reference to `aes_setkey' /usr/bin/ld: nuttx.rel: in function `aes_cfb8_encrypt': /github/workspace/sources/nuttx/crypto/xform.c:733: undefined reference to `aes_encrypt' /usr/bin/ld: nuttx.rel: in function `aes_cfb8_decrypt': /github/workspace/sources/nuttx/crypto/xform.c:751: undefined reference to `aes_encrypt' /usr/bin/ld: nuttx.rel: in function `aes_cfb128_encrypt': /github/workspace/sources/nuttx/crypto/xform.c:765: undefined reference to `aes_encrypt' /usr/bin/ld: nuttx.rel: in function `aes_cfb128_decrypt': /github/workspace/sources/nuttx/crypto/xform.c:781: undefined reference to `aes_encrypt' /usr/bin/ld: nuttx.rel: in function `aes_gmac_setkey': /github/workspace/sources/nuttx/crypto/gmac.c:135: undefined reference to `aes_setkey' /usr/bin/ld: /github/workspace/sources/nuttx/crypto/gmac.c:143: undefined reference to `aes_encrypt' /usr/bin/ld: nuttx.rel: in function `aes_gmac_final': /github/workspace/sources/nuttx/crypto/gmac.c:195: undefined reference to `aes_encrypt' Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-09-11 03:15:29 +08:00
depends on CRYPTO_CRYPTODEV && CRYPTO_SW_AES
default n
config CRYPTO_CRYPTODEV_HARDWARE
bool "cryptodev hardware support"
depends on CRYPTO_CRYPTODEV
default n
config CRYPTO_SW_AES
bool "Software AES library"
depends on ALLOW_BSD_COMPONENTS
default n
---help---
Enable the software AES library as described in
include/nuttx/crypto/aes.h
2015-11-17 06:10:01 +08:00
TODO: Adapt interfaces so that they are consistent with H/W AES
2019-09-18 00:46:23 +08:00
implementations. This needs to support up_aesinitialize() and
2015-11-17 06:10:01 +08:00
aes_cypher() per include/nuttx/crypto/crypto.h.
config CRYPTO_RANDOM_POOL
bool "Entropy pool and strong randon number generator"
default n
---help---
Entropy pool gathers environmental noise from device drivers,
user-space, etc., and returns good random numbers, suitable
for cryptographic use. Based on entropy pool design from
*BSDs and uses BLAKE2Xs algorithm for CSPRNG output.
NOTE: May not actually be cyptographically secure, if
not enough entropy is made available to the entropy pool.
if CRYPTO_RANDOM_POOL
config CRYPTO_RANDOM_POOL_COLLECT_IRQ_RANDOMNESS
bool "Use interrupts to feed timing randomness to entropy pool"
default y
---help---
Feed entropy pool with interrupt randomness from interrupt
dispatch function 'irq_dispatch'. This adds some overhead
for every interrupt handled.
endif # CRYPTO_RANDOM_POOL
endif # CRYPTO