Kconfig 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. # SPDX-License-Identifier: GPL-2.0
  2. menu "Accelerated Cryptographic Algorithms for CPU (powerpc)"
  3. config CRYPTO_CURVE25519_PPC64
  4. tristate "Public key crypto: Curve25519 (PowerPC64)"
  5. depends on PPC64 && CPU_LITTLE_ENDIAN
  6. select CRYPTO_LIB_CURVE25519_GENERIC
  7. select CRYPTO_ARCH_HAVE_LIB_CURVE25519
  8. help
  9. Curve25519 algorithm
  10. Architecture: PowerPC64
  11. - Little-endian
  12. config CRYPTO_CRC32C_VPMSUM
  13. tristate "CRC32c"
  14. depends on PPC64 && ALTIVEC
  15. select CRYPTO_HASH
  16. select CRC32
  17. help
  18. CRC32c CRC algorithm with the iSCSI polynomial (RFC 3385 and RFC 3720)
  19. Architecture: powerpc64 using
  20. - AltiVec extensions
  21. Enable on POWER8 and newer processors for improved performance.
  22. config CRYPTO_CRCT10DIF_VPMSUM
  23. tristate "CRC32T10DIF"
  24. depends on PPC64 && ALTIVEC && CRC_T10DIF
  25. select CRYPTO_HASH
  26. help
  27. CRC16 CRC algorithm used for the T10 (SCSI) Data Integrity Field (DIF)
  28. Architecture: powerpc64 using
  29. - AltiVec extensions
  30. Enable on POWER8 and newer processors for improved performance.
  31. config CRYPTO_VPMSUM_TESTER
  32. tristate "CRC32c and CRC32T10DIF hardware acceleration tester"
  33. depends on CRYPTO_CRCT10DIF_VPMSUM && CRYPTO_CRC32C_VPMSUM
  34. help
  35. Stress test for CRC32c and CRCT10DIF algorithms implemented with
  36. powerpc64 AltiVec extensions (POWER8 vpmsum instructions).
  37. Unless you are testing these algorithms, you don't need this.
  38. config CRYPTO_MD5_PPC
  39. tristate "Digests: MD5"
  40. depends on PPC
  41. select CRYPTO_HASH
  42. help
  43. MD5 message digest algorithm (RFC1321)
  44. Architecture: powerpc
  45. config CRYPTO_SHA1_PPC
  46. tristate "Hash functions: SHA-1"
  47. depends on PPC
  48. help
  49. SHA-1 secure hash algorithm (FIPS 180)
  50. Architecture: powerpc
  51. config CRYPTO_SHA1_PPC_SPE
  52. tristate "Hash functions: SHA-1 (SPE)"
  53. depends on PPC && SPE
  54. help
  55. SHA-1 secure hash algorithm (FIPS 180)
  56. Architecture: powerpc using
  57. - SPE (Signal Processing Engine) extensions
  58. config CRYPTO_SHA256_PPC_SPE
  59. tristate "Hash functions: SHA-224 and SHA-256 (SPE)"
  60. depends on PPC && SPE
  61. select CRYPTO_SHA256
  62. select CRYPTO_HASH
  63. help
  64. SHA-224 and SHA-256 secure hash algorithms (FIPS 180)
  65. Architecture: powerpc using
  66. - SPE (Signal Processing Engine) extensions
  67. config CRYPTO_AES_PPC_SPE
  68. tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (SPE)"
  69. depends on PPC && SPE
  70. select CRYPTO_SKCIPHER
  71. help
  72. Block ciphers: AES cipher algorithms (FIPS-197)
  73. Length-preserving ciphers: AES with ECB, CBC, CTR, and XTS modes
  74. Architecture: powerpc using:
  75. - SPE (Signal Processing Engine) extensions
  76. SPE is available for:
  77. - Processor Type: Freescale 8500
  78. - CPU selection: e500 (8540)
  79. This module should only be used for low power (router) devices
  80. without hardware AES acceleration (e.g. caam crypto). It reduces the
  81. size of the AES tables from 16KB to 8KB + 256 bytes and mitigates
  82. timining attacks. Nevertheless it might be not as secure as other
  83. architecture specific assembler implementations that work on 1KB
  84. tables or 256 bytes S-boxes.
  85. config CRYPTO_AES_GCM_P10
  86. tristate "Stitched AES/GCM acceleration support on P10 or later CPU (PPC)"
  87. depends on BROKEN
  88. depends on PPC64 && CPU_LITTLE_ENDIAN && VSX
  89. select CRYPTO_LIB_AES
  90. select CRYPTO_ALGAPI
  91. select CRYPTO_AEAD
  92. select CRYPTO_SKCIPHER
  93. help
  94. AEAD cipher: AES cipher algorithms (FIPS-197)
  95. GCM (Galois/Counter Mode) authenticated encryption mode (NIST SP800-38D)
  96. Architecture: powerpc64 using:
  97. - little-endian
  98. - Power10 or later features
  99. Support for cryptographic acceleration instructions on Power10 or
  100. later CPU. This module supports stitched acceleration for AES/GCM.
  101. config CRYPTO_CHACHA20_P10
  102. tristate "Ciphers: ChaCha20, XChacha20, XChacha12 (P10 or later)"
  103. depends on PPC64 && CPU_LITTLE_ENDIAN && VSX
  104. select CRYPTO_SKCIPHER
  105. select CRYPTO_LIB_CHACHA_GENERIC
  106. select CRYPTO_ARCH_HAVE_LIB_CHACHA
  107. help
  108. Length-preserving ciphers: ChaCha20, XChaCha20, and XChaCha12
  109. stream cipher algorithms
  110. Architecture: PowerPC64
  111. - Power10 or later
  112. - Little-endian
  113. config CRYPTO_POLY1305_P10
  114. tristate "Hash functions: Poly1305 (P10 or later)"
  115. depends on PPC64 && CPU_LITTLE_ENDIAN && VSX
  116. select CRYPTO_HASH
  117. select CRYPTO_LIB_POLY1305_GENERIC
  118. help
  119. Poly1305 authenticator algorithm (RFC7539)
  120. Architecture: PowerPC64
  121. - Power10 or later
  122. - Little-endian
  123. config CRYPTO_DEV_VMX
  124. bool "Support for VMX cryptographic acceleration instructions"
  125. depends on PPC64 && VSX
  126. help
  127. Support for VMX cryptographic acceleration instructions.
  128. config CRYPTO_DEV_VMX_ENCRYPT
  129. tristate "Encryption acceleration support on P8 CPU"
  130. depends on CRYPTO_DEV_VMX
  131. select CRYPTO_AES
  132. select CRYPTO_CBC
  133. select CRYPTO_CTR
  134. select CRYPTO_GHASH
  135. select CRYPTO_XTS
  136. default m
  137. help
  138. Support for VMX cryptographic acceleration instructions on Power8 CPU.
  139. This module supports acceleration for AES and GHASH in hardware. If you
  140. choose 'M' here, this module will be called vmx-crypto.
  141. endmenu