Commit 3f342a23 authored by Robert Elliott's avatar Robert Elliott Committed by Herbert Xu
Browse files

crypto: Kconfig - simplify hash entries



Shorten menu titles and make them consistent:
- acronym
- name
- architecture features in parenthesis
- no suffixes like "<something> algorithm", "support", or
  "hardware acceleration", or "optimized"

Simplify help text descriptions, update references, and ensure that
https references are still valid.

Signed-off-by: default avatarRobert Elliott <elliott@hpe.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent e3d2eadd
Loading
Loading
Loading
Loading
+65 −29
Original line number Diff line number Diff line
@@ -14,98 +14,134 @@ config CRYPTO_CURVE25519_NEON
	  - NEON (Advanced SIMD) extensions

config CRYPTO_GHASH_ARM_CE
	tristate "PMULL-accelerated GHASH using NEON/ARMv8 Crypto Extensions"
	tristate "Hash functions: GHASH (PMULL/NEON/ARMv8 Crypto Extensions)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_HASH
	select CRYPTO_CRYPTD
	select CRYPTO_GF128MUL
	help
	  GCM GHASH function (NIST SP800-38D)

	  Architecture: arm using
	  - PMULL (Polynomial Multiply Long) instructions
	  - NEON (Advanced SIMD) extensions
	  - ARMv8 Crypto Extensions

	  Use an implementation of GHASH (used by the GCM AEAD chaining mode)
	  that uses the 64x64 to 128 bit polynomial multiplication (vmull.p64)
	  that is part of the ARMv8 Crypto Extensions, or a slower variant that
	  uses the vmull.p8 instruction that is part of the basic NEON ISA.

config CRYPTO_NHPOLY1305_NEON
	tristate "NEON accelerated NHPoly1305 hash function (for Adiantum)"
	tristate "Hash functions: NHPoly1305 (NEON)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_NHPOLY1305
	help
	  NHPoly1305 hash function (Adiantum)

	  Architecture: arm using:
	  - NEON (Advanced SIMD) extensions

config CRYPTO_POLY1305_ARM
	tristate "Accelerated scalar and SIMD Poly1305 hash implementations"
	tristate "Hash functions: Poly1305 (NEON)"
	select CRYPTO_HASH
	select CRYPTO_ARCH_HAVE_LIB_POLY1305
	help
	  Poly1305 authenticator algorithm (RFC7539)

	  Architecture: arm optionally using
	  - NEON (Advanced SIMD) extensions

config CRYPTO_BLAKE2S_ARM
	bool "BLAKE2s digest algorithm (ARM)"
	bool "Hash functions: BLAKE2s"
	select CRYPTO_ARCH_HAVE_LIB_BLAKE2S
	help
	  BLAKE2s digest algorithm optimized with ARM scalar instructions.  This
	  is faster than the generic implementations of BLAKE2s and BLAKE2b, but
	  slower than the NEON implementation of BLAKE2b.  (There is no NEON
	  implementation of BLAKE2s, since NEON doesn't really help with it.)
	  BLAKE2s cryptographic hash function (RFC 7693)

	  Architecture: arm

	  This is faster than the generic implementations of BLAKE2s and
	  BLAKE2b, but slower than the NEON implementation of BLAKE2b.
	  There is no NEON implementation of BLAKE2s, since NEON doesn't
	  really help with it.

config CRYPTO_BLAKE2B_NEON
	tristate "BLAKE2b digest algorithm (ARM NEON)"
	tristate "Hash functions: BLAKE2b (NEON)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_BLAKE2B
	help
	  BLAKE2b cryptographic hash function (RFC 7693)

	  Architecture: arm using
	  - NEON (Advanced SIMD) extensions

	  BLAKE2b digest algorithm optimized with ARM NEON instructions.
	  On ARM processors that have NEON support but not the ARMv8
	  Crypto Extensions, typically this BLAKE2b implementation is
	  much faster than SHA-2 and slightly faster than SHA-1.
	  much faster than the SHA-2 family and slightly faster than
	  SHA-1.

config CRYPTO_SHA1_ARM
	tristate "SHA1 digest algorithm (ARM-asm)"
	tristate "Hash functions: SHA-1"
	select CRYPTO_SHA1
	select CRYPTO_HASH
	help
	  SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
	  using optimized ARM assembler.
	  SHA-1 secure hash algorithm (FIPS 180)

	  Architecture: arm

config CRYPTO_SHA1_ARM_NEON
	tristate "SHA1 digest algorithm (ARM NEON)"
	tristate "Hash functions: SHA-1 (NEON)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_SHA1_ARM
	select CRYPTO_SHA1
	select CRYPTO_HASH
	help
	  SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
	  using optimized ARM NEON assembly, when NEON instructions are
	  available.
	  SHA-1 secure hash algorithm (FIPS 180)

	  Architecture: arm using
	  - NEON (Advanced SIMD) extensions

config CRYPTO_SHA1_ARM_CE
	tristate "SHA1 digest algorithm (ARM v8 Crypto Extensions)"
	tristate "Hash functions: SHA-1 (ARMv8 Crypto Extensions)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_SHA1_ARM
	select CRYPTO_HASH
	help
	  SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
	  using special ARMv8 Crypto Extensions.
	  SHA-1 secure hash algorithm (FIPS 180)

	  Architecture: arm using ARMv8 Crypto Extensions

config CRYPTO_SHA2_ARM_CE
	tristate "SHA-224/256 digest algorithm (ARM v8 Crypto Extensions)"
	tristate "Hash functions: SHA-224 and SHA-256 (ARMv8 Crypto Extensions)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_SHA256_ARM
	select CRYPTO_HASH
	help
	  SHA-256 secure hash standard (DFIPS 180-2) implemented
	  using special ARMv8 Crypto Extensions.
	  SHA-224 and SHA-256 secure hash algorithms (FIPS 180)

	  Architecture: arm using
	  - ARMv8 Crypto Extensions

config CRYPTO_SHA256_ARM
	tristate "SHA-224/256 digest algorithm (ARM-asm and NEON)"
	tristate "Hash functions: SHA-224 and SHA-256 (NEON)"
	select CRYPTO_HASH
	depends on !CPU_V7M
	help
	  SHA-256 secure hash standard (DFIPS 180-2) implemented
	  using optimized ARM assembler and NEON, when available.
	  SHA-224 and SHA-256 secure hash algorithms (FIPS 180)

	  Architecture: arm using
	  - NEON (Advanced SIMD) extensions

config CRYPTO_SHA512_ARM
	tristate "SHA-384/512 digest algorithm (ARM-asm and NEON)"
	tristate "Hash functions: SHA-384 and SHA-512 (NEON)"
	select CRYPTO_HASH
	depends on !CPU_V7M
	help
	  SHA-512 secure hash standard (DFIPS 180-2) implemented
	  using optimized ARM assembler and NEON, when available.
	  SHA-384 and SHA-512 secure hash algorithms (FIPS 180)

	  Architecture: arm using
	  - NEON (Advanced SIMD) extensions

config CRYPTO_AES_ARM
	tristate "Scalar AES cipher for ARM"
+65 −12
Original line number Diff line number Diff line
@@ -3,66 +3,119 @@
menu "Accelerated Cryptographic Algorithms for CPU (arm64)"

config CRYPTO_GHASH_ARM64_CE
	tristate "GHASH/AES-GCM using ARMv8 Crypto Extensions"
	tristate "Hash functions: GHASH (ARMv8 Crypto Extensions)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_HASH
	select CRYPTO_GF128MUL
	select CRYPTO_LIB_AES
	select CRYPTO_AEAD
	help
	  GCM GHASH function (NIST SP800-38D)

	  Architecture: arm64 using:
	  - ARMv8 Crypto Extensions

config CRYPTO_NHPOLY1305_NEON
	tristate "NHPoly1305 hash function using NEON instructions (for Adiantum)"
	tristate "Hash functions: NHPoly1305 (NEON)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_NHPOLY1305
	help
	  NHPoly1305 hash function (Adiantum)

	  Architecture: arm64 using:
	  - NEON (Advanced SIMD) extensions

config CRYPTO_POLY1305_NEON
	tristate "Poly1305 hash function using scalar or NEON instructions"
	tristate "Hash functions: Poly1305 (NEON)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_HASH
	select CRYPTO_ARCH_HAVE_LIB_POLY1305
	help
	  Poly1305 authenticator algorithm (RFC7539)

	  Architecture: arm64 using:
	  - NEON (Advanced SIMD) extensions

config CRYPTO_SHA1_ARM64_CE
	tristate "SHA-1 digest algorithm (ARMv8 Crypto Extensions)"
config CRYPTO_SHA1_ARM64
	tristate "Hash functions: SHA-1 (ARMv8 Crypto Extensions)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_HASH
	select CRYPTO_SHA1
	help
	  SHA-1 secure hash algorithm (FIPS 180)

	  Architecture: arm64 using:
	  - ARMv8 Crypto Extensions

config CRYPTO_SHA256_ARM64
	tristate "SHA-224/SHA-256 digest algorithm for arm64"
	tristate "Hash functions: SHA-224 and SHA-256"
	select CRYPTO_HASH
	help
	  SHA-224 and SHA-256 secure hash algorithms (FIPS 180)

	  Architecture: arm64

config CRYPTO_SHA2_ARM64_CE
	tristate "SHA-224/SHA-256 digest algorithm (ARMv8 Crypto Extensions)"
	tristate "Hash functions: SHA-224 and SHA-256 (ARMv8 Crypto Extensions)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_HASH
	select CRYPTO_SHA256_ARM64
	help
	  SHA-224 and SHA-256 secure hash algorithms (FIPS 180)

	  Architecture: arm64 using:
	  - ARMv8 Crypto Extensions

config CRYPTO_SHA512_ARM64
	tristate "SHA-384/SHA-512 digest algorithm for arm64"
	tristate "Hash functions: SHA-384 and SHA-512"
	select CRYPTO_HASH
	help
	  SHA-384 and SHA-512 secure hash algorithms (FIPS 180)

	  Architecture: arm64

config CRYPTO_SHA512_ARM64_CE
	tristate "SHA-384/SHA-512 digest algorithm (ARMv8 Crypto Extensions)"
	tristate "Hash functions: SHA-384 and SHA-512 (ARMv8 Crypto Extensions)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_HASH
	select CRYPTO_SHA512_ARM64
	help
	  SHA-384 and SHA-512 secure hash algorithms (FIPS 180)

	  Architecture: arm64 using:
	  - ARMv8 Crypto Extensions

config CRYPTO_SHA3_ARM64
	tristate "SHA3 digest algorithm (ARMv8.2 Crypto Extensions)"
	tristate "Hash functions: SHA-3 (ARMv8.2 Crypto Extensions)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_HASH
	select CRYPTO_SHA3
	help
	  SHA-3 secure hash algorithms (FIPS 202)

	  Architecture: arm64 using:
	  - ARMv8.2 Crypto Extensions

config CRYPTO_SM3_ARM64_CE
	tristate "SM3 digest algorithm (ARMv8.2 Crypto Extensions)"
	tristate "Hash functions: SM3 (ARMv8.2 Crypto Extensions)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_HASH
	select CRYPTO_SM3
	help
	  SM3 (ShangMi 3) secure hash function (OSCCA GM/T 0004-2012)

	  Architecture: arm64 using:
	  - ARMv8.2 Crypto Extensions

config CRYPTO_POLYVAL_ARM64_CE
	tristate "POLYVAL using ARMv8 Crypto Extensions (for HCTR2)"
	tristate "Hash functions: POLYVAL (ARMv8 Crypto Extensions)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_POLYVAL
	help
	  POLYVAL hash function for HCTR2

	  Architecture: arm64 using:
	  - ARMv8 Crypto Extensions

config CRYPTO_AES_ARM64
	tristate "AES core cipher using scalar instructions"
+21 −13
Original line number Diff line number Diff line
@@ -12,45 +12,53 @@ config CRYPTO_CRC32_MIPS
	  Architecture: mips

config CRYPTO_POLY1305_MIPS
	tristate "Poly1305 authenticator algorithm (MIPS optimized)"
	tristate "Hash functions: Poly1305"
	depends on MIPS
	select CRYPTO_ARCH_HAVE_LIB_POLY1305
	help
	  Poly1305 authenticator algorithm (RFC7539)

	  Architecture: mips

config CRYPTO_MD5_OCTEON
	tristate "MD5 digest algorithm (OCTEON)"
	tristate "Digests: MD5 (OCTEON)"
	depends on CPU_CAVIUM_OCTEON
	select CRYPTO_MD5
	select CRYPTO_HASH
	help
	  MD5 message digest algorithm (RFC1321) implemented
	  using OCTEON crypto instructions, when available.
	  MD5 message digest algorithm (RFC1321)

	  Architecture: mips OCTEON using crypto instructions, when available

config CRYPTO_SHA1_OCTEON
	tristate "SHA1 digest algorithm (OCTEON)"
	tristate "Hash functions: SHA-1 (OCTEON)"
	depends on CPU_CAVIUM_OCTEON
	select CRYPTO_SHA1
	select CRYPTO_HASH
	help
	  SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
	  using OCTEON crypto instructions, when available.
	  SHA-1 secure hash algorithm (FIPS 180)

	  Architecture: mips OCTEON

config CRYPTO_SHA256_OCTEON
	tristate "SHA224 and SHA256 digest algorithm (OCTEON)"
	tristate "Hash functions: SHA-224 and SHA-256 (OCTEON)"
	depends on CPU_CAVIUM_OCTEON
	select CRYPTO_SHA256
	select CRYPTO_HASH
	help
	  SHA-256 secure hash standard (DFIPS 180-2) implemented
	  using OCTEON crypto instructions, when available.
	  SHA-224 and SHA-256 secure hash algorithms (FIPS 180)

	  Architecture: mips OCTEON using crypto instructions, when available

config CRYPTO_SHA512_OCTEON
	tristate "SHA384 and SHA512 digest algorithms (OCTEON)"
	tristate "Hash functions: SHA-384 and SHA-512 (OCTEON)"
	depends on CPU_CAVIUM_OCTEON
	select CRYPTO_SHA512
	select CRYPTO_HASH
	help
	  SHA-512 secure hash standard (DFIPS 180-2) implemented
	  using OCTEON crypto instructions, when available.
	  SHA-384 and SHA-512 secure hash algorithms (FIPS 180)

	  Architecture: mips OCTEON using crypto instructions, when available

config CRYPTO_CHACHA_MIPS
	tristate "ChaCha stream cipher algorithms (MIPS 32r2 optimized)"
+18 −12
Original line number Diff line number Diff line
@@ -36,35 +36,41 @@ config CRYPTO_VPMSUM_TESTER
	  Unless you are testing these algorithms, you don't need this.

config CRYPTO_MD5_PPC
	tristate "MD5 digest algorithm (PPC)"
	tristate "Digests: MD5"
	depends on PPC
	select CRYPTO_HASH
	help
	  MD5 message digest algorithm (RFC1321) implemented
	  in PPC assembler.
	  MD5 message digest algorithm (RFC1321)

	  Architecture: powerpc

config CRYPTO_SHA1_PPC
	tristate "SHA1 digest algorithm (powerpc)"
	tristate "Hash functions: SHA-1"
	depends on PPC
	help
	  This is the powerpc hardware accelerated implementation of the
	  SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
	  SHA-1 secure hash algorithm (FIPS 180)

	  Architecture: powerpc

config CRYPTO_SHA1_PPC_SPE
	tristate "SHA1 digest algorithm (PPC SPE)"
	tristate "Hash functions: SHA-1 (SPE)"
	depends on PPC && SPE
	help
	  SHA-1 secure hash standard (DFIPS 180-4) implemented
	  using powerpc SPE SIMD instruction set.
	  SHA-1 secure hash algorithm (FIPS 180)

	  Architecture: powerpc using
	  - SPE (Signal Processing Engine) extensions

config CRYPTO_SHA256_PPC_SPE
	tristate "SHA224 and SHA256 digest algorithm (PPC SPE)"
	tristate "Hash functions: SHA-224 and SHA-256 (SPE)"
	depends on PPC && SPE
	select CRYPTO_SHA256
	select CRYPTO_HASH
	help
	  SHA224 and SHA256 secure hash standard (DFIPS 180-2)
	  implemented using powerpc SPE SIMD instruction set.
	  SHA-224 and SHA-256 secure hash algorithms (FIPS 180)

	  Architecture: powerpc using
	  - SPE (Signal Processing Engine) extensions

config CRYPTO_AES_PPC_SPE
	tristate "AES cipher algorithms (PPC SPE)"
+24 −18
Original line number Diff line number Diff line
@@ -15,62 +15,68 @@ config CRYPTO_CRC32_S390
	  It is available with IBM z13 or later.

config CRYPTO_SHA512_S390
	tristate "SHA384 and SHA512 digest algorithm"
	tristate "Hash functions: SHA-384 and SHA-512"
	depends on S390
	select CRYPTO_HASH
	help
	  This is the s390 hardware accelerated implementation of the
	  SHA512 secure hash standard.
	  SHA-384 and SHA-512 secure hash algorithms (FIPS 180)

	  Architecture: s390

	  It is available as of z10.

config CRYPTO_SHA1_S390
	tristate "SHA1 digest algorithm"
	tristate "Hash functions: SHA-1"
	depends on S390
	select CRYPTO_HASH
	help
	  This is the s390 hardware accelerated implementation of the
	  SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
	  SHA-1 secure hash algorithm (FIPS 180)

	  Architecture: s390

	  It is available as of z990.

config CRYPTO_SHA256_S390
	tristate "SHA256 digest algorithm"
	tristate "Hash functions: SHA-224 and SHA-256"
	depends on S390
	select CRYPTO_HASH
	help
	  This is the s390 hardware accelerated implementation of the
	  SHA256 secure hash standard (DFIPS 180-2).
	  SHA-224 and SHA-256 secure hash algorithms (FIPS 180)

	  Architecture: s390

	  It is available as of z9.

config CRYPTO_SHA3_256_S390
	tristate "SHA3_224 and SHA3_256 digest algorithm"
	tristate "Hash functions: SHA3-224 and SHA3-256"
	depends on S390
	select CRYPTO_HASH
	help
	  This is the s390 hardware accelerated implementation of the
	  SHA3_256 secure hash standard.
	  SHA3-224 and SHA3-256 secure hash algorithms (FIPS 202)

	  Architecture: s390

	  It is available as of z14.

config CRYPTO_SHA3_512_S390
	tristate "SHA3_384 and SHA3_512 digest algorithm"
	tristate "Hash functions: SHA3-384 and SHA3-512"
	depends on S390
	select CRYPTO_HASH
	help
	  This is the s390 hardware accelerated implementation of the
	  SHA3_512 secure hash standard.
	  SHA3-384 and SHA3-512 secure hash algorithms (FIPS 202)

	  Architecture: s390

	  It is available as of z14.

config CRYPTO_GHASH_S390
	tristate "GHASH hash function"
	tristate "Hash functions: GHASH"
	depends on S390
	select CRYPTO_HASH
	help
	  This is the s390 hardware accelerated implementation of GHASH,
	  the hash function used in GCM (Galois/Counter mode).
	  GCM GHASH hash function (NIST SP800-38D)

	  Architecture: s390

	  It is available as of z196.

Loading