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 617ec3e71SHerbert Xu tristate 7b42519dbSDanny Tsen depends on PPC64 && CPU_LITTLE_ENDIAN 817ec3e71SHerbert Xu select CRYPTO_KPP 9b42519dbSDanny Tsen select CRYPTO_LIB_CURVE25519_GENERIC 1017ec3e71SHerbert Xu select CRYPTO_ARCH_HAVE_LIB_CURVE25519 1117ec3e71SHerbert 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 select CRYPTO_HASH 216a490a4eSRobert Elliott help 223f342a23SRobert Elliott MD5 message digest algorithm (RFC1321) 233f342a23SRobert Elliott 243f342a23SRobert Elliott Architecture: powerpc 256a490a4eSRobert Elliott 266a490a4eSRobert Elliottconfig CRYPTO_SHA1_PPC 273f342a23SRobert Elliott tristate "Hash functions: SHA-1" 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)" 35*d58a46dfSEric Biggers depends on 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)" 44*d58a46dfSEric Biggers depends on 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)" 55*d58a46dfSEric Biggers depends on 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 828b6c1e46SDanny 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 9417ec3e71SHerbert Xu tristate 95ba22e818SHerbert Xu depends on PPC64 && CPU_LITTLE_ENDIAN && VSX 96161fca7eSDanny Tsen select CRYPTO_LIB_CHACHA_GENERIC 9717ec3e71SHerbert Xu select CRYPTO_ARCH_HAVE_LIB_CHACHA 9817ec3e71SHerbert Xu default CRYPTO_LIB_CHACHA_INTERNAL 99161fca7eSDanny Tsen 100161fca7eSDanny Tsenconfig CRYPTO_POLY1305_P10 101378a337aSEric Biggers tristate 102ba22e818SHerbert Xu depends on PPC64 && CPU_LITTLE_ENDIAN && VSX 103378a337aSEric Biggers select CRYPTO_ARCH_HAVE_LIB_POLY1305 104161fca7eSDanny Tsen select CRYPTO_LIB_POLY1305_GENERIC 105378a337aSEric Biggers default CRYPTO_LIB_POLY1305_INTERNAL 106161fca7eSDanny Tsen 10710930333SDanny Tsenconfig CRYPTO_DEV_VMX 10810930333SDanny Tsen bool "Support for VMX cryptographic acceleration instructions" 10910930333SDanny Tsen depends on PPC64 && VSX 11010930333SDanny Tsen help 11110930333SDanny Tsen Support for VMX cryptographic acceleration instructions. 11210930333SDanny Tsen 11310930333SDanny Tsenconfig CRYPTO_DEV_VMX_ENCRYPT 11410930333SDanny Tsen tristate "Encryption acceleration support on P8 CPU" 11510930333SDanny Tsen depends on CRYPTO_DEV_VMX 11610930333SDanny Tsen select CRYPTO_AES 11710930333SDanny Tsen select CRYPTO_CBC 11810930333SDanny Tsen select CRYPTO_CTR 11910930333SDanny Tsen select CRYPTO_GHASH 12010930333SDanny Tsen select CRYPTO_XTS 12110930333SDanny Tsen default m 12210930333SDanny Tsen help 12310930333SDanny Tsen Support for VMX cryptographic acceleration instructions on Power8 CPU. 12410930333SDanny Tsen This module supports acceleration for AES and GHASH in hardware. If you 12510930333SDanny Tsen choose 'M' here, this module will be called vmx-crypto. 12610930333SDanny Tsen 1276a490a4eSRobert Elliottendmenu 128