Kconfig 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. # SPDX-License-Identifier: GPL-2.0
  2. menu "Accelerated Cryptographic Algorithms for CPU (arm64)"
  3. config CRYPTO_GHASH_ARM64_CE
  4. tristate "Hash functions: GHASH (ARMv8 Crypto Extensions)"
  5. depends on KERNEL_MODE_NEON
  6. select CRYPTO_HASH
  7. select CRYPTO_LIB_AES
  8. select CRYPTO_LIB_GF128MUL
  9. select CRYPTO_AEAD
  10. help
  11. GCM GHASH function (NIST SP800-38D)
  12. Architecture: arm64 using:
  13. - ARMv8 Crypto Extensions
  14. config CRYPTO_SM3_NEON
  15. tristate "Hash functions: SM3 (NEON)"
  16. depends on KERNEL_MODE_NEON
  17. select CRYPTO_HASH
  18. select CRYPTO_LIB_SM3
  19. help
  20. SM3 (ShangMi 3) secure hash function (OSCCA GM/T 0004-2012)
  21. Architecture: arm64 using:
  22. - NEON (Advanced SIMD) extensions
  23. config CRYPTO_SM3_ARM64_CE
  24. tristate "Hash functions: SM3 (ARMv8.2 Crypto Extensions)"
  25. depends on KERNEL_MODE_NEON
  26. select CRYPTO_HASH
  27. select CRYPTO_LIB_SM3
  28. help
  29. SM3 (ShangMi 3) secure hash function (OSCCA GM/T 0004-2012)
  30. Architecture: arm64 using:
  31. - ARMv8.2 Crypto Extensions
  32. config CRYPTO_AES_ARM64_CE_BLK
  33. tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (ARMv8 Crypto Extensions)"
  34. depends on KERNEL_MODE_NEON
  35. select CRYPTO_SKCIPHER
  36. select CRYPTO_LIB_AES
  37. select CRYPTO_LIB_SHA256
  38. help
  39. Length-preserving ciphers: AES cipher algorithms (FIPS-197)
  40. with block cipher modes:
  41. - ECB (Electronic Codebook) mode (NIST SP800-38A)
  42. - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
  43. - CTR (Counter) mode (NIST SP800-38A)
  44. - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E
  45. and IEEE 1619)
  46. Architecture: arm64 using:
  47. - ARMv8 Crypto Extensions
  48. config CRYPTO_AES_ARM64_NEON_BLK
  49. tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (NEON)"
  50. depends on KERNEL_MODE_NEON
  51. select CRYPTO_SKCIPHER
  52. select CRYPTO_LIB_AES
  53. select CRYPTO_LIB_SHA256
  54. help
  55. Length-preserving ciphers: AES cipher algorithms (FIPS-197)
  56. with block cipher modes:
  57. - ECB (Electronic Codebook) mode (NIST SP800-38A)
  58. - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
  59. - CTR (Counter) mode (NIST SP800-38A)
  60. - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E
  61. and IEEE 1619)
  62. Architecture: arm64 using:
  63. - NEON (Advanced SIMD) extensions
  64. config CRYPTO_AES_ARM64_BS
  65. tristate "Ciphers: AES, modes: ECB/CBC/CTR/XCTR/XTS modes (bit-sliced NEON)"
  66. depends on KERNEL_MODE_NEON
  67. select CRYPTO_SKCIPHER
  68. select CRYPTO_AES_ARM64_NEON_BLK
  69. select CRYPTO_LIB_AES
  70. help
  71. Length-preserving ciphers: AES cipher algorithms (FIPS-197)
  72. with block cipher modes:
  73. - ECB (Electronic Codebook) mode (NIST SP800-38A)
  74. - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
  75. - CTR (Counter) mode (NIST SP800-38A)
  76. - XCTR mode for HCTR2
  77. - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E
  78. and IEEE 1619)
  79. Architecture: arm64 using:
  80. - bit-sliced algorithm
  81. - NEON (Advanced SIMD) extensions
  82. config CRYPTO_SM4_ARM64_CE
  83. tristate "Ciphers: SM4 (ARMv8.2 Crypto Extensions)"
  84. depends on KERNEL_MODE_NEON
  85. select CRYPTO_ALGAPI
  86. select CRYPTO_SM4
  87. help
  88. Block ciphers: SM4 cipher algorithms (OSCCA GB/T 32907-2016)
  89. Architecture: arm64 using:
  90. - ARMv8.2 Crypto Extensions
  91. - NEON (Advanced SIMD) extensions
  92. config CRYPTO_SM4_ARM64_CE_BLK
  93. tristate "Ciphers: SM4, modes: ECB/CBC/CTR/XTS (ARMv8 Crypto Extensions)"
  94. depends on KERNEL_MODE_NEON
  95. select CRYPTO_SKCIPHER
  96. select CRYPTO_SM4
  97. help
  98. Length-preserving ciphers: SM4 cipher algorithms (OSCCA GB/T 32907-2016)
  99. with block cipher modes:
  100. - ECB (Electronic Codebook) mode (NIST SP800-38A)
  101. - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
  102. - CTR (Counter) mode (NIST SP800-38A)
  103. - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E
  104. and IEEE 1619)
  105. Architecture: arm64 using:
  106. - ARMv8 Crypto Extensions
  107. - NEON (Advanced SIMD) extensions
  108. config CRYPTO_SM4_ARM64_NEON_BLK
  109. tristate "Ciphers: SM4, modes: ECB/CBC/CTR (NEON)"
  110. depends on KERNEL_MODE_NEON
  111. select CRYPTO_SKCIPHER
  112. select CRYPTO_SM4
  113. help
  114. Length-preserving ciphers: SM4 cipher algorithms (OSCCA GB/T 32907-2016)
  115. with block cipher modes:
  116. - ECB (Electronic Codebook) mode (NIST SP800-38A)
  117. - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
  118. - CTR (Counter) mode (NIST SP800-38A)
  119. Architecture: arm64 using:
  120. - NEON (Advanced SIMD) extensions
  121. config CRYPTO_AES_ARM64_CE_CCM
  122. tristate "AEAD cipher: AES in CCM mode (ARMv8 Crypto Extensions)"
  123. depends on KERNEL_MODE_NEON
  124. select CRYPTO_ALGAPI
  125. select CRYPTO_AES_ARM64_CE_BLK
  126. select CRYPTO_AEAD
  127. select CRYPTO_LIB_AES
  128. help
  129. AEAD cipher: AES cipher algorithms (FIPS-197) with
  130. CCM (Counter with Cipher Block Chaining-Message Authentication Code)
  131. authenticated encryption mode (NIST SP800-38C)
  132. Architecture: arm64 using:
  133. - ARMv8 Crypto Extensions
  134. - NEON (Advanced SIMD) extensions
  135. config CRYPTO_SM4_ARM64_CE_CCM
  136. tristate "AEAD cipher: SM4 in CCM mode (ARMv8 Crypto Extensions)"
  137. depends on KERNEL_MODE_NEON
  138. select CRYPTO_ALGAPI
  139. select CRYPTO_AEAD
  140. select CRYPTO_SM4
  141. select CRYPTO_SM4_ARM64_CE_BLK
  142. help
  143. AEAD cipher: SM4 cipher algorithms (OSCCA GB/T 32907-2016) with
  144. CCM (Counter with Cipher Block Chaining-Message Authentication Code)
  145. authenticated encryption mode (NIST SP800-38C)
  146. Architecture: arm64 using:
  147. - ARMv8 Crypto Extensions
  148. - NEON (Advanced SIMD) extensions
  149. config CRYPTO_SM4_ARM64_CE_GCM
  150. tristate "AEAD cipher: SM4 in GCM mode (ARMv8 Crypto Extensions)"
  151. depends on KERNEL_MODE_NEON
  152. select CRYPTO_ALGAPI
  153. select CRYPTO_AEAD
  154. select CRYPTO_SM4
  155. select CRYPTO_SM4_ARM64_CE_BLK
  156. help
  157. AEAD cipher: SM4 cipher algorithms (OSCCA GB/T 32907-2016) with
  158. GCM (Galois/Counter Mode) authenticated encryption mode (NIST SP800-38D)
  159. Architecture: arm64 using:
  160. - ARMv8 Crypto Extensions
  161. - PMULL (Polynomial Multiply Long) instructions
  162. - NEON (Advanced SIMD) extensions
  163. endmenu