Config.in.crypto 16 KB

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