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 6*17ec3e71SHerbert Xu tristate 7b42519dbSDanny Tsen depends on PPC64 && CPU_LITTLE_ENDIAN 8*17ec3e71SHerbert Xu select CRYPTO_KPP 9b42519dbSDanny Tsen select CRYPTO_LIB_CURVE25519_GENERIC 10*17ec3e71SHerbert Xu select CRYPTO_ARCH_HAVE_LIB_CURVE25519 11*17ec3e71SHerbert Xu default CRYPTO_LIB_CURVE25519_INTERNAL 12b42519dbSDanny Tsen help 13b42519dbSDanny Tsen Curve25519 algorithm 14b42519dbSDanny Tsen 15b42519dbSDanny Tsen Architecture: PowerPC64 16b42519dbSDanny Tsen - Little-endian 17b42519dbSDanny Tsen 186a490a4eSRobert Elliottconfig CRYPTO_MD5_PPC 193f342a23SRobert Elliott tristate "Digests: MD5" 206a490a4eSRobert Elliott depends on PPC 216a490a4eSRobert Elliott select CRYPTO_HASH 226a490a4eSRobert Elliott help 233f342a23SRobert Elliott MD5 message digest algorithm (RFC1321) 243f342a23SRobert Elliott 253f342a23SRobert Elliott Architecture: powerpc 266a490a4eSRobert Elliott 276a490a4eSRobert Elliottconfig CRYPTO_SHA1_PPC 283f342a23SRobert Elliott tristate "Hash functions: SHA-1" 296a490a4eSRobert Elliott depends on PPC 306a490a4eSRobert Elliott help 313f342a23SRobert Elliott SHA-1 secure hash algorithm (FIPS 180) 323f342a23SRobert Elliott 333f342a23SRobert Elliott Architecture: powerpc 346a490a4eSRobert Elliott 356a490a4eSRobert Elliottconfig CRYPTO_SHA1_PPC_SPE 363f342a23SRobert Elliott tristate "Hash functions: SHA-1 (SPE)" 376a490a4eSRobert Elliott depends on PPC && SPE 386a490a4eSRobert Elliott help 393f342a23SRobert Elliott SHA-1 secure hash algorithm (FIPS 180) 403f342a23SRobert Elliott 413f342a23SRobert Elliott Architecture: powerpc using 423f342a23SRobert Elliott - SPE (Signal Processing Engine) extensions 436a490a4eSRobert Elliott 446a490a4eSRobert Elliottconfig CRYPTO_SHA256_PPC_SPE 453f342a23SRobert Elliott tristate "Hash functions: SHA-224 and SHA-256 (SPE)" 466a490a4eSRobert Elliott depends on PPC && SPE 476a490a4eSRobert Elliott select CRYPTO_SHA256 486a490a4eSRobert Elliott select CRYPTO_HASH 496a490a4eSRobert Elliott help 503f342a23SRobert Elliott SHA-224 and SHA-256 secure hash algorithms (FIPS 180) 513f342a23SRobert Elliott 523f342a23SRobert Elliott Architecture: powerpc using 533f342a23SRobert Elliott - SPE (Signal Processing Engine) extensions 546a490a4eSRobert Elliott 556a490a4eSRobert Elliottconfig CRYPTO_AES_PPC_SPE 56cf514b2aSRobert Elliott tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (SPE)" 576a490a4eSRobert Elliott depends on PPC && SPE 586a490a4eSRobert Elliott select CRYPTO_SKCIPHER 596a490a4eSRobert Elliott help 60cf514b2aSRobert Elliott Block ciphers: AES cipher algorithms (FIPS-197) 61cf514b2aSRobert Elliott Length-preserving ciphers: AES with ECB, CBC, CTR, and XTS modes 62cf514b2aSRobert Elliott 63cf514b2aSRobert Elliott Architecture: powerpc using: 64cf514b2aSRobert Elliott - SPE (Signal Processing Engine) extensions 65cf514b2aSRobert Elliott 66cf514b2aSRobert Elliott SPE is available for: 67cf514b2aSRobert Elliott - Processor Type: Freescale 8500 68cf514b2aSRobert Elliott - CPU selection: e500 (8540) 69cf514b2aSRobert Elliott 706a490a4eSRobert Elliott This module should only be used for low power (router) devices 716a490a4eSRobert Elliott without hardware AES acceleration (e.g. caam crypto). It reduces the 726a490a4eSRobert Elliott size of the AES tables from 16KB to 8KB + 256 bytes and mitigates 736a490a4eSRobert Elliott timining attacks. Nevertheless it might be not as secure as other 746a490a4eSRobert Elliott architecture specific assembler implementations that work on 1KB 756a490a4eSRobert Elliott tables or 256 bytes S-boxes. 766a490a4eSRobert Elliott 7745a4672bSDanny Tsenconfig CRYPTO_AES_GCM_P10 7845a4672bSDanny Tsen tristate "Stitched AES/GCM acceleration support on P10 or later CPU (PPC)" 798133a3f0SMichael Ellerman depends on PPC64 && CPU_LITTLE_ENDIAN && VSX 8045a4672bSDanny Tsen select CRYPTO_LIB_AES 8145a4672bSDanny Tsen select CRYPTO_ALGAPI 8245a4672bSDanny Tsen select CRYPTO_AEAD 839d6e1c21SOmar Sandoval select CRYPTO_SKCIPHER 848b6c1e46SDanny Tsen select CRYPTO_SIMD 8545a4672bSDanny Tsen help 8645a4672bSDanny Tsen AEAD cipher: AES cipher algorithms (FIPS-197) 8745a4672bSDanny Tsen GCM (Galois/Counter Mode) authenticated encryption mode (NIST SP800-38D) 8845a4672bSDanny Tsen Architecture: powerpc64 using: 8945a4672bSDanny Tsen - little-endian 9045a4672bSDanny Tsen - Power10 or later features 9145a4672bSDanny Tsen 9245a4672bSDanny Tsen Support for cryptographic acceleration instructions on Power10 or 9345a4672bSDanny Tsen later CPU. This module supports stitched acceleration for AES/GCM. 9445a4672bSDanny Tsen 95161fca7eSDanny Tsenconfig CRYPTO_CHACHA20_P10 96*17ec3e71SHerbert Xu tristate 97ba22e818SHerbert Xu depends on PPC64 && CPU_LITTLE_ENDIAN && VSX 98161fca7eSDanny Tsen select CRYPTO_SKCIPHER 99161fca7eSDanny Tsen select CRYPTO_LIB_CHACHA_GENERIC 100*17ec3e71SHerbert Xu select CRYPTO_ARCH_HAVE_LIB_CHACHA 101*17ec3e71SHerbert Xu default CRYPTO_LIB_CHACHA_INTERNAL 102161fca7eSDanny Tsen help 103161fca7eSDanny Tsen Length-preserving ciphers: ChaCha20, XChaCha20, and XChaCha12 104161fca7eSDanny Tsen stream cipher algorithms 105161fca7eSDanny Tsen 106161fca7eSDanny Tsen Architecture: PowerPC64 107161fca7eSDanny Tsen - Power10 or later 108161fca7eSDanny Tsen - Little-endian 109161fca7eSDanny Tsen 110161fca7eSDanny Tsenconfig CRYPTO_POLY1305_P10 111161fca7eSDanny Tsen tristate "Hash functions: Poly1305 (P10 or later)" 112ba22e818SHerbert Xu depends on PPC64 && CPU_LITTLE_ENDIAN && VSX 113161fca7eSDanny Tsen select CRYPTO_HASH 114161fca7eSDanny Tsen select CRYPTO_LIB_POLY1305_GENERIC 115161fca7eSDanny Tsen help 116161fca7eSDanny Tsen Poly1305 authenticator algorithm (RFC7539) 117161fca7eSDanny Tsen 118161fca7eSDanny Tsen Architecture: PowerPC64 119161fca7eSDanny Tsen - Power10 or later 120161fca7eSDanny Tsen - Little-endian 121161fca7eSDanny Tsen 12210930333SDanny Tsenconfig CRYPTO_DEV_VMX 12310930333SDanny Tsen bool "Support for VMX cryptographic acceleration instructions" 12410930333SDanny Tsen depends on PPC64 && VSX 12510930333SDanny Tsen help 12610930333SDanny Tsen Support for VMX cryptographic acceleration instructions. 12710930333SDanny Tsen 12810930333SDanny Tsenconfig CRYPTO_DEV_VMX_ENCRYPT 12910930333SDanny Tsen tristate "Encryption acceleration support on P8 CPU" 13010930333SDanny Tsen depends on CRYPTO_DEV_VMX 13110930333SDanny Tsen select CRYPTO_AES 13210930333SDanny Tsen select CRYPTO_CBC 13310930333SDanny Tsen select CRYPTO_CTR 13410930333SDanny Tsen select CRYPTO_GHASH 13510930333SDanny Tsen select CRYPTO_XTS 13610930333SDanny Tsen default m 13710930333SDanny Tsen help 13810930333SDanny Tsen Support for VMX cryptographic acceleration instructions on Power8 CPU. 13910930333SDanny Tsen This module supports acceleration for AES and GHASH in hardware. If you 14010930333SDanny Tsen choose 'M' here, this module will be called vmx-crypto. 14110930333SDanny Tsen 1426a490a4eSRobert Elliottendmenu 143