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