Kconfig 51 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781
  1. #
  2. # Generic algorithms support
  3. #
  4. config XOR_BLOCKS
  5. tristate
  6. #
  7. # async_tx api: hardware offloaded memory transfer/transform support
  8. #
  9. source "crypto/async_tx/Kconfig"
  10. #
  11. # Cryptographic API Configuration
  12. #
  13. menuconfig CRYPTO
  14. tristate "Cryptographic API"
  15. help
  16. This option provides the core Cryptographic API.
  17. if CRYPTO
  18. comment "Crypto core or helper"
  19. config CRYPTO_FIPS
  20. bool "FIPS 200 compliance"
  21. depends on (CRYPTO_ANSI_CPRNG || CRYPTO_DRBG) && !CRYPTO_MANAGER_DISABLE_TESTS
  22. depends on MODULE_SIG
  23. help
  24. This options enables the fips boot option which is
  25. required if you want to system to operate in a FIPS 200
  26. certification. You should say no unless you know what
  27. this is.
  28. config CRYPTO_NIAP_FPT_TST_EXT_11
  29. tristate "NIAP FPT_TST_EXT.1.1 compliance"
  30. depends on CRYPTO_SHA512 && CRYPTO_HMAC
  31. depends on CRYPTO_SHA256
  32. depends on CRYPTO_AES && CRYPTO_CBC
  33. help
  34. This option enables a suite of self-tests during initial start-up to
  35. demonstrate the correct operation of cryptographic functionality, as
  36. required in NIAP FPT_TST_EXT.1.1.
  37. config CRYPTO_ALGAPI
  38. tristate
  39. select CRYPTO_ALGAPI2
  40. help
  41. This option provides the API for cryptographic algorithms.
  42. config CRYPTO_ALGAPI2
  43. tristate
  44. config CRYPTO_AEAD
  45. tristate
  46. select CRYPTO_AEAD2
  47. select CRYPTO_ALGAPI
  48. config CRYPTO_AEAD2
  49. tristate
  50. select CRYPTO_ALGAPI2
  51. select CRYPTO_NULL2
  52. select CRYPTO_RNG2
  53. config CRYPTO_BLKCIPHER
  54. tristate
  55. select CRYPTO_BLKCIPHER2
  56. select CRYPTO_ALGAPI
  57. config CRYPTO_BLKCIPHER2
  58. tristate
  59. select CRYPTO_ALGAPI2
  60. select CRYPTO_RNG2
  61. select CRYPTO_WORKQUEUE
  62. config CRYPTO_HASH
  63. tristate
  64. select CRYPTO_HASH2
  65. select CRYPTO_ALGAPI
  66. config CRYPTO_HASH2
  67. tristate
  68. select CRYPTO_ALGAPI2
  69. config CRYPTO_RNG
  70. tristate
  71. select CRYPTO_RNG2
  72. select CRYPTO_ALGAPI
  73. config CRYPTO_RNG2
  74. tristate
  75. select CRYPTO_ALGAPI2
  76. config CRYPTO_RNG_DEFAULT
  77. tristate
  78. select CRYPTO_DRBG_MENU
  79. config CRYPTO_AKCIPHER2
  80. tristate
  81. select CRYPTO_ALGAPI2
  82. config CRYPTO_AKCIPHER
  83. tristate
  84. select CRYPTO_AKCIPHER2
  85. select CRYPTO_ALGAPI
  86. config CRYPTO_KPP2
  87. tristate
  88. select CRYPTO_ALGAPI2
  89. config CRYPTO_KPP
  90. tristate
  91. select CRYPTO_ALGAPI
  92. select CRYPTO_KPP2
  93. config CRYPTO_ACOMP2
  94. tristate
  95. select CRYPTO_ALGAPI2
  96. config CRYPTO_ACOMP
  97. tristate
  98. select CRYPTO_ALGAPI
  99. select CRYPTO_ACOMP2
  100. config CRYPTO_RSA
  101. tristate "RSA algorithm"
  102. select CRYPTO_AKCIPHER
  103. select CRYPTO_MANAGER
  104. select MPILIB
  105. select ASN1
  106. help
  107. Generic implementation of the RSA public key algorithm.
  108. config CRYPTO_DH
  109. tristate "Diffie-Hellman algorithm"
  110. select CRYPTO_KPP
  111. select MPILIB
  112. help
  113. Generic implementation of the Diffie-Hellman algorithm.
  114. config CRYPTO_ECDH
  115. tristate "ECDH algorithm"
  116. select CRYPTO_KPP
  117. help
  118. Generic implementation of the ECDH algorithm
  119. config CRYPTO_MANAGER
  120. tristate "Cryptographic algorithm manager"
  121. select CRYPTO_MANAGER2
  122. help
  123. Create default cryptographic template instantiations such as
  124. cbc(aes).
  125. config CRYPTO_MANAGER2
  126. def_tristate CRYPTO_MANAGER || (CRYPTO_MANAGER!=n && CRYPTO_ALGAPI=y)
  127. select CRYPTO_AEAD2
  128. select CRYPTO_HASH2
  129. select CRYPTO_BLKCIPHER2
  130. select CRYPTO_AKCIPHER2
  131. select CRYPTO_KPP2
  132. select CRYPTO_ACOMP2
  133. config CRYPTO_USER
  134. tristate "Userspace cryptographic algorithm configuration"
  135. depends on NET
  136. select CRYPTO_MANAGER
  137. help
  138. Userspace configuration for cryptographic instantiations such as
  139. cbc(aes).
  140. config CRYPTO_MANAGER_DISABLE_TESTS
  141. bool "Disable run-time self tests"
  142. default y
  143. depends on CRYPTO_MANAGER2
  144. help
  145. Disable run-time self tests that normally take place at
  146. algorithm registration.
  147. config CRYPTO_GF128MUL
  148. tristate "GF(2^128) multiplication functions"
  149. help
  150. Efficient table driven implementation of multiplications in the
  151. field GF(2^128). This is needed by some cypher modes. This
  152. option will be selected automatically if you select such a
  153. cipher mode. Only select this option by hand if you expect to load
  154. an external module that requires these functions.
  155. config CRYPTO_NULL
  156. tristate "Null algorithms"
  157. select CRYPTO_NULL2
  158. help
  159. These are 'Null' algorithms, used by IPsec, which do nothing.
  160. config CRYPTO_NULL2
  161. tristate
  162. select CRYPTO_ALGAPI2
  163. select CRYPTO_BLKCIPHER2
  164. select CRYPTO_HASH2
  165. config CRYPTO_PCRYPT
  166. tristate "Parallel crypto engine"
  167. depends on SMP
  168. select PADATA
  169. select CRYPTO_MANAGER
  170. select CRYPTO_AEAD
  171. help
  172. This converts an arbitrary crypto algorithm into a parallel
  173. algorithm that executes in kernel threads.
  174. config CRYPTO_WORKQUEUE
  175. tristate
  176. config CRYPTO_CRYPTD
  177. tristate "Software async crypto daemon"
  178. select CRYPTO_BLKCIPHER
  179. select CRYPTO_HASH
  180. select CRYPTO_MANAGER
  181. select CRYPTO_WORKQUEUE
  182. help
  183. This is a generic software asynchronous crypto daemon that
  184. converts an arbitrary synchronous software crypto algorithm
  185. into an asynchronous algorithm that executes in a kernel thread.
  186. config CRYPTO_MCRYPTD
  187. tristate "Software async multi-buffer crypto daemon"
  188. select CRYPTO_BLKCIPHER
  189. select CRYPTO_HASH
  190. select CRYPTO_MANAGER
  191. select CRYPTO_WORKQUEUE
  192. help
  193. This is a generic software asynchronous crypto daemon that
  194. provides the kernel thread to assist multi-buffer crypto
  195. algorithms for submitting jobs and flushing jobs in multi-buffer
  196. crypto algorithms. Multi-buffer crypto algorithms are executed
  197. in the context of this kernel thread and drivers can post
  198. their crypto request asynchronously to be processed by this daemon.
  199. config CRYPTO_AUTHENC
  200. tristate "Authenc support"
  201. select CRYPTO_AEAD
  202. select CRYPTO_BLKCIPHER
  203. select CRYPTO_MANAGER
  204. select CRYPTO_HASH
  205. select CRYPTO_NULL
  206. help
  207. Authenc: Combined mode wrapper for IPsec.
  208. This is required for IPSec.
  209. config CRYPTO_TEST
  210. tristate "Testing module"
  211. depends on m
  212. select CRYPTO_MANAGER
  213. help
  214. Quick & dirty crypto test module.
  215. config CRYPTO_ABLK_HELPER
  216. tristate
  217. select CRYPTO_CRYPTD
  218. config CRYPTO_GLUE_HELPER_X86
  219. tristate
  220. depends on X86
  221. select CRYPTO_ALGAPI
  222. config CRYPTO_ENGINE
  223. tristate
  224. comment "Authenticated Encryption with Associated Data"
  225. config CRYPTO_CCM
  226. tristate "CCM support"
  227. select CRYPTO_CTR
  228. select CRYPTO_AEAD
  229. help
  230. Support for Counter with CBC MAC. Required for IPsec.
  231. config CRYPTO_GCM
  232. tristate "GCM/GMAC support"
  233. select CRYPTO_CTR
  234. select CRYPTO_AEAD
  235. select CRYPTO_GHASH
  236. select CRYPTO_NULL
  237. help
  238. Support for Galois/Counter Mode (GCM) and Galois Message
  239. Authentication Code (GMAC). Required for IPSec.
  240. config CRYPTO_CHACHA20POLY1305
  241. tristate "ChaCha20-Poly1305 AEAD support"
  242. select CRYPTO_CHACHA20
  243. select CRYPTO_POLY1305
  244. select CRYPTO_AEAD
  245. help
  246. ChaCha20-Poly1305 AEAD support, RFC7539.
  247. Support for the AEAD wrapper using the ChaCha20 stream cipher combined
  248. with the Poly1305 authenticator. It is defined in RFC7539 for use in
  249. IETF protocols.
  250. config CRYPTO_SEQIV
  251. tristate "Sequence Number IV Generator"
  252. select CRYPTO_AEAD
  253. select CRYPTO_BLKCIPHER
  254. select CRYPTO_NULL
  255. select CRYPTO_RNG_DEFAULT
  256. help
  257. This IV generator generates an IV based on a sequence number by
  258. xoring it with a salt. This algorithm is mainly useful for CTR
  259. config CRYPTO_ECHAINIV
  260. tristate "Encrypted Chain IV Generator"
  261. select CRYPTO_AEAD
  262. select CRYPTO_NULL
  263. select CRYPTO_RNG_DEFAULT
  264. default m
  265. help
  266. This IV generator generates an IV based on the encryption of
  267. a sequence number xored with a salt. This is the default
  268. algorithm for CBC.
  269. comment "Block modes"
  270. config CRYPTO_CBC
  271. tristate "CBC support"
  272. select CRYPTO_BLKCIPHER
  273. select CRYPTO_MANAGER
  274. help
  275. CBC: Cipher Block Chaining mode
  276. This block cipher algorithm is required for IPSec.
  277. config CRYPTO_CTR
  278. tristate "CTR support"
  279. select CRYPTO_BLKCIPHER
  280. select CRYPTO_SEQIV
  281. select CRYPTO_MANAGER
  282. help
  283. CTR: Counter mode
  284. This block cipher algorithm is required for IPSec.
  285. config CRYPTO_CTS
  286. tristate "CTS support"
  287. select CRYPTO_BLKCIPHER
  288. help
  289. CTS: Cipher Text Stealing
  290. This is the Cipher Text Stealing mode as described by
  291. Section 8 of rfc2040 and referenced by rfc3962.
  292. (rfc3962 includes errata information in its Appendix A)
  293. This mode is required for Kerberos gss mechanism support
  294. for AES encryption.
  295. config CRYPTO_ECB
  296. tristate "ECB support"
  297. select CRYPTO_BLKCIPHER
  298. select CRYPTO_MANAGER
  299. help
  300. ECB: Electronic CodeBook mode
  301. This is the simplest block cipher algorithm. It simply encrypts
  302. the input block by block.
  303. config CRYPTO_LRW
  304. tristate "LRW support"
  305. select CRYPTO_BLKCIPHER
  306. select CRYPTO_MANAGER
  307. select CRYPTO_GF128MUL
  308. help
  309. LRW: Liskov Rivest Wagner, a tweakable, non malleable, non movable
  310. narrow block cipher mode for dm-crypt. Use it with cipher
  311. specification string aes-lrw-benbi, the key must be 256, 320 or 384.
  312. The first 128, 192 or 256 bits in the key are used for AES and the
  313. rest is used to tie each cipher block to its logical position.
  314. config CRYPTO_PCBC
  315. tristate "PCBC support"
  316. select CRYPTO_BLKCIPHER
  317. select CRYPTO_MANAGER
  318. help
  319. PCBC: Propagating Cipher Block Chaining mode
  320. This block cipher algorithm is required for RxRPC.
  321. config CRYPTO_XTS
  322. tristate "XTS support"
  323. select CRYPTO_BLKCIPHER
  324. select CRYPTO_MANAGER
  325. select CRYPTO_GF128MUL
  326. help
  327. XTS: IEEE1619/D16 narrow block cipher use with aes-xts-plain,
  328. key size 256, 384 or 512 bits. This implementation currently
  329. can't handle a sectorsize which is not a multiple of 16 bytes.
  330. config CRYPTO_KEYWRAP
  331. tristate "Key wrapping support"
  332. select CRYPTO_BLKCIPHER
  333. help
  334. Support for key wrapping (NIST SP800-38F / RFC3394) without
  335. padding.
  336. config CRYPTO_NHPOLY1305
  337. tristate
  338. select CRYPTO_HASH
  339. select CRYPTO_POLY1305
  340. config CRYPTO_ADIANTUM
  341. tristate "Adiantum support"
  342. select CRYPTO_CHACHA20
  343. select CRYPTO_POLY1305
  344. select CRYPTO_NHPOLY1305
  345. help
  346. Adiantum is a tweakable, length-preserving encryption mode
  347. designed for fast and secure disk encryption, especially on
  348. CPUs without dedicated crypto instructions. It encrypts
  349. each sector using the XChaCha12 stream cipher, two passes of
  350. an ε-almost-∆-universal hash function, and an invocation of
  351. the AES-256 block cipher on a single 16-byte block. On CPUs
  352. without AES instructions, Adiantum is much faster than
  353. AES-XTS.
  354. Adiantum's security is provably reducible to that of its
  355. underlying stream and block ciphers, subject to a security
  356. bound. Unlike XTS, Adiantum is a true wide-block encryption
  357. mode, so it actually provides an even stronger notion of
  358. security than XTS, subject to the security bound.
  359. If unsure, say N.
  360. comment "Hash modes"
  361. config CRYPTO_CMAC
  362. tristate "CMAC support"
  363. select CRYPTO_HASH
  364. select CRYPTO_MANAGER
  365. help
  366. Cipher-based Message Authentication Code (CMAC) specified by
  367. The National Institute of Standards and Technology (NIST).
  368. https://tools.ietf.org/html/rfc4493
  369. http://csrc.nist.gov/publications/nistpubs/800-38B/SP_800-38B.pdf
  370. config CRYPTO_HMAC
  371. tristate "HMAC support"
  372. select CRYPTO_HASH
  373. select CRYPTO_MANAGER
  374. help
  375. HMAC: Keyed-Hashing for Message Authentication (RFC2104).
  376. This is required for IPSec.
  377. config CRYPTO_XCBC
  378. tristate "XCBC support"
  379. select CRYPTO_HASH
  380. select CRYPTO_MANAGER
  381. help
  382. XCBC: Keyed-Hashing with encryption algorithm
  383. http://www.ietf.org/rfc/rfc3566.txt
  384. http://csrc.nist.gov/encryption/modes/proposedmodes/
  385. xcbc-mac/xcbc-mac-spec.pdf
  386. config CRYPTO_VMAC
  387. tristate "VMAC support"
  388. select CRYPTO_HASH
  389. select CRYPTO_MANAGER
  390. help
  391. VMAC is a message authentication algorithm designed for
  392. very high speed on 64-bit architectures.
  393. See also:
  394. <http://fastcrypto.org/vmac>
  395. comment "Digest"
  396. config CRYPTO_CRC32C
  397. tristate "CRC32c CRC algorithm"
  398. select CRYPTO_HASH
  399. select CRC32
  400. help
  401. Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used
  402. by iSCSI for header and data digests and by others.
  403. See Castagnoli93. Module will be crc32c.
  404. config CRYPTO_CRC32C_INTEL
  405. tristate "CRC32c INTEL hardware acceleration"
  406. depends on X86
  407. select CRYPTO_HASH
  408. help
  409. In Intel processor with SSE4.2 supported, the processor will
  410. support CRC32C implementation using hardware accelerated CRC32
  411. instruction. This option will create 'crc32c-intel' module,
  412. which will enable any routine to use the CRC32 instruction to
  413. gain performance compared with software implementation.
  414. Module will be crc32c-intel.
  415. config CRYPT_CRC32C_VPMSUM
  416. tristate "CRC32c CRC algorithm (powerpc64)"
  417. depends on PPC64 && ALTIVEC
  418. select CRYPTO_HASH
  419. select CRC32
  420. help
  421. CRC32c algorithm implemented using vector polynomial multiply-sum
  422. (vpmsum) instructions, introduced in POWER8. Enable on POWER8
  423. and newer processors for improved performance.
  424. config CRYPTO_CRC32C_SPARC64
  425. tristate "CRC32c CRC algorithm (SPARC64)"
  426. depends on SPARC64
  427. select CRYPTO_HASH
  428. select CRC32
  429. help
  430. CRC32c CRC algorithm implemented using sparc64 crypto instructions,
  431. when available.
  432. config CRYPTO_CRC32
  433. tristate "CRC32 CRC algorithm"
  434. select CRYPTO_HASH
  435. select CRC32
  436. help
  437. CRC-32-IEEE 802.3 cyclic redundancy-check algorithm.
  438. Shash crypto api wrappers to crc32_le function.
  439. config CRYPTO_CRC32_PCLMUL
  440. tristate "CRC32 PCLMULQDQ hardware acceleration"
  441. depends on X86
  442. select CRYPTO_HASH
  443. select CRC32
  444. help
  445. From Intel Westmere and AMD Bulldozer processor with SSE4.2
  446. and PCLMULQDQ supported, the processor will support
  447. CRC32 PCLMULQDQ implementation using hardware accelerated PCLMULQDQ
  448. instruction. This option will create 'crc32-plcmul' module,
  449. which will enable any routine to use the CRC-32-IEEE 802.3 checksum
  450. and gain better performance as compared with the table implementation.
  451. config CRYPTO_CRCT10DIF
  452. tristate "CRCT10DIF algorithm"
  453. select CRYPTO_HASH
  454. help
  455. CRC T10 Data Integrity Field computation is being cast as
  456. a crypto transform. This allows for faster crc t10 diff
  457. transforms to be used if they are available.
  458. config CRYPTO_CRCT10DIF_PCLMUL
  459. tristate "CRCT10DIF PCLMULQDQ hardware acceleration"
  460. depends on X86 && 64BIT && CRC_T10DIF
  461. select CRYPTO_HASH
  462. help
  463. For x86_64 processors with SSE4.2 and PCLMULQDQ supported,
  464. CRC T10 DIF PCLMULQDQ computation can be hardware
  465. accelerated PCLMULQDQ instruction. This option will create
  466. 'crct10dif-plcmul' module, which is faster when computing the
  467. crct10dif checksum as compared with the generic table implementation.
  468. config CRYPTO_GHASH
  469. tristate "GHASH digest algorithm"
  470. select CRYPTO_GF128MUL
  471. select CRYPTO_HASH
  472. help
  473. GHASH is message digest algorithm for GCM (Galois/Counter Mode).
  474. config CRYPTO_POLY1305
  475. tristate "Poly1305 authenticator algorithm"
  476. select CRYPTO_HASH
  477. help
  478. Poly1305 authenticator algorithm, RFC7539.
  479. Poly1305 is an authenticator algorithm designed by Daniel J. Bernstein.
  480. It is used for the ChaCha20-Poly1305 AEAD, specified in RFC7539 for use
  481. in IETF protocols. This is the portable C implementation of Poly1305.
  482. config CRYPTO_POLY1305_X86_64
  483. tristate "Poly1305 authenticator algorithm (x86_64/SSE2/AVX2)"
  484. depends on X86 && 64BIT
  485. select CRYPTO_POLY1305
  486. help
  487. Poly1305 authenticator algorithm, RFC7539.
  488. Poly1305 is an authenticator algorithm designed by Daniel J. Bernstein.
  489. It is used for the ChaCha20-Poly1305 AEAD, specified in RFC7539 for use
  490. in IETF protocols. This is the x86_64 assembler implementation using SIMD
  491. instructions.
  492. config CRYPTO_MD4
  493. tristate "MD4 digest algorithm"
  494. select CRYPTO_HASH
  495. help
  496. MD4 message digest algorithm (RFC1320).
  497. config CRYPTO_MD5
  498. tristate "MD5 digest algorithm"
  499. select CRYPTO_HASH
  500. help
  501. MD5 message digest algorithm (RFC1321).
  502. config CRYPTO_MD5_OCTEON
  503. tristate "MD5 digest algorithm (OCTEON)"
  504. depends on CPU_CAVIUM_OCTEON
  505. select CRYPTO_MD5
  506. select CRYPTO_HASH
  507. help
  508. MD5 message digest algorithm (RFC1321) implemented
  509. using OCTEON crypto instructions, when available.
  510. config CRYPTO_MD5_PPC
  511. tristate "MD5 digest algorithm (PPC)"
  512. depends on PPC
  513. select CRYPTO_HASH
  514. help
  515. MD5 message digest algorithm (RFC1321) implemented
  516. in PPC assembler.
  517. config CRYPTO_MD5_SPARC64
  518. tristate "MD5 digest algorithm (SPARC64)"
  519. depends on SPARC64
  520. select CRYPTO_MD5
  521. select CRYPTO_HASH
  522. help
  523. MD5 message digest algorithm (RFC1321) implemented
  524. using sparc64 crypto instructions, when available.
  525. config CRYPTO_MICHAEL_MIC
  526. tristate "Michael MIC keyed digest algorithm"
  527. select CRYPTO_HASH
  528. help
  529. Michael MIC is used for message integrity protection in TKIP
  530. (IEEE 802.11i). This algorithm is required for TKIP, but it
  531. should not be used for other purposes because of the weakness
  532. of the algorithm.
  533. config CRYPTO_RMD128
  534. tristate "RIPEMD-128 digest algorithm"
  535. select CRYPTO_HASH
  536. help
  537. RIPEMD-128 (ISO/IEC 10118-3:2004).
  538. RIPEMD-128 is a 128-bit cryptographic hash function. It should only
  539. be used as a secure replacement for RIPEMD. For other use cases,
  540. RIPEMD-160 should be used.
  541. Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel.
  542. See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html>
  543. config CRYPTO_RMD160
  544. tristate "RIPEMD-160 digest algorithm"
  545. select CRYPTO_HASH
  546. help
  547. RIPEMD-160 (ISO/IEC 10118-3:2004).
  548. RIPEMD-160 is a 160-bit cryptographic hash function. It is intended
  549. to be used as a secure replacement for the 128-bit hash functions
  550. MD4, MD5 and it's predecessor RIPEMD
  551. (not to be confused with RIPEMD-128).
  552. It's speed is comparable to SHA1 and there are no known attacks
  553. against RIPEMD-160.
  554. Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel.
  555. See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html>
  556. config CRYPTO_RMD256
  557. tristate "RIPEMD-256 digest algorithm"
  558. select CRYPTO_HASH
  559. help
  560. RIPEMD-256 is an optional extension of RIPEMD-128 with a
  561. 256 bit hash. It is intended for applications that require
  562. longer hash-results, without needing a larger security level
  563. (than RIPEMD-128).
  564. Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel.
  565. See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html>
  566. config CRYPTO_RMD320
  567. tristate "RIPEMD-320 digest algorithm"
  568. select CRYPTO_HASH
  569. help
  570. RIPEMD-320 is an optional extension of RIPEMD-160 with a
  571. 320 bit hash. It is intended for applications that require
  572. longer hash-results, without needing a larger security level
  573. (than RIPEMD-160).
  574. Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel.
  575. See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html>
  576. config CRYPTO_SHA1
  577. tristate "SHA1 digest algorithm"
  578. select CRYPTO_HASH
  579. help
  580. SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
  581. config CRYPTO_SHA1_SSSE3
  582. tristate "SHA1 digest algorithm (SSSE3/AVX/AVX2/SHA-NI)"
  583. depends on X86 && 64BIT
  584. select CRYPTO_SHA1
  585. select CRYPTO_HASH
  586. help
  587. SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
  588. using Supplemental SSE3 (SSSE3) instructions or Advanced Vector
  589. Extensions (AVX/AVX2) or SHA-NI(SHA Extensions New Instructions),
  590. when available.
  591. config CRYPTO_SHA256_SSSE3
  592. tristate "SHA256 digest algorithm (SSSE3/AVX/AVX2/SHA-NI)"
  593. depends on X86 && 64BIT
  594. select CRYPTO_SHA256
  595. select CRYPTO_HASH
  596. help
  597. SHA-256 secure hash standard (DFIPS 180-2) implemented
  598. using Supplemental SSE3 (SSSE3) instructions, or Advanced Vector
  599. Extensions version 1 (AVX1), or Advanced Vector Extensions
  600. version 2 (AVX2) instructions, or SHA-NI (SHA Extensions New
  601. Instructions) when available.
  602. config CRYPTO_SHA512_SSSE3
  603. tristate "SHA512 digest algorithm (SSSE3/AVX/AVX2)"
  604. depends on X86 && 64BIT
  605. select CRYPTO_SHA512
  606. select CRYPTO_HASH
  607. help
  608. SHA-512 secure hash standard (DFIPS 180-2) implemented
  609. using Supplemental SSE3 (SSSE3) instructions, or Advanced Vector
  610. Extensions version 1 (AVX1), or Advanced Vector Extensions
  611. version 2 (AVX2) instructions, when available.
  612. config CRYPTO_SHA1_OCTEON
  613. tristate "SHA1 digest algorithm (OCTEON)"
  614. depends on CPU_CAVIUM_OCTEON
  615. select CRYPTO_SHA1
  616. select CRYPTO_HASH
  617. help
  618. SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
  619. using OCTEON crypto instructions, when available.
  620. config CRYPTO_SHA1_SPARC64
  621. tristate "SHA1 digest algorithm (SPARC64)"
  622. depends on SPARC64
  623. select CRYPTO_SHA1
  624. select CRYPTO_HASH
  625. help
  626. SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
  627. using sparc64 crypto instructions, when available.
  628. config CRYPTO_SHA1_PPC
  629. tristate "SHA1 digest algorithm (powerpc)"
  630. depends on PPC
  631. help
  632. This is the powerpc hardware accelerated implementation of the
  633. SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
  634. config CRYPTO_SHA1_PPC_SPE
  635. tristate "SHA1 digest algorithm (PPC SPE)"
  636. depends on PPC && SPE
  637. help
  638. SHA-1 secure hash standard (DFIPS 180-4) implemented
  639. using powerpc SPE SIMD instruction set.
  640. config CRYPTO_SHA1_MB
  641. tristate "SHA1 digest algorithm (x86_64 Multi-Buffer, Experimental)"
  642. depends on X86 && 64BIT
  643. select CRYPTO_SHA1
  644. select CRYPTO_HASH
  645. select CRYPTO_MCRYPTD
  646. help
  647. SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
  648. using multi-buffer technique. This algorithm computes on
  649. multiple data lanes concurrently with SIMD instructions for
  650. better throughput. It should not be enabled by default but
  651. used when there is significant amount of work to keep the keep
  652. the data lanes filled to get performance benefit. If the data
  653. lanes remain unfilled, a flush operation will be initiated to
  654. process the crypto jobs, adding a slight latency.
  655. config CRYPTO_SHA256_MB
  656. tristate "SHA256 digest algorithm (x86_64 Multi-Buffer, Experimental)"
  657. depends on X86 && 64BIT
  658. select CRYPTO_SHA256
  659. select CRYPTO_HASH
  660. select CRYPTO_MCRYPTD
  661. help
  662. SHA-256 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
  663. using multi-buffer technique. This algorithm computes on
  664. multiple data lanes concurrently with SIMD instructions for
  665. better throughput. It should not be enabled by default but
  666. used when there is significant amount of work to keep the keep
  667. the data lanes filled to get performance benefit. If the data
  668. lanes remain unfilled, a flush operation will be initiated to
  669. process the crypto jobs, adding a slight latency.
  670. config CRYPTO_SHA512_MB
  671. tristate "SHA512 digest algorithm (x86_64 Multi-Buffer, Experimental)"
  672. depends on X86 && 64BIT
  673. select CRYPTO_SHA512
  674. select CRYPTO_HASH
  675. select CRYPTO_MCRYPTD
  676. help
  677. SHA-512 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
  678. using multi-buffer technique. This algorithm computes on
  679. multiple data lanes concurrently with SIMD instructions for
  680. better throughput. It should not be enabled by default but
  681. used when there is significant amount of work to keep the keep
  682. the data lanes filled to get performance benefit. If the data
  683. lanes remain unfilled, a flush operation will be initiated to
  684. process the crypto jobs, adding a slight latency.
  685. config CRYPTO_SHA256
  686. tristate "SHA224 and SHA256 digest algorithm"
  687. select CRYPTO_HASH
  688. help
  689. SHA256 secure hash standard (DFIPS 180-2).
  690. This version of SHA implements a 256 bit hash with 128 bits of
  691. security against collision attacks.
  692. This code also includes SHA-224, a 224 bit hash with 112 bits
  693. of security against collision attacks.
  694. config CRYPTO_SHA256_PPC_SPE
  695. tristate "SHA224 and SHA256 digest algorithm (PPC SPE)"
  696. depends on PPC && SPE
  697. select CRYPTO_SHA256
  698. select CRYPTO_HASH
  699. help
  700. SHA224 and SHA256 secure hash standard (DFIPS 180-2)
  701. implemented using powerpc SPE SIMD instruction set.
  702. config CRYPTO_SHA256_OCTEON
  703. tristate "SHA224 and SHA256 digest algorithm (OCTEON)"
  704. depends on CPU_CAVIUM_OCTEON
  705. select CRYPTO_SHA256
  706. select CRYPTO_HASH
  707. help
  708. SHA-256 secure hash standard (DFIPS 180-2) implemented
  709. using OCTEON crypto instructions, when available.
  710. config CRYPTO_SHA256_SPARC64
  711. tristate "SHA224 and SHA256 digest algorithm (SPARC64)"
  712. depends on SPARC64
  713. select CRYPTO_SHA256
  714. select CRYPTO_HASH
  715. help
  716. SHA-256 secure hash standard (DFIPS 180-2) implemented
  717. using sparc64 crypto instructions, when available.
  718. config CRYPTO_SHA512
  719. tristate "SHA384 and SHA512 digest algorithms"
  720. select CRYPTO_HASH
  721. help
  722. SHA512 secure hash standard (DFIPS 180-2).
  723. This version of SHA implements a 512 bit hash with 256 bits of
  724. security against collision attacks.
  725. This code also includes SHA-384, a 384 bit hash with 192 bits
  726. of security against collision attacks.
  727. config CRYPTO_SHA512_OCTEON
  728. tristate "SHA384 and SHA512 digest algorithms (OCTEON)"
  729. depends on CPU_CAVIUM_OCTEON
  730. select CRYPTO_SHA512
  731. select CRYPTO_HASH
  732. help
  733. SHA-512 secure hash standard (DFIPS 180-2) implemented
  734. using OCTEON crypto instructions, when available.
  735. config CRYPTO_SHA512_SPARC64
  736. tristate "SHA384 and SHA512 digest algorithm (SPARC64)"
  737. depends on SPARC64
  738. select CRYPTO_SHA512
  739. select CRYPTO_HASH
  740. help
  741. SHA-512 secure hash standard (DFIPS 180-2) implemented
  742. using sparc64 crypto instructions, when available.
  743. config CRYPTO_SHA3
  744. tristate "SHA3 digest algorithm"
  745. select CRYPTO_HASH
  746. help
  747. SHA-3 secure hash standard (DFIPS 202). It's based on
  748. cryptographic sponge function family called Keccak.
  749. References:
  750. http://keccak.noekeon.org/
  751. config CRYPTO_TGR192
  752. tristate "Tiger digest algorithms"
  753. select CRYPTO_HASH
  754. help
  755. Tiger hash algorithm 192, 160 and 128-bit hashes
  756. Tiger is a hash function optimized for 64-bit processors while
  757. still having decent performance on 32-bit processors.
  758. Tiger was developed by Ross Anderson and Eli Biham.
  759. See also:
  760. <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>.
  761. config CRYPTO_WP512
  762. tristate "Whirlpool digest algorithms"
  763. select CRYPTO_HASH
  764. help
  765. Whirlpool hash algorithm 512, 384 and 256-bit hashes
  766. Whirlpool-512 is part of the NESSIE cryptographic primitives.
  767. Whirlpool will be part of the ISO/IEC 10118-3:2003(E) standard
  768. See also:
  769. <http://www.larc.usp.br/~pbarreto/WhirlpoolPage.html>
  770. config CRYPTO_GHASH_CLMUL_NI_INTEL
  771. tristate "GHASH digest algorithm (CLMUL-NI accelerated)"
  772. depends on X86 && 64BIT
  773. select CRYPTO_CRYPTD
  774. help
  775. GHASH is message digest algorithm for GCM (Galois/Counter Mode).
  776. The implementation is accelerated by CLMUL-NI of Intel.
  777. comment "Ciphers"
  778. config CRYPTO_AES
  779. tristate "AES cipher algorithms"
  780. select CRYPTO_ALGAPI
  781. help
  782. AES cipher algorithms (FIPS-197). AES uses the Rijndael
  783. algorithm.
  784. Rijndael appears to be consistently a very good performer in
  785. both hardware and software across a wide range of computing
  786. environments regardless of its use in feedback or non-feedback
  787. modes. Its key setup time is excellent, and its key agility is
  788. good. Rijndael's very low memory requirements make it very well
  789. suited for restricted-space environments, in which it also
  790. demonstrates excellent performance. Rijndael's operations are
  791. among the easiest to defend against power and timing attacks.
  792. The AES specifies three key sizes: 128, 192 and 256 bits
  793. See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information.
  794. config CRYPTO_AES_586
  795. tristate "AES cipher algorithms (i586)"
  796. depends on (X86 || UML_X86) && !64BIT
  797. select CRYPTO_ALGAPI
  798. select CRYPTO_AES
  799. help
  800. AES cipher algorithms (FIPS-197). AES uses the Rijndael
  801. algorithm.
  802. Rijndael appears to be consistently a very good performer in
  803. both hardware and software across a wide range of computing
  804. environments regardless of its use in feedback or non-feedback
  805. modes. Its key setup time is excellent, and its key agility is
  806. good. Rijndael's very low memory requirements make it very well
  807. suited for restricted-space environments, in which it also
  808. demonstrates excellent performance. Rijndael's operations are
  809. among the easiest to defend against power and timing attacks.
  810. The AES specifies three key sizes: 128, 192 and 256 bits
  811. See <http://csrc.nist.gov/encryption/aes/> for more information.
  812. config CRYPTO_AES_X86_64
  813. tristate "AES cipher algorithms (x86_64)"
  814. depends on (X86 || UML_X86) && 64BIT
  815. select CRYPTO_ALGAPI
  816. select CRYPTO_AES
  817. help
  818. AES cipher algorithms (FIPS-197). AES uses the Rijndael
  819. algorithm.
  820. Rijndael appears to be consistently a very good performer in
  821. both hardware and software across a wide range of computing
  822. environments regardless of its use in feedback or non-feedback
  823. modes. Its key setup time is excellent, and its key agility is
  824. good. Rijndael's very low memory requirements make it very well
  825. suited for restricted-space environments, in which it also
  826. demonstrates excellent performance. Rijndael's operations are
  827. among the easiest to defend against power and timing attacks.
  828. The AES specifies three key sizes: 128, 192 and 256 bits
  829. See <http://csrc.nist.gov/encryption/aes/> for more information.
  830. config CRYPTO_AES_NI_INTEL
  831. tristate "AES cipher algorithms (AES-NI)"
  832. depends on X86
  833. select CRYPTO_AES_X86_64 if 64BIT
  834. select CRYPTO_AES_586 if !64BIT
  835. select CRYPTO_CRYPTD
  836. select CRYPTO_ABLK_HELPER
  837. select CRYPTO_ALGAPI
  838. select CRYPTO_GLUE_HELPER_X86 if 64BIT
  839. select CRYPTO_LRW
  840. select CRYPTO_XTS
  841. help
  842. Use Intel AES-NI instructions for AES algorithm.
  843. AES cipher algorithms (FIPS-197). AES uses the Rijndael
  844. algorithm.
  845. Rijndael appears to be consistently a very good performer in
  846. both hardware and software across a wide range of computing
  847. environments regardless of its use in feedback or non-feedback
  848. modes. Its key setup time is excellent, and its key agility is
  849. good. Rijndael's very low memory requirements make it very well
  850. suited for restricted-space environments, in which it also
  851. demonstrates excellent performance. Rijndael's operations are
  852. among the easiest to defend against power and timing attacks.
  853. The AES specifies three key sizes: 128, 192 and 256 bits
  854. See <http://csrc.nist.gov/encryption/aes/> for more information.
  855. In addition to AES cipher algorithm support, the acceleration
  856. for some popular block cipher mode is supported too, including
  857. ECB, CBC, LRW, PCBC, XTS. The 64 bit version has additional
  858. acceleration for CTR.
  859. config CRYPTO_AES_SPARC64
  860. tristate "AES cipher algorithms (SPARC64)"
  861. depends on SPARC64
  862. select CRYPTO_CRYPTD
  863. select CRYPTO_ALGAPI
  864. help
  865. Use SPARC64 crypto opcodes for AES algorithm.
  866. AES cipher algorithms (FIPS-197). AES uses the Rijndael
  867. algorithm.
  868. Rijndael appears to be consistently a very good performer in
  869. both hardware and software across a wide range of computing
  870. environments regardless of its use in feedback or non-feedback
  871. modes. Its key setup time is excellent, and its key agility is
  872. good. Rijndael's very low memory requirements make it very well
  873. suited for restricted-space environments, in which it also
  874. demonstrates excellent performance. Rijndael's operations are
  875. among the easiest to defend against power and timing attacks.
  876. The AES specifies three key sizes: 128, 192 and 256 bits
  877. See <http://csrc.nist.gov/encryption/aes/> for more information.
  878. In addition to AES cipher algorithm support, the acceleration
  879. for some popular block cipher mode is supported too, including
  880. ECB and CBC.
  881. config CRYPTO_AES_PPC_SPE
  882. tristate "AES cipher algorithms (PPC SPE)"
  883. depends on PPC && SPE
  884. help
  885. AES cipher algorithms (FIPS-197). Additionally the acceleration
  886. for popular block cipher modes ECB, CBC, CTR and XTS is supported.
  887. This module should only be used for low power (router) devices
  888. without hardware AES acceleration (e.g. caam crypto). It reduces the
  889. size of the AES tables from 16KB to 8KB + 256 bytes and mitigates
  890. timining attacks. Nevertheless it might be not as secure as other
  891. architecture specific assembler implementations that work on 1KB
  892. tables or 256 bytes S-boxes.
  893. config CRYPTO_ANUBIS
  894. tristate "Anubis cipher algorithm"
  895. select CRYPTO_ALGAPI
  896. help
  897. Anubis cipher algorithm.
  898. Anubis is a variable key length cipher which can use keys from
  899. 128 bits to 320 bits in length. It was evaluated as a entrant
  900. in the NESSIE competition.
  901. See also:
  902. <https://www.cosic.esat.kuleuven.be/nessie/reports/>
  903. <http://www.larc.usp.br/~pbarreto/AnubisPage.html>
  904. config CRYPTO_ARC4
  905. tristate "ARC4 cipher algorithm"
  906. select CRYPTO_BLKCIPHER
  907. help
  908. ARC4 cipher algorithm.
  909. ARC4 is a stream cipher using keys ranging from 8 bits to 2048
  910. bits in length. This algorithm is required for driver-based
  911. WEP, but it should not be for other purposes because of the
  912. weakness of the algorithm.
  913. config CRYPTO_BLOWFISH
  914. tristate "Blowfish cipher algorithm"
  915. select CRYPTO_ALGAPI
  916. select CRYPTO_BLOWFISH_COMMON
  917. help
  918. Blowfish cipher algorithm, by Bruce Schneier.
  919. This is a variable key length cipher which can use keys from 32
  920. bits to 448 bits in length. It's fast, simple and specifically
  921. designed for use on "large microprocessors".
  922. See also:
  923. <http://www.schneier.com/blowfish.html>
  924. config CRYPTO_BLOWFISH_COMMON
  925. tristate
  926. help
  927. Common parts of the Blowfish cipher algorithm shared by the
  928. generic c and the assembler implementations.
  929. See also:
  930. <http://www.schneier.com/blowfish.html>
  931. config CRYPTO_BLOWFISH_X86_64
  932. tristate "Blowfish cipher algorithm (x86_64)"
  933. depends on X86 && 64BIT
  934. select CRYPTO_ALGAPI
  935. select CRYPTO_BLOWFISH_COMMON
  936. help
  937. Blowfish cipher algorithm (x86_64), by Bruce Schneier.
  938. This is a variable key length cipher which can use keys from 32
  939. bits to 448 bits in length. It's fast, simple and specifically
  940. designed for use on "large microprocessors".
  941. See also:
  942. <http://www.schneier.com/blowfish.html>
  943. config CRYPTO_CAMELLIA
  944. tristate "Camellia cipher algorithms"
  945. depends on CRYPTO
  946. select CRYPTO_ALGAPI
  947. help
  948. Camellia cipher algorithms module.
  949. Camellia is a symmetric key block cipher developed jointly
  950. at NTT and Mitsubishi Electric Corporation.
  951. The Camellia specifies three key sizes: 128, 192 and 256 bits.
  952. See also:
  953. <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
  954. config CRYPTO_CAMELLIA_X86_64
  955. tristate "Camellia cipher algorithm (x86_64)"
  956. depends on X86 && 64BIT
  957. depends on CRYPTO
  958. select CRYPTO_ALGAPI
  959. select CRYPTO_GLUE_HELPER_X86
  960. select CRYPTO_LRW
  961. select CRYPTO_XTS
  962. help
  963. Camellia cipher algorithm module (x86_64).
  964. Camellia is a symmetric key block cipher developed jointly
  965. at NTT and Mitsubishi Electric Corporation.
  966. The Camellia specifies three key sizes: 128, 192 and 256 bits.
  967. See also:
  968. <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
  969. config CRYPTO_CAMELLIA_AESNI_AVX_X86_64
  970. tristate "Camellia cipher algorithm (x86_64/AES-NI/AVX)"
  971. depends on X86 && 64BIT
  972. depends on CRYPTO
  973. select CRYPTO_ALGAPI
  974. select CRYPTO_CRYPTD
  975. select CRYPTO_ABLK_HELPER
  976. select CRYPTO_GLUE_HELPER_X86
  977. select CRYPTO_CAMELLIA_X86_64
  978. select CRYPTO_LRW
  979. select CRYPTO_XTS
  980. help
  981. Camellia cipher algorithm module (x86_64/AES-NI/AVX).
  982. Camellia is a symmetric key block cipher developed jointly
  983. at NTT and Mitsubishi Electric Corporation.
  984. The Camellia specifies three key sizes: 128, 192 and 256 bits.
  985. See also:
  986. <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
  987. config CRYPTO_CAMELLIA_AESNI_AVX2_X86_64
  988. tristate "Camellia cipher algorithm (x86_64/AES-NI/AVX2)"
  989. depends on X86 && 64BIT
  990. depends on CRYPTO
  991. select CRYPTO_ALGAPI
  992. select CRYPTO_CRYPTD
  993. select CRYPTO_ABLK_HELPER
  994. select CRYPTO_GLUE_HELPER_X86
  995. select CRYPTO_CAMELLIA_X86_64
  996. select CRYPTO_CAMELLIA_AESNI_AVX_X86_64
  997. select CRYPTO_LRW
  998. select CRYPTO_XTS
  999. help
  1000. Camellia cipher algorithm module (x86_64/AES-NI/AVX2).
  1001. Camellia is a symmetric key block cipher developed jointly
  1002. at NTT and Mitsubishi Electric Corporation.
  1003. The Camellia specifies three key sizes: 128, 192 and 256 bits.
  1004. See also:
  1005. <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
  1006. config CRYPTO_CAMELLIA_SPARC64
  1007. tristate "Camellia cipher algorithm (SPARC64)"
  1008. depends on SPARC64
  1009. depends on CRYPTO
  1010. select CRYPTO_ALGAPI
  1011. help
  1012. Camellia cipher algorithm module (SPARC64).
  1013. Camellia is a symmetric key block cipher developed jointly
  1014. at NTT and Mitsubishi Electric Corporation.
  1015. The Camellia specifies three key sizes: 128, 192 and 256 bits.
  1016. See also:
  1017. <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
  1018. config CRYPTO_CAST_COMMON
  1019. tristate
  1020. help
  1021. Common parts of the CAST cipher algorithms shared by the
  1022. generic c and the assembler implementations.
  1023. config CRYPTO_CAST5
  1024. tristate "CAST5 (CAST-128) cipher algorithm"
  1025. select CRYPTO_ALGAPI
  1026. select CRYPTO_CAST_COMMON
  1027. help
  1028. The CAST5 encryption algorithm (synonymous with CAST-128) is
  1029. described in RFC2144.
  1030. config CRYPTO_CAST5_AVX_X86_64
  1031. tristate "CAST5 (CAST-128) cipher algorithm (x86_64/AVX)"
  1032. depends on X86 && 64BIT
  1033. select CRYPTO_ALGAPI
  1034. select CRYPTO_CRYPTD
  1035. select CRYPTO_ABLK_HELPER
  1036. select CRYPTO_CAST_COMMON
  1037. select CRYPTO_CAST5
  1038. help
  1039. The CAST5 encryption algorithm (synonymous with CAST-128) is
  1040. described in RFC2144.
  1041. This module provides the Cast5 cipher algorithm that processes
  1042. sixteen blocks parallel using the AVX instruction set.
  1043. config CRYPTO_CAST6
  1044. tristate "CAST6 (CAST-256) cipher algorithm"
  1045. select CRYPTO_ALGAPI
  1046. select CRYPTO_CAST_COMMON
  1047. help
  1048. The CAST6 encryption algorithm (synonymous with CAST-256) is
  1049. described in RFC2612.
  1050. config CRYPTO_CAST6_AVX_X86_64
  1051. tristate "CAST6 (CAST-256) cipher algorithm (x86_64/AVX)"
  1052. depends on X86 && 64BIT
  1053. select CRYPTO_ALGAPI
  1054. select CRYPTO_CRYPTD
  1055. select CRYPTO_ABLK_HELPER
  1056. select CRYPTO_GLUE_HELPER_X86
  1057. select CRYPTO_CAST_COMMON
  1058. select CRYPTO_CAST6
  1059. select CRYPTO_LRW
  1060. select CRYPTO_XTS
  1061. help
  1062. The CAST6 encryption algorithm (synonymous with CAST-256) is
  1063. described in RFC2612.
  1064. This module provides the Cast6 cipher algorithm that processes
  1065. eight blocks parallel using the AVX instruction set.
  1066. config CRYPTO_DES
  1067. tristate "DES and Triple DES EDE cipher algorithms"
  1068. select CRYPTO_ALGAPI
  1069. help
  1070. DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
  1071. config CRYPTO_DES_SPARC64
  1072. tristate "DES and Triple DES EDE cipher algorithms (SPARC64)"
  1073. depends on SPARC64
  1074. select CRYPTO_ALGAPI
  1075. select CRYPTO_DES
  1076. help
  1077. DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3),
  1078. optimized using SPARC64 crypto opcodes.
  1079. config CRYPTO_DES3_EDE_X86_64
  1080. tristate "Triple DES EDE cipher algorithm (x86-64)"
  1081. depends on X86 && 64BIT
  1082. select CRYPTO_ALGAPI
  1083. select CRYPTO_DES
  1084. help
  1085. Triple DES EDE (FIPS 46-3) algorithm.
  1086. This module provides implementation of the Triple DES EDE cipher
  1087. algorithm that is optimized for x86-64 processors. Two versions of
  1088. algorithm are provided; regular processing one input block and
  1089. one that processes three blocks parallel.
  1090. config CRYPTO_FCRYPT
  1091. tristate "FCrypt cipher algorithm"
  1092. select CRYPTO_ALGAPI
  1093. select CRYPTO_BLKCIPHER
  1094. help
  1095. FCrypt algorithm used by RxRPC.
  1096. config CRYPTO_KHAZAD
  1097. tristate "Khazad cipher algorithm"
  1098. select CRYPTO_ALGAPI
  1099. help
  1100. Khazad cipher algorithm.
  1101. Khazad was a finalist in the initial NESSIE competition. It is
  1102. an algorithm optimized for 64-bit processors with good performance
  1103. on 32-bit processors. Khazad uses an 128 bit key size.
  1104. See also:
  1105. <http://www.larc.usp.br/~pbarreto/KhazadPage.html>
  1106. config CRYPTO_SALSA20
  1107. tristate "Salsa20 stream cipher algorithm"
  1108. select CRYPTO_BLKCIPHER
  1109. help
  1110. Salsa20 stream cipher algorithm.
  1111. Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT
  1112. Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/>
  1113. The Salsa20 stream cipher algorithm is designed by Daniel J.
  1114. Bernstein <[email protected]>. See <http://cr.yp.to/snuffle.html>
  1115. config CRYPTO_SALSA20_586
  1116. tristate "Salsa20 stream cipher algorithm (i586)"
  1117. depends on (X86 || UML_X86) && !64BIT
  1118. select CRYPTO_BLKCIPHER
  1119. help
  1120. Salsa20 stream cipher algorithm.
  1121. Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT
  1122. Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/>
  1123. The Salsa20 stream cipher algorithm is designed by Daniel J.
  1124. Bernstein <[email protected]>. See <http://cr.yp.to/snuffle.html>
  1125. config CRYPTO_SALSA20_X86_64
  1126. tristate "Salsa20 stream cipher algorithm (x86_64)"
  1127. depends on (X86 || UML_X86) && 64BIT
  1128. select CRYPTO_BLKCIPHER
  1129. help
  1130. Salsa20 stream cipher algorithm.
  1131. Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT
  1132. Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/>
  1133. The Salsa20 stream cipher algorithm is designed by Daniel J.
  1134. Bernstein <[email protected]>. See <http://cr.yp.to/snuffle.html>
  1135. config CRYPTO_CHACHA20
  1136. tristate "ChaCha stream cipher algorithms"
  1137. select CRYPTO_BLKCIPHER
  1138. help
  1139. The ChaCha20, XChaCha20, and XChaCha12 stream cipher algorithms.
  1140. ChaCha20 is a 256-bit high-speed stream cipher designed by Daniel J.
  1141. Bernstein and further specified in RFC7539 for use in IETF protocols.
  1142. This is the portable C implementation of ChaCha20. See also:
  1143. <http://cr.yp.to/chacha/chacha-20080128.pdf>
  1144. XChaCha20 is the application of the XSalsa20 construction to ChaCha20
  1145. rather than to Salsa20. XChaCha20 extends ChaCha20's nonce length
  1146. from 64 bits (or 96 bits using the RFC7539 convention) to 192 bits,
  1147. while provably retaining ChaCha20's security. See also:
  1148. <https://cr.yp.to/snuffle/xsalsa-20081128.pdf>
  1149. XChaCha12 is XChaCha20 reduced to 12 rounds, with correspondingly
  1150. reduced security margin but increased performance. It can be needed
  1151. in some performance-sensitive scenarios.
  1152. config CRYPTO_CHACHA20_X86_64
  1153. tristate "ChaCha20 cipher algorithm (x86_64/SSSE3/AVX2)"
  1154. depends on X86 && 64BIT
  1155. select CRYPTO_BLKCIPHER
  1156. select CRYPTO_CHACHA20
  1157. help
  1158. ChaCha20 cipher algorithm, RFC7539.
  1159. ChaCha20 is a 256-bit high-speed stream cipher designed by Daniel J.
  1160. Bernstein and further specified in RFC7539 for use in IETF protocols.
  1161. This is the x86_64 assembler implementation using SIMD instructions.
  1162. See also:
  1163. <http://cr.yp.to/chacha/chacha-20080128.pdf>
  1164. config CRYPTO_SEED
  1165. tristate "SEED cipher algorithm"
  1166. select CRYPTO_ALGAPI
  1167. help
  1168. SEED cipher algorithm (RFC4269).
  1169. SEED is a 128-bit symmetric key block cipher that has been
  1170. developed by KISA (Korea Information Security Agency) as a
  1171. national standard encryption algorithm of the Republic of Korea.
  1172. It is a 16 round block cipher with the key size of 128 bit.
  1173. See also:
  1174. <http://www.kisa.or.kr/kisa/seed/jsp/seed_eng.jsp>
  1175. config CRYPTO_SERPENT
  1176. tristate "Serpent cipher algorithm"
  1177. select CRYPTO_ALGAPI
  1178. help
  1179. Serpent cipher algorithm, by Anderson, Biham & Knudsen.
  1180. Keys are allowed to be from 0 to 256 bits in length, in steps
  1181. of 8 bits. Also includes the 'Tnepres' algorithm, a reversed
  1182. variant of Serpent for compatibility with old kerneli.org code.
  1183. See also:
  1184. <http://www.cl.cam.ac.uk/~rja14/serpent.html>
  1185. config CRYPTO_SERPENT_SSE2_X86_64
  1186. tristate "Serpent cipher algorithm (x86_64/SSE2)"
  1187. depends on X86 && 64BIT
  1188. select CRYPTO_ALGAPI
  1189. select CRYPTO_CRYPTD
  1190. select CRYPTO_ABLK_HELPER
  1191. select CRYPTO_GLUE_HELPER_X86
  1192. select CRYPTO_SERPENT
  1193. select CRYPTO_LRW
  1194. select CRYPTO_XTS
  1195. help
  1196. Serpent cipher algorithm, by Anderson, Biham & Knudsen.
  1197. Keys are allowed to be from 0 to 256 bits in length, in steps
  1198. of 8 bits.
  1199. This module provides Serpent cipher algorithm that processes eight
  1200. blocks parallel using SSE2 instruction set.
  1201. See also:
  1202. <http://www.cl.cam.ac.uk/~rja14/serpent.html>
  1203. config CRYPTO_SERPENT_SSE2_586
  1204. tristate "Serpent cipher algorithm (i586/SSE2)"
  1205. depends on X86 && !64BIT
  1206. select CRYPTO_ALGAPI
  1207. select CRYPTO_CRYPTD
  1208. select CRYPTO_ABLK_HELPER
  1209. select CRYPTO_GLUE_HELPER_X86
  1210. select CRYPTO_SERPENT
  1211. select CRYPTO_LRW
  1212. select CRYPTO_XTS
  1213. help
  1214. Serpent cipher algorithm, by Anderson, Biham & Knudsen.
  1215. Keys are allowed to be from 0 to 256 bits in length, in steps
  1216. of 8 bits.
  1217. This module provides Serpent cipher algorithm that processes four
  1218. blocks parallel using SSE2 instruction set.
  1219. See also:
  1220. <http://www.cl.cam.ac.uk/~rja14/serpent.html>
  1221. config CRYPTO_SERPENT_AVX_X86_64
  1222. tristate "Serpent cipher algorithm (x86_64/AVX)"
  1223. depends on X86 && 64BIT
  1224. select CRYPTO_ALGAPI
  1225. select CRYPTO_CRYPTD
  1226. select CRYPTO_ABLK_HELPER
  1227. select CRYPTO_GLUE_HELPER_X86
  1228. select CRYPTO_SERPENT
  1229. select CRYPTO_LRW
  1230. select CRYPTO_XTS
  1231. help
  1232. Serpent cipher algorithm, by Anderson, Biham & Knudsen.
  1233. Keys are allowed to be from 0 to 256 bits in length, in steps
  1234. of 8 bits.
  1235. This module provides the Serpent cipher algorithm that processes
  1236. eight blocks parallel using the AVX instruction set.
  1237. See also:
  1238. <http://www.cl.cam.ac.uk/~rja14/serpent.html>
  1239. config CRYPTO_SERPENT_AVX2_X86_64
  1240. tristate "Serpent cipher algorithm (x86_64/AVX2)"
  1241. depends on X86 && 64BIT
  1242. select CRYPTO_ALGAPI
  1243. select CRYPTO_CRYPTD
  1244. select CRYPTO_ABLK_HELPER
  1245. select CRYPTO_GLUE_HELPER_X86
  1246. select CRYPTO_SERPENT
  1247. select CRYPTO_SERPENT_AVX_X86_64
  1248. select CRYPTO_LRW
  1249. select CRYPTO_XTS
  1250. help
  1251. Serpent cipher algorithm, by Anderson, Biham & Knudsen.
  1252. Keys are allowed to be from 0 to 256 bits in length, in steps
  1253. of 8 bits.
  1254. This module provides Serpent cipher algorithm that processes 16
  1255. blocks parallel using AVX2 instruction set.
  1256. See also:
  1257. <http://www.cl.cam.ac.uk/~rja14/serpent.html>
  1258. config CRYPTO_TEA
  1259. tristate "TEA, XTEA and XETA cipher algorithms"
  1260. select CRYPTO_ALGAPI
  1261. help
  1262. TEA cipher algorithm.
  1263. Tiny Encryption Algorithm is a simple cipher that uses
  1264. many rounds for security. It is very fast and uses
  1265. little memory.
  1266. Xtendend Tiny Encryption Algorithm is a modification to
  1267. the TEA algorithm to address a potential key weakness
  1268. in the TEA algorithm.
  1269. Xtendend Encryption Tiny Algorithm is a mis-implementation
  1270. of the XTEA algorithm for compatibility purposes.
  1271. config CRYPTO_TWOFISH
  1272. tristate "Twofish cipher algorithm"
  1273. select CRYPTO_ALGAPI
  1274. select CRYPTO_TWOFISH_COMMON
  1275. help
  1276. Twofish cipher algorithm.
  1277. Twofish was submitted as an AES (Advanced Encryption Standard)
  1278. candidate cipher by researchers at CounterPane Systems. It is a
  1279. 16 round block cipher supporting key sizes of 128, 192, and 256
  1280. bits.
  1281. See also:
  1282. <http://www.schneier.com/twofish.html>
  1283. config CRYPTO_TWOFISH_COMMON
  1284. tristate
  1285. help
  1286. Common parts of the Twofish cipher algorithm shared by the
  1287. generic c and the assembler implementations.
  1288. config CRYPTO_TWOFISH_586
  1289. tristate "Twofish cipher algorithms (i586)"
  1290. depends on (X86 || UML_X86) && !64BIT
  1291. select CRYPTO_ALGAPI
  1292. select CRYPTO_TWOFISH_COMMON
  1293. help
  1294. Twofish cipher algorithm.
  1295. Twofish was submitted as an AES (Advanced Encryption Standard)
  1296. candidate cipher by researchers at CounterPane Systems. It is a
  1297. 16 round block cipher supporting key sizes of 128, 192, and 256
  1298. bits.
  1299. See also:
  1300. <http://www.schneier.com/twofish.html>
  1301. config CRYPTO_TWOFISH_X86_64
  1302. tristate "Twofish cipher algorithm (x86_64)"
  1303. depends on (X86 || UML_X86) && 64BIT
  1304. select CRYPTO_ALGAPI
  1305. select CRYPTO_TWOFISH_COMMON
  1306. help
  1307. Twofish cipher algorithm (x86_64).
  1308. Twofish was submitted as an AES (Advanced Encryption Standard)
  1309. candidate cipher by researchers at CounterPane Systems. It is a
  1310. 16 round block cipher supporting key sizes of 128, 192, and 256
  1311. bits.
  1312. See also:
  1313. <http://www.schneier.com/twofish.html>
  1314. config CRYPTO_TWOFISH_X86_64_3WAY
  1315. tristate "Twofish cipher algorithm (x86_64, 3-way parallel)"
  1316. depends on X86 && 64BIT
  1317. select CRYPTO_ALGAPI
  1318. select CRYPTO_TWOFISH_COMMON
  1319. select CRYPTO_TWOFISH_X86_64
  1320. select CRYPTO_GLUE_HELPER_X86
  1321. select CRYPTO_LRW
  1322. select CRYPTO_XTS
  1323. help
  1324. Twofish cipher algorithm (x86_64, 3-way parallel).
  1325. Twofish was submitted as an AES (Advanced Encryption Standard)
  1326. candidate cipher by researchers at CounterPane Systems. It is a
  1327. 16 round block cipher supporting key sizes of 128, 192, and 256
  1328. bits.
  1329. This module provides Twofish cipher algorithm that processes three
  1330. blocks parallel, utilizing resources of out-of-order CPUs better.
  1331. See also:
  1332. <http://www.schneier.com/twofish.html>
  1333. config CRYPTO_TWOFISH_AVX_X86_64
  1334. tristate "Twofish cipher algorithm (x86_64/AVX)"
  1335. depends on X86 && 64BIT
  1336. select CRYPTO_ALGAPI
  1337. select CRYPTO_CRYPTD
  1338. select CRYPTO_ABLK_HELPER
  1339. select CRYPTO_GLUE_HELPER_X86
  1340. select CRYPTO_TWOFISH_COMMON
  1341. select CRYPTO_TWOFISH_X86_64
  1342. select CRYPTO_TWOFISH_X86_64_3WAY
  1343. select CRYPTO_LRW
  1344. select CRYPTO_XTS
  1345. help
  1346. Twofish cipher algorithm (x86_64/AVX).
  1347. Twofish was submitted as an AES (Advanced Encryption Standard)
  1348. candidate cipher by researchers at CounterPane Systems. It is a
  1349. 16 round block cipher supporting key sizes of 128, 192, and 256
  1350. bits.
  1351. This module provides the Twofish cipher algorithm that processes
  1352. eight blocks parallel using the AVX Instruction Set.
  1353. See also:
  1354. <http://www.schneier.com/twofish.html>
  1355. comment "Compression"
  1356. config CRYPTO_DEFLATE
  1357. tristate "Deflate compression algorithm"
  1358. select CRYPTO_ALGAPI
  1359. select ZLIB_INFLATE
  1360. select ZLIB_DEFLATE
  1361. help
  1362. This is the Deflate algorithm (RFC1951), specified for use in
  1363. IPSec with the IPCOMP protocol (RFC3173, RFC2394).
  1364. You will most probably want this if using IPSec.
  1365. config CRYPTO_LZO
  1366. tristate "LZO compression algorithm"
  1367. select CRYPTO_ALGAPI
  1368. select LZO_COMPRESS
  1369. select LZO_DECOMPRESS
  1370. help
  1371. This is the LZO algorithm.
  1372. config CRYPTO_842
  1373. tristate "842 compression algorithm"
  1374. select CRYPTO_ALGAPI
  1375. select 842_COMPRESS
  1376. select 842_DECOMPRESS
  1377. help
  1378. This is the 842 algorithm.
  1379. config CRYPTO_LZ4
  1380. tristate "LZ4 compression algorithm"
  1381. select CRYPTO_ALGAPI
  1382. select CRYPTO_ACOMP2
  1383. select LZ4_COMPRESS
  1384. select LZ4_DECOMPRESS
  1385. help
  1386. This is the LZ4 algorithm.
  1387. config CRYPTO_LZ4HC
  1388. tristate "LZ4HC compression algorithm"
  1389. select CRYPTO_ALGAPI
  1390. select CRYPTO_ACOMP2
  1391. select LZ4HC_COMPRESS
  1392. select LZ4_DECOMPRESS
  1393. help
  1394. This is the LZ4 high compression mode algorithm.
  1395. config CRYPTO_ZSTD
  1396. tristate "Zstd compression algorithm"
  1397. select CRYPTO_ALGAPI
  1398. select CRYPTO_ACOMP2
  1399. select ZSTD_COMPRESS
  1400. select ZSTD_DECOMPRESS
  1401. help
  1402. This is the zstd algorithm.
  1403. comment "Random Number Generation"
  1404. config CRYPTO_ANSI_CPRNG
  1405. tristate "Pseudo Random Number Generation for Cryptographic modules"
  1406. select CRYPTO_AES
  1407. select CRYPTO_RNG
  1408. help
  1409. This option enables the generic pseudo random number generator
  1410. for cryptographic modules. Uses the Algorithm specified in
  1411. ANSI X9.31 A.2.4. Note that this option must be enabled if
  1412. CRYPTO_FIPS is selected
  1413. menuconfig CRYPTO_DRBG_MENU
  1414. tristate "NIST SP800-90A DRBG"
  1415. help
  1416. NIST SP800-90A compliant DRBG. In the following submenu, one or
  1417. more of the DRBG types must be selected.
  1418. if CRYPTO_DRBG_MENU
  1419. config CRYPTO_DRBG_HMAC
  1420. bool
  1421. default y
  1422. select CRYPTO_HMAC
  1423. select CRYPTO_SHA256
  1424. config CRYPTO_DRBG_HASH
  1425. bool "Enable Hash DRBG"
  1426. select CRYPTO_SHA256
  1427. help
  1428. Enable the Hash DRBG variant as defined in NIST SP800-90A.
  1429. config CRYPTO_DRBG_CTR
  1430. bool "Enable CTR DRBG"
  1431. select CRYPTO_AES
  1432. depends on CRYPTO_CTR
  1433. help
  1434. Enable the CTR DRBG variant as defined in NIST SP800-90A.
  1435. config CRYPTO_DRBG
  1436. tristate
  1437. default CRYPTO_DRBG_MENU
  1438. select CRYPTO_RNG
  1439. select CRYPTO_JITTERENTROPY
  1440. endif # if CRYPTO_DRBG_MENU
  1441. config CRYPTO_JITTERENTROPY
  1442. tristate "Jitterentropy Non-Deterministic Random Number Generator"
  1443. select CRYPTO_RNG
  1444. help
  1445. The Jitterentropy RNG is a noise that is intended
  1446. to provide seed to another RNG. The RNG does not
  1447. perform any cryptographic whitening of the generated
  1448. random numbers. This Jitterentropy RNG registers with
  1449. the kernel crypto API and can be used by any caller.
  1450. config CRYPTO_USER_API
  1451. tristate
  1452. config CRYPTO_USER_API_HASH
  1453. tristate "User-space interface for hash algorithms"
  1454. depends on NET
  1455. select CRYPTO_HASH
  1456. select CRYPTO_USER_API
  1457. help
  1458. This option enables the user-spaces interface for hash
  1459. algorithms.
  1460. config CRYPTO_USER_API_SKCIPHER
  1461. tristate "User-space interface for symmetric key cipher algorithms"
  1462. depends on NET
  1463. select CRYPTO_BLKCIPHER
  1464. select CRYPTO_USER_API
  1465. help
  1466. This option enables the user-spaces interface for symmetric
  1467. key cipher algorithms.
  1468. config CRYPTO_USER_API_RNG
  1469. tristate "User-space interface for random number generator algorithms"
  1470. depends on NET
  1471. select CRYPTO_RNG
  1472. select CRYPTO_USER_API
  1473. help
  1474. This option enables the user-spaces interface for random
  1475. number generator algorithms.
  1476. config CRYPTO_USER_API_AEAD
  1477. tristate "User-space interface for AEAD cipher algorithms"
  1478. depends on NET
  1479. select CRYPTO_AEAD
  1480. select CRYPTO_USER_API
  1481. help
  1482. This option enables the user-spaces interface for AEAD
  1483. cipher algorithms.
  1484. config CRYPTO_HASH_INFO
  1485. bool
  1486. source "drivers/crypto/Kconfig"
  1487. source crypto/asymmetric_keys/Kconfig
  1488. source certs/Kconfig
  1489. endif # if CRYPTO