Config.in.crypto 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617
  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_HMAC
  169. tristate "HMAC support"
  170. select ADK_LINUX_KERNEL_CRYPTO_HASH
  171. select ADK_LINUX_KERNEL_CRYPTO_MANAGER
  172. default n
  173. help
  174. HMAC: Keyed-Hashing for Message Authentication (RFC2104).
  175. This is required for IPSec.
  176. config ADK_LINUX_KERNEL_CRYPTO_XCBC
  177. tristate "XCBC support"
  178. select ADK_LINUX_KERNEL_CRYPTO_HASH
  179. select ADK_LINUX_KERNEL_CRYPTO_MANAGER
  180. default n
  181. help
  182. XCBC: Keyed-Hashing with encryption algorithm
  183. endmenu
  184. menu "Digest algorithms"
  185. config ADK_LINUX_KERNEL_CRYPTO_MD4
  186. tristate "MD4 digest algorithm"
  187. select ADK_LINUX_KERNEL_CRYPTO_HASH
  188. default n
  189. help
  190. MD4 message digest algorithm (RFC1320).
  191. config ADK_LINUX_KERNEL_CRYPTO_MD5
  192. tristate "MD5 digest algorithm"
  193. select ADK_LINUX_KERNEL_CRYPTO_HASH
  194. default n
  195. help
  196. MD5 message digest algorithm (RFC1321).
  197. config ADK_LINUX_KERNEL_CRYPTO_SHA1
  198. tristate "SHA1 digest algorithm"
  199. select ADK_LINUX_KERNEL_CRYPTO_HASH
  200. default n
  201. help
  202. SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
  203. config ADK_LINUX_KERNEL_CRYPTO_SHA256
  204. tristate "SHA256 digest algorithm"
  205. select ADK_LINUX_KERNEL_CRYPTO_HASH
  206. default n
  207. help
  208. SHA256 secure hash standard (DFIPS 180-2).
  209. This version of SHA implements a 256 bit hash with 128 bits of
  210. security against collision attacks.
  211. config ADK_LINUX_KERNEL_CRYPTO_SHA512
  212. tristate "SHA512 digest algorithm"
  213. select ADK_LINUX_KERNEL_CRYPTO_HASH
  214. default n
  215. help
  216. SHA512 secure hash standard (DFIPS 180-2).
  217. This version of SHA implements a 512 bit hash with 256 bits of
  218. security against collision attacks.
  219. This code also includes SHA-384, a 384 bit hash with 192 bits
  220. of security against collision attacks.
  221. config ADK_LINUX_KERNEL_CRYPTO_WP512
  222. tristate "Whirlpool digest algorithms"
  223. select ADK_LINUX_KERNEL_CRYPTO_HASH
  224. default n
  225. help
  226. Whirlpool hash algorithm 512, 384 and 256-bit hashes
  227. Whirlpool-512 is part of the NESSIE cryptographic primitives.
  228. Whirlpool will be part of the ISO/IEC 10118-3:2003(E) standard
  229. See also:
  230. <http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html>
  231. config ADK_LINUX_KERNEL_CRYPTO_TGR192
  232. tristate "Tiger digest algorithms"
  233. select ADK_LINUX_KERNEL_CRYPTO_HASH
  234. default n
  235. help
  236. Tiger hash algorithm 192, 160 and 128-bit hashes
  237. Tiger is a hash function optimized for 64-bit processors while
  238. still having decent performance on 32-bit processors.
  239. Tiger was developed by Ross Anderson and Eli Biham.
  240. See also:
  241. <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>.
  242. endmenu
  243. menu "Cipher algoritms"
  244. config ADK_LINUX_KERNEL_CRYPTO_AES
  245. tristate "AES cipher algorithms"
  246. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  247. default n
  248. help
  249. AES cipher algorithms (FIPS-197). AES uses the Rijndael
  250. algorithm.
  251. Rijndael appears to be consistently a very good performer in
  252. both hardware and software across a wide range of computing
  253. environments regardless of its use in feedback or non-feedback
  254. modes. Its key setup time is excellent, and its key agility is
  255. good. Rijndael's very low memory requirements make it very well
  256. suited for restricted-space environments, in which it also
  257. demonstrates excellent performance. Rijndael's operations are
  258. among the easiest to defend against power and timing attacks.
  259. The AES specifies three key sizes: 128, 192 and 256 bits
  260. See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information.
  261. config ADK_LINUX_KERNEL_CRYPTO_AES_586
  262. tristate "AES cipher algorithms (i586)"
  263. depends on ADK_x86
  264. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  265. select ADK_LINUX_KERNEL_CRYPTO_AES
  266. default n
  267. help
  268. AES cipher algorithms (FIPS-197). AES uses the Rijndael
  269. algorithm.
  270. Rijndael appears to be consistently a very good performer in
  271. both hardware and software across a wide range of computing
  272. environments regardless of its use in feedback or non-feedback
  273. modes. Its key setup time is excellent, and its key agility is
  274. good. Rijndael's very low memory requirements make it very well
  275. suited for restricted-space environments, in which it also
  276. demonstrates excellent performance. Rijndael's operations are
  277. among the easiest to defend against power and timing attacks.
  278. The AES specifies three key sizes: 128, 192 and 256 bits
  279. See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information.
  280. config ADK_LINUX_KERNEL_CRYPTO_ANUBIS
  281. tristate "Anubis cipher algorithm"
  282. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  283. default n
  284. help
  285. Anubis cipher algorithm.
  286. Anubis is a variable key length cipher which can use keys from
  287. 128 bits to 320 bits in length. It was evaluated as a entrant
  288. in the NESSIE competition.
  289. See also:
  290. <https://www.cosic.esat.kuleuven.ac.be/nessie/reports/>
  291. <http://planeta.terra.com.br/informatica/paulobarreto/AnubisPage.html>
  292. config ADK_LINUX_KERNEL_CRYPTO_ARC4
  293. tristate "ARC4 cipher algorithm"
  294. select ADK_LINUX_KERNEL_CRYPTO_BLKCIPHER
  295. default n
  296. help
  297. ARC4 cipher algorithm.
  298. ARC4 is a stream cipher using keys ranging from 8 bits to 2048
  299. bits in length. This algorithm is required for driver-based
  300. WEP, but it should not be for other purposes because of the
  301. weakness of the algorithm.
  302. config ADK_LINUX_KERNEL_CRYPTO_BLOWFISH
  303. tristate "Blowfish cipher algorithm"
  304. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  305. default n
  306. help
  307. Blowfish cipher algorithm, by Bruce Schneier.
  308. This is a variable key length cipher which can use keys from 32
  309. bits to 448 bits in length. It's fast, simple and specifically
  310. designed for use on "large microprocessors".
  311. See also:
  312. <http://www.schneier.com/blowfish.html>
  313. config ADK_LINUX_KERNEL_CRYPTO_CAMELLIA
  314. tristate "Camellia cipher algorithms"
  315. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  316. default n
  317. help
  318. Camellia cipher algorithms module.
  319. Camellia is a symmetric key block cipher developed jointly
  320. at NTT and Mitsubishi Electric Corporation.
  321. The Camellia specifies three key sizes: 128, 192 and 256 bits.
  322. See also:
  323. <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
  324. config ADK_LINUX_KERNEL_CRYPTO_CAST5
  325. tristate "CAST5 (CAST-128) cipher algorithm"
  326. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  327. default n
  328. help
  329. The CAST5 encryption algorithm (synonymous with CAST-128) is
  330. described in RFC2144.
  331. config ADK_LINUX_KERNEL_CRYPTO_CAST6
  332. tristate "CAST6 (CATS-256) cipher algorithm"
  333. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  334. default n
  335. help
  336. The CAST6 encryption algorithm (synonymous with CAST-256) is
  337. described in RFC2612.
  338. config ADK_LINUX_KERNEL_CRYPTO_DES
  339. tristate "DES and Triple DES EDE cipher algorithms"
  340. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  341. default n
  342. help
  343. DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
  344. config ADK_LINUX_KERNEL_CRYPTO_FCRYPT
  345. tristate "FCrypt cipher algorithms"
  346. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  347. default n
  348. help
  349. FCrypt algorithm used by RxRPC.
  350. config ADK_LINUX_KERNEL_CRYPTO_KHAZAD
  351. tristate "Khazad cipher algorithm"
  352. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  353. default n
  354. help
  355. Khazad cipher algorithm.
  356. Khazad was a finalist in the initial NESSIE competition. It is
  357. an algorithm optimized for 64-bit processors with good performance
  358. on 32-bit processors. Khazad uses an 128 bit key size.
  359. See also:
  360. <http://planeta.terra.com.br/informatica/paulobarreto/KhazadPage.html>
  361. config ADK_LINUX_KERNEL_CRYPTO_SERPENT
  362. tristate "Serpent cipher algorithm"
  363. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  364. default n
  365. help
  366. Serpent cipher algorithm, by Anderson, Biham & Knudsen.
  367. Keys are allowed to be from 0 to 256 bits in length, in steps
  368. of 8 bits. Also includes the 'Tnepres' algorithm, a reversed
  369. variant of Serpent for compatibility with old kerneli code.
  370. See also:
  371. <http://www.cl.cam.ac.uk/~rja14/serpent.html>
  372. config ADK_LINUX_KERNEL_CRYPTO_TEA
  373. tristate "TEA, XTEA and XETA cipher algorithms"
  374. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  375. default n
  376. help
  377. TEA cipher algorithm.
  378. Tiny Encryption Algorithm is a simple cipher that uses
  379. many rounds for security. It is very fast and uses
  380. little memory.
  381. Xtendend Tiny Encryption Algorithm is a modification to
  382. the TEA algorithm to address a potential key weakness
  383. in the TEA algorithm.
  384. Xtendend Encryption Tiny Algorithm is a mis-implementation
  385. of the XTEA algorithm for compatibility purposes.
  386. config ADK_LINUX_KERNEL_CRYPTO_TWOFISH
  387. tristate "Twofish cipher algorithm"
  388. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  389. default n
  390. help
  391. Twofish cipher algorithm.
  392. Twofish was submitted as an AES (Advanced Encryption Standard)
  393. candidate cipher by researchers at CounterPane Systems. It is a
  394. 16 round block cipher supporting key sizes of 128, 192, and 256
  395. bits.
  396. See also:
  397. <http://www.schneier.com/twofish.html>
  398. config ADK_LINUX_KERNEL_CRYPTO_TWOFISH_586
  399. tristate "Twofish cipher algorithm (i586)"
  400. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  401. depends on ADK_x86
  402. default n
  403. help
  404. Twofish cipher algorithm.
  405. Twofish was submitted as an AES (Advanced Encryption Standard)
  406. candidate cipher by researchers at CounterPane Systems. It is a
  407. 16 round block cipher supporting key sizes of 128, 192, and 256
  408. bits.
  409. See also:
  410. <http://www.schneier.com/twofish.html>
  411. config ADK_LINUX_KERNEL_CRYPTO_NULL
  412. tristate "Null algorithms"
  413. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  414. select ADK_LINUX_KERNEL_CRYPTO_BLKCIPHER
  415. select ADK_LINUX_KERNEL_CRYPTO_HASH
  416. default n
  417. help
  418. These are 'Null' algorithms, used by IPsec, which do nothing.
  419. endmenu
  420. menu "Compression"
  421. config ADK_LINUX_KERNEL_CRYPTO_DEFLATE
  422. tristate "Deflate compression algorithm"
  423. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  424. select ADK_LINUX_KERNEL_ZLIB_DEFLATE
  425. select ADK_LINUX_KERNEL_ZLIB_INFLATE
  426. default n
  427. help
  428. This is the Deflate algorithm (RFC1951), specified for use in
  429. IPSec with the IPCOMP protocol (RFC3173, RFC2394).
  430. You will most probably want this if using IPSec.
  431. config ADK_LINUX_KERNEL_CRYPTO_LZO
  432. tristate "LZO compression algorithm"
  433. select ADK_LINUX_KERNEL_CRYPTO_ALGAPI
  434. default n
  435. help
  436. config ADK_LINUX_KERNEL_CRYPTO_MICHAEL_MIC
  437. tristate "Michael MIC keyed digest algorithm"
  438. select ADK_LINUX_KERNEL_CRYPTO_HASH
  439. default n
  440. help
  441. Michael MIC is used for message integrity protection in TKIP
  442. (IEEE 802.11i). This algorithm is required for TKIP, but it
  443. should not be used for other purposes because of the weakness
  444. of the algorithm.
  445. config ADK_LINUX_KERNEL_CRYPTO_CRC32C
  446. tristate "CRC32c CRC algorithm"
  447. select ADK_LINUX_KERNEL_CRYPTO_HASH
  448. select ADK_LINUX_KERNEL_CRC32
  449. default n
  450. help
  451. Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used
  452. by iSCSI for header and data digests and by others.
  453. See Castagnoli93. This implementation uses lib/libcrc32c.
  454. Module will be crc32c.
  455. endmenu
  456. menu "User-space interface"
  457. config ADK_LINUX_KERNEL_CRYPTO_USER_API
  458. tristate
  459. config ADK_LINUX_KERNEL_CRYPTO_USER_API_HASH
  460. tristate "User-space interface for hash algorithms"
  461. depends on ADK_LINUX_KERNEL_NET
  462. select ADK_LINUX_KERNEL_CRYPTO_HASH
  463. select ADK_LINUX_KERNEL_CRYPTO_USER_API
  464. help
  465. This option enables the user-spaces interface for hash
  466. algorithms.
  467. config ADK_LINUX_KERNEL_CRYPTO_USER_API_SKCIPHER
  468. tristate "User-space interface for symmetric key cipher algorithms"
  469. depends on ADK_LINUX_KERNEL_NET
  470. select ADK_LINUX_KERNEL_CRYPTO_BLKCIPHER
  471. select ADK_LINUX_KERNEL_CRYPTO_USER_API
  472. help
  473. This option enables the user-spaces interface for symmetric
  474. key cipher algorithms.
  475. config ADK_LINUX_KERNEL_CRYPTO_USER_API_RNG
  476. tristate "User-space interface for random number generator algorithms"
  477. depends on ADK_LINUX_KERNEL_NET
  478. select ADK_LINUX_KERNEL_CRYPTO_RNG
  479. select ADK_LINUX_KERNEL_CRYPTO_USER_API
  480. help
  481. This option enables the user-spaces interface for random
  482. number generator algorithms.
  483. config ADK_LINUX_KERNEL_CRYPTO_USER_API_AEAD
  484. tristate "User-space interface for AEAD cipher algorithms"
  485. depends on ADK_LINUX_KERNEL_NET
  486. select ADK_LINUX_KERNEL_CRYPTO_AEAD
  487. select ADK_LINUX_KERNEL_CRYPTO_BLKCIPHER
  488. select ADK_LINUX_KERNEL_CRYPTO_NULL
  489. select ADK_LINUX_KERNEL_CRYPTO_USER_API
  490. help
  491. This option enables the user-spaces interface for AEAD
  492. cipher algorithms.
  493. config ADK_LINUX_KERNEL_CRYPTO_STATS
  494. bool "Crypto usage statistics for User-space"
  495. depends on ADK_LINUX_KERNEL_CRYPTO_USER
  496. help
  497. This option enables the gathering of crypto stats.
  498. This will collect:
  499. - encrypt/decrypt size and numbers of symmeric operations
  500. - compress/decompress size and numbers of compress operations
  501. - size and numbers of hash operations
  502. - encrypt/decrypt/sign/verify numbers for asymmetric operations
  503. - generate/seed numbers for rng operations
  504. endmenu
  505. endmenu