16a490a4eSRobert Elliott# SPDX-License-Identifier: GPL-2.0 26a490a4eSRobert Elliott 36a490a4eSRobert Elliottmenu "Accelerated Cryptographic Algorithms for CPU (powerpc)" 46a490a4eSRobert Elliott 5b42519dbSDanny Tsenconfig CRYPTO_CURVE25519_PPC64 6b42519dbSDanny Tsen tristate "Public key crypto: Curve25519 (PowerPC64)" 7b42519dbSDanny Tsen depends on PPC64 && CPU_LITTLE_ENDIAN 8b42519dbSDanny Tsen select CRYPTO_LIB_CURVE25519_GENERIC 9b42519dbSDanny Tsen select CRYPTO_ARCH_HAVE_LIB_CURVE25519 10b42519dbSDanny Tsen help 11b42519dbSDanny Tsen Curve25519 algorithm 12b42519dbSDanny Tsen 13b42519dbSDanny Tsen Architecture: PowerPC64 14b42519dbSDanny Tsen - Little-endian 15b42519dbSDanny Tsen 166a490a4eSRobert Elliottconfig CRYPTO_MD5_PPC 173f342a23SRobert Elliott tristate "Digests: MD5" 186a490a4eSRobert Elliott depends on PPC 196a490a4eSRobert Elliott select CRYPTO_HASH 206a490a4eSRobert Elliott help 213f342a23SRobert Elliott MD5 message digest algorithm (RFC1321) 223f342a23SRobert Elliott 233f342a23SRobert Elliott Architecture: powerpc 246a490a4eSRobert Elliott 256a490a4eSRobert Elliottconfig CRYPTO_SHA1_PPC 263f342a23SRobert Elliott tristate "Hash functions: SHA-1" 276a490a4eSRobert Elliott depends on PPC 286a490a4eSRobert Elliott help 293f342a23SRobert Elliott SHA-1 secure hash algorithm (FIPS 180) 303f342a23SRobert Elliott 313f342a23SRobert Elliott Architecture: powerpc 326a490a4eSRobert Elliott 336a490a4eSRobert Elliottconfig CRYPTO_SHA1_PPC_SPE 343f342a23SRobert Elliott tristate "Hash functions: SHA-1 (SPE)" 356a490a4eSRobert Elliott depends on PPC && SPE 366a490a4eSRobert Elliott help 373f342a23SRobert Elliott SHA-1 secure hash algorithm (FIPS 180) 383f342a23SRobert Elliott 393f342a23SRobert Elliott Architecture: powerpc using 403f342a23SRobert Elliott - SPE (Signal Processing Engine) extensions 416a490a4eSRobert Elliott 426a490a4eSRobert Elliottconfig CRYPTO_SHA256_PPC_SPE 433f342a23SRobert Elliott tristate "Hash functions: SHA-224 and SHA-256 (SPE)" 446a490a4eSRobert Elliott depends on PPC && SPE 456a490a4eSRobert Elliott select CRYPTO_SHA256 466a490a4eSRobert Elliott select CRYPTO_HASH 476a490a4eSRobert Elliott help 483f342a23SRobert Elliott SHA-224 and SHA-256 secure hash algorithms (FIPS 180) 493f342a23SRobert Elliott 503f342a23SRobert Elliott Architecture: powerpc using 513f342a23SRobert Elliott - SPE (Signal Processing Engine) extensions 526a490a4eSRobert Elliott 536a490a4eSRobert Elliottconfig CRYPTO_AES_PPC_SPE 54cf514b2aSRobert Elliott tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (SPE)" 556a490a4eSRobert Elliott depends on PPC && SPE 566a490a4eSRobert Elliott select CRYPTO_SKCIPHER 576a490a4eSRobert Elliott help 58cf514b2aSRobert Elliott Block ciphers: AES cipher algorithms (FIPS-197) 59cf514b2aSRobert Elliott Length-preserving ciphers: AES with ECB, CBC, CTR, and XTS modes 60cf514b2aSRobert Elliott 61cf514b2aSRobert Elliott Architecture: powerpc using: 62cf514b2aSRobert Elliott - SPE (Signal Processing Engine) extensions 63cf514b2aSRobert Elliott 64cf514b2aSRobert Elliott SPE is available for: 65cf514b2aSRobert Elliott - Processor Type: Freescale 8500 66cf514b2aSRobert Elliott - CPU selection: e500 (8540) 67cf514b2aSRobert Elliott 686a490a4eSRobert Elliott This module should only be used for low power (router) devices 696a490a4eSRobert Elliott without hardware AES acceleration (e.g. caam crypto). It reduces the 706a490a4eSRobert Elliott size of the AES tables from 16KB to 8KB + 256 bytes and mitigates 716a490a4eSRobert Elliott timining attacks. Nevertheless it might be not as secure as other 726a490a4eSRobert Elliott architecture specific assembler implementations that work on 1KB 736a490a4eSRobert Elliott tables or 256 bytes S-boxes. 746a490a4eSRobert Elliott 7545a4672bSDanny Tsenconfig CRYPTO_AES_GCM_P10 7645a4672bSDanny Tsen tristate "Stitched AES/GCM acceleration support on P10 or later CPU (PPC)" 778133a3f0SMichael Ellerman depends on PPC64 && CPU_LITTLE_ENDIAN && VSX 7845a4672bSDanny Tsen select CRYPTO_LIB_AES 7945a4672bSDanny Tsen select CRYPTO_ALGAPI 8045a4672bSDanny Tsen select CRYPTO_AEAD 819d6e1c21SOmar Sandoval select CRYPTO_SKCIPHER 82*8b6c1e46SDanny Tsen select CRYPTO_SIMD 8345a4672bSDanny Tsen help 8445a4672bSDanny Tsen AEAD cipher: AES cipher algorithms (FIPS-197) 8545a4672bSDanny Tsen GCM (Galois/Counter Mode) authenticated encryption mode (NIST SP800-38D) 8645a4672bSDanny Tsen Architecture: powerpc64 using: 8745a4672bSDanny Tsen - little-endian 8845a4672bSDanny Tsen - Power10 or later features 8945a4672bSDanny Tsen 9045a4672bSDanny Tsen Support for cryptographic acceleration instructions on Power10 or 9145a4672bSDanny Tsen later CPU. This module supports stitched acceleration for AES/GCM. 9245a4672bSDanny Tsen 93161fca7eSDanny Tsenconfig CRYPTO_CHACHA20_P10 94161fca7eSDanny Tsen tristate "Ciphers: ChaCha20, XChacha20, XChacha12 (P10 or later)" 95ba22e818SHerbert Xu depends on PPC64 && CPU_LITTLE_ENDIAN && VSX 96161fca7eSDanny Tsen select CRYPTO_SKCIPHER 97161fca7eSDanny Tsen select CRYPTO_LIB_CHACHA_GENERIC 98161fca7eSDanny Tsen select CRYPTO_ARCH_HAVE_LIB_CHACHA 99161fca7eSDanny Tsen help 100161fca7eSDanny Tsen Length-preserving ciphers: ChaCha20, XChaCha20, and XChaCha12 101161fca7eSDanny Tsen stream cipher algorithms 102161fca7eSDanny Tsen 103161fca7eSDanny Tsen Architecture: PowerPC64 104161fca7eSDanny Tsen - Power10 or later 105161fca7eSDanny Tsen - Little-endian 106161fca7eSDanny Tsen 107161fca7eSDanny Tsenconfig CRYPTO_POLY1305_P10 108161fca7eSDanny Tsen tristate "Hash functions: Poly1305 (P10 or later)" 109ba22e818SHerbert Xu depends on PPC64 && CPU_LITTLE_ENDIAN && VSX 110161fca7eSDanny Tsen select CRYPTO_HASH 111161fca7eSDanny Tsen select CRYPTO_LIB_POLY1305_GENERIC 112161fca7eSDanny Tsen help 113161fca7eSDanny Tsen Poly1305 authenticator algorithm (RFC7539) 114161fca7eSDanny Tsen 115161fca7eSDanny Tsen Architecture: PowerPC64 116161fca7eSDanny Tsen - Power10 or later 117161fca7eSDanny Tsen - Little-endian 118161fca7eSDanny Tsen 11910930333SDanny Tsenconfig CRYPTO_DEV_VMX 12010930333SDanny Tsen bool "Support for VMX cryptographic acceleration instructions" 12110930333SDanny Tsen depends on PPC64 && VSX 12210930333SDanny Tsen help 12310930333SDanny Tsen Support for VMX cryptographic acceleration instructions. 12410930333SDanny Tsen 12510930333SDanny Tsenconfig CRYPTO_DEV_VMX_ENCRYPT 12610930333SDanny Tsen tristate "Encryption acceleration support on P8 CPU" 12710930333SDanny Tsen depends on CRYPTO_DEV_VMX 12810930333SDanny Tsen select CRYPTO_AES 12910930333SDanny Tsen select CRYPTO_CBC 13010930333SDanny Tsen select CRYPTO_CTR 13110930333SDanny Tsen select CRYPTO_GHASH 13210930333SDanny Tsen select CRYPTO_XTS 13310930333SDanny Tsen default m 13410930333SDanny Tsen help 13510930333SDanny Tsen Support for VMX cryptographic acceleration instructions on Power8 CPU. 13610930333SDanny Tsen This module supports acceleration for AES and GHASH in hardware. If you 13710930333SDanny Tsen choose 'M' here, this module will be called vmx-crypto. 13810930333SDanny Tsen 1396a490a4eSRobert Elliottendmenu 140