xref: /linux/arch/powerpc/crypto/Kconfig (revision 378a337ab40f88d63ba71d68ff578ead7f5ac8f1)
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	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
9617ec3e71SHerbert Xu	tristate
97ba22e818SHerbert Xu	depends on PPC64 && CPU_LITTLE_ENDIAN && VSX
98161fca7eSDanny Tsen	select CRYPTO_LIB_CHACHA_GENERIC
9917ec3e71SHerbert Xu	select CRYPTO_ARCH_HAVE_LIB_CHACHA
10017ec3e71SHerbert Xu	default CRYPTO_LIB_CHACHA_INTERNAL
101161fca7eSDanny Tsen
102161fca7eSDanny Tsenconfig CRYPTO_POLY1305_P10
103*378a337aSEric Biggers	tristate
104ba22e818SHerbert Xu	depends on PPC64 && CPU_LITTLE_ENDIAN && VSX
105*378a337aSEric Biggers	select CRYPTO_ARCH_HAVE_LIB_POLY1305
106161fca7eSDanny Tsen	select CRYPTO_LIB_POLY1305_GENERIC
107*378a337aSEric Biggers	default CRYPTO_LIB_POLY1305_INTERNAL
108161fca7eSDanny Tsen
10910930333SDanny Tsenconfig CRYPTO_DEV_VMX
11010930333SDanny Tsen        bool "Support for VMX cryptographic acceleration instructions"
11110930333SDanny Tsen        depends on PPC64 && VSX
11210930333SDanny Tsen        help
11310930333SDanny Tsen          Support for VMX cryptographic acceleration instructions.
11410930333SDanny Tsen
11510930333SDanny Tsenconfig CRYPTO_DEV_VMX_ENCRYPT
11610930333SDanny Tsen	tristate "Encryption acceleration support on P8 CPU"
11710930333SDanny Tsen	depends on CRYPTO_DEV_VMX
11810930333SDanny Tsen	select CRYPTO_AES
11910930333SDanny Tsen	select CRYPTO_CBC
12010930333SDanny Tsen	select CRYPTO_CTR
12110930333SDanny Tsen	select CRYPTO_GHASH
12210930333SDanny Tsen	select CRYPTO_XTS
12310930333SDanny Tsen	default m
12410930333SDanny Tsen	help
12510930333SDanny Tsen	  Support for VMX cryptographic acceleration instructions on Power8 CPU.
12610930333SDanny Tsen	  This module supports acceleration for AES and GHASH in hardware. If you
12710930333SDanny Tsen	  choose 'M' here, this module will be called vmx-crypto.
12810930333SDanny Tsen
1296a490a4eSRobert Elliottendmenu
130