1 # SPDX-License-Identifier: GPL-2.0
3 menu "Accelerated Cryptographic Algorithms for CPU (powerpc)"
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
13 Architecture: PowerPC64
16 config CRYPTO_CRC32C_VPMSUM
18 depends on PPC64 && ALTIVEC
22 CRC32c CRC algorithm with the iSCSI polynomial (RFC 3385 and RFC 3720)
24 Architecture: powerpc64 using
27 Enable on POWER8 and newer processors for improved performance.
29 config CRYPTO_CRCT10DIF_VPMSUM
30 tristate "CRC32T10DIF"
31 depends on PPC64 && ALTIVEC && CRC_T10DIF
34 CRC16 CRC algorithm used for the T10 (SCSI) Data Integrity Field (DIF)
36 Architecture: powerpc64 using
39 Enable on POWER8 and newer processors for improved performance.
41 config CRYPTO_VPMSUM_TESTER
42 tristate "CRC32c and CRC32T10DIF hardware acceleration tester"
43 depends on CRYPTO_CRCT10DIF_VPMSUM && CRYPTO_CRC32C_VPMSUM
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.
50 tristate "Digests: MD5"
54 MD5 message digest algorithm (RFC1321)
58 config CRYPTO_SHA1_PPC
59 tristate "Hash functions: SHA-1"
62 SHA-1 secure hash algorithm (FIPS 180)
66 config CRYPTO_SHA1_PPC_SPE
67 tristate "Hash functions: SHA-1 (SPE)"
70 SHA-1 secure hash algorithm (FIPS 180)
72 Architecture: powerpc using
73 - SPE (Signal Processing Engine) extensions
75 config CRYPTO_SHA256_PPC_SPE
76 tristate "Hash functions: SHA-224 and SHA-256 (SPE)"
81 SHA-224 and SHA-256 secure hash algorithms (FIPS 180)
83 Architecture: powerpc using
84 - SPE (Signal Processing Engine) extensions
86 config CRYPTO_AES_PPC_SPE
87 tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (SPE)"
89 select CRYPTO_SKCIPHER
91 Block ciphers: AES cipher algorithms (FIPS-197)
92 Length-preserving ciphers: AES with ECB, CBC, CTR, and XTS modes
94 Architecture: powerpc using:
95 - SPE (Signal Processing Engine) extensions
98 - Processor Type: Freescale 8500
99 - CPU selection: e500 (8540)
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.
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
114 select CRYPTO_SKCIPHER
117 AEAD cipher: AES cipher algorithms (FIPS-197)
118 GCM (Galois/Counter Mode) authenticated encryption mode (NIST SP800-38D)
119 Architecture: powerpc64 using:
121 - Power10 or later features
123 Support for cryptographic acceleration instructions on Power10 or
124 later CPU. This module supports stitched acceleration for AES/GCM.
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
133 Length-preserving ciphers: ChaCha20, XChaCha20, and XChaCha12
134 stream cipher algorithms
136 Architecture: PowerPC64
140 config CRYPTO_POLY1305_P10
141 tristate "Hash functions: Poly1305 (P10 or later)"
142 depends on PPC64 && CPU_LITTLE_ENDIAN && VSX
144 select CRYPTO_LIB_POLY1305_GENERIC
146 Poly1305 authenticator algorithm (RFC7539)
148 Architecture: PowerPC64
152 config CRYPTO_DEV_VMX
153 bool "Support for VMX cryptographic acceleration instructions"
154 depends on PPC64 && VSX
156 Support for VMX cryptographic acceleration instructions.
158 config CRYPTO_DEV_VMX_ENCRYPT
159 tristate "Encryption acceleration support on P8 CPU"
160 depends on CRYPTO_DEV_VMX
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.