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