[PATCH 1/8] crypto: Kconfig - add submenus

Robert Elliott
2022-08-15T20:37:07Z

Convert each comment section into a submenu:
Cryptographic API
Crypto core or helper
Public-key cryptography
AEAD (Authenticated Encryption with Associated Data) ciphers
Block modes
Hash modes
Digests
Ciphers
Compression
Random Number Generation
User-space interface

That helps find entries (e.g., searching for a name like SHA512 doesn't
just report the location is Main menu -> Cryptography API, leaving you
to wade through 153 entries; it points you to the Digests page).

Signed-off-by: Robert Elliott <elliott@hpe.com>
---
crypto/Kconfig | 42 ++++++++++++++++++++++++++++++++----------
1 file changed, 32 insertions(+), 10 deletions(-)

diff --git a/crypto/Kconfig b/crypto/Kconfig
index 7b81685b5655..c2db970bc998 100644
--- a/crypto/Kconfig
+++ b/crypto/Kconfig
@@ -21,7 +21,7 @@ menuconfig CRYPTO

if CRYPTO

-comment "Crypto core or helper"
+menu "Crypto core or helper"

config CRYPTO_FIPS
bool "FIPS 200 compliance"
@@ -214,7 +214,9 @@ menuconfig CRYPTO
config CRYPTO_ENGINE
tristate

-comment "Public-key cryptography"
+endmenu
+
+menu "Public-key cryptography"

config CRYPTO_RSA
tristate "RSA algorithm"
@@ -301,7 +303,9 @@ menuconfig CRYPTO
select CRYPTO_LIB_CURVE25519_GENERIC
select CRYPTO_ARCH_HAVE_LIB_CURVE25519

-comment "Authenticated Encryption with Associated Data"
+endmenu
+
+menu "AEAD (Authenticated Encryption with Associated Data) ciphers"

config CRYPTO_CCM
tristate "CCM support"
@@ -378,7 +382,11 @@ menuconfig CRYPTO
a sequence number xored with a salt. This is the default
algorithm for CBC.

-comment "Block modes"
+ This is required for IPsec ESP (XFRM_ESP).
+
+endmenu
+
+menu "Block modes"

config CRYPTO_CBC
tristate "CBC support"
@@ -552,7 +560,9 @@ menuconfig CRYPTO
combined with ESSIV the only feasible mode for h/w accelerated
block encryption)

-comment "Hash modes"
+endmenu
+
+menu "Hash modes"

config CRYPTO_CMAC
tristate "CMAC support"
@@ -594,7 +604,9 @@ menuconfig CRYPTO
See also:
<https://fastcrypto.org/vmac>

-comment "Digest"
+endmenu
+
+menu "Digests"

config CRYPTO_CRC32C
tristate "CRC32c CRC algorithm"
@@ -627,7 +639,6 @@ menuconfig CRYPTO
(vpmsum) instructions, introduced in POWER8. Enable on POWER8
and newer processors for improved performance.

-
config CRYPTO_CRC32C_SPARC64
tristate "CRC32c CRC algorithm (SPARC64)"
depends on SPARC64
@@ -1142,7 +1153,9 @@ menuconfig CRYPTO

It is available as of z196.

-comment "Ciphers"
+endmenu
+
+menu "Ciphers"

config CRYPTO_AES
tristate "AES cipher algorithms"
@@ -1877,7 +1890,9 @@ menuconfig CRYPTO
See also:
<https://www.schneier.com/twofish.html>

-comment "Compression"
+endmenu
+
+menu "Compression"

config CRYPTO_DEFLATE
tristate "Deflate compression algorithm"
@@ -1936,7 +1951,9 @@ menuconfig CRYPTO
help
This is the zstd algorithm.

-comment "Random Number Generation"
+endmenu
+
+menu "Random Number Generation"

config CRYPTO_ANSI_CPRNG
tristate "Pseudo Random Number Generation for Cryptographic modules"
@@ -1993,6 +2010,8 @@ menuconfig CRYPTO_DRBG_MENU
random numbers. This Jitterentropy RNG registers with
the kernel crypto API and can be used by any caller.

+endmenu
+
config CRYPTO_KDF800108_CTR
tristate
select CRYPTO_HMAC
@@ -2001,6 +2020,7 @@ menuconfig CRYPTO_DRBG_MENU
config CRYPTO_USER_API
tristate

+menu "User-space interface"
config CRYPTO_USER_API_HASH
tristate "User-space interface for hash algorithms"
depends on NET
@@ -2069,6 +2089,8 @@ menuconfig CRYPTO_DRBG_MENU
- encrypt/decrypt/sign/verify numbers for asymmetric operations
- generate/seed numbers for rng operations

+endmenu
+
config CRYPTO_HASH_INFO
bool

--
2.37.1