xref: /linux/arch/powerpc/crypto/Kconfig (revision 13150742b09e720fdf021de14cd2b98b37415a89)
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_AES_PPC_SPE
27cf514b2aSRobert Elliott	tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (SPE)"
28*d58a46dfSEric Biggers	depends on SPE
296a490a4eSRobert Elliott	select CRYPTO_SKCIPHER
306a490a4eSRobert Elliott	help
31cf514b2aSRobert Elliott	  Block ciphers: AES cipher algorithms (FIPS-197)
32cf514b2aSRobert Elliott	  Length-preserving ciphers: AES with ECB, CBC, CTR, and XTS modes
33cf514b2aSRobert Elliott
34cf514b2aSRobert Elliott	  Architecture: powerpc using:
35cf514b2aSRobert Elliott	  - SPE (Signal Processing Engine) extensions
36cf514b2aSRobert Elliott
37cf514b2aSRobert Elliott	  SPE is available for:
38cf514b2aSRobert Elliott	  - Processor Type: Freescale 8500
39cf514b2aSRobert Elliott	  - CPU selection: e500 (8540)
40cf514b2aSRobert Elliott
416a490a4eSRobert Elliott	  This module should only be used for low power (router) devices
426a490a4eSRobert Elliott	  without hardware AES acceleration (e.g. caam crypto). It reduces the
436a490a4eSRobert Elliott	  size of the AES tables from 16KB to 8KB + 256 bytes and mitigates
446a490a4eSRobert Elliott	  timining attacks. Nevertheless it might be not as secure as other
456a490a4eSRobert Elliott	  architecture specific assembler implementations that work on 1KB
466a490a4eSRobert Elliott	  tables or 256 bytes S-boxes.
476a490a4eSRobert Elliott
4845a4672bSDanny Tsenconfig CRYPTO_AES_GCM_P10
4945a4672bSDanny Tsen	tristate "Stitched AES/GCM acceleration support on P10 or later CPU (PPC)"
508133a3f0SMichael Ellerman	depends on PPC64 && CPU_LITTLE_ENDIAN && VSX
5145a4672bSDanny Tsen	select CRYPTO_LIB_AES
5245a4672bSDanny Tsen	select CRYPTO_ALGAPI
5345a4672bSDanny Tsen	select CRYPTO_AEAD
549d6e1c21SOmar Sandoval	select CRYPTO_SKCIPHER
558b6c1e46SDanny Tsen	select CRYPTO_SIMD
5645a4672bSDanny Tsen	help
5745a4672bSDanny Tsen	  AEAD cipher: AES cipher algorithms (FIPS-197)
5845a4672bSDanny Tsen	  GCM (Galois/Counter Mode) authenticated encryption mode (NIST SP800-38D)
5945a4672bSDanny Tsen	  Architecture: powerpc64 using:
6045a4672bSDanny Tsen	    - little-endian
6145a4672bSDanny Tsen	    - Power10 or later features
6245a4672bSDanny Tsen
6345a4672bSDanny Tsen	  Support for cryptographic acceleration instructions on Power10 or
6445a4672bSDanny Tsen	  later CPU. This module supports stitched acceleration for AES/GCM.
6545a4672bSDanny Tsen
6610930333SDanny Tsenconfig CRYPTO_DEV_VMX
6710930333SDanny Tsen        bool "Support for VMX cryptographic acceleration instructions"
6810930333SDanny Tsen        depends on PPC64 && VSX
6910930333SDanny Tsen        help
7010930333SDanny Tsen          Support for VMX cryptographic acceleration instructions.
7110930333SDanny Tsen
7210930333SDanny Tsenconfig CRYPTO_DEV_VMX_ENCRYPT
7310930333SDanny Tsen	tristate "Encryption acceleration support on P8 CPU"
7410930333SDanny Tsen	depends on CRYPTO_DEV_VMX
7510930333SDanny Tsen	select CRYPTO_AES
7610930333SDanny Tsen	select CRYPTO_CBC
7710930333SDanny Tsen	select CRYPTO_CTR
7810930333SDanny Tsen	select CRYPTO_GHASH
7910930333SDanny Tsen	select CRYPTO_XTS
8010930333SDanny Tsen	default m
8110930333SDanny Tsen	help
8210930333SDanny Tsen	  Support for VMX cryptographic acceleration instructions on Power8 CPU.
8310930333SDanny Tsen	  This module supports acceleration for AES and GHASH in hardware. If you
8410930333SDanny Tsen	  choose 'M' here, this module will be called vmx-crypto.
8510930333SDanny Tsen
866a490a4eSRobert Elliottendmenu
87