11da177e4SLinus Torvalds# 2685784aaSDan Williams# Generic algorithms support 3685784aaSDan Williams# 4685784aaSDan Williamsconfig XOR_BLOCKS 5685784aaSDan Williams tristate 6685784aaSDan Williams 7685784aaSDan Williams# 89bc89cd8SDan Williams# async_tx api: hardware offloaded memory transfer/transform support 99bc89cd8SDan Williams# 109bc89cd8SDan Williamssource "crypto/async_tx/Kconfig" 119bc89cd8SDan Williams 129bc89cd8SDan Williams# 131da177e4SLinus Torvalds# Cryptographic API Configuration 141da177e4SLinus Torvalds# 152e290f43SJan Engelhardtmenuconfig CRYPTO 16c3715cb9SSebastian Siewior tristate "Cryptographic API" 171da177e4SLinus Torvalds help 181da177e4SLinus Torvalds This option provides the core Cryptographic API. 191da177e4SLinus Torvalds 20cce9e06dSHerbert Xuif CRYPTO 21cce9e06dSHerbert Xu 22584fffc8SSebastian Siewiorcomment "Crypto core or helper" 23584fffc8SSebastian Siewior 24ccb778e1SNeil Hormanconfig CRYPTO_FIPS 25ccb778e1SNeil Horman bool "FIPS 200 compliance" 26f2c89a10SHerbert Xu depends on (CRYPTO_ANSI_CPRNG || CRYPTO_DRBG) && !CRYPTO_MANAGER_DISABLE_TESTS 27002c77a4SJarod Wilson depends on MODULE_SIG 28ccb778e1SNeil Horman help 29ccb778e1SNeil Horman This options enables the fips boot option which is 30ccb778e1SNeil Horman required if you want to system to operate in a FIPS 200 31ccb778e1SNeil Horman certification. You should say no unless you know what 32e84c5480SChuck Ebbert this is. 33ccb778e1SNeil Horman 34cce9e06dSHerbert Xuconfig CRYPTO_ALGAPI 35cce9e06dSHerbert Xu tristate 366a0fcbb4SHerbert Xu select CRYPTO_ALGAPI2 37cce9e06dSHerbert Xu help 38cce9e06dSHerbert Xu This option provides the API for cryptographic algorithms. 39cce9e06dSHerbert Xu 406a0fcbb4SHerbert Xuconfig CRYPTO_ALGAPI2 416a0fcbb4SHerbert Xu tristate 426a0fcbb4SHerbert Xu 431ae97820SHerbert Xuconfig CRYPTO_AEAD 441ae97820SHerbert Xu tristate 456a0fcbb4SHerbert Xu select CRYPTO_AEAD2 461ae97820SHerbert Xu select CRYPTO_ALGAPI 471ae97820SHerbert Xu 486a0fcbb4SHerbert Xuconfig CRYPTO_AEAD2 496a0fcbb4SHerbert Xu tristate 506a0fcbb4SHerbert Xu select CRYPTO_ALGAPI2 516a0fcbb4SHerbert Xu 525cde0af2SHerbert Xuconfig CRYPTO_BLKCIPHER 535cde0af2SHerbert Xu tristate 546a0fcbb4SHerbert Xu select CRYPTO_BLKCIPHER2 555cde0af2SHerbert Xu select CRYPTO_ALGAPI 566a0fcbb4SHerbert Xu 576a0fcbb4SHerbert Xuconfig CRYPTO_BLKCIPHER2 586a0fcbb4SHerbert Xu tristate 596a0fcbb4SHerbert Xu select CRYPTO_ALGAPI2 606a0fcbb4SHerbert Xu select CRYPTO_RNG2 610a2e821dSHuang Ying select CRYPTO_WORKQUEUE 625cde0af2SHerbert Xu 63055bcee3SHerbert Xuconfig CRYPTO_HASH 64055bcee3SHerbert Xu tristate 656a0fcbb4SHerbert Xu select CRYPTO_HASH2 66055bcee3SHerbert Xu select CRYPTO_ALGAPI 67055bcee3SHerbert Xu 686a0fcbb4SHerbert Xuconfig CRYPTO_HASH2 696a0fcbb4SHerbert Xu tristate 706a0fcbb4SHerbert Xu select CRYPTO_ALGAPI2 716a0fcbb4SHerbert Xu 7217f0f4a4SNeil Hormanconfig CRYPTO_RNG 7317f0f4a4SNeil Horman tristate 746a0fcbb4SHerbert Xu select CRYPTO_RNG2 7517f0f4a4SNeil Horman select CRYPTO_ALGAPI 7617f0f4a4SNeil Horman 776a0fcbb4SHerbert Xuconfig CRYPTO_RNG2 786a0fcbb4SHerbert Xu tristate 796a0fcbb4SHerbert Xu select CRYPTO_ALGAPI2 806a0fcbb4SHerbert Xu 81a1d2f095SGeert Uytterhoevenconfig CRYPTO_PCOMP 82a1d2f095SGeert Uytterhoeven tristate 83bc94e596SHerbert Xu select CRYPTO_PCOMP2 84bc94e596SHerbert Xu select CRYPTO_ALGAPI 85bc94e596SHerbert Xu 86bc94e596SHerbert Xuconfig CRYPTO_PCOMP2 87bc94e596SHerbert Xu tristate 88a1d2f095SGeert Uytterhoeven select CRYPTO_ALGAPI2 89a1d2f095SGeert Uytterhoeven 902b8c19dbSHerbert Xuconfig CRYPTO_MANAGER 912b8c19dbSHerbert Xu tristate "Cryptographic algorithm manager" 926a0fcbb4SHerbert Xu select CRYPTO_MANAGER2 932b8c19dbSHerbert Xu help 942b8c19dbSHerbert Xu Create default cryptographic template instantiations such as 952b8c19dbSHerbert Xu cbc(aes). 962b8c19dbSHerbert Xu 976a0fcbb4SHerbert Xuconfig CRYPTO_MANAGER2 986a0fcbb4SHerbert Xu def_tristate CRYPTO_MANAGER || (CRYPTO_MANAGER!=n && CRYPTO_ALGAPI=y) 996a0fcbb4SHerbert Xu select CRYPTO_AEAD2 1006a0fcbb4SHerbert Xu select CRYPTO_HASH2 1016a0fcbb4SHerbert Xu select CRYPTO_BLKCIPHER2 102bc94e596SHerbert Xu select CRYPTO_PCOMP2 1036a0fcbb4SHerbert Xu 104a38f7907SSteffen Klassertconfig CRYPTO_USER 105a38f7907SSteffen Klassert tristate "Userspace cryptographic algorithm configuration" 1065db017aaSHerbert Xu depends on NET 107a38f7907SSteffen Klassert select CRYPTO_MANAGER 108a38f7907SSteffen Klassert help 109d19978f5SValdis.Kletnieks@vt.edu Userspace configuration for cryptographic instantiations such as 110a38f7907SSteffen Klassert cbc(aes). 111a38f7907SSteffen Klassert 112326a6346SHerbert Xuconfig CRYPTO_MANAGER_DISABLE_TESTS 113326a6346SHerbert Xu bool "Disable run-time self tests" 11400ca28a5SHerbert Xu default y 11500ca28a5SHerbert Xu depends on CRYPTO_MANAGER2 1160b767f96SAlexander Shishkin help 117326a6346SHerbert Xu Disable run-time self tests that normally take place at 118326a6346SHerbert Xu algorithm registration. 1190b767f96SAlexander Shishkin 120584fffc8SSebastian Siewiorconfig CRYPTO_GF128MUL 12108c70fc3SJussi Kivilinna tristate "GF(2^128) multiplication functions" 122584fffc8SSebastian Siewior help 123584fffc8SSebastian Siewior Efficient table driven implementation of multiplications in the 124584fffc8SSebastian Siewior field GF(2^128). This is needed by some cypher modes. This 125584fffc8SSebastian Siewior option will be selected automatically if you select such a 126584fffc8SSebastian Siewior cipher mode. Only select this option by hand if you expect to load 127584fffc8SSebastian Siewior an external module that requires these functions. 128584fffc8SSebastian Siewior 129584fffc8SSebastian Siewiorconfig CRYPTO_NULL 130584fffc8SSebastian Siewior tristate "Null algorithms" 131584fffc8SSebastian Siewior select CRYPTO_ALGAPI 132584fffc8SSebastian Siewior select CRYPTO_BLKCIPHER 133d35d2454SHerbert Xu select CRYPTO_HASH 134584fffc8SSebastian Siewior help 135584fffc8SSebastian Siewior These are 'Null' algorithms, used by IPsec, which do nothing. 136584fffc8SSebastian Siewior 1375068c7a8SSteffen Klassertconfig CRYPTO_PCRYPT 1383b4afaf2SKees Cook tristate "Parallel crypto engine" 1393b4afaf2SKees Cook depends on SMP 1405068c7a8SSteffen Klassert select PADATA 1415068c7a8SSteffen Klassert select CRYPTO_MANAGER 1425068c7a8SSteffen Klassert select CRYPTO_AEAD 1435068c7a8SSteffen Klassert help 1445068c7a8SSteffen Klassert This converts an arbitrary crypto algorithm into a parallel 1455068c7a8SSteffen Klassert algorithm that executes in kernel threads. 1465068c7a8SSteffen Klassert 14725c38d3fSHuang Yingconfig CRYPTO_WORKQUEUE 14825c38d3fSHuang Ying tristate 14925c38d3fSHuang Ying 150584fffc8SSebastian Siewiorconfig CRYPTO_CRYPTD 151584fffc8SSebastian Siewior tristate "Software async crypto daemon" 152584fffc8SSebastian Siewior select CRYPTO_BLKCIPHER 153b8a28251SLoc Ho select CRYPTO_HASH 154584fffc8SSebastian Siewior select CRYPTO_MANAGER 155254eff77SHuang Ying select CRYPTO_WORKQUEUE 156584fffc8SSebastian Siewior help 157584fffc8SSebastian Siewior This is a generic software asynchronous crypto daemon that 158584fffc8SSebastian Siewior converts an arbitrary synchronous software crypto algorithm 159584fffc8SSebastian Siewior into an asynchronous algorithm that executes in a kernel thread. 160584fffc8SSebastian Siewior 161584fffc8SSebastian Siewiorconfig CRYPTO_AUTHENC 162584fffc8SSebastian Siewior tristate "Authenc support" 163584fffc8SSebastian Siewior select CRYPTO_AEAD 164584fffc8SSebastian Siewior select CRYPTO_BLKCIPHER 165584fffc8SSebastian Siewior select CRYPTO_MANAGER 166584fffc8SSebastian Siewior select CRYPTO_HASH 167584fffc8SSebastian Siewior help 168584fffc8SSebastian Siewior Authenc: Combined mode wrapper for IPsec. 169584fffc8SSebastian Siewior This is required for IPSec. 170584fffc8SSebastian Siewior 171584fffc8SSebastian Siewiorconfig CRYPTO_TEST 172584fffc8SSebastian Siewior tristate "Testing module" 173584fffc8SSebastian Siewior depends on m 174da7f033dSHerbert Xu select CRYPTO_MANAGER 175584fffc8SSebastian Siewior help 176584fffc8SSebastian Siewior Quick & dirty crypto test module. 177584fffc8SSebastian Siewior 178a62b01cdSArd Biesheuvelconfig CRYPTO_ABLK_HELPER 179ffaf9156SJussi Kivilinna tristate 180ffaf9156SJussi Kivilinna select CRYPTO_CRYPTD 181ffaf9156SJussi Kivilinna 182596d8750SJussi Kivilinnaconfig CRYPTO_GLUE_HELPER_X86 183596d8750SJussi Kivilinna tristate 184596d8750SJussi Kivilinna depends on X86 185596d8750SJussi Kivilinna select CRYPTO_ALGAPI 186596d8750SJussi Kivilinna 187584fffc8SSebastian Siewiorcomment "Authenticated Encryption with Associated Data" 188584fffc8SSebastian Siewior 189584fffc8SSebastian Siewiorconfig CRYPTO_CCM 190584fffc8SSebastian Siewior tristate "CCM support" 191584fffc8SSebastian Siewior select CRYPTO_CTR 192584fffc8SSebastian Siewior select CRYPTO_AEAD 193584fffc8SSebastian Siewior help 194584fffc8SSebastian Siewior Support for Counter with CBC MAC. Required for IPsec. 195584fffc8SSebastian Siewior 196584fffc8SSebastian Siewiorconfig CRYPTO_GCM 197584fffc8SSebastian Siewior tristate "GCM/GMAC support" 198584fffc8SSebastian Siewior select CRYPTO_CTR 199584fffc8SSebastian Siewior select CRYPTO_AEAD 2009382d97aSHuang Ying select CRYPTO_GHASH 2019489667dSJussi Kivilinna select CRYPTO_NULL 202584fffc8SSebastian Siewior help 203584fffc8SSebastian Siewior Support for Galois/Counter Mode (GCM) and Galois Message 204584fffc8SSebastian Siewior Authentication Code (GMAC). Required for IPSec. 205584fffc8SSebastian Siewior 206584fffc8SSebastian Siewiorconfig CRYPTO_SEQIV 207584fffc8SSebastian Siewior tristate "Sequence Number IV Generator" 208584fffc8SSebastian Siewior select CRYPTO_AEAD 209584fffc8SSebastian Siewior select CRYPTO_BLKCIPHER 210a0f000ecSHerbert Xu select CRYPTO_RNG 211584fffc8SSebastian Siewior help 212584fffc8SSebastian Siewior This IV generator generates an IV based on a sequence number by 213584fffc8SSebastian Siewior xoring it with a salt. This algorithm is mainly useful for CTR 214584fffc8SSebastian Siewior 215584fffc8SSebastian Siewiorcomment "Block modes" 216584fffc8SSebastian Siewior 217584fffc8SSebastian Siewiorconfig CRYPTO_CBC 218584fffc8SSebastian Siewior tristate "CBC support" 219584fffc8SSebastian Siewior select CRYPTO_BLKCIPHER 220584fffc8SSebastian Siewior select CRYPTO_MANAGER 221584fffc8SSebastian Siewior help 222584fffc8SSebastian Siewior CBC: Cipher Block Chaining mode 223584fffc8SSebastian Siewior This block cipher algorithm is required for IPSec. 224584fffc8SSebastian Siewior 225584fffc8SSebastian Siewiorconfig CRYPTO_CTR 226584fffc8SSebastian Siewior tristate "CTR support" 227584fffc8SSebastian Siewior select CRYPTO_BLKCIPHER 228584fffc8SSebastian Siewior select CRYPTO_SEQIV 229584fffc8SSebastian Siewior select CRYPTO_MANAGER 230584fffc8SSebastian Siewior help 231584fffc8SSebastian Siewior CTR: Counter mode 232584fffc8SSebastian Siewior This block cipher algorithm is required for IPSec. 233584fffc8SSebastian Siewior 234584fffc8SSebastian Siewiorconfig CRYPTO_CTS 235584fffc8SSebastian Siewior tristate "CTS support" 236584fffc8SSebastian Siewior select CRYPTO_BLKCIPHER 237584fffc8SSebastian Siewior help 238584fffc8SSebastian Siewior CTS: Cipher Text Stealing 239584fffc8SSebastian Siewior This is the Cipher Text Stealing mode as described by 240584fffc8SSebastian Siewior Section 8 of rfc2040 and referenced by rfc3962. 241584fffc8SSebastian Siewior (rfc3962 includes errata information in its Appendix A) 242584fffc8SSebastian Siewior This mode is required for Kerberos gss mechanism support 243584fffc8SSebastian Siewior for AES encryption. 244584fffc8SSebastian Siewior 245584fffc8SSebastian Siewiorconfig CRYPTO_ECB 246584fffc8SSebastian Siewior tristate "ECB support" 247584fffc8SSebastian Siewior select CRYPTO_BLKCIPHER 248584fffc8SSebastian Siewior select CRYPTO_MANAGER 249584fffc8SSebastian Siewior help 250584fffc8SSebastian Siewior ECB: Electronic CodeBook mode 251584fffc8SSebastian Siewior This is the simplest block cipher algorithm. It simply encrypts 252584fffc8SSebastian Siewior the input block by block. 253584fffc8SSebastian Siewior 254584fffc8SSebastian Siewiorconfig CRYPTO_LRW 2552470a2b2SJussi Kivilinna tristate "LRW support" 256584fffc8SSebastian Siewior select CRYPTO_BLKCIPHER 257584fffc8SSebastian Siewior select CRYPTO_MANAGER 258584fffc8SSebastian Siewior select CRYPTO_GF128MUL 259584fffc8SSebastian Siewior help 260584fffc8SSebastian Siewior LRW: Liskov Rivest Wagner, a tweakable, non malleable, non movable 261584fffc8SSebastian Siewior narrow block cipher mode for dm-crypt. Use it with cipher 262584fffc8SSebastian Siewior specification string aes-lrw-benbi, the key must be 256, 320 or 384. 263584fffc8SSebastian Siewior The first 128, 192 or 256 bits in the key are used for AES and the 264584fffc8SSebastian Siewior rest is used to tie each cipher block to its logical position. 265584fffc8SSebastian Siewior 266584fffc8SSebastian Siewiorconfig CRYPTO_PCBC 267584fffc8SSebastian Siewior tristate "PCBC support" 268584fffc8SSebastian Siewior select CRYPTO_BLKCIPHER 269584fffc8SSebastian Siewior select CRYPTO_MANAGER 270584fffc8SSebastian Siewior help 271584fffc8SSebastian Siewior PCBC: Propagating Cipher Block Chaining mode 272584fffc8SSebastian Siewior This block cipher algorithm is required for RxRPC. 273584fffc8SSebastian Siewior 274584fffc8SSebastian Siewiorconfig CRYPTO_XTS 2755bcf8e6dSJussi Kivilinna tristate "XTS support" 276584fffc8SSebastian Siewior select CRYPTO_BLKCIPHER 277584fffc8SSebastian Siewior select CRYPTO_MANAGER 278584fffc8SSebastian Siewior select CRYPTO_GF128MUL 279584fffc8SSebastian Siewior help 280584fffc8SSebastian Siewior XTS: IEEE1619/D16 narrow block cipher use with aes-xts-plain, 281584fffc8SSebastian Siewior key size 256, 384 or 512 bits. This implementation currently 282584fffc8SSebastian Siewior can't handle a sectorsize which is not a multiple of 16 bytes. 283584fffc8SSebastian Siewior 284584fffc8SSebastian Siewiorcomment "Hash modes" 285584fffc8SSebastian Siewior 28693b5e86aSJussi Kivilinnaconfig CRYPTO_CMAC 28793b5e86aSJussi Kivilinna tristate "CMAC support" 28893b5e86aSJussi Kivilinna select CRYPTO_HASH 28993b5e86aSJussi Kivilinna select CRYPTO_MANAGER 29093b5e86aSJussi Kivilinna help 29193b5e86aSJussi Kivilinna Cipher-based Message Authentication Code (CMAC) specified by 29293b5e86aSJussi Kivilinna The National Institute of Standards and Technology (NIST). 29393b5e86aSJussi Kivilinna 29493b5e86aSJussi Kivilinna https://tools.ietf.org/html/rfc4493 29593b5e86aSJussi Kivilinna http://csrc.nist.gov/publications/nistpubs/800-38B/SP_800-38B.pdf 29693b5e86aSJussi Kivilinna 2971da177e4SLinus Torvaldsconfig CRYPTO_HMAC 2988425165dSHerbert Xu tristate "HMAC support" 2990796ae06SHerbert Xu select CRYPTO_HASH 30043518407SHerbert Xu select CRYPTO_MANAGER 3011da177e4SLinus Torvalds help 3021da177e4SLinus Torvalds HMAC: Keyed-Hashing for Message Authentication (RFC2104). 3031da177e4SLinus Torvalds This is required for IPSec. 3041da177e4SLinus Torvalds 305333b0d7eSKazunori MIYAZAWAconfig CRYPTO_XCBC 306333b0d7eSKazunori MIYAZAWA tristate "XCBC support" 307333b0d7eSKazunori MIYAZAWA select CRYPTO_HASH 308333b0d7eSKazunori MIYAZAWA select CRYPTO_MANAGER 309333b0d7eSKazunori MIYAZAWA help 310333b0d7eSKazunori MIYAZAWA XCBC: Keyed-Hashing with encryption algorithm 311333b0d7eSKazunori MIYAZAWA http://www.ietf.org/rfc/rfc3566.txt 312333b0d7eSKazunori MIYAZAWA http://csrc.nist.gov/encryption/modes/proposedmodes/ 313333b0d7eSKazunori MIYAZAWA xcbc-mac/xcbc-mac-spec.pdf 314333b0d7eSKazunori MIYAZAWA 315f1939f7cSShane Wangconfig CRYPTO_VMAC 316f1939f7cSShane Wang tristate "VMAC support" 317f1939f7cSShane Wang select CRYPTO_HASH 318f1939f7cSShane Wang select CRYPTO_MANAGER 319f1939f7cSShane Wang help 320f1939f7cSShane Wang VMAC is a message authentication algorithm designed for 321f1939f7cSShane Wang very high speed on 64-bit architectures. 322f1939f7cSShane Wang 323f1939f7cSShane Wang See also: 324f1939f7cSShane Wang <http://fastcrypto.org/vmac> 325f1939f7cSShane Wang 326584fffc8SSebastian Siewiorcomment "Digest" 327584fffc8SSebastian Siewior 328584fffc8SSebastian Siewiorconfig CRYPTO_CRC32C 329584fffc8SSebastian Siewior tristate "CRC32c CRC algorithm" 3305773a3e6SHerbert Xu select CRYPTO_HASH 3316a0962b2SDarrick J. Wong select CRC32 3321da177e4SLinus Torvalds help 333584fffc8SSebastian Siewior Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used 334584fffc8SSebastian Siewior by iSCSI for header and data digests and by others. 33569c35efcSHerbert Xu See Castagnoli93. Module will be crc32c. 3361da177e4SLinus Torvalds 3378cb51ba8SAustin Zhangconfig CRYPTO_CRC32C_INTEL 3388cb51ba8SAustin Zhang tristate "CRC32c INTEL hardware acceleration" 3398cb51ba8SAustin Zhang depends on X86 3408cb51ba8SAustin Zhang select CRYPTO_HASH 3418cb51ba8SAustin Zhang help 3428cb51ba8SAustin Zhang In Intel processor with SSE4.2 supported, the processor will 3438cb51ba8SAustin Zhang support CRC32C implementation using hardware accelerated CRC32 3448cb51ba8SAustin Zhang instruction. This option will create 'crc32c-intel' module, 3458cb51ba8SAustin Zhang which will enable any routine to use the CRC32 instruction to 3468cb51ba8SAustin Zhang gain performance compared with software implementation. 3478cb51ba8SAustin Zhang Module will be crc32c-intel. 3488cb51ba8SAustin Zhang 349442a7c40SDavid S. Millerconfig CRYPTO_CRC32C_SPARC64 350442a7c40SDavid S. Miller tristate "CRC32c CRC algorithm (SPARC64)" 351442a7c40SDavid S. Miller depends on SPARC64 352442a7c40SDavid S. Miller select CRYPTO_HASH 353442a7c40SDavid S. Miller select CRC32 354442a7c40SDavid S. Miller help 355442a7c40SDavid S. Miller CRC32c CRC algorithm implemented using sparc64 crypto instructions, 356442a7c40SDavid S. Miller when available. 357442a7c40SDavid S. Miller 35878c37d19SAlexander Boykoconfig CRYPTO_CRC32 35978c37d19SAlexander Boyko tristate "CRC32 CRC algorithm" 36078c37d19SAlexander Boyko select CRYPTO_HASH 36178c37d19SAlexander Boyko select CRC32 36278c37d19SAlexander Boyko help 36378c37d19SAlexander Boyko CRC-32-IEEE 802.3 cyclic redundancy-check algorithm. 36478c37d19SAlexander Boyko Shash crypto api wrappers to crc32_le function. 36578c37d19SAlexander Boyko 36678c37d19SAlexander Boykoconfig CRYPTO_CRC32_PCLMUL 36778c37d19SAlexander Boyko tristate "CRC32 PCLMULQDQ hardware acceleration" 36878c37d19SAlexander Boyko depends on X86 36978c37d19SAlexander Boyko select CRYPTO_HASH 37078c37d19SAlexander Boyko select CRC32 37178c37d19SAlexander Boyko help 37278c37d19SAlexander Boyko From Intel Westmere and AMD Bulldozer processor with SSE4.2 37378c37d19SAlexander Boyko and PCLMULQDQ supported, the processor will support 37478c37d19SAlexander Boyko CRC32 PCLMULQDQ implementation using hardware accelerated PCLMULQDQ 37578c37d19SAlexander Boyko instruction. This option will create 'crc32-plcmul' module, 37678c37d19SAlexander Boyko which will enable any routine to use the CRC-32-IEEE 802.3 checksum 37778c37d19SAlexander Boyko and gain better performance as compared with the table implementation. 37878c37d19SAlexander Boyko 37968411521SHerbert Xuconfig CRYPTO_CRCT10DIF 38068411521SHerbert Xu tristate "CRCT10DIF algorithm" 38168411521SHerbert Xu select CRYPTO_HASH 38268411521SHerbert Xu help 38368411521SHerbert Xu CRC T10 Data Integrity Field computation is being cast as 38468411521SHerbert Xu a crypto transform. This allows for faster crc t10 diff 38568411521SHerbert Xu transforms to be used if they are available. 38668411521SHerbert Xu 38768411521SHerbert Xuconfig CRYPTO_CRCT10DIF_PCLMUL 38868411521SHerbert Xu tristate "CRCT10DIF PCLMULQDQ hardware acceleration" 38968411521SHerbert Xu depends on X86 && 64BIT && CRC_T10DIF 39068411521SHerbert Xu select CRYPTO_HASH 39168411521SHerbert Xu help 39268411521SHerbert Xu For x86_64 processors with SSE4.2 and PCLMULQDQ supported, 39368411521SHerbert Xu CRC T10 DIF PCLMULQDQ computation can be hardware 39468411521SHerbert Xu accelerated PCLMULQDQ instruction. This option will create 39568411521SHerbert Xu 'crct10dif-plcmul' module, which is faster when computing the 39668411521SHerbert Xu crct10dif checksum as compared with the generic table implementation. 39768411521SHerbert Xu 3982cdc6899SHuang Yingconfig CRYPTO_GHASH 3992cdc6899SHuang Ying tristate "GHASH digest algorithm" 4002cdc6899SHuang Ying select CRYPTO_GF128MUL 4012cdc6899SHuang Ying help 4022cdc6899SHuang Ying GHASH is message digest algorithm for GCM (Galois/Counter Mode). 4032cdc6899SHuang Ying 4041da177e4SLinus Torvaldsconfig CRYPTO_MD4 4051da177e4SLinus Torvalds tristate "MD4 digest algorithm" 406808a1763SAdrian-Ken Rueegsegger select CRYPTO_HASH 4071da177e4SLinus Torvalds help 4081da177e4SLinus Torvalds MD4 message digest algorithm (RFC1320). 4091da177e4SLinus Torvalds 4101da177e4SLinus Torvaldsconfig CRYPTO_MD5 4111da177e4SLinus Torvalds tristate "MD5 digest algorithm" 41214b75ba7SAdrian-Ken Rueegsegger select CRYPTO_HASH 4131da177e4SLinus Torvalds help 4141da177e4SLinus Torvalds MD5 message digest algorithm (RFC1321). 4151da177e4SLinus Torvalds 416fa4dfedcSDavid S. Millerconfig CRYPTO_MD5_SPARC64 417fa4dfedcSDavid S. Miller tristate "MD5 digest algorithm (SPARC64)" 418fa4dfedcSDavid S. Miller depends on SPARC64 419fa4dfedcSDavid S. Miller select CRYPTO_MD5 420fa4dfedcSDavid S. Miller select CRYPTO_HASH 421fa4dfedcSDavid S. Miller help 422fa4dfedcSDavid S. Miller MD5 message digest algorithm (RFC1321) implemented 423fa4dfedcSDavid S. Miller using sparc64 crypto instructions, when available. 424fa4dfedcSDavid S. Miller 425584fffc8SSebastian Siewiorconfig CRYPTO_MICHAEL_MIC 426584fffc8SSebastian Siewior tristate "Michael MIC keyed digest algorithm" 42719e2bf14SAdrian-Ken Rueegsegger select CRYPTO_HASH 428584fffc8SSebastian Siewior help 429584fffc8SSebastian Siewior Michael MIC is used for message integrity protection in TKIP 430584fffc8SSebastian Siewior (IEEE 802.11i). This algorithm is required for TKIP, but it 431584fffc8SSebastian Siewior should not be used for other purposes because of the weakness 432584fffc8SSebastian Siewior of the algorithm. 433584fffc8SSebastian Siewior 43482798f90SAdrian-Ken Rueegseggerconfig CRYPTO_RMD128 43582798f90SAdrian-Ken Rueegsegger tristate "RIPEMD-128 digest algorithm" 4367c4468bcSHerbert Xu select CRYPTO_HASH 43782798f90SAdrian-Ken Rueegsegger help 43882798f90SAdrian-Ken Rueegsegger RIPEMD-128 (ISO/IEC 10118-3:2004). 43982798f90SAdrian-Ken Rueegsegger 44082798f90SAdrian-Ken Rueegsegger RIPEMD-128 is a 128-bit cryptographic hash function. It should only 44135ed4b35SMichael Witten be used as a secure replacement for RIPEMD. For other use cases, 44282798f90SAdrian-Ken Rueegsegger RIPEMD-160 should be used. 44382798f90SAdrian-Ken Rueegsegger 44482798f90SAdrian-Ken Rueegsegger Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. 4456d8de74cSJustin P. Mattock See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html> 44682798f90SAdrian-Ken Rueegsegger 44782798f90SAdrian-Ken Rueegseggerconfig CRYPTO_RMD160 44882798f90SAdrian-Ken Rueegsegger tristate "RIPEMD-160 digest algorithm" 449e5835fbaSHerbert Xu select CRYPTO_HASH 45082798f90SAdrian-Ken Rueegsegger help 45182798f90SAdrian-Ken Rueegsegger RIPEMD-160 (ISO/IEC 10118-3:2004). 45282798f90SAdrian-Ken Rueegsegger 45382798f90SAdrian-Ken Rueegsegger RIPEMD-160 is a 160-bit cryptographic hash function. It is intended 45482798f90SAdrian-Ken Rueegsegger to be used as a secure replacement for the 128-bit hash functions 455b6d44341SAdrian Bunk MD4, MD5 and it's predecessor RIPEMD 456b6d44341SAdrian Bunk (not to be confused with RIPEMD-128). 45782798f90SAdrian-Ken Rueegsegger 458b6d44341SAdrian Bunk It's speed is comparable to SHA1 and there are no known attacks 459b6d44341SAdrian Bunk against RIPEMD-160. 460534fe2c1SAdrian-Ken Rueegsegger 461534fe2c1SAdrian-Ken Rueegsegger Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. 4626d8de74cSJustin P. Mattock See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html> 463534fe2c1SAdrian-Ken Rueegsegger 464534fe2c1SAdrian-Ken Rueegseggerconfig CRYPTO_RMD256 465534fe2c1SAdrian-Ken Rueegsegger tristate "RIPEMD-256 digest algorithm" 466d8a5e2e9SHerbert Xu select CRYPTO_HASH 467534fe2c1SAdrian-Ken Rueegsegger help 468b6d44341SAdrian Bunk RIPEMD-256 is an optional extension of RIPEMD-128 with a 469b6d44341SAdrian Bunk 256 bit hash. It is intended for applications that require 470b6d44341SAdrian Bunk longer hash-results, without needing a larger security level 471b6d44341SAdrian Bunk (than RIPEMD-128). 472534fe2c1SAdrian-Ken Rueegsegger 473534fe2c1SAdrian-Ken Rueegsegger Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. 4746d8de74cSJustin P. Mattock See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html> 475534fe2c1SAdrian-Ken Rueegsegger 476534fe2c1SAdrian-Ken Rueegseggerconfig CRYPTO_RMD320 477534fe2c1SAdrian-Ken Rueegsegger tristate "RIPEMD-320 digest algorithm" 4783b8efb4cSHerbert Xu select CRYPTO_HASH 479534fe2c1SAdrian-Ken Rueegsegger help 480b6d44341SAdrian Bunk RIPEMD-320 is an optional extension of RIPEMD-160 with a 481b6d44341SAdrian Bunk 320 bit hash. It is intended for applications that require 482b6d44341SAdrian Bunk longer hash-results, without needing a larger security level 483b6d44341SAdrian Bunk (than RIPEMD-160). 484534fe2c1SAdrian-Ken Rueegsegger 48582798f90SAdrian-Ken Rueegsegger Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. 4866d8de74cSJustin P. Mattock See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html> 48782798f90SAdrian-Ken Rueegsegger 4881da177e4SLinus Torvaldsconfig CRYPTO_SHA1 4891da177e4SLinus Torvalds tristate "SHA1 digest algorithm" 49054ccb367SAdrian-Ken Rueegsegger select CRYPTO_HASH 4911da177e4SLinus Torvalds help 4921da177e4SLinus Torvalds SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). 4931da177e4SLinus Torvalds 49466be8951SMathias Krauseconfig CRYPTO_SHA1_SSSE3 4957c1da8d0Schandramouli narayanan tristate "SHA1 digest algorithm (SSSE3/AVX/AVX2)" 49666be8951SMathias Krause depends on X86 && 64BIT 49766be8951SMathias Krause select CRYPTO_SHA1 49866be8951SMathias Krause select CRYPTO_HASH 49966be8951SMathias Krause help 50066be8951SMathias Krause SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented 50166be8951SMathias Krause using Supplemental SSE3 (SSSE3) instructions or Advanced Vector 5027c1da8d0Schandramouli narayanan Extensions (AVX/AVX2), when available. 50366be8951SMathias Krause 5048275d1aaSTim Chenconfig CRYPTO_SHA256_SSSE3 5058275d1aaSTim Chen tristate "SHA256 digest algorithm (SSSE3/AVX/AVX2)" 5068275d1aaSTim Chen depends on X86 && 64BIT 5078275d1aaSTim Chen select CRYPTO_SHA256 5088275d1aaSTim Chen select CRYPTO_HASH 5098275d1aaSTim Chen help 5108275d1aaSTim Chen SHA-256 secure hash standard (DFIPS 180-2) implemented 5118275d1aaSTim Chen using Supplemental SSE3 (SSSE3) instructions, or Advanced Vector 5128275d1aaSTim Chen Extensions version 1 (AVX1), or Advanced Vector Extensions 5138275d1aaSTim Chen version 2 (AVX2) instructions, when available. 5148275d1aaSTim Chen 51587de4579STim Chenconfig CRYPTO_SHA512_SSSE3 51687de4579STim Chen tristate "SHA512 digest algorithm (SSSE3/AVX/AVX2)" 51787de4579STim Chen depends on X86 && 64BIT 51887de4579STim Chen select CRYPTO_SHA512 51987de4579STim Chen select CRYPTO_HASH 52087de4579STim Chen help 52187de4579STim Chen SHA-512 secure hash standard (DFIPS 180-2) implemented 52287de4579STim Chen using Supplemental SSE3 (SSSE3) instructions, or Advanced Vector 52387de4579STim Chen Extensions version 1 (AVX1), or Advanced Vector Extensions 52487de4579STim Chen version 2 (AVX2) instructions, when available. 52587de4579STim Chen 5264ff28d4cSDavid S. Millerconfig CRYPTO_SHA1_SPARC64 5274ff28d4cSDavid S. Miller tristate "SHA1 digest algorithm (SPARC64)" 5284ff28d4cSDavid S. Miller depends on SPARC64 5294ff28d4cSDavid S. Miller select CRYPTO_SHA1 5304ff28d4cSDavid S. Miller select CRYPTO_HASH 5314ff28d4cSDavid S. Miller help 5324ff28d4cSDavid S. Miller SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented 5334ff28d4cSDavid S. Miller using sparc64 crypto instructions, when available. 5344ff28d4cSDavid S. Miller 535f0be44f4SDavid McCulloughconfig CRYPTO_SHA1_ARM 536f0be44f4SDavid McCullough tristate "SHA1 digest algorithm (ARM-asm)" 537f0be44f4SDavid McCullough depends on ARM 538f0be44f4SDavid McCullough select CRYPTO_SHA1 539f0be44f4SDavid McCullough select CRYPTO_HASH 540f0be44f4SDavid McCullough help 541f0be44f4SDavid McCullough SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented 542f0be44f4SDavid McCullough using optimized ARM assembler. 543f0be44f4SDavid McCullough 54460468255SJussi Kivilinnaconfig CRYPTO_SHA1_ARM_NEON 54560468255SJussi Kivilinna tristate "SHA1 digest algorithm (ARM NEON)" 546*0777e3e1SArd Biesheuvel depends on ARM && KERNEL_MODE_NEON 54760468255SJussi Kivilinna select CRYPTO_SHA1_ARM 54860468255SJussi Kivilinna select CRYPTO_SHA1 54960468255SJussi Kivilinna select CRYPTO_HASH 55060468255SJussi Kivilinna help 55160468255SJussi Kivilinna SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented 55260468255SJussi Kivilinna using optimized ARM NEON assembly, when NEON instructions are 55360468255SJussi Kivilinna available. 55460468255SJussi Kivilinna 555323a6bf1SMichael Ellermanconfig CRYPTO_SHA1_PPC 556323a6bf1SMichael Ellerman tristate "SHA1 digest algorithm (powerpc)" 557323a6bf1SMichael Ellerman depends on PPC 558323a6bf1SMichael Ellerman help 559323a6bf1SMichael Ellerman This is the powerpc hardware accelerated implementation of the 560323a6bf1SMichael Ellerman SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). 561323a6bf1SMichael Ellerman 5621da177e4SLinus Torvaldsconfig CRYPTO_SHA256 563cd12fb90SJonathan Lynch tristate "SHA224 and SHA256 digest algorithm" 56450e109b5SAdrian-Ken Rueegsegger select CRYPTO_HASH 5651da177e4SLinus Torvalds help 5661da177e4SLinus Torvalds SHA256 secure hash standard (DFIPS 180-2). 5671da177e4SLinus Torvalds 5681da177e4SLinus Torvalds This version of SHA implements a 256 bit hash with 128 bits of 5691da177e4SLinus Torvalds security against collision attacks. 5701da177e4SLinus Torvalds 571cd12fb90SJonathan Lynch This code also includes SHA-224, a 224 bit hash with 112 bits 572cd12fb90SJonathan Lynch of security against collision attacks. 573cd12fb90SJonathan Lynch 57486c93b24SDavid S. Millerconfig CRYPTO_SHA256_SPARC64 57586c93b24SDavid S. Miller tristate "SHA224 and SHA256 digest algorithm (SPARC64)" 57686c93b24SDavid S. Miller depends on SPARC64 57786c93b24SDavid S. Miller select CRYPTO_SHA256 57886c93b24SDavid S. Miller select CRYPTO_HASH 57986c93b24SDavid S. Miller help 58086c93b24SDavid S. Miller SHA-256 secure hash standard (DFIPS 180-2) implemented 58186c93b24SDavid S. Miller using sparc64 crypto instructions, when available. 58286c93b24SDavid S. Miller 5831da177e4SLinus Torvaldsconfig CRYPTO_SHA512 5841da177e4SLinus Torvalds tristate "SHA384 and SHA512 digest algorithms" 585bd9d20dbSAdrian-Ken Rueegsegger select CRYPTO_HASH 5861da177e4SLinus Torvalds help 5871da177e4SLinus Torvalds SHA512 secure hash standard (DFIPS 180-2). 5881da177e4SLinus Torvalds 5891da177e4SLinus Torvalds This version of SHA implements a 512 bit hash with 256 bits of 5901da177e4SLinus Torvalds security against collision attacks. 5911da177e4SLinus Torvalds 5921da177e4SLinus Torvalds This code also includes SHA-384, a 384 bit hash with 192 bits 5931da177e4SLinus Torvalds of security against collision attacks. 5941da177e4SLinus Torvalds 595775e0c69SDavid S. Millerconfig CRYPTO_SHA512_SPARC64 596775e0c69SDavid S. Miller tristate "SHA384 and SHA512 digest algorithm (SPARC64)" 597775e0c69SDavid S. Miller depends on SPARC64 598775e0c69SDavid S. Miller select CRYPTO_SHA512 599775e0c69SDavid S. Miller select CRYPTO_HASH 600775e0c69SDavid S. Miller help 601775e0c69SDavid S. Miller SHA-512 secure hash standard (DFIPS 180-2) implemented 602775e0c69SDavid S. Miller using sparc64 crypto instructions, when available. 603775e0c69SDavid S. Miller 604c8611d71SJussi Kivilinnaconfig CRYPTO_SHA512_ARM_NEON 605c8611d71SJussi Kivilinna tristate "SHA384 and SHA512 digest algorithm (ARM NEON)" 606c8611d71SJussi Kivilinna depends on ARM && KERNEL_MODE_NEON && !CPU_BIG_ENDIAN 607c8611d71SJussi Kivilinna select CRYPTO_SHA512 608c8611d71SJussi Kivilinna select CRYPTO_HASH 609c8611d71SJussi Kivilinna help 610c8611d71SJussi Kivilinna SHA-512 secure hash standard (DFIPS 180-2) implemented 611c8611d71SJussi Kivilinna using ARM NEON instructions, when available. 612c8611d71SJussi Kivilinna 613c8611d71SJussi Kivilinna This version of SHA implements a 512 bit hash with 256 bits of 614c8611d71SJussi Kivilinna security against collision attacks. 615c8611d71SJussi Kivilinna 616c8611d71SJussi Kivilinna This code also includes SHA-384, a 384 bit hash with 192 bits 617c8611d71SJussi Kivilinna of security against collision attacks. 618c8611d71SJussi Kivilinna 6191da177e4SLinus Torvaldsconfig CRYPTO_TGR192 6201da177e4SLinus Torvalds tristate "Tiger digest algorithms" 621f63fbd3dSAdrian-Ken Rueegsegger select CRYPTO_HASH 6221da177e4SLinus Torvalds help 6231da177e4SLinus Torvalds Tiger hash algorithm 192, 160 and 128-bit hashes 6241da177e4SLinus Torvalds 6251da177e4SLinus Torvalds Tiger is a hash function optimized for 64-bit processors while 6261da177e4SLinus Torvalds still having decent performance on 32-bit processors. 6271da177e4SLinus Torvalds Tiger was developed by Ross Anderson and Eli Biham. 6281da177e4SLinus Torvalds 6291da177e4SLinus Torvalds See also: 6301da177e4SLinus Torvalds <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>. 6311da177e4SLinus Torvalds 632584fffc8SSebastian Siewiorconfig CRYPTO_WP512 633584fffc8SSebastian Siewior tristate "Whirlpool digest algorithms" 6344946510bSAdrian-Ken Rueegsegger select CRYPTO_HASH 6351da177e4SLinus Torvalds help 636584fffc8SSebastian Siewior Whirlpool hash algorithm 512, 384 and 256-bit hashes 6371da177e4SLinus Torvalds 638584fffc8SSebastian Siewior Whirlpool-512 is part of the NESSIE cryptographic primitives. 639584fffc8SSebastian Siewior Whirlpool will be part of the ISO/IEC 10118-3:2003(E) standard 6401da177e4SLinus Torvalds 6411da177e4SLinus Torvalds See also: 6426d8de74cSJustin P. Mattock <http://www.larc.usp.br/~pbarreto/WhirlpoolPage.html> 6431da177e4SLinus Torvalds 6440e1227d3SHuang Yingconfig CRYPTO_GHASH_CLMUL_NI_INTEL 6450e1227d3SHuang Ying tristate "GHASH digest algorithm (CLMUL-NI accelerated)" 6468af00860SRichard Weinberger depends on X86 && 64BIT 6470e1227d3SHuang Ying select CRYPTO_CRYPTD 6480e1227d3SHuang Ying help 6490e1227d3SHuang Ying GHASH is message digest algorithm for GCM (Galois/Counter Mode). 6500e1227d3SHuang Ying The implementation is accelerated by CLMUL-NI of Intel. 6510e1227d3SHuang Ying 652584fffc8SSebastian Siewiorcomment "Ciphers" 6531da177e4SLinus Torvalds 6541da177e4SLinus Torvaldsconfig CRYPTO_AES 6551da177e4SLinus Torvalds tristate "AES cipher algorithms" 656cce9e06dSHerbert Xu select CRYPTO_ALGAPI 6571da177e4SLinus Torvalds help 6581da177e4SLinus Torvalds AES cipher algorithms (FIPS-197). AES uses the Rijndael 6591da177e4SLinus Torvalds algorithm. 6601da177e4SLinus Torvalds 6611da177e4SLinus Torvalds Rijndael appears to be consistently a very good performer in 6621da177e4SLinus Torvalds both hardware and software across a wide range of computing 6631da177e4SLinus Torvalds environments regardless of its use in feedback or non-feedback 6641da177e4SLinus Torvalds modes. Its key setup time is excellent, and its key agility is 6651da177e4SLinus Torvalds good. Rijndael's very low memory requirements make it very well 6661da177e4SLinus Torvalds suited for restricted-space environments, in which it also 6671da177e4SLinus Torvalds demonstrates excellent performance. Rijndael's operations are 6681da177e4SLinus Torvalds among the easiest to defend against power and timing attacks. 6691da177e4SLinus Torvalds 6701da177e4SLinus Torvalds The AES specifies three key sizes: 128, 192 and 256 bits 6711da177e4SLinus Torvalds 6721da177e4SLinus Torvalds See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information. 6731da177e4SLinus Torvalds 6741da177e4SLinus Torvaldsconfig CRYPTO_AES_586 6751da177e4SLinus Torvalds tristate "AES cipher algorithms (i586)" 676cce9e06dSHerbert Xu depends on (X86 || UML_X86) && !64BIT 677cce9e06dSHerbert Xu select CRYPTO_ALGAPI 6785157dea8SSebastian Siewior select CRYPTO_AES 6791da177e4SLinus Torvalds help 6801da177e4SLinus Torvalds AES cipher algorithms (FIPS-197). AES uses the Rijndael 6811da177e4SLinus Torvalds algorithm. 6821da177e4SLinus Torvalds 6831da177e4SLinus Torvalds Rijndael appears to be consistently a very good performer in 6841da177e4SLinus Torvalds both hardware and software across a wide range of computing 6851da177e4SLinus Torvalds environments regardless of its use in feedback or non-feedback 6861da177e4SLinus Torvalds modes. Its key setup time is excellent, and its key agility is 6871da177e4SLinus Torvalds good. Rijndael's very low memory requirements make it very well 6881da177e4SLinus Torvalds suited for restricted-space environments, in which it also 6891da177e4SLinus Torvalds demonstrates excellent performance. Rijndael's operations are 6901da177e4SLinus Torvalds among the easiest to defend against power and timing attacks. 6911da177e4SLinus Torvalds 6921da177e4SLinus Torvalds The AES specifies three key sizes: 128, 192 and 256 bits 6931da177e4SLinus Torvalds 6941da177e4SLinus Torvalds See <http://csrc.nist.gov/encryption/aes/> for more information. 6951da177e4SLinus Torvalds 696a2a892a2SAndreas Steinmetzconfig CRYPTO_AES_X86_64 697a2a892a2SAndreas Steinmetz tristate "AES cipher algorithms (x86_64)" 698cce9e06dSHerbert Xu depends on (X86 || UML_X86) && 64BIT 699cce9e06dSHerbert Xu select CRYPTO_ALGAPI 70081190b32SSebastian Siewior select CRYPTO_AES 701a2a892a2SAndreas Steinmetz help 702a2a892a2SAndreas Steinmetz AES cipher algorithms (FIPS-197). AES uses the Rijndael 703a2a892a2SAndreas Steinmetz algorithm. 704a2a892a2SAndreas Steinmetz 705a2a892a2SAndreas Steinmetz Rijndael appears to be consistently a very good performer in 706a2a892a2SAndreas Steinmetz both hardware and software across a wide range of computing 707a2a892a2SAndreas Steinmetz environments regardless of its use in feedback or non-feedback 708a2a892a2SAndreas Steinmetz modes. Its key setup time is excellent, and its key agility is 709a2a892a2SAndreas Steinmetz good. Rijndael's very low memory requirements make it very well 710a2a892a2SAndreas Steinmetz suited for restricted-space environments, in which it also 711a2a892a2SAndreas Steinmetz demonstrates excellent performance. Rijndael's operations are 712a2a892a2SAndreas Steinmetz among the easiest to defend against power and timing attacks. 713a2a892a2SAndreas Steinmetz 714a2a892a2SAndreas Steinmetz The AES specifies three key sizes: 128, 192 and 256 bits 715a2a892a2SAndreas Steinmetz 716a2a892a2SAndreas Steinmetz See <http://csrc.nist.gov/encryption/aes/> for more information. 717a2a892a2SAndreas Steinmetz 71854b6a1bdSHuang Yingconfig CRYPTO_AES_NI_INTEL 71954b6a1bdSHuang Ying tristate "AES cipher algorithms (AES-NI)" 7208af00860SRichard Weinberger depends on X86 7210d258efbSMathias Krause select CRYPTO_AES_X86_64 if 64BIT 7220d258efbSMathias Krause select CRYPTO_AES_586 if !64BIT 72354b6a1bdSHuang Ying select CRYPTO_CRYPTD 724801201aaSArd Biesheuvel select CRYPTO_ABLK_HELPER 72554b6a1bdSHuang Ying select CRYPTO_ALGAPI 7267643a11aSJussi Kivilinna select CRYPTO_GLUE_HELPER_X86 if 64BIT 727023af608SJussi Kivilinna select CRYPTO_LRW 728023af608SJussi Kivilinna select CRYPTO_XTS 72954b6a1bdSHuang Ying help 73054b6a1bdSHuang Ying Use Intel AES-NI instructions for AES algorithm. 73154b6a1bdSHuang Ying 73254b6a1bdSHuang Ying AES cipher algorithms (FIPS-197). AES uses the Rijndael 73354b6a1bdSHuang Ying algorithm. 73454b6a1bdSHuang Ying 73554b6a1bdSHuang Ying Rijndael appears to be consistently a very good performer in 73654b6a1bdSHuang Ying both hardware and software across a wide range of computing 73754b6a1bdSHuang Ying environments regardless of its use in feedback or non-feedback 73854b6a1bdSHuang Ying modes. Its key setup time is excellent, and its key agility is 73954b6a1bdSHuang Ying good. Rijndael's very low memory requirements make it very well 74054b6a1bdSHuang Ying suited for restricted-space environments, in which it also 74154b6a1bdSHuang Ying demonstrates excellent performance. Rijndael's operations are 74254b6a1bdSHuang Ying among the easiest to defend against power and timing attacks. 74354b6a1bdSHuang Ying 74454b6a1bdSHuang Ying The AES specifies three key sizes: 128, 192 and 256 bits 74554b6a1bdSHuang Ying 74654b6a1bdSHuang Ying See <http://csrc.nist.gov/encryption/aes/> for more information. 74754b6a1bdSHuang Ying 7480d258efbSMathias Krause In addition to AES cipher algorithm support, the acceleration 7490d258efbSMathias Krause for some popular block cipher mode is supported too, including 7500d258efbSMathias Krause ECB, CBC, LRW, PCBC, XTS. The 64 bit version has additional 7510d258efbSMathias Krause acceleration for CTR. 7522cf4ac8bSHuang Ying 7539bf4852dSDavid S. Millerconfig CRYPTO_AES_SPARC64 7549bf4852dSDavid S. Miller tristate "AES cipher algorithms (SPARC64)" 7559bf4852dSDavid S. Miller depends on SPARC64 7569bf4852dSDavid S. Miller select CRYPTO_CRYPTD 7579bf4852dSDavid S. Miller select CRYPTO_ALGAPI 7589bf4852dSDavid S. Miller help 7599bf4852dSDavid S. Miller Use SPARC64 crypto opcodes for AES algorithm. 7609bf4852dSDavid S. Miller 7619bf4852dSDavid S. Miller AES cipher algorithms (FIPS-197). AES uses the Rijndael 7629bf4852dSDavid S. Miller algorithm. 7639bf4852dSDavid S. Miller 7649bf4852dSDavid S. Miller Rijndael appears to be consistently a very good performer in 7659bf4852dSDavid S. Miller both hardware and software across a wide range of computing 7669bf4852dSDavid S. Miller environments regardless of its use in feedback or non-feedback 7679bf4852dSDavid S. Miller modes. Its key setup time is excellent, and its key agility is 7689bf4852dSDavid S. Miller good. Rijndael's very low memory requirements make it very well 7699bf4852dSDavid S. Miller suited for restricted-space environments, in which it also 7709bf4852dSDavid S. Miller demonstrates excellent performance. Rijndael's operations are 7719bf4852dSDavid S. Miller among the easiest to defend against power and timing attacks. 7729bf4852dSDavid S. Miller 7739bf4852dSDavid S. Miller The AES specifies three key sizes: 128, 192 and 256 bits 7749bf4852dSDavid S. Miller 7759bf4852dSDavid S. Miller See <http://csrc.nist.gov/encryption/aes/> for more information. 7769bf4852dSDavid S. Miller 7779bf4852dSDavid S. Miller In addition to AES cipher algorithm support, the acceleration 7789bf4852dSDavid S. Miller for some popular block cipher mode is supported too, including 7799bf4852dSDavid S. Miller ECB and CBC. 7809bf4852dSDavid S. Miller 781f0be44f4SDavid McCulloughconfig CRYPTO_AES_ARM 782f0be44f4SDavid McCullough tristate "AES cipher algorithms (ARM-asm)" 783f0be44f4SDavid McCullough depends on ARM 784f0be44f4SDavid McCullough select CRYPTO_ALGAPI 785f0be44f4SDavid McCullough select CRYPTO_AES 786f0be44f4SDavid McCullough help 787f0be44f4SDavid McCullough Use optimized AES assembler routines for ARM platforms. 788f0be44f4SDavid McCullough 789f0be44f4SDavid McCullough AES cipher algorithms (FIPS-197). AES uses the Rijndael 790f0be44f4SDavid McCullough algorithm. 791f0be44f4SDavid McCullough 792f0be44f4SDavid McCullough Rijndael appears to be consistently a very good performer in 793f0be44f4SDavid McCullough both hardware and software across a wide range of computing 794f0be44f4SDavid McCullough environments regardless of its use in feedback or non-feedback 795f0be44f4SDavid McCullough modes. Its key setup time is excellent, and its key agility is 796f0be44f4SDavid McCullough good. Rijndael's very low memory requirements make it very well 797f0be44f4SDavid McCullough suited for restricted-space environments, in which it also 798f0be44f4SDavid McCullough demonstrates excellent performance. Rijndael's operations are 799f0be44f4SDavid McCullough among the easiest to defend against power and timing attacks. 800f0be44f4SDavid McCullough 801f0be44f4SDavid McCullough The AES specifies three key sizes: 128, 192 and 256 bits 802f0be44f4SDavid McCullough 803f0be44f4SDavid McCullough See <http://csrc.nist.gov/encryption/aes/> for more information. 804f0be44f4SDavid McCullough 805e4e7f10bSArd Biesheuvelconfig CRYPTO_AES_ARM_BS 806e4e7f10bSArd Biesheuvel tristate "Bit sliced AES using NEON instructions" 807e4e7f10bSArd Biesheuvel depends on ARM && KERNEL_MODE_NEON 808e4e7f10bSArd Biesheuvel select CRYPTO_ALGAPI 809e4e7f10bSArd Biesheuvel select CRYPTO_AES_ARM 810e4e7f10bSArd Biesheuvel select CRYPTO_ABLK_HELPER 811e4e7f10bSArd Biesheuvel help 812e4e7f10bSArd Biesheuvel Use a faster and more secure NEON based implementation of AES in CBC, 813e4e7f10bSArd Biesheuvel CTR and XTS modes 814e4e7f10bSArd Biesheuvel 815e4e7f10bSArd Biesheuvel Bit sliced AES gives around 45% speedup on Cortex-A15 for CTR mode 816e4e7f10bSArd Biesheuvel and for XTS mode encryption, CBC and XTS mode decryption speedup is 817e4e7f10bSArd Biesheuvel around 25%. (CBC encryption speed is not affected by this driver.) 818e4e7f10bSArd Biesheuvel This implementation does not rely on any lookup tables so it is 819e4e7f10bSArd Biesheuvel believed to be invulnerable to cache timing attacks. 820e4e7f10bSArd Biesheuvel 8211da177e4SLinus Torvaldsconfig CRYPTO_ANUBIS 8221da177e4SLinus Torvalds tristate "Anubis cipher algorithm" 823cce9e06dSHerbert Xu select CRYPTO_ALGAPI 8241da177e4SLinus Torvalds help 8251da177e4SLinus Torvalds Anubis cipher algorithm. 8261da177e4SLinus Torvalds 8271da177e4SLinus Torvalds Anubis is a variable key length cipher which can use keys from 8281da177e4SLinus Torvalds 128 bits to 320 bits in length. It was evaluated as a entrant 8291da177e4SLinus Torvalds in the NESSIE competition. 8301da177e4SLinus Torvalds 8311da177e4SLinus Torvalds See also: 8326d8de74cSJustin P. Mattock <https://www.cosic.esat.kuleuven.be/nessie/reports/> 8336d8de74cSJustin P. Mattock <http://www.larc.usp.br/~pbarreto/AnubisPage.html> 8341da177e4SLinus Torvalds 835584fffc8SSebastian Siewiorconfig CRYPTO_ARC4 836584fffc8SSebastian Siewior tristate "ARC4 cipher algorithm" 837b9b0f080SSebastian Andrzej Siewior select CRYPTO_BLKCIPHER 838e2ee95b8SHye-Shik Chang help 839584fffc8SSebastian Siewior ARC4 cipher algorithm. 840e2ee95b8SHye-Shik Chang 841584fffc8SSebastian Siewior ARC4 is a stream cipher using keys ranging from 8 bits to 2048 842584fffc8SSebastian Siewior bits in length. This algorithm is required for driver-based 843584fffc8SSebastian Siewior WEP, but it should not be for other purposes because of the 844584fffc8SSebastian Siewior weakness of the algorithm. 845584fffc8SSebastian Siewior 846584fffc8SSebastian Siewiorconfig CRYPTO_BLOWFISH 847584fffc8SSebastian Siewior tristate "Blowfish cipher algorithm" 848584fffc8SSebastian Siewior select CRYPTO_ALGAPI 84952ba867cSJussi Kivilinna select CRYPTO_BLOWFISH_COMMON 850584fffc8SSebastian Siewior help 851584fffc8SSebastian Siewior Blowfish cipher algorithm, by Bruce Schneier. 852584fffc8SSebastian Siewior 853584fffc8SSebastian Siewior This is a variable key length cipher which can use keys from 32 854584fffc8SSebastian Siewior bits to 448 bits in length. It's fast, simple and specifically 855584fffc8SSebastian Siewior designed for use on "large microprocessors". 856e2ee95b8SHye-Shik Chang 857e2ee95b8SHye-Shik Chang See also: 858584fffc8SSebastian Siewior <http://www.schneier.com/blowfish.html> 859584fffc8SSebastian Siewior 86052ba867cSJussi Kivilinnaconfig CRYPTO_BLOWFISH_COMMON 86152ba867cSJussi Kivilinna tristate 86252ba867cSJussi Kivilinna help 86352ba867cSJussi Kivilinna Common parts of the Blowfish cipher algorithm shared by the 86452ba867cSJussi Kivilinna generic c and the assembler implementations. 86552ba867cSJussi Kivilinna 86652ba867cSJussi Kivilinna See also: 86752ba867cSJussi Kivilinna <http://www.schneier.com/blowfish.html> 86852ba867cSJussi Kivilinna 86964b94ceaSJussi Kivilinnaconfig CRYPTO_BLOWFISH_X86_64 87064b94ceaSJussi Kivilinna tristate "Blowfish cipher algorithm (x86_64)" 871f21a7c19SAl Viro depends on X86 && 64BIT 87264b94ceaSJussi Kivilinna select CRYPTO_ALGAPI 87364b94ceaSJussi Kivilinna select CRYPTO_BLOWFISH_COMMON 87464b94ceaSJussi Kivilinna help 87564b94ceaSJussi Kivilinna Blowfish cipher algorithm (x86_64), by Bruce Schneier. 87664b94ceaSJussi Kivilinna 87764b94ceaSJussi Kivilinna This is a variable key length cipher which can use keys from 32 87864b94ceaSJussi Kivilinna bits to 448 bits in length. It's fast, simple and specifically 87964b94ceaSJussi Kivilinna designed for use on "large microprocessors". 88064b94ceaSJussi Kivilinna 88164b94ceaSJussi Kivilinna See also: 88264b94ceaSJussi Kivilinna <http://www.schneier.com/blowfish.html> 88364b94ceaSJussi Kivilinna 884584fffc8SSebastian Siewiorconfig CRYPTO_CAMELLIA 885584fffc8SSebastian Siewior tristate "Camellia cipher algorithms" 886584fffc8SSebastian Siewior depends on CRYPTO 887584fffc8SSebastian Siewior select CRYPTO_ALGAPI 888584fffc8SSebastian Siewior help 889584fffc8SSebastian Siewior Camellia cipher algorithms module. 890584fffc8SSebastian Siewior 891584fffc8SSebastian Siewior Camellia is a symmetric key block cipher developed jointly 892584fffc8SSebastian Siewior at NTT and Mitsubishi Electric Corporation. 893584fffc8SSebastian Siewior 894584fffc8SSebastian Siewior The Camellia specifies three key sizes: 128, 192 and 256 bits. 895584fffc8SSebastian Siewior 896584fffc8SSebastian Siewior See also: 897584fffc8SSebastian Siewior <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> 898584fffc8SSebastian Siewior 8990b95ec56SJussi Kivilinnaconfig CRYPTO_CAMELLIA_X86_64 9000b95ec56SJussi Kivilinna tristate "Camellia cipher algorithm (x86_64)" 901f21a7c19SAl Viro depends on X86 && 64BIT 9020b95ec56SJussi Kivilinna depends on CRYPTO 9030b95ec56SJussi Kivilinna select CRYPTO_ALGAPI 904964263afSJussi Kivilinna select CRYPTO_GLUE_HELPER_X86 9050b95ec56SJussi Kivilinna select CRYPTO_LRW 9060b95ec56SJussi Kivilinna select CRYPTO_XTS 9070b95ec56SJussi Kivilinna help 9080b95ec56SJussi Kivilinna Camellia cipher algorithm module (x86_64). 9090b95ec56SJussi Kivilinna 9100b95ec56SJussi Kivilinna Camellia is a symmetric key block cipher developed jointly 9110b95ec56SJussi Kivilinna at NTT and Mitsubishi Electric Corporation. 9120b95ec56SJussi Kivilinna 9130b95ec56SJussi Kivilinna The Camellia specifies three key sizes: 128, 192 and 256 bits. 9140b95ec56SJussi Kivilinna 9150b95ec56SJussi Kivilinna See also: 9160b95ec56SJussi Kivilinna <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> 9170b95ec56SJussi Kivilinna 918d9b1d2e7SJussi Kivilinnaconfig CRYPTO_CAMELLIA_AESNI_AVX_X86_64 919d9b1d2e7SJussi Kivilinna tristate "Camellia cipher algorithm (x86_64/AES-NI/AVX)" 920d9b1d2e7SJussi Kivilinna depends on X86 && 64BIT 921d9b1d2e7SJussi Kivilinna depends on CRYPTO 922d9b1d2e7SJussi Kivilinna select CRYPTO_ALGAPI 923d9b1d2e7SJussi Kivilinna select CRYPTO_CRYPTD 924801201aaSArd Biesheuvel select CRYPTO_ABLK_HELPER 925d9b1d2e7SJussi Kivilinna select CRYPTO_GLUE_HELPER_X86 926d9b1d2e7SJussi Kivilinna select CRYPTO_CAMELLIA_X86_64 927d9b1d2e7SJussi Kivilinna select CRYPTO_LRW 928d9b1d2e7SJussi Kivilinna select CRYPTO_XTS 929d9b1d2e7SJussi Kivilinna help 930d9b1d2e7SJussi Kivilinna Camellia cipher algorithm module (x86_64/AES-NI/AVX). 931d9b1d2e7SJussi Kivilinna 932d9b1d2e7SJussi Kivilinna Camellia is a symmetric key block cipher developed jointly 933d9b1d2e7SJussi Kivilinna at NTT and Mitsubishi Electric Corporation. 934d9b1d2e7SJussi Kivilinna 935d9b1d2e7SJussi Kivilinna The Camellia specifies three key sizes: 128, 192 and 256 bits. 936d9b1d2e7SJussi Kivilinna 937d9b1d2e7SJussi Kivilinna See also: 938d9b1d2e7SJussi Kivilinna <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> 939d9b1d2e7SJussi Kivilinna 940f3f935a7SJussi Kivilinnaconfig CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 941f3f935a7SJussi Kivilinna tristate "Camellia cipher algorithm (x86_64/AES-NI/AVX2)" 942f3f935a7SJussi Kivilinna depends on X86 && 64BIT 943f3f935a7SJussi Kivilinna depends on CRYPTO 944f3f935a7SJussi Kivilinna select CRYPTO_ALGAPI 945f3f935a7SJussi Kivilinna select CRYPTO_CRYPTD 946801201aaSArd Biesheuvel select CRYPTO_ABLK_HELPER 947f3f935a7SJussi Kivilinna select CRYPTO_GLUE_HELPER_X86 948f3f935a7SJussi Kivilinna select CRYPTO_CAMELLIA_X86_64 949f3f935a7SJussi Kivilinna select CRYPTO_CAMELLIA_AESNI_AVX_X86_64 950f3f935a7SJussi Kivilinna select CRYPTO_LRW 951f3f935a7SJussi Kivilinna select CRYPTO_XTS 952f3f935a7SJussi Kivilinna help 953f3f935a7SJussi Kivilinna Camellia cipher algorithm module (x86_64/AES-NI/AVX2). 954f3f935a7SJussi Kivilinna 955f3f935a7SJussi Kivilinna Camellia is a symmetric key block cipher developed jointly 956f3f935a7SJussi Kivilinna at NTT and Mitsubishi Electric Corporation. 957f3f935a7SJussi Kivilinna 958f3f935a7SJussi Kivilinna The Camellia specifies three key sizes: 128, 192 and 256 bits. 959f3f935a7SJussi Kivilinna 960f3f935a7SJussi Kivilinna See also: 961f3f935a7SJussi Kivilinna <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> 962f3f935a7SJussi Kivilinna 96381658ad0SDavid S. Millerconfig CRYPTO_CAMELLIA_SPARC64 96481658ad0SDavid S. Miller tristate "Camellia cipher algorithm (SPARC64)" 96581658ad0SDavid S. Miller depends on SPARC64 96681658ad0SDavid S. Miller depends on CRYPTO 96781658ad0SDavid S. Miller select CRYPTO_ALGAPI 96881658ad0SDavid S. Miller help 96981658ad0SDavid S. Miller Camellia cipher algorithm module (SPARC64). 97081658ad0SDavid S. Miller 97181658ad0SDavid S. Miller Camellia is a symmetric key block cipher developed jointly 97281658ad0SDavid S. Miller at NTT and Mitsubishi Electric Corporation. 97381658ad0SDavid S. Miller 97481658ad0SDavid S. Miller The Camellia specifies three key sizes: 128, 192 and 256 bits. 97581658ad0SDavid S. Miller 97681658ad0SDavid S. Miller See also: 97781658ad0SDavid S. Miller <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> 97881658ad0SDavid S. Miller 979044ab525SJussi Kivilinnaconfig CRYPTO_CAST_COMMON 980044ab525SJussi Kivilinna tristate 981044ab525SJussi Kivilinna help 982044ab525SJussi Kivilinna Common parts of the CAST cipher algorithms shared by the 983044ab525SJussi Kivilinna generic c and the assembler implementations. 984044ab525SJussi Kivilinna 985584fffc8SSebastian Siewiorconfig CRYPTO_CAST5 986584fffc8SSebastian Siewior tristate "CAST5 (CAST-128) cipher algorithm" 987584fffc8SSebastian Siewior select CRYPTO_ALGAPI 988044ab525SJussi Kivilinna select CRYPTO_CAST_COMMON 989584fffc8SSebastian Siewior help 990584fffc8SSebastian Siewior The CAST5 encryption algorithm (synonymous with CAST-128) is 991584fffc8SSebastian Siewior described in RFC2144. 992584fffc8SSebastian Siewior 9934d6d6a2cSJohannes Goetzfriedconfig CRYPTO_CAST5_AVX_X86_64 9944d6d6a2cSJohannes Goetzfried tristate "CAST5 (CAST-128) cipher algorithm (x86_64/AVX)" 9954d6d6a2cSJohannes Goetzfried depends on X86 && 64BIT 9964d6d6a2cSJohannes Goetzfried select CRYPTO_ALGAPI 9974d6d6a2cSJohannes Goetzfried select CRYPTO_CRYPTD 998801201aaSArd Biesheuvel select CRYPTO_ABLK_HELPER 999044ab525SJussi Kivilinna select CRYPTO_CAST_COMMON 10004d6d6a2cSJohannes Goetzfried select CRYPTO_CAST5 10014d6d6a2cSJohannes Goetzfried help 10024d6d6a2cSJohannes Goetzfried The CAST5 encryption algorithm (synonymous with CAST-128) is 10034d6d6a2cSJohannes Goetzfried described in RFC2144. 10044d6d6a2cSJohannes Goetzfried 10054d6d6a2cSJohannes Goetzfried This module provides the Cast5 cipher algorithm that processes 10064d6d6a2cSJohannes Goetzfried sixteen blocks parallel using the AVX instruction set. 10074d6d6a2cSJohannes Goetzfried 1008584fffc8SSebastian Siewiorconfig CRYPTO_CAST6 1009584fffc8SSebastian Siewior tristate "CAST6 (CAST-256) cipher algorithm" 1010584fffc8SSebastian Siewior select CRYPTO_ALGAPI 1011044ab525SJussi Kivilinna select CRYPTO_CAST_COMMON 1012584fffc8SSebastian Siewior help 1013584fffc8SSebastian Siewior The CAST6 encryption algorithm (synonymous with CAST-256) is 1014584fffc8SSebastian Siewior described in RFC2612. 1015584fffc8SSebastian Siewior 10164ea1277dSJohannes Goetzfriedconfig CRYPTO_CAST6_AVX_X86_64 10174ea1277dSJohannes Goetzfried tristate "CAST6 (CAST-256) cipher algorithm (x86_64/AVX)" 10184ea1277dSJohannes Goetzfried depends on X86 && 64BIT 10194ea1277dSJohannes Goetzfried select CRYPTO_ALGAPI 10204ea1277dSJohannes Goetzfried select CRYPTO_CRYPTD 1021801201aaSArd Biesheuvel select CRYPTO_ABLK_HELPER 10224ea1277dSJohannes Goetzfried select CRYPTO_GLUE_HELPER_X86 1023044ab525SJussi Kivilinna select CRYPTO_CAST_COMMON 10244ea1277dSJohannes Goetzfried select CRYPTO_CAST6 10254ea1277dSJohannes Goetzfried select CRYPTO_LRW 10264ea1277dSJohannes Goetzfried select CRYPTO_XTS 10274ea1277dSJohannes Goetzfried help 10284ea1277dSJohannes Goetzfried The CAST6 encryption algorithm (synonymous with CAST-256) is 10294ea1277dSJohannes Goetzfried described in RFC2612. 10304ea1277dSJohannes Goetzfried 10314ea1277dSJohannes Goetzfried This module provides the Cast6 cipher algorithm that processes 10324ea1277dSJohannes Goetzfried eight blocks parallel using the AVX instruction set. 10334ea1277dSJohannes Goetzfried 1034584fffc8SSebastian Siewiorconfig CRYPTO_DES 1035584fffc8SSebastian Siewior tristate "DES and Triple DES EDE cipher algorithms" 1036584fffc8SSebastian Siewior select CRYPTO_ALGAPI 1037584fffc8SSebastian Siewior help 1038584fffc8SSebastian Siewior DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). 1039584fffc8SSebastian Siewior 1040c5aac2dfSDavid S. Millerconfig CRYPTO_DES_SPARC64 1041c5aac2dfSDavid S. Miller tristate "DES and Triple DES EDE cipher algorithms (SPARC64)" 104297da37b3SDave Jones depends on SPARC64 1043c5aac2dfSDavid S. Miller select CRYPTO_ALGAPI 1044c5aac2dfSDavid S. Miller select CRYPTO_DES 1045c5aac2dfSDavid S. Miller help 1046c5aac2dfSDavid S. Miller DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3), 1047c5aac2dfSDavid S. Miller optimized using SPARC64 crypto opcodes. 1048c5aac2dfSDavid S. Miller 10496574e6c6SJussi Kivilinnaconfig CRYPTO_DES3_EDE_X86_64 10506574e6c6SJussi Kivilinna tristate "Triple DES EDE cipher algorithm (x86-64)" 10516574e6c6SJussi Kivilinna depends on X86 && 64BIT 10526574e6c6SJussi Kivilinna select CRYPTO_ALGAPI 10536574e6c6SJussi Kivilinna select CRYPTO_DES 10546574e6c6SJussi Kivilinna help 10556574e6c6SJussi Kivilinna Triple DES EDE (FIPS 46-3) algorithm. 10566574e6c6SJussi Kivilinna 10576574e6c6SJussi Kivilinna This module provides implementation of the Triple DES EDE cipher 10586574e6c6SJussi Kivilinna algorithm that is optimized for x86-64 processors. Two versions of 10596574e6c6SJussi Kivilinna algorithm are provided; regular processing one input block and 10606574e6c6SJussi Kivilinna one that processes three blocks parallel. 10616574e6c6SJussi Kivilinna 1062584fffc8SSebastian Siewiorconfig CRYPTO_FCRYPT 1063584fffc8SSebastian Siewior tristate "FCrypt cipher algorithm" 1064584fffc8SSebastian Siewior select CRYPTO_ALGAPI 1065584fffc8SSebastian Siewior select CRYPTO_BLKCIPHER 1066584fffc8SSebastian Siewior help 1067584fffc8SSebastian Siewior FCrypt algorithm used by RxRPC. 1068584fffc8SSebastian Siewior 1069584fffc8SSebastian Siewiorconfig CRYPTO_KHAZAD 1070584fffc8SSebastian Siewior tristate "Khazad cipher algorithm" 1071584fffc8SSebastian Siewior select CRYPTO_ALGAPI 1072584fffc8SSebastian Siewior help 1073584fffc8SSebastian Siewior Khazad cipher algorithm. 1074584fffc8SSebastian Siewior 1075584fffc8SSebastian Siewior Khazad was a finalist in the initial NESSIE competition. It is 1076584fffc8SSebastian Siewior an algorithm optimized for 64-bit processors with good performance 1077584fffc8SSebastian Siewior on 32-bit processors. Khazad uses an 128 bit key size. 1078584fffc8SSebastian Siewior 1079584fffc8SSebastian Siewior See also: 10806d8de74cSJustin P. Mattock <http://www.larc.usp.br/~pbarreto/KhazadPage.html> 1081e2ee95b8SHye-Shik Chang 10822407d608STan Swee Hengconfig CRYPTO_SALSA20 10833b4afaf2SKees Cook tristate "Salsa20 stream cipher algorithm" 10842407d608STan Swee Heng select CRYPTO_BLKCIPHER 10852407d608STan Swee Heng help 10862407d608STan Swee Heng Salsa20 stream cipher algorithm. 10872407d608STan Swee Heng 10882407d608STan Swee Heng Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT 10892407d608STan Swee Heng Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/> 10902407d608STan Swee Heng 10912407d608STan Swee Heng The Salsa20 stream cipher algorithm is designed by Daniel J. 10922407d608STan Swee Heng Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html> 10931da177e4SLinus Torvalds 1094974e4b75STan Swee Hengconfig CRYPTO_SALSA20_586 10953b4afaf2SKees Cook tristate "Salsa20 stream cipher algorithm (i586)" 1096974e4b75STan Swee Heng depends on (X86 || UML_X86) && !64BIT 1097974e4b75STan Swee Heng select CRYPTO_BLKCIPHER 1098974e4b75STan Swee Heng help 1099974e4b75STan Swee Heng Salsa20 stream cipher algorithm. 1100974e4b75STan Swee Heng 1101974e4b75STan Swee Heng Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT 1102974e4b75STan Swee Heng Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/> 1103974e4b75STan Swee Heng 1104974e4b75STan Swee Heng The Salsa20 stream cipher algorithm is designed by Daniel J. 1105974e4b75STan Swee Heng Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html> 1106974e4b75STan Swee Heng 11079a7dafbbSTan Swee Hengconfig CRYPTO_SALSA20_X86_64 11083b4afaf2SKees Cook tristate "Salsa20 stream cipher algorithm (x86_64)" 11099a7dafbbSTan Swee Heng depends on (X86 || UML_X86) && 64BIT 11109a7dafbbSTan Swee Heng select CRYPTO_BLKCIPHER 11119a7dafbbSTan Swee Heng help 11129a7dafbbSTan Swee Heng Salsa20 stream cipher algorithm. 11139a7dafbbSTan Swee Heng 11149a7dafbbSTan Swee Heng Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT 11159a7dafbbSTan Swee Heng Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/> 11169a7dafbbSTan Swee Heng 11179a7dafbbSTan Swee Heng The Salsa20 stream cipher algorithm is designed by Daniel J. 11189a7dafbbSTan Swee Heng Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html> 11199a7dafbbSTan Swee Heng 1120584fffc8SSebastian Siewiorconfig CRYPTO_SEED 1121584fffc8SSebastian Siewior tristate "SEED cipher algorithm" 1122584fffc8SSebastian Siewior select CRYPTO_ALGAPI 1123584fffc8SSebastian Siewior help 1124584fffc8SSebastian Siewior SEED cipher algorithm (RFC4269). 1125584fffc8SSebastian Siewior 1126584fffc8SSebastian Siewior SEED is a 128-bit symmetric key block cipher that has been 1127584fffc8SSebastian Siewior developed by KISA (Korea Information Security Agency) as a 1128584fffc8SSebastian Siewior national standard encryption algorithm of the Republic of Korea. 1129584fffc8SSebastian Siewior It is a 16 round block cipher with the key size of 128 bit. 1130584fffc8SSebastian Siewior 1131584fffc8SSebastian Siewior See also: 1132584fffc8SSebastian Siewior <http://www.kisa.or.kr/kisa/seed/jsp/seed_eng.jsp> 1133584fffc8SSebastian Siewior 1134584fffc8SSebastian Siewiorconfig CRYPTO_SERPENT 1135584fffc8SSebastian Siewior tristate "Serpent cipher algorithm" 1136584fffc8SSebastian Siewior select CRYPTO_ALGAPI 1137584fffc8SSebastian Siewior help 1138584fffc8SSebastian Siewior Serpent cipher algorithm, by Anderson, Biham & Knudsen. 1139584fffc8SSebastian Siewior 1140584fffc8SSebastian Siewior Keys are allowed to be from 0 to 256 bits in length, in steps 1141584fffc8SSebastian Siewior of 8 bits. Also includes the 'Tnepres' algorithm, a reversed 1142584fffc8SSebastian Siewior variant of Serpent for compatibility with old kerneli.org code. 1143584fffc8SSebastian Siewior 1144584fffc8SSebastian Siewior See also: 1145584fffc8SSebastian Siewior <http://www.cl.cam.ac.uk/~rja14/serpent.html> 1146584fffc8SSebastian Siewior 1147937c30d7SJussi Kivilinnaconfig CRYPTO_SERPENT_SSE2_X86_64 1148937c30d7SJussi Kivilinna tristate "Serpent cipher algorithm (x86_64/SSE2)" 1149937c30d7SJussi Kivilinna depends on X86 && 64BIT 1150937c30d7SJussi Kivilinna select CRYPTO_ALGAPI 1151341975bfSJussi Kivilinna select CRYPTO_CRYPTD 1152801201aaSArd Biesheuvel select CRYPTO_ABLK_HELPER 1153596d8750SJussi Kivilinna select CRYPTO_GLUE_HELPER_X86 1154937c30d7SJussi Kivilinna select CRYPTO_SERPENT 1155feaf0cfcSJussi Kivilinna select CRYPTO_LRW 1156feaf0cfcSJussi Kivilinna select CRYPTO_XTS 1157937c30d7SJussi Kivilinna help 1158937c30d7SJussi Kivilinna Serpent cipher algorithm, by Anderson, Biham & Knudsen. 1159937c30d7SJussi Kivilinna 1160937c30d7SJussi Kivilinna Keys are allowed to be from 0 to 256 bits in length, in steps 1161937c30d7SJussi Kivilinna of 8 bits. 1162937c30d7SJussi Kivilinna 1163937c30d7SJussi Kivilinna This module provides Serpent cipher algorithm that processes eigth 1164937c30d7SJussi Kivilinna blocks parallel using SSE2 instruction set. 1165937c30d7SJussi Kivilinna 1166937c30d7SJussi Kivilinna See also: 1167937c30d7SJussi Kivilinna <http://www.cl.cam.ac.uk/~rja14/serpent.html> 1168937c30d7SJussi Kivilinna 1169251496dbSJussi Kivilinnaconfig CRYPTO_SERPENT_SSE2_586 1170251496dbSJussi Kivilinna tristate "Serpent cipher algorithm (i586/SSE2)" 1171251496dbSJussi Kivilinna depends on X86 && !64BIT 1172251496dbSJussi Kivilinna select CRYPTO_ALGAPI 1173341975bfSJussi Kivilinna select CRYPTO_CRYPTD 1174801201aaSArd Biesheuvel select CRYPTO_ABLK_HELPER 1175596d8750SJussi Kivilinna select CRYPTO_GLUE_HELPER_X86 1176251496dbSJussi Kivilinna select CRYPTO_SERPENT 1177feaf0cfcSJussi Kivilinna select CRYPTO_LRW 1178feaf0cfcSJussi Kivilinna select CRYPTO_XTS 1179251496dbSJussi Kivilinna help 1180251496dbSJussi Kivilinna Serpent cipher algorithm, by Anderson, Biham & Knudsen. 1181251496dbSJussi Kivilinna 1182251496dbSJussi Kivilinna Keys are allowed to be from 0 to 256 bits in length, in steps 1183251496dbSJussi Kivilinna of 8 bits. 1184251496dbSJussi Kivilinna 1185251496dbSJussi Kivilinna This module provides Serpent cipher algorithm that processes four 1186251496dbSJussi Kivilinna blocks parallel using SSE2 instruction set. 1187251496dbSJussi Kivilinna 1188251496dbSJussi Kivilinna See also: 1189251496dbSJussi Kivilinna <http://www.cl.cam.ac.uk/~rja14/serpent.html> 1190251496dbSJussi Kivilinna 11917efe4076SJohannes Goetzfriedconfig CRYPTO_SERPENT_AVX_X86_64 11927efe4076SJohannes Goetzfried tristate "Serpent cipher algorithm (x86_64/AVX)" 11937efe4076SJohannes Goetzfried depends on X86 && 64BIT 11947efe4076SJohannes Goetzfried select CRYPTO_ALGAPI 11957efe4076SJohannes Goetzfried select CRYPTO_CRYPTD 1196801201aaSArd Biesheuvel select CRYPTO_ABLK_HELPER 11971d0debbdSJussi Kivilinna select CRYPTO_GLUE_HELPER_X86 11987efe4076SJohannes Goetzfried select CRYPTO_SERPENT 11997efe4076SJohannes Goetzfried select CRYPTO_LRW 12007efe4076SJohannes Goetzfried select CRYPTO_XTS 12017efe4076SJohannes Goetzfried help 12027efe4076SJohannes Goetzfried Serpent cipher algorithm, by Anderson, Biham & Knudsen. 12037efe4076SJohannes Goetzfried 12047efe4076SJohannes Goetzfried Keys are allowed to be from 0 to 256 bits in length, in steps 12057efe4076SJohannes Goetzfried of 8 bits. 12067efe4076SJohannes Goetzfried 12077efe4076SJohannes Goetzfried This module provides the Serpent cipher algorithm that processes 12087efe4076SJohannes Goetzfried eight blocks parallel using the AVX instruction set. 12097efe4076SJohannes Goetzfried 12107efe4076SJohannes Goetzfried See also: 12117efe4076SJohannes Goetzfried <http://www.cl.cam.ac.uk/~rja14/serpent.html> 12127efe4076SJohannes Goetzfried 121356d76c96SJussi Kivilinnaconfig CRYPTO_SERPENT_AVX2_X86_64 121456d76c96SJussi Kivilinna tristate "Serpent cipher algorithm (x86_64/AVX2)" 121556d76c96SJussi Kivilinna depends on X86 && 64BIT 121656d76c96SJussi Kivilinna select CRYPTO_ALGAPI 121756d76c96SJussi Kivilinna select CRYPTO_CRYPTD 1218801201aaSArd Biesheuvel select CRYPTO_ABLK_HELPER 121956d76c96SJussi Kivilinna select CRYPTO_GLUE_HELPER_X86 122056d76c96SJussi Kivilinna select CRYPTO_SERPENT 122156d76c96SJussi Kivilinna select CRYPTO_SERPENT_AVX_X86_64 122256d76c96SJussi Kivilinna select CRYPTO_LRW 122356d76c96SJussi Kivilinna select CRYPTO_XTS 122456d76c96SJussi Kivilinna help 122556d76c96SJussi Kivilinna Serpent cipher algorithm, by Anderson, Biham & Knudsen. 122656d76c96SJussi Kivilinna 122756d76c96SJussi Kivilinna Keys are allowed to be from 0 to 256 bits in length, in steps 122856d76c96SJussi Kivilinna of 8 bits. 122956d76c96SJussi Kivilinna 123056d76c96SJussi Kivilinna This module provides Serpent cipher algorithm that processes 16 123156d76c96SJussi Kivilinna blocks parallel using AVX2 instruction set. 123256d76c96SJussi Kivilinna 123356d76c96SJussi Kivilinna See also: 123456d76c96SJussi Kivilinna <http://www.cl.cam.ac.uk/~rja14/serpent.html> 123556d76c96SJussi Kivilinna 1236584fffc8SSebastian Siewiorconfig CRYPTO_TEA 1237584fffc8SSebastian Siewior tristate "TEA, XTEA and XETA cipher algorithms" 1238584fffc8SSebastian Siewior select CRYPTO_ALGAPI 1239584fffc8SSebastian Siewior help 1240584fffc8SSebastian Siewior TEA cipher algorithm. 1241584fffc8SSebastian Siewior 1242584fffc8SSebastian Siewior Tiny Encryption Algorithm is a simple cipher that uses 1243584fffc8SSebastian Siewior many rounds for security. It is very fast and uses 1244584fffc8SSebastian Siewior little memory. 1245584fffc8SSebastian Siewior 1246584fffc8SSebastian Siewior Xtendend Tiny Encryption Algorithm is a modification to 1247584fffc8SSebastian Siewior the TEA algorithm to address a potential key weakness 1248584fffc8SSebastian Siewior in the TEA algorithm. 1249584fffc8SSebastian Siewior 1250584fffc8SSebastian Siewior Xtendend Encryption Tiny Algorithm is a mis-implementation 1251584fffc8SSebastian Siewior of the XTEA algorithm for compatibility purposes. 1252584fffc8SSebastian Siewior 1253584fffc8SSebastian Siewiorconfig CRYPTO_TWOFISH 1254584fffc8SSebastian Siewior tristate "Twofish cipher algorithm" 1255584fffc8SSebastian Siewior select CRYPTO_ALGAPI 1256584fffc8SSebastian Siewior select CRYPTO_TWOFISH_COMMON 1257584fffc8SSebastian Siewior help 1258584fffc8SSebastian Siewior Twofish cipher algorithm. 1259584fffc8SSebastian Siewior 1260584fffc8SSebastian Siewior Twofish was submitted as an AES (Advanced Encryption Standard) 1261584fffc8SSebastian Siewior candidate cipher by researchers at CounterPane Systems. It is a 1262584fffc8SSebastian Siewior 16 round block cipher supporting key sizes of 128, 192, and 256 1263584fffc8SSebastian Siewior bits. 1264584fffc8SSebastian Siewior 1265584fffc8SSebastian Siewior See also: 1266584fffc8SSebastian Siewior <http://www.schneier.com/twofish.html> 1267584fffc8SSebastian Siewior 1268584fffc8SSebastian Siewiorconfig CRYPTO_TWOFISH_COMMON 1269584fffc8SSebastian Siewior tristate 1270584fffc8SSebastian Siewior help 1271584fffc8SSebastian Siewior Common parts of the Twofish cipher algorithm shared by the 1272584fffc8SSebastian Siewior generic c and the assembler implementations. 1273584fffc8SSebastian Siewior 1274584fffc8SSebastian Siewiorconfig CRYPTO_TWOFISH_586 1275584fffc8SSebastian Siewior tristate "Twofish cipher algorithms (i586)" 1276584fffc8SSebastian Siewior depends on (X86 || UML_X86) && !64BIT 1277584fffc8SSebastian Siewior select CRYPTO_ALGAPI 1278584fffc8SSebastian Siewior select CRYPTO_TWOFISH_COMMON 1279584fffc8SSebastian Siewior help 1280584fffc8SSebastian Siewior Twofish cipher algorithm. 1281584fffc8SSebastian Siewior 1282584fffc8SSebastian Siewior Twofish was submitted as an AES (Advanced Encryption Standard) 1283584fffc8SSebastian Siewior candidate cipher by researchers at CounterPane Systems. It is a 1284584fffc8SSebastian Siewior 16 round block cipher supporting key sizes of 128, 192, and 256 1285584fffc8SSebastian Siewior bits. 1286584fffc8SSebastian Siewior 1287584fffc8SSebastian Siewior See also: 1288584fffc8SSebastian Siewior <http://www.schneier.com/twofish.html> 1289584fffc8SSebastian Siewior 1290584fffc8SSebastian Siewiorconfig CRYPTO_TWOFISH_X86_64 1291584fffc8SSebastian Siewior tristate "Twofish cipher algorithm (x86_64)" 1292584fffc8SSebastian Siewior depends on (X86 || UML_X86) && 64BIT 1293584fffc8SSebastian Siewior select CRYPTO_ALGAPI 1294584fffc8SSebastian Siewior select CRYPTO_TWOFISH_COMMON 1295584fffc8SSebastian Siewior help 1296584fffc8SSebastian Siewior Twofish cipher algorithm (x86_64). 1297584fffc8SSebastian Siewior 1298584fffc8SSebastian Siewior Twofish was submitted as an AES (Advanced Encryption Standard) 1299584fffc8SSebastian Siewior candidate cipher by researchers at CounterPane Systems. It is a 1300584fffc8SSebastian Siewior 16 round block cipher supporting key sizes of 128, 192, and 256 1301584fffc8SSebastian Siewior bits. 1302584fffc8SSebastian Siewior 1303584fffc8SSebastian Siewior See also: 1304584fffc8SSebastian Siewior <http://www.schneier.com/twofish.html> 1305584fffc8SSebastian Siewior 13068280daadSJussi Kivilinnaconfig CRYPTO_TWOFISH_X86_64_3WAY 13078280daadSJussi Kivilinna tristate "Twofish cipher algorithm (x86_64, 3-way parallel)" 1308f21a7c19SAl Viro depends on X86 && 64BIT 13098280daadSJussi Kivilinna select CRYPTO_ALGAPI 13108280daadSJussi Kivilinna select CRYPTO_TWOFISH_COMMON 13118280daadSJussi Kivilinna select CRYPTO_TWOFISH_X86_64 1312414cb5e7SJussi Kivilinna select CRYPTO_GLUE_HELPER_X86 1313e7cda5d2SJussi Kivilinna select CRYPTO_LRW 1314e7cda5d2SJussi Kivilinna select CRYPTO_XTS 13158280daadSJussi Kivilinna help 13168280daadSJussi Kivilinna Twofish cipher algorithm (x86_64, 3-way parallel). 13178280daadSJussi Kivilinna 13188280daadSJussi Kivilinna Twofish was submitted as an AES (Advanced Encryption Standard) 13198280daadSJussi Kivilinna candidate cipher by researchers at CounterPane Systems. It is a 13208280daadSJussi Kivilinna 16 round block cipher supporting key sizes of 128, 192, and 256 13218280daadSJussi Kivilinna bits. 13228280daadSJussi Kivilinna 13238280daadSJussi Kivilinna This module provides Twofish cipher algorithm that processes three 13248280daadSJussi Kivilinna blocks parallel, utilizing resources of out-of-order CPUs better. 13258280daadSJussi Kivilinna 13268280daadSJussi Kivilinna See also: 13278280daadSJussi Kivilinna <http://www.schneier.com/twofish.html> 13288280daadSJussi Kivilinna 1329107778b5SJohannes Goetzfriedconfig CRYPTO_TWOFISH_AVX_X86_64 1330107778b5SJohannes Goetzfried tristate "Twofish cipher algorithm (x86_64/AVX)" 1331107778b5SJohannes Goetzfried depends on X86 && 64BIT 1332107778b5SJohannes Goetzfried select CRYPTO_ALGAPI 1333107778b5SJohannes Goetzfried select CRYPTO_CRYPTD 1334801201aaSArd Biesheuvel select CRYPTO_ABLK_HELPER 1335a7378d4eSJussi Kivilinna select CRYPTO_GLUE_HELPER_X86 1336107778b5SJohannes Goetzfried select CRYPTO_TWOFISH_COMMON 1337107778b5SJohannes Goetzfried select CRYPTO_TWOFISH_X86_64 1338107778b5SJohannes Goetzfried select CRYPTO_TWOFISH_X86_64_3WAY 1339107778b5SJohannes Goetzfried select CRYPTO_LRW 1340107778b5SJohannes Goetzfried select CRYPTO_XTS 1341107778b5SJohannes Goetzfried help 1342107778b5SJohannes Goetzfried Twofish cipher algorithm (x86_64/AVX). 1343107778b5SJohannes Goetzfried 1344107778b5SJohannes Goetzfried Twofish was submitted as an AES (Advanced Encryption Standard) 1345107778b5SJohannes Goetzfried candidate cipher by researchers at CounterPane Systems. It is a 1346107778b5SJohannes Goetzfried 16 round block cipher supporting key sizes of 128, 192, and 256 1347107778b5SJohannes Goetzfried bits. 1348107778b5SJohannes Goetzfried 1349107778b5SJohannes Goetzfried This module provides the Twofish cipher algorithm that processes 1350107778b5SJohannes Goetzfried eight blocks parallel using the AVX Instruction Set. 1351107778b5SJohannes Goetzfried 1352107778b5SJohannes Goetzfried See also: 1353107778b5SJohannes Goetzfried <http://www.schneier.com/twofish.html> 1354107778b5SJohannes Goetzfried 1355584fffc8SSebastian Siewiorcomment "Compression" 1356584fffc8SSebastian Siewior 13571da177e4SLinus Torvaldsconfig CRYPTO_DEFLATE 13581da177e4SLinus Torvalds tristate "Deflate compression algorithm" 1359cce9e06dSHerbert Xu select CRYPTO_ALGAPI 13601da177e4SLinus Torvalds select ZLIB_INFLATE 13611da177e4SLinus Torvalds select ZLIB_DEFLATE 13621da177e4SLinus Torvalds help 13631da177e4SLinus Torvalds This is the Deflate algorithm (RFC1951), specified for use in 13641da177e4SLinus Torvalds IPSec with the IPCOMP protocol (RFC3173, RFC2394). 13651da177e4SLinus Torvalds 13661da177e4SLinus Torvalds You will most probably want this if using IPSec. 13671da177e4SLinus Torvalds 1368bf68e65eSGeert Uytterhoevenconfig CRYPTO_ZLIB 1369bf68e65eSGeert Uytterhoeven tristate "Zlib compression algorithm" 1370bf68e65eSGeert Uytterhoeven select CRYPTO_PCOMP 1371bf68e65eSGeert Uytterhoeven select ZLIB_INFLATE 1372bf68e65eSGeert Uytterhoeven select ZLIB_DEFLATE 1373bf68e65eSGeert Uytterhoeven select NLATTR 1374bf68e65eSGeert Uytterhoeven help 1375bf68e65eSGeert Uytterhoeven This is the zlib algorithm. 1376bf68e65eSGeert Uytterhoeven 13770b77abb3SZoltan Sogorconfig CRYPTO_LZO 13780b77abb3SZoltan Sogor tristate "LZO compression algorithm" 13790b77abb3SZoltan Sogor select CRYPTO_ALGAPI 13800b77abb3SZoltan Sogor select LZO_COMPRESS 13810b77abb3SZoltan Sogor select LZO_DECOMPRESS 13820b77abb3SZoltan Sogor help 13830b77abb3SZoltan Sogor This is the LZO algorithm. 13840b77abb3SZoltan Sogor 138535a1fc18SSeth Jenningsconfig CRYPTO_842 138635a1fc18SSeth Jennings tristate "842 compression algorithm" 138735a1fc18SSeth Jennings depends on CRYPTO_DEV_NX_COMPRESS 138835a1fc18SSeth Jennings # 842 uses lzo if the hardware becomes unavailable 138935a1fc18SSeth Jennings select LZO_COMPRESS 139035a1fc18SSeth Jennings select LZO_DECOMPRESS 139135a1fc18SSeth Jennings help 139235a1fc18SSeth Jennings This is the 842 algorithm. 139335a1fc18SSeth Jennings 13940ea8530dSChanho Minconfig CRYPTO_LZ4 13950ea8530dSChanho Min tristate "LZ4 compression algorithm" 13960ea8530dSChanho Min select CRYPTO_ALGAPI 13970ea8530dSChanho Min select LZ4_COMPRESS 13980ea8530dSChanho Min select LZ4_DECOMPRESS 13990ea8530dSChanho Min help 14000ea8530dSChanho Min This is the LZ4 algorithm. 14010ea8530dSChanho Min 14020ea8530dSChanho Minconfig CRYPTO_LZ4HC 14030ea8530dSChanho Min tristate "LZ4HC compression algorithm" 14040ea8530dSChanho Min select CRYPTO_ALGAPI 14050ea8530dSChanho Min select LZ4HC_COMPRESS 14060ea8530dSChanho Min select LZ4_DECOMPRESS 14070ea8530dSChanho Min help 14080ea8530dSChanho Min This is the LZ4 high compression mode algorithm. 14090ea8530dSChanho Min 141017f0f4a4SNeil Hormancomment "Random Number Generation" 141117f0f4a4SNeil Horman 141217f0f4a4SNeil Hormanconfig CRYPTO_ANSI_CPRNG 141317f0f4a4SNeil Horman tristate "Pseudo Random Number Generation for Cryptographic modules" 14144e4ed83bSNeil Horman default m 141517f0f4a4SNeil Horman select CRYPTO_AES 141617f0f4a4SNeil Horman select CRYPTO_RNG 141717f0f4a4SNeil Horman help 141817f0f4a4SNeil Horman This option enables the generic pseudo random number generator 141917f0f4a4SNeil Horman for cryptographic modules. Uses the Algorithm specified in 14207dd607e8SJiri Kosina ANSI X9.31 A.2.4. Note that this option must be enabled if 14217dd607e8SJiri Kosina CRYPTO_FIPS is selected 142217f0f4a4SNeil Horman 1423f2c89a10SHerbert Xumenuconfig CRYPTO_DRBG_MENU 1424419090c6SStephan Mueller tristate "NIST SP800-90A DRBG" 1425419090c6SStephan Mueller help 1426419090c6SStephan Mueller NIST SP800-90A compliant DRBG. In the following submenu, one or 1427419090c6SStephan Mueller more of the DRBG types must be selected. 1428419090c6SStephan Mueller 1429f2c89a10SHerbert Xuif CRYPTO_DRBG_MENU 1430419090c6SStephan Mueller 1431419090c6SStephan Muellerconfig CRYPTO_DRBG_HMAC 1432419090c6SStephan Mueller bool "Enable HMAC DRBG" 1433419090c6SStephan Mueller default y 1434419090c6SStephan Mueller select CRYPTO_HMAC 1435419090c6SStephan Mueller help 1436419090c6SStephan Mueller Enable the HMAC DRBG variant as defined in NIST SP800-90A. 1437419090c6SStephan Mueller 1438419090c6SStephan Muellerconfig CRYPTO_DRBG_HASH 1439419090c6SStephan Mueller bool "Enable Hash DRBG" 1440419090c6SStephan Mueller select CRYPTO_HASH 1441419090c6SStephan Mueller help 1442419090c6SStephan Mueller Enable the Hash DRBG variant as defined in NIST SP800-90A. 1443419090c6SStephan Mueller 1444419090c6SStephan Muellerconfig CRYPTO_DRBG_CTR 1445419090c6SStephan Mueller bool "Enable CTR DRBG" 1446419090c6SStephan Mueller select CRYPTO_AES 1447419090c6SStephan Mueller help 1448419090c6SStephan Mueller Enable the CTR DRBG variant as defined in NIST SP800-90A. 1449419090c6SStephan Mueller 1450f2c89a10SHerbert Xuconfig CRYPTO_DRBG 1451f2c89a10SHerbert Xu tristate 1452f2c89a10SHerbert Xu default CRYPTO_DRBG_MENU if (CRYPTO_DRBG_HMAC || CRYPTO_DRBG_HASH || CRYPTO_DRBG_CTR) 1453f2c89a10SHerbert Xu select CRYPTO_RNG 1454f2c89a10SHerbert Xu 1455f2c89a10SHerbert Xuendif # if CRYPTO_DRBG_MENU 1456419090c6SStephan Mueller 145703c8efc1SHerbert Xuconfig CRYPTO_USER_API 145803c8efc1SHerbert Xu tristate 145903c8efc1SHerbert Xu 1460fe869cdbSHerbert Xuconfig CRYPTO_USER_API_HASH 1461fe869cdbSHerbert Xu tristate "User-space interface for hash algorithms" 14627451708fSHerbert Xu depends on NET 1463fe869cdbSHerbert Xu select CRYPTO_HASH 1464fe869cdbSHerbert Xu select CRYPTO_USER_API 1465fe869cdbSHerbert Xu help 1466fe869cdbSHerbert Xu This option enables the user-spaces interface for hash 1467fe869cdbSHerbert Xu algorithms. 1468fe869cdbSHerbert Xu 14698ff59090SHerbert Xuconfig CRYPTO_USER_API_SKCIPHER 14708ff59090SHerbert Xu tristate "User-space interface for symmetric key cipher algorithms" 14717451708fSHerbert Xu depends on NET 14728ff59090SHerbert Xu select CRYPTO_BLKCIPHER 14738ff59090SHerbert Xu select CRYPTO_USER_API 14748ff59090SHerbert Xu help 14758ff59090SHerbert Xu This option enables the user-spaces interface for symmetric 14768ff59090SHerbert Xu key cipher algorithms. 14778ff59090SHerbert Xu 1478ee08997fSDmitry Kasatkinconfig CRYPTO_HASH_INFO 1479ee08997fSDmitry Kasatkin bool 1480ee08997fSDmitry Kasatkin 14811da177e4SLinus Torvaldssource "drivers/crypto/Kconfig" 1482964f3b3bSDavid Howellssource crypto/asymmetric_keys/Kconfig 14831da177e4SLinus Torvalds 1484cce9e06dSHerbert Xuendif # if CRYPTO 1485