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