Config.in.crypto 15 KB

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