Kconfig 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. # SPDX-License-Identifier: GPL-2.0
  2. menu "Crypto library routines"
  3. config CRYPTO_LIB_UTILS
  4. tristate
  5. config CRYPTO_LIB_AES
  6. tristate
  7. config CRYPTO_LIB_ARC4
  8. tristate
  9. config CRYPTO_ARCH_HAVE_LIB_BLAKE2S
  10. bool
  11. help
  12. Declares whether the architecture provides an arch-specific
  13. accelerated implementation of the Blake2s library interface,
  14. either builtin or as a module.
  15. config CRYPTO_LIB_BLAKE2S_GENERIC
  16. def_bool !CRYPTO_ARCH_HAVE_LIB_BLAKE2S
  17. help
  18. This symbol can be depended upon by arch implementations of the
  19. Blake2s library interface that require the generic code as a
  20. fallback, e.g., for SIMD implementations. If no arch specific
  21. implementation is enabled, this implementation serves the users
  22. of CRYPTO_LIB_BLAKE2S.
  23. config CRYPTO_ARCH_HAVE_LIB_CHACHA
  24. tristate
  25. help
  26. Declares whether the architecture provides an arch-specific
  27. accelerated implementation of the ChaCha library interface,
  28. either builtin or as a module.
  29. config CRYPTO_LIB_CHACHA_GENERIC
  30. tristate
  31. select CRYPTO_LIB_UTILS
  32. help
  33. This symbol can be depended upon by arch implementations of the
  34. ChaCha library interface that require the generic code as a
  35. fallback, e.g., for SIMD implementations. If no arch specific
  36. implementation is enabled, this implementation serves the users
  37. of CRYPTO_LIB_CHACHA.
  38. config CRYPTO_LIB_CHACHA
  39. tristate "ChaCha library interface"
  40. depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA
  41. select CRYPTO_LIB_CHACHA_GENERIC if CRYPTO_ARCH_HAVE_LIB_CHACHA=n
  42. help
  43. Enable the ChaCha library interface. This interface may be fulfilled
  44. by either the generic implementation or an arch-specific one, if one
  45. is available and enabled.
  46. config CRYPTO_ARCH_HAVE_LIB_CURVE25519
  47. tristate
  48. help
  49. Declares whether the architecture provides an arch-specific
  50. accelerated implementation of the Curve25519 library interface,
  51. either builtin or as a module.
  52. config CRYPTO_LIB_CURVE25519_GENERIC
  53. tristate
  54. help
  55. This symbol can be depended upon by arch implementations of the
  56. Curve25519 library interface that require the generic code as a
  57. fallback, e.g., for SIMD implementations. If no arch specific
  58. implementation is enabled, this implementation serves the users
  59. of CRYPTO_LIB_CURVE25519.
  60. config CRYPTO_LIB_CURVE25519
  61. tristate "Curve25519 scalar multiplication library"
  62. depends on CRYPTO_ARCH_HAVE_LIB_CURVE25519 || !CRYPTO_ARCH_HAVE_LIB_CURVE25519
  63. select CRYPTO_LIB_CURVE25519_GENERIC if CRYPTO_ARCH_HAVE_LIB_CURVE25519=n
  64. select CRYPTO_LIB_UTILS
  65. help
  66. Enable the Curve25519 library interface. This interface may be
  67. fulfilled by either the generic implementation or an arch-specific
  68. one, if one is available and enabled.
  69. config CRYPTO_LIB_DES
  70. tristate
  71. config CRYPTO_LIB_POLY1305_RSIZE
  72. int
  73. default 2 if MIPS
  74. default 11 if X86_64
  75. default 9 if ARM || ARM64
  76. default 1
  77. config CRYPTO_ARCH_HAVE_LIB_POLY1305
  78. tristate
  79. help
  80. Declares whether the architecture provides an arch-specific
  81. accelerated implementation of the Poly1305 library interface,
  82. either builtin or as a module.
  83. config CRYPTO_LIB_POLY1305_GENERIC
  84. tristate
  85. help
  86. This symbol can be depended upon by arch implementations of the
  87. Poly1305 library interface that require the generic code as a
  88. fallback, e.g., for SIMD implementations. If no arch specific
  89. implementation is enabled, this implementation serves the users
  90. of CRYPTO_LIB_POLY1305.
  91. config CRYPTO_LIB_POLY1305
  92. tristate "Poly1305 library interface"
  93. depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305
  94. select CRYPTO_LIB_POLY1305_GENERIC if CRYPTO_ARCH_HAVE_LIB_POLY1305=n
  95. help
  96. Enable the Poly1305 library interface. This interface may be fulfilled
  97. by either the generic implementation or an arch-specific one, if one
  98. is available and enabled.
  99. config CRYPTO_LIB_CHACHA20POLY1305
  100. tristate "ChaCha20-Poly1305 AEAD support (8-byte nonce library version)"
  101. depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA
  102. depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305
  103. depends on CRYPTO
  104. select CRYPTO_LIB_CHACHA
  105. select CRYPTO_LIB_POLY1305
  106. select CRYPTO_ALGAPI
  107. config CRYPTO_LIB_SHA1
  108. tristate
  109. config CRYPTO_LIB_SHA256
  110. tristate
  111. endmenu