Config.in.crypto 15 KB

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