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