SHA1 is meant as a boolean option which is true when sha1 support is available. This works because the providers (DIGEST_SHA1_GENERIC and DIGEST_SHA1_ARM) have a 'select SHA1'. However, consumers like the sha1sum command do a 'select SHA1' to enable SHA1 support. This of course does not work; selecting SHA1 will not select any of the SHA1 providers. This is broken for all digest consumers. We have to explicitly select a digest provider, that is DIGEST_*_GENERIC to enable the corresponding digest. This means now we will always have the generic digest in the binary, even when an optimized one is enabled. There is no sane way in Kconfig to "select provider for feature xy", so let's live with the overhead in the binary. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
87 lines
1.2 KiB
Text
87 lines
1.2 KiB
Text
config CRC32
|
|
bool
|
|
|
|
config CRC16
|
|
bool
|
|
|
|
config CRC7
|
|
bool
|
|
|
|
menuconfig DIGEST
|
|
bool "Digest"
|
|
|
|
if DIGEST
|
|
|
|
config MD5
|
|
bool
|
|
|
|
config SHA1
|
|
bool
|
|
|
|
config SHA224
|
|
bool
|
|
|
|
config SHA256
|
|
bool
|
|
|
|
config SHA384
|
|
bool
|
|
|
|
config SHA512
|
|
bool
|
|
|
|
config DIGEST_HMAC
|
|
bool
|
|
|
|
config DIGEST_MD5_GENERIC
|
|
bool "MD5"
|
|
select MD5
|
|
|
|
config DIGEST_SHA1_GENERIC
|
|
bool "SHA1"
|
|
select SHA1
|
|
|
|
config DIGEST_SHA224_GENERIC
|
|
bool "SHA224"
|
|
select SHA224
|
|
|
|
config DIGEST_SHA256_GENERIC
|
|
bool "SHA256"
|
|
select SHA256
|
|
|
|
config DIGEST_SHA384_GENERIC
|
|
bool "SHA384"
|
|
select SHA384
|
|
|
|
config DIGEST_SHA512_GENERIC
|
|
bool "SHA512"
|
|
select SHA512
|
|
|
|
config DIGEST_HMAC_GENERIC
|
|
bool "HMAC"
|
|
select DIGEST_HMAC
|
|
|
|
config DIGEST_SHA1_ARM
|
|
tristate "SHA1 digest algorithm (ARM-asm)"
|
|
depends on ARM
|
|
select SHA1
|
|
help
|
|
SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
|
|
using optimized ARM assembler.
|
|
|
|
config DIGEST_SHA256_ARM
|
|
tristate "SHA-224/256 digest algorithm (ARM-asm and NEON)"
|
|
depends on ARM
|
|
select SHA256
|
|
select SHA224
|
|
help
|
|
SHA-256 secure hash standard (DFIPS 180-2) implemented
|
|
using optimized ARM assembler and NEON, when available.
|
|
|
|
endif
|
|
|
|
config CRYPTO_PBKDF2
|
|
select DIGEST
|
|
select DIGEST_SHA1_GENERIC
|
|
bool
|