xref: /linux/arch/powerpc/crypto/Kconfig (revision d8768fb12a14c30436bd0466b4fc28edeef45078)
1# SPDX-License-Identifier: GPL-2.0
2
3menu "Accelerated Cryptographic Algorithms for CPU (powerpc)"
4
5config CRYPTO_AES_PPC_SPE
6	tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (SPE)"
7	depends on SPE
8	select CRYPTO_SKCIPHER
9	help
10	  Block ciphers: AES cipher algorithms (FIPS-197)
11	  Length-preserving ciphers: AES with ECB, CBC, CTR, and XTS modes
12
13	  Architecture: powerpc using:
14	  - SPE (Signal Processing Engine) extensions
15
16	  SPE is available for:
17	  - Processor Type: Freescale 8500
18	  - CPU selection: e500 (8540)
19
20	  This module should only be used for low power (router) devices
21	  without hardware AES acceleration (e.g. caam crypto). It reduces the
22	  size of the AES tables from 16KB to 8KB + 256 bytes and mitigates
23	  timining attacks. Nevertheless it might be not as secure as other
24	  architecture specific assembler implementations that work on 1KB
25	  tables or 256 bytes S-boxes.
26
27config CRYPTO_AES_GCM_P10
28	tristate "Stitched AES/GCM acceleration support on P10 or later CPU (PPC)"
29	depends on PPC64 && CPU_LITTLE_ENDIAN && VSX
30	select CRYPTO_LIB_AES
31	select CRYPTO_ALGAPI
32	select CRYPTO_AEAD
33	select CRYPTO_SKCIPHER
34	select CRYPTO_SIMD
35	help
36	  AEAD cipher: AES cipher algorithms (FIPS-197)
37	  GCM (Galois/Counter Mode) authenticated encryption mode (NIST SP800-38D)
38	  Architecture: powerpc64 using:
39	    - little-endian
40	    - Power10 or later features
41
42	  Support for cryptographic acceleration instructions on Power10 or
43	  later CPU. This module supports stitched acceleration for AES/GCM.
44
45config CRYPTO_DEV_VMX
46        bool "Support for VMX cryptographic acceleration instructions"
47        depends on PPC64 && VSX
48        help
49          Support for VMX cryptographic acceleration instructions.
50
51config CRYPTO_DEV_VMX_ENCRYPT
52	tristate "Encryption acceleration support on P8 CPU"
53	depends on CRYPTO_DEV_VMX
54	select CRYPTO_AES
55	select CRYPTO_CBC
56	select CRYPTO_CTR
57	select CRYPTO_GHASH
58	select CRYPTO_XTS
59	default m
60	help
61	  Support for VMX cryptographic acceleration instructions on Power8 CPU.
62	  This module supports acceleration for AES and GHASH in hardware. If you
63	  choose 'M' here, this module will be called vmx-crypto.
64
65endmenu
66