Config.in.crypto 16 KB

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