Config.in.crypto 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626
  1. # This file is part of the OpenADK project. OpenADK is copyrighted
  2. # material, please see the LICENCE file in the top-level directory.
  3. menu "Crypto support"
  4. config ADK_LINUX_KERNEL_CRYPTO
  5. tristate
  6. config ADK_LINUX_KERNEL_CRYPTO_HW
  7. bool
  8. config ADK_LINUX_KERNEL_XOR_BLOCKS
  9. tristate
  10. comment "Hardware cryptography"
  11. menu "Hardware crypto devices"
  12. depends on ADK_TARGET_WITH_PCI || ADK_TARGET_WITH_MINIPCI || ADK_TARGET_WITH_GEODE_CRYPTO
  13. config ADK_LINUX_KERNEL_CRYPTO_DEV_GEODE
  14. tristate "Support for the Geode LX/GX AES engine"
  15. select ADK_LINUX_KERNEL_CRYPTO
  16. select ADK_LINUX_KERNEL_CRYPTO_HW
  17. select ADK_LINUX_KERNEL_CRYPTO_ECB
  18. select ADK_LINUX_KERNEL_CRYPTO_CBC
  19. depends on ADK_TARGET_WITH_GEODE_CRYPTO
  20. default y if ADK_TARGET_WITH_GEODE_CRYPTO
  21. default n
  22. help
  23. Say 'Y' here to use the AMD Geode LX processor on-board AES
  24. engine for the CryptoAPI AES algorithm.
  25. config ADK_LINUX_KERNEL_CRYPTO_DEV_HIFN_795X
  26. tristate "Driver for HIFN 795x crypto accelerator chips"
  27. depends on ADK_TARGET_WITH_PCI || ADK_TARGET_WITH_MINIPCI
  28. select ADK_LINUX_KERNEL_CRYPTO
  29. select ADK_LINUX_KERNEL_CRYPTO_HW
  30. select ADK_LINUX_KERNEL_CRYPTO_DES
  31. default n
  32. help
  33. This option allows you to have support for HIFN 795x crypto adapters.
  34. endmenu
  35. comment "Software cryptography support"
  36. menu "Crypto core / Block and Hash modes"
  37. config ADK_LINUX_KERNEL_CRYPTO_PCOMP
  38. tristate
  39. select ADK_LINUX_KERNEL_CRYPTO_PCOMP2
  40. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  41. config ADK_LINUX_KERNEL_CRYPTO_PCOMP2
  42. tristate
  43. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI2
  44. config ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  45. tristate
  46. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI2
  47. config ADK_LINUX_KERNEL_CRYPTO_ALGAPI2
  48. tristate
  49. config ADK_LINUX_KERNEL_CRYPTO_AEAD
  50. tristate
  51. select ADK_LINUX_KERNEL_CRYPTO_AEAD2
  52. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  53. config ADK_LINUX_KERNEL_CRYPTO_AEAD2
  54. tristate
  55. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI2
  56. config ADK_LINUX_KERNEL_CRYPTO_HASH
  57. tristate
  58. select ADK_LINUX_KERNEL_CRYPTO
  59. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  60. select ADK_LINUX_KERNEL_CRYPTO_HASH2
  61. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  62. config ADK_LINUX_KERNEL_CRYPTO_HASH2
  63. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI2
  64. tristate
  65. config ADK_LINUX_KERNEL_CRYPTO_BLKCIPHER
  66. tristate
  67. select ADK_LINUX_KERNEL_CRYPTO_BLKCIPHER2
  68. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  69. config ADK_LINUX_KERNEL_CRYPTO_BLKCIPHER2
  70. tristate
  71. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI2
  72. select ADK_LINUX_KERNEL_CRYPTO_RNG2
  73. select ADK_LINUX_KERNEL_CRYPTO_WORKQUEUE
  74. config ADK_LINUX_KERNEL_CRYPTO_WORKQUEUE
  75. tristate
  76. config ADK_LINUX_KERNEL_CRYPTO_RNG
  77. tristate
  78. select ADK_LINUX_KERNEL_CRYPTO_RNG2
  79. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  80. config ADK_LINUX_KERNEL_CRYPTO_RNG2
  81. tristate
  82. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI2
  83. config ADK_LINUX_KERNEL_CRYPTO_MANAGER
  84. tristate
  85. select ADK_LINUX_KERNEL_CRYPTO_MANAGER2
  86. config ADK_LINUX_KERNEL_CRYPTO_MANAGER2
  87. def_tristate ADK_LINUX_KERNEL_CRYPTO_MANAGER || (ADK_LINUX_KERNEL_CRYPTO_MANAGER!=n && ADK_LINUX_KERNEL_CRYPTO_ALGAPI=y)
  88. select ADK_LINUX_KERNEL_CRYPTO_AEAD2
  89. select ADK_LINUX_KERNEL_CRYPTO_HASH2
  90. select ADK_LINUX_KERNEL_CRYPTO_BLKCIPHER2
  91. select ADK_LINUX_KERNEL_CRYPTO_PCOMP2
  92. config ADK_LINUX_KERNEL_CRYPTO_AUTHENC
  93. tristate "AuthENC (IPsec)"
  94. select ADK_LINUX_KERNEL_CRYPTO_AEAD
  95. select ADK_LINUX_KERNEL_CRYPTO_BLKCIPHER
  96. select ADK_LINUX_KERNEL_CRYPTO_MANAGER
  97. select ADK_LINUX_KERNEL_CRYPTO_HASH
  98. default n
  99. config ADK_LINUX_KERNEL_CRYPTO_SEQIV
  100. tristate "Sequence Number IV Generator"
  101. select ADK_LINUX_KERNEL_CRYPTO_AEAD
  102. select ADK_LINUX_KERNEL_CRYPTO_BLKCIPHER
  103. select ADK_LINUX_KERNEL_CRYPTO_RNG
  104. default n
  105. help
  106. This IV generator generates an IV based on a sequence number by
  107. xoring it with a salt. This algorithm is mainly useful for CTR
  108. config ADK_LINUX_KERNEL_CRYPTO_CTS
  109. tristate "CTS support"
  110. select ADK_LINUX_KERNEL_CRYPTO_BLKCIPHER
  111. default n
  112. help
  113. CTS: Cipher Text Stealing
  114. This is the Cipher Text Stealing mode as described by
  115. Section 8 of rfc2040 and referenced by rfc3962.
  116. (rfc3962 includes errata information in its Appendix A)
  117. This mode is required for Kerberos gss mechanism support
  118. for AES encryption.
  119. config ADK_LINUX_KERNEL_CRYPTO_CBC
  120. tristate "CBC support"
  121. select ADK_LINUX_KERNEL_CRYPTO_BLKCIPHER
  122. select ADK_LINUX_KERNEL_CRYPTO_MANAGER
  123. default n
  124. help
  125. CBC: Cipher Block Chaining mode
  126. This block cipher algorithm is required for IPSec.
  127. config ADK_LINUX_KERNEL_CRYPTO_CCM
  128. tristate "CCM support"
  129. select ADK_LINUX_KERNEL_CRYPTO_CTR
  130. select ADK_LINUX_KERNEL_CRYPTO_AEAD
  131. default n
  132. help
  133. Support for Counter with CBC MAC. Required for IPsec.
  134. config ADK_LINUX_KERNEL_CRYPTO_GCM
  135. tristate "GCM support"
  136. select ADK_LINUX_KERNEL_CRYPTO_CTR
  137. select ADK_LINUX_KERNEL_CRYPTO_AEAD
  138. select ADK_LINUX_KERNEL_CRYPTO_GHASH
  139. select ADK_LINUX_KERNEL_CRYPTO_NULL
  140. default n
  141. help
  142. Support for Galois/Counter Mode (GCM) and Galois Message
  143. Authentication Code (GMAC). Required for IPSec.
  144. config ADK_LINUX_KERNEL_CRYPTO_CTR
  145. tristate "CTR support"
  146. select ADK_LINUX_KERNEL_CRYPTO_BLKCIPHER
  147. select ADK_LINUX_KERNEL_CRYPTO_SEQIV
  148. select ADK_LINUX_KERNEL_CRYPTO_MANAGER
  149. default n
  150. help
  151. CTR: Counter mode
  152. This block cipher algorithm is required for IPSec.
  153. config ADK_LINUX_KERNEL_CRYPTO_ECB
  154. tristate "ECB support"
  155. select ADK_LINUX_KERNEL_CRYPTO_BLKCIPHER
  156. select ADK_LINUX_KERNEL_CRYPTO_MANAGER
  157. default n
  158. help
  159. ECB: Electronic CodeBook mode
  160. This is the simplest block cipher algorithm. It simply encrypts
  161. the input block by block.
  162. config ADK_LINUX_KERNEL_CRYPTO_XTS
  163. tristate "XTS support"
  164. select ADK_LINUX_KERNEL_CRYPTO_BLKCIPHER
  165. select ADK_LINUX_KERNEL_CRYPTO_MANAGER
  166. default n
  167. help
  168. config ADK_LINUX_KERNEL_CRYPTO_CMAC
  169. tristate "CMAC support"
  170. select ADK_LINUX_KERNEL_CRYPTO_HASH
  171. select ADK_LINUX_KERNEL_CRYPTO_MANAGER
  172. default n
  173. help
  174. CMAC (Cipher-based Message Authentication Code) authentication
  175. mode (NIST SP800-38B and IETF RFC4493)
  176. config ADK_LINUX_KERNEL_CRYPTO_HMAC
  177. tristate "HMAC support"
  178. select ADK_LINUX_KERNEL_CRYPTO_HASH
  179. select ADK_LINUX_KERNEL_CRYPTO_MANAGER
  180. default n
  181. help
  182. HMAC: Keyed-Hashing for Message Authentication (RFC2104).
  183. This is required for IPSec.
  184. config ADK_LINUX_KERNEL_CRYPTO_XCBC
  185. tristate "XCBC support"
  186. select ADK_LINUX_KERNEL_CRYPTO_HASH
  187. select ADK_LINUX_KERNEL_CRYPTO_MANAGER
  188. default n
  189. help
  190. XCBC: Keyed-Hashing with encryption algorithm
  191. endmenu
  192. menu "Digest algorithms"
  193. config ADK_LINUX_KERNEL_CRYPTO_MD4
  194. tristate "MD4 digest algorithm"
  195. select ADK_LINUX_KERNEL_CRYPTO_HASH
  196. default n
  197. help
  198. MD4 message digest algorithm (RFC1320).
  199. config ADK_LINUX_KERNEL_CRYPTO_MD5
  200. tristate "MD5 digest algorithm"
  201. select ADK_LINUX_KERNEL_CRYPTO_HASH
  202. default n
  203. help
  204. MD5 message digest algorithm (RFC1321).
  205. config ADK_LINUX_KERNEL_CRYPTO_SHA1
  206. tristate "SHA1 digest algorithm"
  207. select ADK_LINUX_KERNEL_CRYPTO_HASH
  208. default n
  209. help
  210. SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
  211. config ADK_LINUX_KERNEL_CRYPTO_SHA256
  212. tristate "SHA256 digest algorithm"
  213. select ADK_LINUX_KERNEL_CRYPTO_HASH
  214. default n
  215. help
  216. SHA256 secure hash standard (DFIPS 180-2).
  217. This version of SHA implements a 256 bit hash with 128 bits of
  218. security against collision attacks.
  219. config ADK_LINUX_KERNEL_CRYPTO_SHA512
  220. tristate "SHA512 digest algorithm"
  221. select ADK_LINUX_KERNEL_CRYPTO_HASH
  222. default n
  223. help
  224. SHA512 secure hash standard (DFIPS 180-2).
  225. This version of SHA implements a 512 bit hash with 256 bits of
  226. security against collision attacks.
  227. This code also includes SHA-384, a 384 bit hash with 192 bits
  228. of security against collision attacks.
  229. config ADK_LINUX_KERNEL_CRYPTO_WP512
  230. tristate "Whirlpool digest algorithms"
  231. select ADK_LINUX_KERNEL_CRYPTO_HASH
  232. default n
  233. help
  234. Whirlpool hash algorithm 512, 384 and 256-bit hashes
  235. Whirlpool-512 is part of the NESSIE cryptographic primitives.
  236. Whirlpool will be part of the ISO/IEC 10118-3:2003(E) standard
  237. See also:
  238. <http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html>
  239. config ADK_LINUX_KERNEL_CRYPTO_TGR192
  240. tristate "Tiger digest algorithms"
  241. select ADK_LINUX_KERNEL_CRYPTO_HASH
  242. default n
  243. help
  244. Tiger hash algorithm 192, 160 and 128-bit hashes
  245. Tiger is a hash function optimized for 64-bit processors while
  246. still having decent performance on 32-bit processors.
  247. Tiger was developed by Ross Anderson and Eli Biham.
  248. See also:
  249. <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>.
  250. endmenu
  251. menu "Cipher algorithms"
  252. config ADK_LINUX_KERNEL_CRYPTO_AES
  253. tristate "AES cipher algorithms"
  254. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  255. default n
  256. help
  257. AES cipher algorithms (FIPS-197). AES uses the Rijndael
  258. algorithm.
  259. Rijndael appears to be consistently a very good performer in
  260. both hardware and software across a wide range of computing
  261. environments regardless of its use in feedback or non-feedback
  262. modes. Its key setup time is excellent, and its key agility is
  263. good. Rijndael's very low memory requirements make it very well
  264. suited for restricted-space environments, in which it also
  265. demonstrates excellent performance. Rijndael's operations are
  266. among the easiest to defend against power and timing attacks.
  267. The AES specifies three key sizes: 128, 192 and 256 bits
  268. See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information.
  269. config ADK_LINUX_KERNEL_CRYPTO_AES_586
  270. tristate "AES cipher algorithms (i586)"
  271. depends on ADK_x86
  272. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  273. select ADK_LINUX_KERNEL_CRYPTO_AES
  274. default n
  275. help
  276. AES cipher algorithms (FIPS-197). AES uses the Rijndael
  277. algorithm.
  278. Rijndael appears to be consistently a very good performer in
  279. both hardware and software across a wide range of computing
  280. environments regardless of its use in feedback or non-feedback
  281. modes. Its key setup time is excellent, and its key agility is
  282. good. Rijndael's very low memory requirements make it very well
  283. suited for restricted-space environments, in which it also
  284. demonstrates excellent performance. Rijndael's operations are
  285. among the easiest to defend against power and timing attacks.
  286. The AES specifies three key sizes: 128, 192 and 256 bits
  287. See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information.
  288. config ADK_LINUX_KERNEL_CRYPTO_ANUBIS
  289. tristate "Anubis cipher algorithm"
  290. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  291. default n
  292. help
  293. Anubis cipher algorithm.
  294. Anubis is a variable key length cipher which can use keys from
  295. 128 bits to 320 bits in length. It was evaluated as a entrant
  296. in the NESSIE competition.
  297. See also:
  298. <https://www.cosic.esat.kuleuven.ac.be/nessie/reports/>
  299. <http://planeta.terra.com.br/informatica/paulobarreto/AnubisPage.html>
  300. config ADK_LINUX_KERNEL_CRYPTO_ARC4
  301. tristate "ARC4 cipher algorithm"
  302. select ADK_LINUX_KERNEL_CRYPTO_BLKCIPHER
  303. default n
  304. help
  305. ARC4 cipher algorithm.
  306. ARC4 is a stream cipher using keys ranging from 8 bits to 2048
  307. bits in length. This algorithm is required for driver-based
  308. WEP, but it should not be for other purposes because of the
  309. weakness of the algorithm.
  310. config ADK_LINUX_KERNEL_CRYPTO_BLOWFISH
  311. tristate "Blowfish cipher algorithm"
  312. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  313. default n
  314. help
  315. Blowfish cipher algorithm, by Bruce Schneier.
  316. This is a variable key length cipher which can use keys from 32
  317. bits to 448 bits in length. It's fast, simple and specifically
  318. designed for use on "large microprocessors".
  319. See also:
  320. <http://www.schneier.com/blowfish.html>
  321. config ADK_LINUX_KERNEL_CRYPTO_CAMELLIA
  322. tristate "Camellia cipher algorithms"
  323. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  324. default n
  325. help
  326. Camellia cipher algorithms module.
  327. Camellia is a symmetric key block cipher developed jointly
  328. at NTT and Mitsubishi Electric Corporation.
  329. The Camellia specifies three key sizes: 128, 192 and 256 bits.
  330. See also:
  331. <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
  332. config ADK_LINUX_KERNEL_CRYPTO_CAST5
  333. tristate "CAST5 (CAST-128) cipher algorithm"
  334. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  335. default n
  336. help
  337. The CAST5 encryption algorithm (synonymous with CAST-128) is
  338. described in RFC2144.
  339. config ADK_LINUX_KERNEL_CRYPTO_CAST6
  340. tristate "CAST6 (CATS-256) cipher algorithm"
  341. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  342. default n
  343. help
  344. The CAST6 encryption algorithm (synonymous with CAST-256) is
  345. described in RFC2612.
  346. config ADK_LINUX_KERNEL_CRYPTO_DES
  347. tristate "DES and Triple DES EDE cipher algorithms"
  348. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  349. default n
  350. help
  351. DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
  352. config ADK_LINUX_KERNEL_CRYPTO_FCRYPT
  353. tristate "FCrypt cipher algorithms"
  354. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  355. default n
  356. help
  357. FCrypt algorithm used by RxRPC.
  358. config ADK_LINUX_KERNEL_CRYPTO_KHAZAD
  359. tristate "Khazad cipher algorithm"
  360. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  361. default n
  362. help
  363. Khazad cipher algorithm.
  364. Khazad was a finalist in the initial NESSIE competition. It is
  365. an algorithm optimized for 64-bit processors with good performance
  366. on 32-bit processors. Khazad uses an 128 bit key size.
  367. See also:
  368. <http://planeta.terra.com.br/informatica/paulobarreto/KhazadPage.html>
  369. config ADK_LINUX_KERNEL_CRYPTO_SERPENT
  370. tristate "Serpent cipher algorithm"
  371. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  372. default n
  373. help
  374. Serpent cipher algorithm, by Anderson, Biham & Knudsen.
  375. Keys are allowed to be from 0 to 256 bits in length, in steps
  376. of 8 bits. Also includes the 'Tnepres' algorithm, a reversed
  377. variant of Serpent for compatibility with old kerneli code.
  378. See also:
  379. <http://www.cl.cam.ac.uk/~rja14/serpent.html>
  380. config ADK_LINUX_KERNEL_CRYPTO_TEA
  381. tristate "TEA, XTEA and XETA cipher algorithms"
  382. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  383. default n
  384. help
  385. TEA cipher algorithm.
  386. Tiny Encryption Algorithm is a simple cipher that uses
  387. many rounds for security. It is very fast and uses
  388. little memory.
  389. Xtendend Tiny Encryption Algorithm is a modification to
  390. the TEA algorithm to address a potential key weakness
  391. in the TEA algorithm.
  392. Xtendend Encryption Tiny Algorithm is a mis-implementation
  393. of the XTEA algorithm for compatibility purposes.
  394. config ADK_LINUX_KERNEL_CRYPTO_TWOFISH
  395. tristate "Twofish cipher algorithm"
  396. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  397. default n
  398. help
  399. Twofish cipher algorithm.
  400. Twofish was submitted as an AES (Advanced Encryption Standard)
  401. candidate cipher by researchers at CounterPane Systems. It is a
  402. 16 round block cipher supporting key sizes of 128, 192, and 256
  403. bits.
  404. See also:
  405. <http://www.schneier.com/twofish.html>
  406. config ADK_LINUX_KERNEL_CRYPTO_TWOFISH_586
  407. tristate "Twofish cipher algorithm (i586)"
  408. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  409. depends on ADK_x86
  410. default n
  411. help
  412. Twofish cipher algorithm.
  413. Twofish was submitted as an AES (Advanced Encryption Standard)
  414. candidate cipher by researchers at CounterPane Systems. It is a
  415. 16 round block cipher supporting key sizes of 128, 192, and 256
  416. bits.
  417. See also:
  418. <http://www.schneier.com/twofish.html>
  419. config ADK_LINUX_KERNEL_CRYPTO_NULL
  420. tristate "Null algorithms"
  421. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  422. select ADK_LINUX_KERNEL_CRYPTO_BLKCIPHER
  423. select ADK_LINUX_KERNEL_CRYPTO_HASH
  424. default n
  425. help
  426. These are 'Null' algorithms, used by IPsec, which do nothing.
  427. endmenu
  428. menu "Compression"
  429. config ADK_LINUX_KERNEL_CRYPTO_DEFLATE
  430. tristate "Deflate compression algorithm"
  431. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  432. select ADK_LINUX_KERNEL_ZLIB_DEFLATE
  433. select ADK_LINUX_KERNEL_ZLIB_INFLATE
  434. default n
  435. help
  436. This is the Deflate algorithm (RFC1951), specified for use in
  437. IPSec with the IPCOMP protocol (RFC3173, RFC2394).
  438. You will most probably want this if using IPSec.
  439. config ADK_LINUX_KERNEL_CRYPTO_LZO
  440. tristate "LZO compression algorithm"
  441. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  442. default n
  443. help
  444. config ADK_LINUX_KERNEL_CRYPTO_MICHAEL_MIC
  445. tristate "Michael MIC keyed digest algorithm"
  446. select ADK_LINUX_KERNEL_CRYPTO_HASH
  447. default n
  448. help
  449. Michael MIC is used for message integrity protection in TKIP
  450. (IEEE 802.11i). This algorithm is required for TKIP, but it
  451. should not be used for other purposes because of the weakness
  452. of the algorithm.
  453. config ADK_LINUX_KERNEL_CRYPTO_CRC32C
  454. tristate "CRC32c CRC algorithm"
  455. select ADK_LINUX_KERNEL_CRYPTO_HASH
  456. select ADK_LINUX_KERNEL_CRC32
  457. default n
  458. help
  459. Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used
  460. by iSCSI for header and data digests and by others.
  461. See Castagnoli93. This implementation uses lib/libcrc32c.
  462. Module will be crc32c.
  463. endmenu
  464. menu "User-space interface"
  465. config ADK_LINUX_KERNEL_CRYPTO_USER_API
  466. tristate
  467. config ADK_LINUX_KERNEL_CRYPTO_USER_API_HASH
  468. tristate "User-space interface for hash algorithms"
  469. depends on ADK_LINUX_KERNEL_NET
  470. select ADK_LINUX_KERNEL_CRYPTO_HASH
  471. select ADK_LINUX_KERNEL_CRYPTO_USER_API
  472. help
  473. This option enables the user-spaces interface for hash
  474. algorithms.
  475. config ADK_LINUX_KERNEL_CRYPTO_USER_API_SKCIPHER
  476. tristate "User-space interface for symmetric key cipher algorithms"
  477. depends on ADK_LINUX_KERNEL_NET
  478. select ADK_LINUX_KERNEL_CRYPTO_BLKCIPHER
  479. select ADK_LINUX_KERNEL_CRYPTO_USER_API
  480. help
  481. This option enables the user-spaces interface for symmetric
  482. key cipher algorithms.
  483. config ADK_LINUX_KERNEL_CRYPTO_USER_API_RNG
  484. tristate "User-space interface for random number generator algorithms"
  485. depends on ADK_LINUX_KERNEL_NET
  486. select ADK_LINUX_KERNEL_CRYPTO_RNG
  487. select ADK_LINUX_KERNEL_CRYPTO_USER_API
  488. help
  489. This option enables the user-spaces interface for random
  490. number generator algorithms.
  491. config ADK_LINUX_KERNEL_CRYPTO_USER_API_AEAD
  492. tristate "User-space interface for AEAD cipher algorithms"
  493. depends on ADK_LINUX_KERNEL_NET
  494. select ADK_LINUX_KERNEL_CRYPTO_AEAD
  495. select ADK_LINUX_KERNEL_CRYPTO_BLKCIPHER
  496. select ADK_LINUX_KERNEL_CRYPTO_NULL
  497. select ADK_LINUX_KERNEL_CRYPTO_USER_API
  498. help
  499. This option enables the user-spaces interface for AEAD
  500. cipher algorithms.
  501. config ADK_LINUX_KERNEL_CRYPTO_STATS
  502. bool "Crypto usage statistics for User-space"
  503. depends on ADK_LINUX_KERNEL_CRYPTO_USER
  504. help
  505. This option enables the gathering of crypto stats.
  506. This will collect:
  507. - encrypt/decrypt size and numbers of symmeric operations
  508. - compress/decompress size and numbers of compress operations
  509. - size and numbers of hash operations
  510. - encrypt/decrypt/sign/verify numbers for asymmetric operations
  511. - generate/seed numbers for rng operations
  512. endmenu
  513. endmenu