Kconfig 4.4 KB

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