1# SPDX-License-Identifier: GPL-2.0 2 3menu "Accelerated Cryptographic Algorithms for CPU (powerpc)" 4 5config 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 18config 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 30config 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 38config 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 47config 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 55config 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 64config 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 75config 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 97config 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 114config 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 128config 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 140config CRYPTO_DEV_VMX 141 bool "Support for VMX cryptographic acceleration instructions" 142 depends on PPC64 && VSX 143 help 144 Support for VMX cryptographic acceleration instructions. 145 146config CRYPTO_DEV_VMX_ENCRYPT 147 tristate "Encryption acceleration support on P8 CPU" 148 depends on CRYPTO_DEV_VMX 149 select CRYPTO_AES 150 select CRYPTO_CBC 151 select CRYPTO_CTR 152 select CRYPTO_GHASH 153 select CRYPTO_XTS 154 default m 155 help 156 Support for VMX cryptographic acceleration instructions on Power8 CPU. 157 This module supports acceleration for AES and GHASH in hardware. If you 158 choose 'M' here, this module will be called vmx-crypto. 159 160endmenu 161