]> Git Repo - J-linux.git/blob - arch/powerpc/crypto/Kconfig
Merge tag 'vfs-6.13-rc7.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs
[J-linux.git] / arch / powerpc / crypto / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2
3 menu "Accelerated Cryptographic Algorithms for CPU (powerpc)"
4
5 config CRYPTO_CURVE25519_PPC64
6         tristate "Public key crypto: Curve25519 (PowerPC64)"
7         depends on PPC64 && CPU_LITTLE_ENDIAN
8         select CRYPTO_LIB_CURVE25519_GENERIC
9         select CRYPTO_ARCH_HAVE_LIB_CURVE25519
10         help
11           Curve25519 algorithm
12
13           Architecture: PowerPC64
14           - Little-endian
15
16 config CRYPTO_CRC32C_VPMSUM
17         tristate "CRC32c"
18         depends on PPC64 && ALTIVEC
19         select CRYPTO_HASH
20         select CRC32
21         help
22           CRC32c CRC algorithm with the iSCSI polynomial (RFC 3385 and RFC 3720)
23
24           Architecture: powerpc64 using
25           - AltiVec extensions
26
27           Enable on POWER8 and newer processors for improved performance.
28
29 config CRYPTO_CRCT10DIF_VPMSUM
30         tristate "CRC32T10DIF"
31         depends on PPC64 && ALTIVEC && CRC_T10DIF
32         select CRYPTO_HASH
33         help
34           CRC16 CRC algorithm used for the T10 (SCSI) Data Integrity Field (DIF)
35
36           Architecture: powerpc64 using
37           - AltiVec extensions
38
39           Enable on POWER8 and newer processors for improved performance.
40
41 config CRYPTO_VPMSUM_TESTER
42         tristate "CRC32c and CRC32T10DIF hardware acceleration tester"
43         depends on CRYPTO_CRCT10DIF_VPMSUM && CRYPTO_CRC32C_VPMSUM
44         help
45           Stress test for CRC32c and CRCT10DIF algorithms implemented with
46           powerpc64 AltiVec extensions (POWER8 vpmsum instructions).
47           Unless you are testing these algorithms, you don't need this.
48
49 config CRYPTO_MD5_PPC
50         tristate "Digests: MD5"
51         depends on PPC
52         select CRYPTO_HASH
53         help
54           MD5 message digest algorithm (RFC1321)
55
56           Architecture: powerpc
57
58 config CRYPTO_SHA1_PPC
59         tristate "Hash functions: SHA-1"
60         depends on PPC
61         help
62           SHA-1 secure hash algorithm (FIPS 180)
63
64           Architecture: powerpc
65
66 config CRYPTO_SHA1_PPC_SPE
67         tristate "Hash functions: SHA-1 (SPE)"
68         depends on PPC && SPE
69         help
70           SHA-1 secure hash algorithm (FIPS 180)
71
72           Architecture: powerpc using
73           - SPE (Signal Processing Engine) extensions
74
75 config CRYPTO_SHA256_PPC_SPE
76         tristate "Hash functions: SHA-224 and SHA-256 (SPE)"
77         depends on PPC && SPE
78         select CRYPTO_SHA256
79         select CRYPTO_HASH
80         help
81           SHA-224 and SHA-256 secure hash algorithms (FIPS 180)
82
83           Architecture: powerpc using
84           - SPE (Signal Processing Engine) extensions
85
86 config CRYPTO_AES_PPC_SPE
87         tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (SPE)"
88         depends on PPC && SPE
89         select CRYPTO_SKCIPHER
90         help
91           Block ciphers: AES cipher algorithms (FIPS-197)
92           Length-preserving ciphers: AES with ECB, CBC, CTR, and XTS modes
93
94           Architecture: powerpc using:
95           - SPE (Signal Processing Engine) extensions
96
97           SPE is available for:
98           - Processor Type: Freescale 8500
99           - CPU selection: e500 (8540)
100
101           This module should only be used for low power (router) devices
102           without hardware AES acceleration (e.g. caam crypto). It reduces the
103           size of the AES tables from 16KB to 8KB + 256 bytes and mitigates
104           timining attacks. Nevertheless it might be not as secure as other
105           architecture specific assembler implementations that work on 1KB
106           tables or 256 bytes S-boxes.
107
108 config CRYPTO_AES_GCM_P10
109         tristate "Stitched AES/GCM acceleration support on P10 or later CPU (PPC)"
110         depends on PPC64 && CPU_LITTLE_ENDIAN && VSX
111         select CRYPTO_LIB_AES
112         select CRYPTO_ALGAPI
113         select CRYPTO_AEAD
114         select CRYPTO_SKCIPHER
115         select CRYPTO_SIMD
116         help
117           AEAD cipher: AES cipher algorithms (FIPS-197)
118           GCM (Galois/Counter Mode) authenticated encryption mode (NIST SP800-38D)
119           Architecture: powerpc64 using:
120             - little-endian
121             - Power10 or later features
122
123           Support for cryptographic acceleration instructions on Power10 or
124           later CPU. This module supports stitched acceleration for AES/GCM.
125
126 config CRYPTO_CHACHA20_P10
127         tristate "Ciphers: ChaCha20, XChacha20, XChacha12 (P10 or later)"
128         depends on PPC64 && CPU_LITTLE_ENDIAN && VSX
129         select CRYPTO_SKCIPHER
130         select CRYPTO_LIB_CHACHA_GENERIC
131         select CRYPTO_ARCH_HAVE_LIB_CHACHA
132         help
133           Length-preserving ciphers: ChaCha20, XChaCha20, and XChaCha12
134           stream cipher algorithms
135
136           Architecture: PowerPC64
137           - Power10 or later
138           - Little-endian
139
140 config CRYPTO_POLY1305_P10
141         tristate "Hash functions: Poly1305 (P10 or later)"
142         depends on PPC64 && CPU_LITTLE_ENDIAN && VSX
143         select CRYPTO_HASH
144         select CRYPTO_LIB_POLY1305_GENERIC
145         help
146           Poly1305 authenticator algorithm (RFC7539)
147
148           Architecture: PowerPC64
149           - Power10 or later
150           - Little-endian
151
152 config CRYPTO_DEV_VMX
153         bool "Support for VMX cryptographic acceleration instructions"
154         depends on PPC64 && VSX
155         help
156           Support for VMX cryptographic acceleration instructions.
157
158 config CRYPTO_DEV_VMX_ENCRYPT
159         tristate "Encryption acceleration support on P8 CPU"
160         depends on CRYPTO_DEV_VMX
161         select CRYPTO_AES
162         select CRYPTO_CBC
163         select CRYPTO_CTR
164         select CRYPTO_GHASH
165         select CRYPTO_XTS
166         default m
167         help
168           Support for VMX cryptographic acceleration instructions on Power8 CPU.
169           This module supports acceleration for AES and GHASH in hardware. If you
170           choose 'M' here, this module will be called vmx-crypto.
171
172 endmenu
This page took 0.039743 seconds and 4 git commands to generate.