xref: /linux/arch/powerpc/crypto/Kconfig (revision 37b33c68b00089a574ebd0a856a5d554eb3001b7)
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