Config.in.crypto 15 KB

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