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