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

crypto: Kconfig - simplify cipher 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 9bc51715
Loading
Loading
Loading
Loading
+31 −9
Original line number Diff line number Diff line
@@ -144,11 +144,13 @@ config CRYPTO_SHA512_ARM
	  - NEON (Advanced SIMD) extensions

config CRYPTO_AES_ARM
	tristate "Scalar AES cipher for ARM"
	tristate "Ciphers: AES"
	select CRYPTO_ALGAPI
	select CRYPTO_AES
	help
	  Use optimized AES assembler routines for ARM platforms.
	  Block ciphers: AES cipher algorithms (FIPS-197)

	  Architecture: arm

	  On ARM processors without the Crypto Extensions, this is the
	  fastest AES implementation for single blocks.  For multiple
@@ -160,7 +162,7 @@ config CRYPTO_AES_ARM
	  such attacks very difficult.

config CRYPTO_AES_ARM_BS
	tristate "Bit sliced AES using NEON instructions"
	tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (bit-sliced NEON)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_SKCIPHER
	select CRYPTO_LIB_AES
@@ -168,8 +170,13 @@ config CRYPTO_AES_ARM_BS
	select CRYPTO_CBC
	select CRYPTO_SIMD
	help
	  Use a faster and more secure NEON based implementation of AES in CBC,
	  CTR and XTS modes
	  Length-preserving ciphers: AES cipher algorithms (FIPS-197)
	  with block cipher modes:
	   - ECB (Electronic Codebook) mode (NIST SP800-38A)
	   - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
	   - CTR (Counter) mode (NIST SP800-38A)
	   - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E
	     and IEEE 1619)

	  Bit sliced AES gives around 45% speedup on Cortex-A15 for CTR mode
	  and for XTS mode encryption, CBC and XTS mode decryption speedup is
@@ -178,19 +185,34 @@ config CRYPTO_AES_ARM_BS
	  believed to be invulnerable to cache timing attacks.

config CRYPTO_AES_ARM_CE
	tristate "Accelerated AES using ARMv8 Crypto Extensions"
	tristate "Ciphers: AES, modes: ECB/CBC/CTS/CTR/XTS (ARMv8 Crypto Extensions)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_SKCIPHER
	select CRYPTO_LIB_AES
	select CRYPTO_SIMD
	help
	  Use an implementation of AES in CBC, CTR and XTS modes that uses
	  ARMv8 Crypto Extensions
	  Length-preserving ciphers: AES cipher algorithms (FIPS-197)
	   with block cipher modes:
	   - ECB (Electronic Codebook) mode (NIST SP800-38A)
	   - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
	   - CTR (Counter) mode (NIST SP800-38A)
	   - CTS (Cipher Text Stealing) mode (NIST SP800-38A)
	   - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E
	     and IEEE 1619)

	  Architecture: arm using:
	  - ARMv8 Crypto Extensions

config CRYPTO_CHACHA20_NEON
	tristate "NEON and scalar accelerated ChaCha stream cipher algorithms"
	tristate "Ciphers: ChaCha20, XChaCha20, XChaCha12 (NEON)"
	select CRYPTO_SKCIPHER
	select CRYPTO_ARCH_HAVE_LIB_CHACHA
	help
	  Length-preserving ciphers: ChaCha20, XChaCha20, and XChaCha12
	  stream cipher algorithms

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

config CRYPTO_CRC32_ARM_CE
	tristate "CRC32C and CRC32"
+99 −10
Original line number Diff line number Diff line
@@ -118,66 +118,155 @@ config CRYPTO_POLYVAL_ARM64_CE
	  - ARMv8 Crypto Extensions

config CRYPTO_AES_ARM64
	tristate "AES core cipher using scalar instructions"
	tristate "Ciphers: AES, modes: ECB, CBC, CTR, CTS, XCTR, XTS"
	select CRYPTO_AES
	help
	  Block ciphers: AES cipher algorithms (FIPS-197)
	  Length-preserving ciphers: AES with ECB, CBC, CTR, CTS,
	    XCTR, and XTS modes
	  AEAD cipher: AES with CBC, ESSIV, and SHA-256
	    for fscrypt and dm-crypt

	  Architecture: arm64

config CRYPTO_AES_ARM64_CE
	tristate "AES core cipher using ARMv8 Crypto Extensions"
	tristate "Ciphers: AES (ARMv8 Crypto Extensions)"
	depends on ARM64 && KERNEL_MODE_NEON
	select CRYPTO_ALGAPI
	select CRYPTO_LIB_AES
	help
	  Block ciphers: AES cipher algorithms (FIPS-197)

	  Architecture: arm64 using:
	  - ARMv8 Crypto Extensions

config CRYPTO_AES_ARM64_CE_BLK
	tristate "AES in ECB/CBC/CTR/XTS/XCTR modes using ARMv8 Crypto Extensions"
	tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (ARMv8 Crypto Extensions)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_SKCIPHER
	select CRYPTO_AES_ARM64_CE
	help
	  Length-preserving ciphers: AES cipher algorithms (FIPS-197)
	  with block cipher modes:
	  - ECB (Electronic Codebook) mode (NIST SP800-38A)
	  - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
	  - CTR (Counter) mode (NIST SP800-38A)
	  - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E
	    and IEEE 1619)

	  Architecture: arm64 using:
	  - ARMv8 Crypto Extensions

config CRYPTO_AES_ARM64_NEON_BLK
	tristate "AES in ECB/CBC/CTR/XTS/XCTR modes using NEON instructions"
	tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (NEON)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_SKCIPHER
	select CRYPTO_LIB_AES
	help
	  Length-preserving ciphers: AES cipher algorithms (FIPS-197)
	  with block cipher modes:
	  - ECB (Electronic Codebook) mode (NIST SP800-38A)
	  - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
	  - CTR (Counter) mode (NIST SP800-38A)
	  - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E
	    and IEEE 1619)

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

config CRYPTO_CHACHA20_NEON
	tristate "ChaCha20, XChaCha20, and XChaCha12 stream ciphers using NEON instructions"
	tristate "Ciphers: ChaCha (NEON)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_SKCIPHER
	select CRYPTO_LIB_CHACHA_GENERIC
	select CRYPTO_ARCH_HAVE_LIB_CHACHA
	help
	  Length-preserving ciphers: ChaCha20, XChaCha20, and XChaCha12
	  stream cipher algorithms

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

config CRYPTO_AES_ARM64_BS
	tristate "AES in ECB/CBC/CTR/XTS modes using bit-sliced NEON algorithm"
	tristate "Ciphers: AES, modes: ECB/CBC/CTR/XCTR/XTS modes (bit-sliced NEON)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_SKCIPHER
	select CRYPTO_AES_ARM64_NEON_BLK
	select CRYPTO_LIB_AES
	help
	  Length-preserving ciphers: AES cipher algorithms (FIPS-197)
	  with block cipher modes:
	  - ECB (Electronic Codebook) mode (NIST SP800-38A)
	  - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
	  - CTR (Counter) mode (NIST SP800-38A)
	  - XCTR mode for HCTR2
	  - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E
	    and IEEE 1619)

	  Architecture: arm64 using:
	  - bit-sliced algorithm
	  - NEON (Advanced SIMD) extensions

config CRYPTO_SM4_ARM64_CE
	tristate "SM4 symmetric cipher (ARMv8.2 Crypto Extensions)"
	tristate "Ciphers: SM4 (ARMv8.2 Crypto Extensions)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_ALGAPI
	select CRYPTO_SM4
	help
	  Block ciphers: SM4 cipher algorithms (OSCCA GB/T 32907-2016)

	  Architecture: arm64 using:
	  - ARMv8.2 Crypto Extensions
	  - NEON (Advanced SIMD) extensions

config CRYPTO_SM4_ARM64_CE_BLK
	tristate "SM4 in ECB/CBC/CFB/CTR modes using ARMv8 Crypto Extensions"
	tristate "Ciphers: SM4, modes: ECB/CBC/CFB/CTR (ARMv8 Crypto Extensions)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_SKCIPHER
	select CRYPTO_SM4
	help
	  Length-preserving ciphers: SM4 cipher algorithms (OSCCA GB/T 32907-2016)
	  with block cipher modes:
	  - ECB (Electronic Codebook) mode (NIST SP800-38A)
	  - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
	  - CFB (Cipher Feedback) mode (NIST SP800-38A)
	  - CTR (Counter) mode (NIST SP800-38A)

	  Architecture: arm64 using:
	  - ARMv8 Crypto Extensions
	  - NEON (Advanced SIMD) extensions

config CRYPTO_SM4_ARM64_NEON_BLK
	tristate "SM4 in ECB/CBC/CFB/CTR modes using NEON instructions"
	tristate "Ciphers: SM4, modes: ECB/CBC/CFB/CTR (NEON)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_SKCIPHER
	select CRYPTO_SM4
	help
	  Length-preserving ciphers: SM4 cipher algorithms (OSCCA GB/T 32907-2016)
	  with block cipher modes:
	  - ECB (Electronic Codebook) mode (NIST SP800-38A)
	  - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
	  - CFB (Cipher Feedback) mode (NIST SP800-38A)
	  - CTR (Counter) mode (NIST SP800-38A)

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

config CRYPTO_AES_ARM64_CE_CCM
	tristate "AES in CCM mode using ARMv8 Crypto Extensions"
	tristate "AEAD cipher: AES in CCM mode (ARMv8 Crypto Extensions)"
	depends on ARM64 && KERNEL_MODE_NEON
	select CRYPTO_ALGAPI
	select CRYPTO_AES_ARM64_CE
	select CRYPTO_AEAD
	select CRYPTO_LIB_AES
	help
	  AEAD cipher: AES cipher algorithms (FIPS-197) with
	  CCM (Counter with Cipher Block Chaining-Message Authentication Code)
	  authenticated encryption mode (NIST SP800-38C)

	  Architecture: arm64 using:
	  - ARMv8 Crypto Extensions
	  - NEON (Advanced SIMD) extensions

config CRYPTO_CRCT10DIF_ARM64_CE
	tristate "CRCT10DIF (PMULL)"
+6 −1
Original line number Diff line number Diff line
@@ -61,9 +61,14 @@ config CRYPTO_SHA512_OCTEON
	  Architecture: mips OCTEON using crypto instructions, when available

config CRYPTO_CHACHA_MIPS
	tristate "ChaCha stream cipher algorithms (MIPS 32r2 optimized)"
	tristate "Ciphers: ChaCha20, XChaCha20, XChaCha12 (MIPS32r2)"
	depends on CPU_MIPS32_R2
	select CRYPTO_SKCIPHER
	select CRYPTO_ARCH_HAVE_LIB_CHACHA
	help
	  Length-preserving ciphers: ChaCha20, XChaCha20, and XChaCha12
	  stream cipher algorithms

	  Architecture: MIPS32r2

endmenu
+11 −3
Original line number Diff line number Diff line
@@ -73,12 +73,20 @@ config CRYPTO_SHA256_PPC_SPE
	  - SPE (Signal Processing Engine) extensions

config CRYPTO_AES_PPC_SPE
	tristate "AES cipher algorithms (PPC SPE)"
	tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (SPE)"
	depends on PPC && SPE
	select CRYPTO_SKCIPHER
	help
	  AES cipher algorithms (FIPS-197). Additionally the acceleration
	  for popular block cipher modes ECB, CBC, CTR and XTS is supported.
	  Block ciphers: AES cipher algorithms (FIPS-197)
	  Length-preserving ciphers: AES with ECB, CBC, CTR, and XTS modes

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

	  SPE is available for:
	  - Processor Type: Freescale 8500
	  - CPU selection: e500 (8540)

	  This module should only be used for low power (router) devices
	  without hardware AES acceleration (e.g. caam crypto). It reduces the
	  size of the AES tables from 16KB to 8KB + 256 bytes and mitigates
+19 −9
Original line number Diff line number Diff line
@@ -81,44 +81,54 @@ config CRYPTO_GHASH_S390
	  It is available as of z196.

config CRYPTO_AES_S390
	tristate "AES cipher algorithms"
	tristate "Ciphers: AES, modes: ECB, CBC, CTR, XTS, GCM"
	depends on S390
	select CRYPTO_ALGAPI
	select CRYPTO_SKCIPHER
	help
	  This is the s390 hardware accelerated implementation of the
	  AES cipher algorithms (FIPS-197).
	  Block cipher: AES cipher algorithms (FIPS 197)
	  AEAD cipher: AES with GCM
	  Length-preserving ciphers: AES with ECB, CBC, XTS, and CTR modes

	  Architecture: s390

	  As of z9 the ECB and CBC modes are hardware accelerated
	  for 128 bit keys.

	  As of z10 the ECB and CBC modes are hardware accelerated
	  for all AES key sizes.

	  As of z196 the CTR mode is hardware accelerated for all AES
	  key sizes and XTS mode is hardware accelerated for 256 and
	  512 bit keys.

config CRYPTO_DES_S390
	tristate "DES and Triple DES cipher algorithms"
	tristate "Ciphers: DES and Triple DES EDE, modes: ECB, CBC, CTR"
	depends on S390
	select CRYPTO_ALGAPI
	select CRYPTO_SKCIPHER
	select CRYPTO_LIB_DES
	help
	  This is the s390 hardware accelerated implementation of the
	  DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
	  Block ciphers: DES (FIPS 46-2) cipher algorithm
	  Block ciphers: Triple DES EDE (FIPS 46-3) cipher algorithm
	  Length-preserving ciphers: DES with ECB, CBC, and CTR modes
	  Length-preserving ciphers: Triple DES EDED with ECB, CBC, and CTR modes

	  Architecture: s390

	  As of z990 the ECB and CBC mode are hardware accelerated.
	  As of z196 the CTR mode is hardware accelerated.

config CRYPTO_CHACHA_S390
	tristate "ChaCha20 stream cipher"
	tristate "Ciphers: ChaCha20"
	depends on S390
	select CRYPTO_SKCIPHER
	select CRYPTO_LIB_CHACHA_GENERIC
	select CRYPTO_ARCH_HAVE_LIB_CHACHA
	help
	  This is the s390 SIMD implementation of the ChaCha20 stream
	  cipher (RFC 7539).
	  Length-preserving cipher: ChaCha20 stream cipher (RFC 7539)

	  Architecture: s390

	  It is available as of z13.

Loading