xref: /linux/arch/powerpc/crypto/Kconfig (revision ec84348da449d96ce5be47f7d00221cb8374f462)
16a490a4eSRobert Elliott# SPDX-License-Identifier: GPL-2.0
26a490a4eSRobert Elliott
36a490a4eSRobert Elliottmenu "Accelerated Cryptographic Algorithms for CPU (powerpc)"
46a490a4eSRobert Elliott
56a490a4eSRobert Elliottconfig CRYPTO_CRC32C_VPMSUM
6*ec84348dSRobert Elliott	tristate "CRC32c"
76a490a4eSRobert Elliott	depends on PPC64 && ALTIVEC
86a490a4eSRobert Elliott	select CRYPTO_HASH
96a490a4eSRobert Elliott	select CRC32
106a490a4eSRobert Elliott	help
11*ec84348dSRobert Elliott	  CRC32c CRC algorithm with the iSCSI polynomial (RFC 3385 and RFC 3720)
12*ec84348dSRobert Elliott
13*ec84348dSRobert Elliott	  Architecture: powerpc64 using
14*ec84348dSRobert Elliott	  - AltiVec extensions
15*ec84348dSRobert Elliott
16*ec84348dSRobert Elliott	  Enable on POWER8 and newer processors for improved performance.
176a490a4eSRobert Elliott
186a490a4eSRobert Elliottconfig CRYPTO_CRCT10DIF_VPMSUM
19*ec84348dSRobert Elliott	tristate "CRC32T10DIF"
206a490a4eSRobert Elliott	depends on PPC64 && ALTIVEC && CRC_T10DIF
216a490a4eSRobert Elliott	select CRYPTO_HASH
226a490a4eSRobert Elliott	help
23*ec84348dSRobert Elliott	  CRC16 CRC algorithm used for the T10 (SCSI) Data Integrity Field (DIF)
24*ec84348dSRobert Elliott
25*ec84348dSRobert Elliott	  Architecture: powerpc64 using
26*ec84348dSRobert Elliott	  - AltiVec extensions
27*ec84348dSRobert Elliott
28*ec84348dSRobert Elliott	  Enable on POWER8 and newer processors for improved performance.
296a490a4eSRobert Elliott
306a490a4eSRobert Elliottconfig CRYPTO_VPMSUM_TESTER
31*ec84348dSRobert Elliott	tristate "CRC32c and CRC32T10DIF hardware acceleration tester"
326a490a4eSRobert Elliott	depends on CRYPTO_CRCT10DIF_VPMSUM && CRYPTO_CRC32C_VPMSUM
336a490a4eSRobert Elliott	help
34*ec84348dSRobert Elliott	  Stress test for CRC32c and CRCT10DIF algorithms implemented with
35*ec84348dSRobert Elliott	  powerpc64 AltiVec extensions (POWER8 vpmsum instructions).
366a490a4eSRobert Elliott	  Unless you are testing these algorithms, you don't need this.
376a490a4eSRobert Elliott
386a490a4eSRobert Elliottconfig CRYPTO_MD5_PPC
396a490a4eSRobert Elliott	tristate "MD5 digest algorithm (PPC)"
406a490a4eSRobert Elliott	depends on PPC
416a490a4eSRobert Elliott	select CRYPTO_HASH
426a490a4eSRobert Elliott	help
436a490a4eSRobert Elliott	  MD5 message digest algorithm (RFC1321) implemented
446a490a4eSRobert Elliott	  in PPC assembler.
456a490a4eSRobert Elliott
466a490a4eSRobert Elliottconfig CRYPTO_SHA1_PPC
476a490a4eSRobert Elliott	tristate "SHA1 digest algorithm (powerpc)"
486a490a4eSRobert Elliott	depends on PPC
496a490a4eSRobert Elliott	help
506a490a4eSRobert Elliott	  This is the powerpc hardware accelerated implementation of the
516a490a4eSRobert Elliott	  SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
526a490a4eSRobert Elliott
536a490a4eSRobert Elliottconfig CRYPTO_SHA1_PPC_SPE
546a490a4eSRobert Elliott	tristate "SHA1 digest algorithm (PPC SPE)"
556a490a4eSRobert Elliott	depends on PPC && SPE
566a490a4eSRobert Elliott	help
576a490a4eSRobert Elliott	  SHA-1 secure hash standard (DFIPS 180-4) implemented
586a490a4eSRobert Elliott	  using powerpc SPE SIMD instruction set.
596a490a4eSRobert Elliott
606a490a4eSRobert Elliottconfig CRYPTO_SHA256_PPC_SPE
616a490a4eSRobert Elliott	tristate "SHA224 and SHA256 digest algorithm (PPC SPE)"
626a490a4eSRobert Elliott	depends on PPC && SPE
636a490a4eSRobert Elliott	select CRYPTO_SHA256
646a490a4eSRobert Elliott	select CRYPTO_HASH
656a490a4eSRobert Elliott	help
666a490a4eSRobert Elliott	  SHA224 and SHA256 secure hash standard (DFIPS 180-2)
676a490a4eSRobert Elliott	  implemented using powerpc SPE SIMD instruction set.
686a490a4eSRobert Elliott
696a490a4eSRobert Elliottconfig CRYPTO_AES_PPC_SPE
706a490a4eSRobert Elliott	tristate "AES cipher algorithms (PPC SPE)"
716a490a4eSRobert Elliott	depends on PPC && SPE
726a490a4eSRobert Elliott	select CRYPTO_SKCIPHER
736a490a4eSRobert Elliott	help
746a490a4eSRobert Elliott	  AES cipher algorithms (FIPS-197). Additionally the acceleration
756a490a4eSRobert Elliott	  for popular block cipher modes ECB, CBC, CTR and XTS is supported.
766a490a4eSRobert Elliott	  This module should only be used for low power (router) devices
776a490a4eSRobert Elliott	  without hardware AES acceleration (e.g. caam crypto). It reduces the
786a490a4eSRobert Elliott	  size of the AES tables from 16KB to 8KB + 256 bytes and mitigates
796a490a4eSRobert Elliott	  timining attacks. Nevertheless it might be not as secure as other
806a490a4eSRobert Elliott	  architecture specific assembler implementations that work on 1KB
816a490a4eSRobert Elliott	  tables or 256 bytes S-boxes.
826a490a4eSRobert Elliott
836a490a4eSRobert Elliottendmenu
84