xref: /linux/arch/powerpc/crypto/Kconfig (revision df9c299371054cb725eef730fd0f1d0fe2ed6bb0)
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_SHA1_PPC
27	tristate "Hash functions: SHA-1"
28	help
29	  SHA-1 secure hash algorithm (FIPS 180)
30
31	  Architecture: powerpc
32
33config CRYPTO_SHA1_PPC_SPE
34	tristate "Hash functions: SHA-1 (SPE)"
35	depends on SPE
36	help
37	  SHA-1 secure hash algorithm (FIPS 180)
38
39	  Architecture: powerpc using
40	  - SPE (Signal Processing Engine) extensions
41
42config CRYPTO_AES_PPC_SPE
43	tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (SPE)"
44	depends on SPE
45	select CRYPTO_SKCIPHER
46	help
47	  Block ciphers: AES cipher algorithms (FIPS-197)
48	  Length-preserving ciphers: AES with ECB, CBC, CTR, and XTS modes
49
50	  Architecture: powerpc using:
51	  - SPE (Signal Processing Engine) extensions
52
53	  SPE is available for:
54	  - Processor Type: Freescale 8500
55	  - CPU selection: e500 (8540)
56
57	  This module should only be used for low power (router) devices
58	  without hardware AES acceleration (e.g. caam crypto). It reduces the
59	  size of the AES tables from 16KB to 8KB + 256 bytes and mitigates
60	  timining attacks. Nevertheless it might be not as secure as other
61	  architecture specific assembler implementations that work on 1KB
62	  tables or 256 bytes S-boxes.
63
64config CRYPTO_AES_GCM_P10
65	tristate "Stitched AES/GCM acceleration support on P10 or later CPU (PPC)"
66	depends on PPC64 && CPU_LITTLE_ENDIAN && VSX
67	select CRYPTO_LIB_AES
68	select CRYPTO_ALGAPI
69	select CRYPTO_AEAD
70	select CRYPTO_SKCIPHER
71	select CRYPTO_SIMD
72	help
73	  AEAD cipher: AES cipher algorithms (FIPS-197)
74	  GCM (Galois/Counter Mode) authenticated encryption mode (NIST SP800-38D)
75	  Architecture: powerpc64 using:
76	    - little-endian
77	    - Power10 or later features
78
79	  Support for cryptographic acceleration instructions on Power10 or
80	  later CPU. This module supports stitched acceleration for AES/GCM.
81
82config CRYPTO_DEV_VMX
83        bool "Support for VMX cryptographic acceleration instructions"
84        depends on PPC64 && VSX
85        help
86          Support for VMX cryptographic acceleration instructions.
87
88config CRYPTO_DEV_VMX_ENCRYPT
89	tristate "Encryption acceleration support on P8 CPU"
90	depends on CRYPTO_DEV_VMX
91	select CRYPTO_AES
92	select CRYPTO_CBC
93	select CRYPTO_CTR
94	select CRYPTO_GHASH
95	select CRYPTO_XTS
96	default m
97	help
98	  Support for VMX cryptographic acceleration instructions on Power8 CPU.
99	  This module supports acceleration for AES and GHASH in hardware. If you
100	  choose 'M' here, this module will be called vmx-crypto.
101
102endmenu
103