## Generic algorithms support#config XOR_BLOCKS tristate ## async_tx api: hardware offloaded memory transfer/transform support#source "crypto/async_tx/Kconfig" ## Cryptographic API Configuration#menuconfig CRYPTO tristate "Cryptographic API" help This option provides the core Cryptographic API. if CRYPTO comment "Crypto core or helper" config CRYPTO_FIPS bool "FIPS 200 compliance" depends on (CRYPTO_ANSI_CPRNG || CRYPTO_DRBG) && !CRYPTO_MANAGER_DISABLE_TESTS depends on (MODULE_SIG || !MODULES) help This options enables the fips boot option which is required if you want to system to operate in a FIPS 200 certification. You should say no unless you know what this is. config CRYPTO_ALGAPI tristate select CRYPTO_ALGAPI2 help This option provides the API for cryptographic algorithms. config CRYPTO_ALGAPI2 tristate config CRYPTO_AEAD tristate select CRYPTO_AEAD2 select CRYPTO_ALGAPI config CRYPTO_AEAD2 tristate select CRYPTO_ALGAPI2 select CRYPTO_NULL2 select CRYPTO_RNG2 config CRYPTO_BLKCIPHER tristate select CRYPTO_BLKCIPHER2 select CRYPTO_ALGAPI config CRYPTO_BLKCIPHER2 tristate select CRYPTO_ALGAPI2 select CRYPTO_RNG2 select CRYPTO_WORKQUEUE config CRYPTO_HASH tristate select CRYPTO_HASH2 select CRYPTO_ALGAPI config CRYPTO_HASH2 tristate select CRYPTO_ALGAPI2 config CRYPTO_RNG tristate select CRYPTO_RNG2 select CRYPTO_ALGAPI config CRYPTO_RNG2 tristate select CRYPTO_ALGAPI2 config CRYPTO_RNG_DEFAULT tristate select CRYPTO_DRBG_MENU config CRYPTO_AKCIPHER2 tristate select CRYPTO_ALGAPI2 config CRYPTO_AKCIPHER tristate select CRYPTO_AKCIPHER2 select CRYPTO_ALGAPI config CRYPTO_KPP2 tristate select CRYPTO_ALGAPI2 config CRYPTO_KPP tristate select CRYPTO_ALGAPI select CRYPTO_KPP2 config CRYPTO_ACOMP2 tristate select CRYPTO_ALGAPI2 config CRYPTO_ACOMP tristate select CRYPTO_ALGAPI select CRYPTO_ACOMP2 config CRYPTO_RSA tristate "RSA algorithm" select CRYPTO_AKCIPHER select CRYPTO_MANAGER select MPILIB select ASN1 help Generic implementation of the RSA public key algorithm. config CRYPTO_DH tristate "Diffie-Hellman algorithm" select CRYPTO_KPP select MPILIB help Generic implementation of the Diffie-Hellman algorithm. config CRYPTO_ECDH tristate "ECDH algorithm" select CRYTPO_KPP select CRYPTO_RNG_DEFAULT help Generic implementation of the ECDH algorithm config CRYPTO_MANAGER tristate "Cryptographic algorithm manager" select CRYPTO_MANAGER2 help Create default cryptographic template instantiations such as cbc(aes). config CRYPTO_MANAGER2 def_tristate CRYPTO_MANAGER || (CRYPTO_MANAGER!=n && CRYPTO_ALGAPI=y) select CRYPTO_AEAD2 select CRYPTO_HASH2 select CRYPTO_BLKCIPHER2 select CRYPTO_AKCIPHER2 select CRYPTO_KPP2 select CRYPTO_ACOMP2 config CRYPTO_USER tristate "Userspace cryptographic algorithm configuration" depends on NET select CRYPTO_MANAGER help Userspace configuration for cryptographic instantiations such as cbc(aes). config CRYPTO_MANAGER_DISABLE_TESTS bool "Disable run-time self tests" default y depends on CRYPTO_MANAGER2 help Disable run-time self tests that normally take place at algorithm registration. config CRYPTO_GF128MUL tristate "GF(2^128) multiplication functions" help Efficient table driven implementation of multiplications in the field GF(2^128). This is needed by some cypher modes. This option will be selected automatically if you select such a cipher mode. Only select this option by hand if you expect to load an external module that requires these functions. config CRYPTO_NULL tristate "Null algorithms" select CRYPTO_NULL2 help These are 'Null' algorithms, used by IPsec, which do nothing. config CRYPTO_NULL2 tristate select CRYPTO_ALGAPI2 select CRYPTO_BLKCIPHER2 select CRYPTO_HASH2 config CRYPTO_PCRYPT tristate "Parallel crypto engine" depends on SMP select PADATA select CRYPTO_MANAGER select CRYPTO_AEAD help This converts an arbitrary crypto algorithm into a parallel algorithm that executes in kernel threads. config CRYPTO_WORKQUEUE tristate config CRYPTO_CRYPTD tristate "Software async crypto daemon" select CRYPTO_BLKCIPHER select CRYPTO_HASH select CRYPTO_MANAGER select CRYPTO_WORKQUEUE help This is a generic software asynchronous crypto daemon that converts an arbitrary synchronous software crypto algorithm into an asynchronous algorithm that executes in a kernel thread. config CRYPTO_MCRYPTD tristate "Software async multi-buffer crypto daemon" select CRYPTO_BLKCIPHER select CRYPTO_HASH select CRYPTO_MANAGER select CRYPTO_WORKQUEUE help This is a generic software asynchronous crypto daemon that provides the kernel thread to assist multi-buffer crypto algorithms for submitting jobs and flushing jobs in multi-buffer crypto algorithms. Multi-buffer crypto algorithms are executed in the context of this kernel thread and drivers can post their crypto request asynchronously to be processed by this daemon. config CRYPTO_AUTHENC tristate "Authenc support" select CRYPTO_AEAD select CRYPTO_BLKCIPHER select CRYPTO_MANAGER select CRYPTO_HASH select CRYPTO_NULL help Authenc: Combined mode wrapper for IPsec. This is required for IPSec. config CRYPTO_TEST tristate "Testing module" depends on m select CRYPTO_MANAGER help Quick & dirty crypto test module. config CRYPTO_ABLK_HELPER tristate select CRYPTO_CRYPTD config CRYPTO_SIMD tristate select CRYPTO_CRYPTD config CRYPTO_GLUE_HELPER_X86 tristate depends on X86 select CRYPTO_BLKCIPHER config CRYPTO_ENGINE tristate comment "Authenticated Encryption with Associated Data" config CRYPTO_CCM tristate "CCM support" select CRYPTO_CTR select CRYPTO_HASH select CRYPTO_AEAD help Support for Counter with CBC MAC. Required for IPsec. config CRYPTO_GCM tristate "GCM/GMAC support" select CRYPTO_CTR select CRYPTO_AEAD select CRYPTO_GHASH select CRYPTO_NULL help Support for Galois/Counter Mode (GCM) and Galois Message Authentication Code (GMAC). Required for IPSec. config CRYPTO_CHACHA20POLY1305 tristate "ChaCha20-Poly1305 AEAD support" select CRYPTO_CHACHA20 select CRYPTO_POLY1305 select CRYPTO_AEAD help ChaCha20-Poly1305 AEAD support, RFC7539. Support for the AEAD wrapper using the ChaCha20 stream cipher combined with the Poly1305 authenticator. It is defined in RFC7539 for use in IETF protocols. config CRYPTO_SEQIV tristate "Sequence Number IV Generator" select CRYPTO_AEAD select CRYPTO_BLKCIPHER select CRYPTO_NULL select CRYPTO_RNG_DEFAULT help This IV generator generates an IV based on a sequence number by xoring it with a salt. This algorithm is mainly useful for CTR config CRYPTO_ECHAINIV tristate "Encrypted Chain IV Generator" select CRYPTO_AEAD select CRYPTO_NULL select CRYPTO_RNG_DEFAULT default m help This IV generator generates an IV based on the encryption of a sequence number xored with a salt. This is the default algorithm for CBC. comment "Block modes" config CRYPTO_CBC tristate "CBC support" select CRYPTO_BLKCIPHER select CRYPTO_MANAGER help CBC: Cipher Block Chaining mode This block cipher algorithm is required for IPSec. config CRYPTO_CTR tristate "CTR support" select CRYPTO_BLKCIPHER select CRYPTO_SEQIV select CRYPTO_MANAGER help CTR: Counter mode This block cipher algorithm is required for IPSec. config CRYPTO_CTS tristate "CTS support" select CRYPTO_BLKCIPHER help CTS: Cipher Text Stealing This is the Cipher Text Stealing mode as described by Section 8 of rfc2040 and referenced by rfc3962. (rfc3962 includes errata information in its Appendix A) This mode is required for Kerberos gss mechanism support for AES encryption. config CRYPTO_ECB tristate "ECB support" select CRYPTO_BLKCIPHER select CRYPTO_MANAGER help ECB: Electronic CodeBook mode This is the simplest block cipher algorithm. It simply encrypts the input block by block. config CRYPTO_LRW tristate "LRW support" select CRYPTO_BLKCIPHER select CRYPTO_MANAGER select CRYPTO_GF128MUL help LRW: Liskov Rivest Wagner, a tweakable, non malleable, non movable narrow block cipher mode for dm-crypt. Use it with cipher specification string aes-lrw-benbi, the key must be 256, 320 or 384. The first 128, 192 or 256 bits in the key are used for AES and the rest is used to tie each cipher block to its logical position. config CRYPTO_PCBC tristate "PCBC support" select CRYPTO_BLKCIPHER select CRYPTO_MANAGER help PCBC: Propagating Cipher Block Chaining mode This block cipher algorithm is required for RxRPC. config CRYPTO_XTS tristate "XTS support" select CRYPTO_BLKCIPHER select CRYPTO_MANAGER select CRYPTO_ECB help XTS: IEEE1619/D16 narrow block cipher use with aes-xts-plain, key size 256, 384 or 512 bits. This implementation currently can't handle a sectorsize which is not a multiple of 16 bytes. config CRYPTO_KEYWRAP tristate "Key wrapping support" select CRYPTO_BLKCIPHER help Support for key wrapping (NIST SP800-38F / RFC3394) without padding. comment "Hash modes" config CRYPTO_CMAC tristate "CMAC support" select CRYPTO_HASH select CRYPTO_MANAGER help Cipher-based Message Authentication Code (CMAC) specified by The National Institute of Standards and Technology (NIST). https://tools.ietf.org/html/rfc4493 http://csrc.nist.gov/publications/nistpubs/800-38B/SP_800-38B.pdf config CRYPTO_HMAC tristate "HMAC support" select CRYPTO_HASH select CRYPTO_MANAGER help HMAC: Keyed-Hashing for Message Authentication (RFC2104). This is required for IPSec. config CRYPTO_XCBC tristate "XCBC support" select CRYPTO_HASH select CRYPTO_MANAGER help XCBC: Keyed-Hashing with encryption algorithm http://www.ietf.org/rfc/rfc3566.txt http://csrc.nist.gov/encryption/modes/proposedmodes/ xcbc-mac/xcbc-mac-spec.pdf config CRYPTO_VMAC tristate "VMAC support" select CRYPTO_HASH select CRYPTO_MANAGER help VMAC is a message authentication algorithm designed for very high speed on 64-bit architectures. See also: <http://fastcrypto.org/vmac> comment "Digest" config CRYPTO_CRC32C tristate "CRC32c CRC algorithm" select CRYPTO_HASH select CRC32 help Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used by iSCSI for header and data digests and by others. See Castagnoli93. Module will be crc32c. config CRYPTO_CRC32C_INTEL tristate "CRC32c INTEL hardware acceleration" depends on X86 select CRYPTO_HASH help In Intel processor with SSE4.2 supported, the processor will support CRC32C implementation using hardware accelerated CRC32 instruction. This option will create 'crc32c-intel' module, which will enable any routine to use the CRC32 instruction to gain performance compared with software implementation. Module will be crc32c-intel. config CRYPTO_CRC32C_VPMSUM tristate "CRC32c CRC algorithm (powerpc64)" depends on PPC64 && ALTIVEC select CRYPTO_HASH select CRC32 help CRC32c algorithm implemented using vector polynomial multiply-sum (vpmsum) instructions, introduced in POWER8. Enable on POWER8 and newer processors for improved performance. config CRYPTO_CRC32C_SPARC64 tristate "CRC32c CRC algorithm (SPARC64)" depends on SPARC64 select CRYPTO_HASH select CRC32 help CRC32c CRC algorithm implemented using sparc64 crypto instructions, when available. config CRYPTO_CRC32 tristate "CRC32 CRC algorithm" select CRYPTO_HASH select CRC32 help CRC-32-IEEE 802.3 cyclic redundancy-check algorithm. Shash crypto api wrappers to crc32_le function. config CRYPTO_CRC32_PCLMUL tristate "CRC32 PCLMULQDQ hardware acceleration" depends on X86 select CRYPTO_HASH select CRC32 help From Intel Westmere and AMD Bulldozer processor with SSE4.2 and PCLMULQDQ supported, the processor will support CRC32 PCLMULQDQ implementation using hardware accelerated PCLMULQDQ instruction. This option will create 'crc32-plcmul' module, which will enable any routine to use the CRC-32-IEEE 802.3 checksum and gain better performance as compared with the table implementation. config CRYPTO_CRCT10DIF tristate "CRCT10DIF algorithm" select CRYPTO_HASH helpLines 1–500 of 1768. Load more
# # Generic algorithms support # config XOR_BLOCKS tristate # # async_tx api: hardware offloaded memory transfer/transform support # source "crypto/async_tx/Kconfig" # # Cryptographic API Configuration # menuconfig CRYPTO tristate "Cryptographic API" help This option provides the core Cryptographic API. if CRYPTO comment "Crypto core or helper" config CRYPTO_FIPS bool "FIPS 200 compliance" depends on (CRYPTO_ANSI_CPRNG || CRYPTO_DRBG) && !CRYPTO_MANAGER_DISABLE_TESTS depends on (MODULE_SIG || !MODULES) help This options enables the fips boot option which is required if you want to system to operate in a FIPS 200 certification. You should say no unless you know what this is. config CRYPTO_ALGAPI tristate select CRYPTO_ALGAPI2 help This option provides the API for cryptographic algorithms. config CRYPTO_ALGAPI2 tristate config CRYPTO_AEAD tristate select CRYPTO_AEAD2 select CRYPTO_ALGAPI config CRYPTO_AEAD2 tristate select CRYPTO_ALGAPI2 select CRYPTO_NULL2 select CRYPTO_RNG2 config CRYPTO_BLKCIPHER tristate select CRYPTO_BLKCIPHER2 select CRYPTO_ALGAPI config CRYPTO_BLKCIPHER2 tristate select CRYPTO_ALGAPI2 select CRYPTO_RNG2 select CRYPTO_WORKQUEUE config CRYPTO_HASH tristate select CRYPTO_HASH2 select CRYPTO_ALGAPI config CRYPTO_HASH2 tristate select CRYPTO_ALGAPI2 config CRYPTO_RNG tristate select CRYPTO_RNG2 select CRYPTO_ALGAPI config CRYPTO_RNG2 tristate select CRYPTO_ALGAPI2 config CRYPTO_RNG_DEFAULT tristate select CRYPTO_DRBG_MENU config CRYPTO_AKCIPHER2 tristate select CRYPTO_ALGAPI2 config CRYPTO_AKCIPHER tristate select CRYPTO_AKCIPHER2 select CRYPTO_ALGAPI config CRYPTO_KPP2 tristate select CRYPTO_ALGAPI2 config CRYPTO_KPP tristate select CRYPTO_ALGAPI select CRYPTO_KPP2 config CRYPTO_ACOMP2 tristate select CRYPTO_ALGAPI2 config CRYPTO_ACOMP tristate select CRYPTO_ALGAPI select CRYPTO_ACOMP2 config CRYPTO_RSA tristate "RSA algorithm" select CRYPTO_AKCIPHER select CRYPTO_MANAGER select MPILIB select ASN1 help Generic implementation of the RSA public key algorithm. config CRYPTO_DH tristate "Diffie-Hellman algorithm" select CRYPTO_KPP select MPILIB help Generic implementation of the Diffie-Hellman algorithm. config CRYPTO_ECDH tristate "ECDH algorithm" select CRYTPO_KPP select CRYPTO_RNG_DEFAULT help Generic implementation of the ECDH algorithm config CRYPTO_MANAGER tristate "Cryptographic algorithm manager" select CRYPTO_MANAGER2 help Create default cryptographic template instantiations such as cbc(aes). config CRYPTO_MANAGER2 def_tristate CRYPTO_MANAGER || (CRYPTO_MANAGER!=n && CRYPTO_ALGAPI=y) select CRYPTO_AEAD2 select CRYPTO_HASH2 select CRYPTO_BLKCIPHER2 select CRYPTO_AKCIPHER2 select CRYPTO_KPP2 select CRYPTO_ACOMP2 config CRYPTO_USER tristate "Userspace cryptographic algorithm configuration" depends on NET select CRYPTO_MANAGER help Userspace configuration for cryptographic instantiations such as cbc(aes). config CRYPTO_MANAGER_DISABLE_TESTS bool "Disable run-time self tests" default y depends on CRYPTO_MANAGER2 help Disable run-time self tests that normally take place at algorithm registration. config CRYPTO_GF128MUL tristate "GF(2^128) multiplication functions" help Efficient table driven implementation of multiplications in the field GF(2^128). This is needed by some cypher modes. This option will be selected automatically if you select such a cipher mode. Only select this option by hand if you expect to load an external module that requires these functions. config CRYPTO_NULL tristate "Null algorithms" select CRYPTO_NULL2 help These are 'Null' algorithms, used by IPsec, which do nothing. config CRYPTO_NULL2 tristate select CRYPTO_ALGAPI2 select CRYPTO_BLKCIPHER2 select CRYPTO_HASH2 config CRYPTO_PCRYPT tristate "Parallel crypto engine" depends on SMP select PADATA select CRYPTO_MANAGER select CRYPTO_AEAD help This converts an arbitrary crypto algorithm into a parallel algorithm that executes in kernel threads. config CRYPTO_WORKQUEUE tristate config CRYPTO_CRYPTD tristate "Software async crypto daemon" select CRYPTO_BLKCIPHER select CRYPTO_HASH select CRYPTO_MANAGER select CRYPTO_WORKQUEUE help This is a generic software asynchronous crypto daemon that converts an arbitrary synchronous software crypto algorithm into an asynchronous algorithm that executes in a kernel thread. config CRYPTO_MCRYPTD tristate "Software async multi-buffer crypto daemon" select CRYPTO_BLKCIPHER select CRYPTO_HASH select CRYPTO_MANAGER select CRYPTO_WORKQUEUE help This is a generic software asynchronous crypto daemon that provides the kernel thread to assist multi-buffer crypto algorithms for submitting jobs and flushing jobs in multi-buffer crypto algorithms. Multi-buffer crypto algorithms are executed in the context of this kernel thread and drivers can post their crypto request asynchronously to be processed by this daemon. config CRYPTO_AUTHENC tristate "Authenc support" select CRYPTO_AEAD select CRYPTO_BLKCIPHER select CRYPTO_MANAGER select CRYPTO_HASH select CRYPTO_NULL help Authenc: Combined mode wrapper for IPsec. This is required for IPSec. config CRYPTO_TEST tristate "Testing module" depends on m select CRYPTO_MANAGER help Quick & dirty crypto test module. config CRYPTO_ABLK_HELPER tristate select CRYPTO_CRYPTD config CRYPTO_SIMD tristate select CRYPTO_CRYPTD config CRYPTO_GLUE_HELPER_X86 tristate depends on X86 select CRYPTO_BLKCIPHER config CRYPTO_ENGINE tristate comment "Authenticated Encryption with Associated Data" config CRYPTO_CCM tristate "CCM support" select CRYPTO_CTR select CRYPTO_HASH select CRYPTO_AEAD help Support for Counter with CBC MAC. Required for IPsec. config CRYPTO_GCM tristate "GCM/GMAC support" select CRYPTO_CTR select CRYPTO_AEAD select CRYPTO_GHASH select CRYPTO_NULL help Support for Galois/Counter Mode (GCM) and Galois Message Authentication Code (GMAC). Required for IPSec. config CRYPTO_CHACHA20POLY1305 tristate "ChaCha20-Poly1305 AEAD support" select CRYPTO_CHACHA20 select CRYPTO_POLY1305 select CRYPTO_AEAD help ChaCha20-Poly1305 AEAD support, RFC7539. Support for the AEAD wrapper using the ChaCha20 stream cipher combined with the Poly1305 authenticator. It is defined in RFC7539 for use in IETF protocols. config CRYPTO_SEQIV tristate "Sequence Number IV Generator" select CRYPTO_AEAD select CRYPTO_BLKCIPHER select CRYPTO_NULL select CRYPTO_RNG_DEFAULT help This IV generator generates an IV based on a sequence number by xoring it with a salt. This algorithm is mainly useful for CTR config CRYPTO_ECHAINIV tristate "Encrypted Chain IV Generator" select CRYPTO_AEAD select CRYPTO_NULL select CRYPTO_RNG_DEFAULT default m help This IV generator generates an IV based on the encryption of a sequence number xored with a salt. This is the default algorithm for CBC. comment "Block modes" config CRYPTO_CBC tristate "CBC support" select CRYPTO_BLKCIPHER select CRYPTO_MANAGER help CBC: Cipher Block Chaining mode This block cipher algorithm is required for IPSec. config CRYPTO_CTR tristate "CTR support" select CRYPTO_BLKCIPHER select CRYPTO_SEQIV select CRYPTO_MANAGER help CTR: Counter mode This block cipher algorithm is required for IPSec. config CRYPTO_CTS tristate "CTS support" select CRYPTO_BLKCIPHER help CTS: Cipher Text Stealing This is the Cipher Text Stealing mode as described by Section 8 of rfc2040 and referenced by rfc3962. (rfc3962 includes errata information in its Appendix A) This mode is required for Kerberos gss mechanism support for AES encryption. config CRYPTO_ECB tristate "ECB support" select CRYPTO_BLKCIPHER select CRYPTO_MANAGER help ECB: Electronic CodeBook mode This is the simplest block cipher algorithm. It simply encrypts the input block by block. config CRYPTO_LRW tristate "LRW support" select CRYPTO_BLKCIPHER select CRYPTO_MANAGER select CRYPTO_GF128MUL help LRW: Liskov Rivest Wagner, a tweakable, non malleable, non movable narrow block cipher mode for dm-crypt. Use it with cipher specification string aes-lrw-benbi, the key must be 256, 320 or 384. The first 128, 192 or 256 bits in the key are used for AES and the rest is used to tie each cipher block to its logical position. config CRYPTO_PCBC tristate "PCBC support" select CRYPTO_BLKCIPHER select CRYPTO_MANAGER help PCBC: Propagating Cipher Block Chaining mode This block cipher algorithm is required for RxRPC. config CRYPTO_XTS tristate "XTS support" select CRYPTO_BLKCIPHER select CRYPTO_MANAGER select CRYPTO_ECB help XTS: IEEE1619/D16 narrow block cipher use with aes-xts-plain, key size 256, 384 or 512 bits. This implementation currently can't handle a sectorsize which is not a multiple of 16 bytes. config CRYPTO_KEYWRAP tristate "Key wrapping support" select CRYPTO_BLKCIPHER help Support for key wrapping (NIST SP800-38F / RFC3394) without padding. comment "Hash modes" config CRYPTO_CMAC tristate "CMAC support" select CRYPTO_HASH select CRYPTO_MANAGER help Cipher-based Message Authentication Code (CMAC) specified by The National Institute of Standards and Technology (NIST). https://tools.ietf.org/html/rfc4493 http://csrc.nist.gov/publications/nistpubs/800-38B/SP_800-38B.pdf config CRYPTO_HMAC tristate "HMAC support" select CRYPTO_HASH select CRYPTO_MANAGER help HMAC: Keyed-Hashing for Message Authentication (RFC2104). This is required for IPSec. config CRYPTO_XCBC tristate "XCBC support" select CRYPTO_HASH select CRYPTO_MANAGER help XCBC: Keyed-Hashing with encryption algorithm http://www.ietf.org/rfc/rfc3566.txt http://csrc.nist.gov/encryption/modes/proposedmodes/ xcbc-mac/xcbc-mac-spec.pdf config CRYPTO_VMAC tristate "VMAC support" select CRYPTO_HASH select CRYPTO_MANAGER help VMAC is a message authentication algorithm designed for very high speed on 64-bit architectures. See also: <http://fastcrypto.org/vmac> comment "Digest" config CRYPTO_CRC32C tristate "CRC32c CRC algorithm" select CRYPTO_HASH select CRC32 help Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used by iSCSI for header and data digests and by others. See Castagnoli93. Module will be crc32c. config CRYPTO_CRC32C_INTEL tristate "CRC32c INTEL hardware acceleration" depends on X86 select CRYPTO_HASH help In Intel processor with SSE4.2 supported, the processor will support CRC32C implementation using hardware accelerated CRC32 instruction. This option will create 'crc32c-intel' module, which will enable any routine to use the CRC32 instruction to gain performance compared with software implementation. Module will be crc32c-intel. config CRYPTO_CRC32C_VPMSUM tristate "CRC32c CRC algorithm (powerpc64)" depends on PPC64 && ALTIVEC select CRYPTO_HASH select CRC32 help CRC32c algorithm implemented using vector polynomial multiply-sum (vpmsum) instructions, introduced in POWER8. Enable on POWER8 and newer processors for improved performance. config CRYPTO_CRC32C_SPARC64 tristate "CRC32c CRC algorithm (SPARC64)" depends on SPARC64 select CRYPTO_HASH select CRC32 help CRC32c CRC algorithm implemented using sparc64 crypto instructions, when available. config CRYPTO_CRC32 tristate "CRC32 CRC algorithm" select CRYPTO_HASH select CRC32 help CRC-32-IEEE 802.3 cyclic redundancy-check algorithm. Shash crypto api wrappers to crc32_le function. config CRYPTO_CRC32_PCLMUL tristate "CRC32 PCLMULQDQ hardware acceleration" depends on X86 select CRYPTO_HASH select CRC32 help From Intel Westmere and AMD Bulldozer processor with SSE4.2 and PCLMULQDQ supported, the processor will support CRC32 PCLMULQDQ implementation using hardware accelerated PCLMULQDQ instruction. This option will create 'crc32-plcmul' module, which will enable any routine to use the CRC-32-IEEE 802.3 checksum and gain better performance as compared with the table implementation. config CRYPTO_CRCT10DIF tristate "CRCT10DIF algorithm" select CRYPTO_HASH help