xref: /linux/arch/powerpc/crypto/Kconfig (revision d8768fb12a14c30436bd0466b4fc28edeef45078)
16a490a4eSRobert Elliott# SPDX-License-Identifier: GPL-2.0
26a490a4eSRobert Elliott
36a490a4eSRobert Elliottmenu "Accelerated Cryptographic Algorithms for CPU (powerpc)"
46a490a4eSRobert Elliott
56a490a4eSRobert Elliottconfig CRYPTO_AES_PPC_SPE
6cf514b2aSRobert Elliott	tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (SPE)"
7*d58a46dfSEric Biggers	depends on SPE
86a490a4eSRobert Elliott	select CRYPTO_SKCIPHER
96a490a4eSRobert Elliott	help
10cf514b2aSRobert Elliott	  Block ciphers: AES cipher algorithms (FIPS-197)
11cf514b2aSRobert Elliott	  Length-preserving ciphers: AES with ECB, CBC, CTR, and XTS modes
12cf514b2aSRobert Elliott
13cf514b2aSRobert Elliott	  Architecture: powerpc using:
14cf514b2aSRobert Elliott	  - SPE (Signal Processing Engine) extensions
15cf514b2aSRobert Elliott
16cf514b2aSRobert Elliott	  SPE is available for:
17cf514b2aSRobert Elliott	  - Processor Type: Freescale 8500
18cf514b2aSRobert Elliott	  - CPU selection: e500 (8540)
19cf514b2aSRobert Elliott
206a490a4eSRobert Elliott	  This module should only be used for low power (router) devices
216a490a4eSRobert Elliott	  without hardware AES acceleration (e.g. caam crypto). It reduces the
226a490a4eSRobert Elliott	  size of the AES tables from 16KB to 8KB + 256 bytes and mitigates
236a490a4eSRobert Elliott	  timining attacks. Nevertheless it might be not as secure as other
246a490a4eSRobert Elliott	  architecture specific assembler implementations that work on 1KB
256a490a4eSRobert Elliott	  tables or 256 bytes S-boxes.
266a490a4eSRobert Elliott
2745a4672bSDanny Tsenconfig CRYPTO_AES_GCM_P10
2845a4672bSDanny Tsen	tristate "Stitched AES/GCM acceleration support on P10 or later CPU (PPC)"
298133a3f0SMichael Ellerman	depends on PPC64 && CPU_LITTLE_ENDIAN && VSX
3045a4672bSDanny Tsen	select CRYPTO_LIB_AES
3145a4672bSDanny Tsen	select CRYPTO_ALGAPI
3245a4672bSDanny Tsen	select CRYPTO_AEAD
339d6e1c21SOmar Sandoval	select CRYPTO_SKCIPHER
348b6c1e46SDanny Tsen	select CRYPTO_SIMD
3545a4672bSDanny Tsen	help
3645a4672bSDanny Tsen	  AEAD cipher: AES cipher algorithms (FIPS-197)
3745a4672bSDanny Tsen	  GCM (Galois/Counter Mode) authenticated encryption mode (NIST SP800-38D)
3845a4672bSDanny Tsen	  Architecture: powerpc64 using:
3945a4672bSDanny Tsen	    - little-endian
4045a4672bSDanny Tsen	    - Power10 or later features
4145a4672bSDanny Tsen
4245a4672bSDanny Tsen	  Support for cryptographic acceleration instructions on Power10 or
4345a4672bSDanny Tsen	  later CPU. This module supports stitched acceleration for AES/GCM.
4445a4672bSDanny Tsen
4510930333SDanny Tsenconfig CRYPTO_DEV_VMX
4610930333SDanny Tsen        bool "Support for VMX cryptographic acceleration instructions"
4710930333SDanny Tsen        depends on PPC64 && VSX
4810930333SDanny Tsen        help
4910930333SDanny Tsen          Support for VMX cryptographic acceleration instructions.
5010930333SDanny Tsen
5110930333SDanny Tsenconfig CRYPTO_DEV_VMX_ENCRYPT
5210930333SDanny Tsen	tristate "Encryption acceleration support on P8 CPU"
5310930333SDanny Tsen	depends on CRYPTO_DEV_VMX
5410930333SDanny Tsen	select CRYPTO_AES
5510930333SDanny Tsen	select CRYPTO_CBC
5610930333SDanny Tsen	select CRYPTO_CTR
5710930333SDanny Tsen	select CRYPTO_GHASH
5810930333SDanny Tsen	select CRYPTO_XTS
5910930333SDanny Tsen	default m
6010930333SDanny Tsen	help
6110930333SDanny Tsen	  Support for VMX cryptographic acceleration instructions on Power8 CPU.
6210930333SDanny Tsen	  This module supports acceleration for AES and GHASH in hardware. If you
6310930333SDanny Tsen	  choose 'M' here, this module will be called vmx-crypto.
6410930333SDanny Tsen
656a490a4eSRobert Elliottendmenu
66