| # SPDX-License-Identifier: GPL-2.0 |
| |
| menu "Accelerated Cryptographic Algorithms for CPU (powerpc)" |
| |
| config CRYPTO_CURVE25519_PPC64 |
| tristate "Public key crypto: Curve25519 (PowerPC64)" |
| depends on PPC64 && CPU_LITTLE_ENDIAN |
| select CRYPTO_LIB_CURVE25519_GENERIC |
| select CRYPTO_ARCH_HAVE_LIB_CURVE25519 |
| help |
| Curve25519 algorithm |
| |
| Architecture: PowerPC64 |
| - Little-endian |
| |
| config CRYPTO_CRC32C_VPMSUM |
| tristate "CRC32c" |
| depends on PPC64 && ALTIVEC |
| select CRYPTO_HASH |
| select CRC32 |
| help |
| CRC32c CRC algorithm with the iSCSI polynomial (RFC 3385 and RFC 3720) |
| |
| Architecture: powerpc64 using |
| - AltiVec extensions |
| |
| Enable on POWER8 and newer processors for improved performance. |
| |
| config CRYPTO_CRCT10DIF_VPMSUM |
| tristate "CRC32T10DIF" |
| depends on PPC64 && ALTIVEC && CRC_T10DIF |
| select CRYPTO_HASH |
| help |
| CRC16 CRC algorithm used for the T10 (SCSI) Data Integrity Field (DIF) |
| |
| Architecture: powerpc64 using |
| - AltiVec extensions |
| |
| Enable on POWER8 and newer processors for improved performance. |
| |
| config CRYPTO_VPMSUM_TESTER |
| tristate "CRC32c and CRC32T10DIF hardware acceleration tester" |
| depends on CRYPTO_CRCT10DIF_VPMSUM && CRYPTO_CRC32C_VPMSUM |
| help |
| Stress test for CRC32c and CRCT10DIF algorithms implemented with |
| powerpc64 AltiVec extensions (POWER8 vpmsum instructions). |
| Unless you are testing these algorithms, you don't need this. |
| |
| config CRYPTO_MD5_PPC |
| tristate "Digests: MD5" |
| depends on PPC |
| select CRYPTO_HASH |
| help |
| MD5 message digest algorithm (RFC1321) |
| |
| Architecture: powerpc |
| |
| config CRYPTO_SHA1_PPC |
| tristate "Hash functions: SHA-1" |
| depends on PPC |
| help |
| SHA-1 secure hash algorithm (FIPS 180) |
| |
| Architecture: powerpc |
| |
| config CRYPTO_SHA1_PPC_SPE |
| tristate "Hash functions: SHA-1 (SPE)" |
| depends on PPC && SPE |
| help |
| SHA-1 secure hash algorithm (FIPS 180) |
| |
| Architecture: powerpc using |
| - SPE (Signal Processing Engine) extensions |
| |
| config CRYPTO_SHA256_PPC_SPE |
| tristate "Hash functions: SHA-224 and SHA-256 (SPE)" |
| depends on PPC && SPE |
| select CRYPTO_SHA256 |
| select CRYPTO_HASH |
| help |
| SHA-224 and SHA-256 secure hash algorithms (FIPS 180) |
| |
| Architecture: powerpc using |
| - SPE (Signal Processing Engine) extensions |
| |
| config CRYPTO_AES_PPC_SPE |
| tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (SPE)" |
| depends on PPC && 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 |
| 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_CHACHA20_P10 |
| tristate "Ciphers: ChaCha20, XChacha20, XChacha12 (P10 or later)" |
| depends on PPC64 && CPU_LITTLE_ENDIAN && VSX |
| 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: PowerPC64 |
| - Power10 or later |
| - Little-endian |
| |
| config CRYPTO_POLY1305_P10 |
| tristate "Hash functions: Poly1305 (P10 or later)" |
| depends on PPC64 && CPU_LITTLE_ENDIAN && VSX |
| select CRYPTO_HASH |
| select CRYPTO_LIB_POLY1305_GENERIC |
| help |
| Poly1305 authenticator algorithm (RFC7539) |
| |
| Architecture: PowerPC64 |
| - Power10 or later |
| - Little-endian |
| |
| 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 |