mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

Instead of exposing the powerpc-optimized SHA-1 code via powerpc-specific crypto_shash algorithms, instead just implement the sha1_blocks() library function. This is much simpler, it makes the SHA-1 library functions be powerpc-optimized, and it fixes the longstanding issue where the powerpc-optimized SHA-1 code was disabled by default. SHA-1 still remains available through crypto_shash, but individual architectures no longer need to handle it. Note: to see the diff from arch/powerpc/crypto/sha1-spe-glue.c to lib/crypto/powerpc/sha1.h, view this commit with 'git show -M10'. Reviewed-by: Ard Biesheuvel <ardb@kernel.org> Link: https://lore.kernel.org/r/20250712232329.818226-11-ebiggers@kernel.org Signed-off-by: Eric Biggers <ebiggers@kernel.org>
86 lines
2.5 KiB
Text
86 lines
2.5 KiB
Text
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
menu "Accelerated Cryptographic Algorithms for CPU (powerpc)"
|
|
|
|
config CRYPTO_CURVE25519_PPC64
|
|
tristate
|
|
depends on PPC64 && CPU_LITTLE_ENDIAN
|
|
select CRYPTO_KPP
|
|
select CRYPTO_LIB_CURVE25519_GENERIC
|
|
select CRYPTO_ARCH_HAVE_LIB_CURVE25519
|
|
default CRYPTO_LIB_CURVE25519_INTERNAL
|
|
help
|
|
Curve25519 algorithm
|
|
|
|
Architecture: PowerPC64
|
|
- Little-endian
|
|
|
|
config CRYPTO_MD5_PPC
|
|
tristate "Digests: MD5"
|
|
select CRYPTO_HASH
|
|
help
|
|
MD5 message digest algorithm (RFC1321)
|
|
|
|
Architecture: powerpc
|
|
|
|
config CRYPTO_AES_PPC_SPE
|
|
tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (SPE)"
|
|
depends on SPE
|
|
select CRYPTO_SKCIPHER
|
|
help
|
|
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
|
|
timining attacks. Nevertheless it might be not as secure as other
|
|
architecture specific assembler implementations that work on 1KB
|
|
tables or 256 bytes S-boxes.
|
|
|
|
config CRYPTO_AES_GCM_P10
|
|
tristate "Stitched AES/GCM acceleration support on P10 or later CPU (PPC)"
|
|
depends on PPC64 && CPU_LITTLE_ENDIAN && VSX
|
|
select CRYPTO_LIB_AES
|
|
select CRYPTO_ALGAPI
|
|
select CRYPTO_AEAD
|
|
select CRYPTO_SKCIPHER
|
|
select CRYPTO_SIMD
|
|
help
|
|
AEAD cipher: AES cipher algorithms (FIPS-197)
|
|
GCM (Galois/Counter Mode) authenticated encryption mode (NIST SP800-38D)
|
|
Architecture: powerpc64 using:
|
|
- little-endian
|
|
- Power10 or later features
|
|
|
|
Support for cryptographic acceleration instructions on Power10 or
|
|
later CPU. This module supports stitched acceleration for AES/GCM.
|
|
|
|
config CRYPTO_DEV_VMX
|
|
bool "Support for VMX cryptographic acceleration instructions"
|
|
depends on PPC64 && VSX
|
|
help
|
|
Support for VMX cryptographic acceleration instructions.
|
|
|
|
config CRYPTO_DEV_VMX_ENCRYPT
|
|
tristate "Encryption acceleration support on P8 CPU"
|
|
depends on CRYPTO_DEV_VMX
|
|
select CRYPTO_AES
|
|
select CRYPTO_CBC
|
|
select CRYPTO_CTR
|
|
select CRYPTO_GHASH
|
|
select CRYPTO_XTS
|
|
default m
|
|
help
|
|
Support for VMX cryptographic acceleration instructions on Power8 CPU.
|
|
This module supports acceleration for AES and GHASH in hardware. If you
|
|
choose 'M' here, this module will be called vmx-crypto.
|
|
|
|
endmenu
|