arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.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_CRC32C_VPMSUM
6         tristate "CRC32c"
7         depends on PPC64 && ALTIVEC
8         select CRYPTO_HASH
9         select CRC32
10         help
11           CRC32c CRC algorithm with the iSCSI polynomial (RFC 3385 and RFC 3720)
12
13           Architecture: powerpc64 using
14           - AltiVec extensions
15
16           Enable on POWER8 and newer processors for improved performance.
17
18 config CRYPTO_CRCT10DIF_VPMSUM
19         tristate "CRC32T10DIF"
20         depends on PPC64 && ALTIVEC && CRC_T10DIF
21         select CRYPTO_HASH
22         help
23           CRC16 CRC algorithm used for the T10 (SCSI) Data Integrity Field (DIF)
24
25           Architecture: powerpc64 using
26           - AltiVec extensions
27
28           Enable on POWER8 and newer processors for improved performance.
29
30 config CRYPTO_VPMSUM_TESTER
31         tristate "CRC32c and CRC32T10DIF hardware acceleration tester"
32         depends on CRYPTO_CRCT10DIF_VPMSUM && CRYPTO_CRC32C_VPMSUM
33         help
34           Stress test for CRC32c and CRCT10DIF algorithms implemented with
35           powerpc64 AltiVec extensions (POWER8 vpmsum instructions).
36           Unless you are testing these algorithms, you don't need this.
37
38 config CRYPTO_MD5_PPC
39         tristate "Digests: MD5"
40         depends on PPC
41         select CRYPTO_HASH
42         help
43           MD5 message digest algorithm (RFC1321)
44
45           Architecture: powerpc
46
47 config CRYPTO_SHA1_PPC
48         tristate "Hash functions: SHA-1"
49         depends on PPC
50         help
51           SHA-1 secure hash algorithm (FIPS 180)
52
53           Architecture: powerpc
54
55 config CRYPTO_SHA1_PPC_SPE
56         tristate "Hash functions: SHA-1 (SPE)"
57         depends on PPC && SPE
58         help
59           SHA-1 secure hash algorithm (FIPS 180)
60
61           Architecture: powerpc using
62           - SPE (Signal Processing Engine) extensions
63
64 config CRYPTO_SHA256_PPC_SPE
65         tristate "Hash functions: SHA-224 and SHA-256 (SPE)"
66         depends on PPC && SPE
67         select CRYPTO_SHA256
68         select CRYPTO_HASH
69         help
70           SHA-224 and SHA-256 secure hash algorithms (FIPS 180)
71
72           Architecture: powerpc using
73           - SPE (Signal Processing Engine) extensions
74
75 config CRYPTO_AES_PPC_SPE
76         tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (SPE)"
77         depends on PPC && SPE
78         select CRYPTO_SKCIPHER
79         help
80           Block ciphers: AES cipher algorithms (FIPS-197)
81           Length-preserving ciphers: AES with ECB, CBC, CTR, and XTS modes
82
83           Architecture: powerpc using:
84           - SPE (Signal Processing Engine) extensions
85
86           SPE is available for:
87           - Processor Type: Freescale 8500
88           - CPU selection: e500 (8540)
89
90           This module should only be used for low power (router) devices
91           without hardware AES acceleration (e.g. caam crypto). It reduces the
92           size of the AES tables from 16KB to 8KB + 256 bytes and mitigates
93           timining attacks. Nevertheless it might be not as secure as other
94           architecture specific assembler implementations that work on 1KB
95           tables or 256 bytes S-boxes.
96
97 config CRYPTO_AES_GCM_P10
98         tristate "Stitched AES/GCM acceleration support on P10 or later CPU (PPC)"
99         depends on PPC64 && CPU_LITTLE_ENDIAN && VSX
100         select CRYPTO_LIB_AES
101         select CRYPTO_ALGAPI
102         select CRYPTO_AEAD
103         select CRYPTO_SKCIPHER
104         help
105           AEAD cipher: AES cipher algorithms (FIPS-197)
106           GCM (Galois/Counter Mode) authenticated encryption mode (NIST SP800-38D)
107           Architecture: powerpc64 using:
108             - little-endian
109             - Power10 or later features
110
111           Support for cryptographic acceleration instructions on Power10 or
112           later CPU. This module supports stitched acceleration for AES/GCM.
113
114 config CRYPTO_CHACHA20_P10
115         tristate "Ciphers: ChaCha20, XChacha20, XChacha12 (P10 or later)"
116         depends on PPC64 && CPU_LITTLE_ENDIAN && VSX
117         select CRYPTO_SKCIPHER
118         select CRYPTO_LIB_CHACHA_GENERIC
119         select CRYPTO_ARCH_HAVE_LIB_CHACHA
120         help
121           Length-preserving ciphers: ChaCha20, XChaCha20, and XChaCha12
122           stream cipher algorithms
123
124           Architecture: PowerPC64
125           - Power10 or later
126           - Little-endian
127
128 config CRYPTO_POLY1305_P10
129         tristate "Hash functions: Poly1305 (P10 or later)"
130         depends on PPC64 && CPU_LITTLE_ENDIAN && VSX
131         select CRYPTO_HASH
132         select CRYPTO_LIB_POLY1305_GENERIC
133         help
134           Poly1305 authenticator algorithm (RFC7539)
135
136           Architecture: PowerPC64
137           - Power10 or later
138           - Little-endian
139
140 endmenu