Kconfig 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. # SPDX-License-Identifier: GPL-2.0
  2. menuconfig ARM64_CRYPTO
  3. bool "ARM64 Accelerated Cryptographic Algorithms"
  4. depends on ARM64
  5. help
  6. Say Y here to choose from a selection of cryptographic algorithms
  7. implemented using ARM64 specific CPU features or instructions.
  8. if ARM64_CRYPTO
  9. config CRYPTO_SHA256_ARM64
  10. tristate "SHA-224/SHA-256 digest algorithm for arm64"
  11. select CRYPTO_HASH
  12. config CRYPTO_SHA512_ARM64
  13. tristate "SHA-384/SHA-512 digest algorithm for arm64"
  14. select CRYPTO_HASH
  15. config CRYPTO_SHA1_ARM64_CE
  16. tristate "SHA-1 digest algorithm (ARMv8 Crypto Extensions)"
  17. depends on KERNEL_MODE_NEON
  18. select CRYPTO_HASH
  19. select CRYPTO_SHA1
  20. config CRYPTO_SHA2_ARM64_CE
  21. tristate "SHA-224/SHA-256 digest algorithm (ARMv8 Crypto Extensions)"
  22. depends on KERNEL_MODE_NEON
  23. select CRYPTO_HASH
  24. select CRYPTO_SHA256_ARM64
  25. config CRYPTO_SHA512_ARM64_CE
  26. tristate "SHA-384/SHA-512 digest algorithm (ARMv8 Crypto Extensions)"
  27. depends on KERNEL_MODE_NEON
  28. select CRYPTO_HASH
  29. select CRYPTO_SHA512_ARM64
  30. config CRYPTO_SHA3_ARM64
  31. tristate "SHA3 digest algorithm (ARMv8.2 Crypto Extensions)"
  32. depends on KERNEL_MODE_NEON
  33. select CRYPTO_HASH
  34. select CRYPTO_SHA3
  35. config CRYPTO_SM3_ARM64_CE
  36. tristate "SM3 digest algorithm (ARMv8.2 Crypto Extensions)"
  37. depends on KERNEL_MODE_NEON
  38. select CRYPTO_HASH
  39. select CRYPTO_SM3
  40. config CRYPTO_SM4_ARM64_CE
  41. tristate "SM4 symmetric cipher (ARMv8.2 Crypto Extensions)"
  42. depends on KERNEL_MODE_NEON
  43. select CRYPTO_ALGAPI
  44. select CRYPTO_SM4
  45. config CRYPTO_GHASH_ARM64_CE
  46. tristate "GHASH/AES-GCM using ARMv8 Crypto Extensions"
  47. depends on KERNEL_MODE_NEON
  48. select CRYPTO_HASH
  49. select CRYPTO_GF128MUL
  50. select CRYPTO_LIB_AES
  51. config CRYPTO_CRCT10DIF_ARM64_CE
  52. tristate "CRCT10DIF digest algorithm using PMULL instructions"
  53. depends on KERNEL_MODE_NEON && CRC_T10DIF
  54. select CRYPTO_HASH
  55. config CRYPTO_AES_ARM64
  56. tristate "AES core cipher using scalar instructions"
  57. select CRYPTO_AES
  58. config CRYPTO_AES_ARM64_CE
  59. tristate "AES core cipher using ARMv8 Crypto Extensions"
  60. depends on ARM64 && KERNEL_MODE_NEON
  61. select CRYPTO_ALGAPI
  62. select CRYPTO_LIB_AES
  63. config CRYPTO_AES_ARM64_CE_CCM
  64. tristate "AES in CCM mode using ARMv8 Crypto Extensions"
  65. depends on ARM64 && KERNEL_MODE_NEON
  66. select CRYPTO_ALGAPI
  67. select CRYPTO_AES_ARM64_CE
  68. select CRYPTO_AEAD
  69. select CRYPTO_LIB_AES
  70. config CRYPTO_AES_ARM64_CE_BLK
  71. tristate "AES in ECB/CBC/CTR/XTS modes using ARMv8 Crypto Extensions"
  72. depends on KERNEL_MODE_NEON
  73. select CRYPTO_SKCIPHER
  74. select CRYPTO_AES_ARM64_CE
  75. config CRYPTO_AES_ARM64_NEON_BLK
  76. tristate "AES in ECB/CBC/CTR/XTS modes using NEON instructions"
  77. depends on KERNEL_MODE_NEON
  78. select CRYPTO_SKCIPHER
  79. select CRYPTO_LIB_AES
  80. config CRYPTO_CHACHA20_NEON
  81. tristate "ChaCha20, XChaCha20, and XChaCha12 stream ciphers using NEON instructions"
  82. depends on KERNEL_MODE_NEON
  83. select CRYPTO_SKCIPHER
  84. select CRYPTO_LIB_CHACHA_GENERIC
  85. select CRYPTO_ARCH_HAVE_LIB_CHACHA
  86. config CRYPTO_POLY1305_NEON
  87. tristate "Poly1305 hash function using scalar or NEON instructions"
  88. depends on KERNEL_MODE_NEON
  89. select CRYPTO_HASH
  90. select CRYPTO_ARCH_HAVE_LIB_POLY1305
  91. config CRYPTO_NHPOLY1305_NEON
  92. tristate "NHPoly1305 hash function using NEON instructions (for Adiantum)"
  93. depends on KERNEL_MODE_NEON
  94. select CRYPTO_NHPOLY1305
  95. config CRYPTO_AES_ARM64_BS
  96. tristate "AES in ECB/CBC/CTR/XTS modes using bit-sliced NEON algorithm"
  97. depends on KERNEL_MODE_NEON
  98. select CRYPTO_SKCIPHER
  99. select CRYPTO_AES_ARM64_NEON_BLK
  100. select CRYPTO_LIB_AES
  101. endif