1 # SPDX-License-Identifier: GPL-2.0 1 # SPDX-License-Identifier: GPL-2.0 2 2 3 menu "Crypto library routines" 3 menu "Crypto library routines" 4 4 5 config CRYPTO_LIB_UTILS 5 config CRYPTO_LIB_UTILS 6 tristate 6 tristate 7 7 8 config CRYPTO_LIB_AES 8 config CRYPTO_LIB_AES 9 tristate 9 tristate 10 10 11 config CRYPTO_LIB_AESCFB << 12 tristate << 13 select CRYPTO_LIB_AES << 14 select CRYPTO_LIB_UTILS << 15 << 16 config CRYPTO_LIB_AESGCM 11 config CRYPTO_LIB_AESGCM 17 tristate 12 tristate 18 select CRYPTO_LIB_AES 13 select CRYPTO_LIB_AES 19 select CRYPTO_LIB_GF128MUL 14 select CRYPTO_LIB_GF128MUL 20 select CRYPTO_LIB_UTILS 15 select CRYPTO_LIB_UTILS 21 16 22 config CRYPTO_LIB_ARC4 17 config CRYPTO_LIB_ARC4 23 tristate 18 tristate 24 19 25 config CRYPTO_LIB_GF128MUL 20 config CRYPTO_LIB_GF128MUL 26 tristate 21 tristate 27 22 28 config CRYPTO_ARCH_HAVE_LIB_BLAKE2S 23 config CRYPTO_ARCH_HAVE_LIB_BLAKE2S 29 bool 24 bool 30 help 25 help 31 Declares whether the architecture pr 26 Declares whether the architecture provides an arch-specific 32 accelerated implementation of the Bl 27 accelerated implementation of the Blake2s library interface, 33 either builtin or as a module. 28 either builtin or as a module. 34 29 35 config CRYPTO_LIB_BLAKE2S_GENERIC 30 config CRYPTO_LIB_BLAKE2S_GENERIC 36 def_bool !CRYPTO_ARCH_HAVE_LIB_BLAKE2S 31 def_bool !CRYPTO_ARCH_HAVE_LIB_BLAKE2S 37 help 32 help 38 This symbol can be depended upon by 33 This symbol can be depended upon by arch implementations of the 39 Blake2s library interface that requi 34 Blake2s library interface that require the generic code as a 40 fallback, e.g., for SIMD implementat 35 fallback, e.g., for SIMD implementations. If no arch specific 41 implementation is enabled, this impl 36 implementation is enabled, this implementation serves the users 42 of CRYPTO_LIB_BLAKE2S. 37 of CRYPTO_LIB_BLAKE2S. 43 38 44 config CRYPTO_ARCH_HAVE_LIB_CHACHA 39 config CRYPTO_ARCH_HAVE_LIB_CHACHA 45 tristate 40 tristate 46 help 41 help 47 Declares whether the architecture pr 42 Declares whether the architecture provides an arch-specific 48 accelerated implementation of the Ch 43 accelerated implementation of the ChaCha library interface, 49 either builtin or as a module. 44 either builtin or as a module. 50 45 51 config CRYPTO_LIB_CHACHA_GENERIC 46 config CRYPTO_LIB_CHACHA_GENERIC 52 tristate 47 tristate 53 select CRYPTO_LIB_UTILS 48 select CRYPTO_LIB_UTILS 54 help 49 help 55 This symbol can be depended upon by 50 This symbol can be depended upon by arch implementations of the 56 ChaCha library interface that requir 51 ChaCha library interface that require the generic code as a 57 fallback, e.g., for SIMD implementat 52 fallback, e.g., for SIMD implementations. If no arch specific 58 implementation is enabled, this impl 53 implementation is enabled, this implementation serves the users 59 of CRYPTO_LIB_CHACHA. 54 of CRYPTO_LIB_CHACHA. 60 55 61 config CRYPTO_LIB_CHACHA 56 config CRYPTO_LIB_CHACHA 62 tristate "ChaCha library interface" 57 tristate "ChaCha library interface" 63 depends on CRYPTO_ARCH_HAVE_LIB_CHACHA 58 depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA 64 select CRYPTO_LIB_CHACHA_GENERIC if CR 59 select CRYPTO_LIB_CHACHA_GENERIC if CRYPTO_ARCH_HAVE_LIB_CHACHA=n 65 help 60 help 66 Enable the ChaCha library interface. 61 Enable the ChaCha library interface. This interface may be fulfilled 67 by either the generic implementation 62 by either the generic implementation or an arch-specific one, if one 68 is available and enabled. 63 is available and enabled. 69 64 70 config CRYPTO_ARCH_HAVE_LIB_CURVE25519 65 config CRYPTO_ARCH_HAVE_LIB_CURVE25519 71 tristate 66 tristate 72 help 67 help 73 Declares whether the architecture pr 68 Declares whether the architecture provides an arch-specific 74 accelerated implementation of the Cu 69 accelerated implementation of the Curve25519 library interface, 75 either builtin or as a module. 70 either builtin or as a module. 76 71 77 config CRYPTO_LIB_CURVE25519_GENERIC 72 config CRYPTO_LIB_CURVE25519_GENERIC 78 tristate 73 tristate 79 help 74 help 80 This symbol can be depended upon by 75 This symbol can be depended upon by arch implementations of the 81 Curve25519 library interface that re 76 Curve25519 library interface that require the generic code as a 82 fallback, e.g., for SIMD implementat 77 fallback, e.g., for SIMD implementations. If no arch specific 83 implementation is enabled, this impl 78 implementation is enabled, this implementation serves the users 84 of CRYPTO_LIB_CURVE25519. 79 of CRYPTO_LIB_CURVE25519. 85 80 86 config CRYPTO_LIB_CURVE25519 81 config CRYPTO_LIB_CURVE25519 87 tristate "Curve25519 scalar multiplica 82 tristate "Curve25519 scalar multiplication library" 88 depends on CRYPTO_ARCH_HAVE_LIB_CURVE2 83 depends on CRYPTO_ARCH_HAVE_LIB_CURVE25519 || !CRYPTO_ARCH_HAVE_LIB_CURVE25519 89 select CRYPTO_LIB_CURVE25519_GENERIC i 84 select CRYPTO_LIB_CURVE25519_GENERIC if CRYPTO_ARCH_HAVE_LIB_CURVE25519=n 90 select CRYPTO_LIB_UTILS 85 select CRYPTO_LIB_UTILS 91 help 86 help 92 Enable the Curve25519 library interf 87 Enable the Curve25519 library interface. This interface may be 93 fulfilled by either the generic impl 88 fulfilled by either the generic implementation or an arch-specific 94 one, if one is available and enabled 89 one, if one is available and enabled. 95 90 96 config CRYPTO_LIB_DES 91 config CRYPTO_LIB_DES 97 tristate 92 tristate 98 93 99 config CRYPTO_LIB_POLY1305_RSIZE 94 config CRYPTO_LIB_POLY1305_RSIZE 100 int 95 int 101 default 2 if MIPS 96 default 2 if MIPS 102 default 11 if X86_64 97 default 11 if X86_64 103 default 9 if ARM || ARM64 98 default 9 if ARM || ARM64 104 default 1 99 default 1 105 100 106 config CRYPTO_ARCH_HAVE_LIB_POLY1305 101 config CRYPTO_ARCH_HAVE_LIB_POLY1305 107 tristate 102 tristate 108 help 103 help 109 Declares whether the architecture pr 104 Declares whether the architecture provides an arch-specific 110 accelerated implementation of the Po 105 accelerated implementation of the Poly1305 library interface, 111 either builtin or as a module. 106 either builtin or as a module. 112 107 113 config CRYPTO_LIB_POLY1305_GENERIC 108 config CRYPTO_LIB_POLY1305_GENERIC 114 tristate 109 tristate 115 help 110 help 116 This symbol can be depended upon by 111 This symbol can be depended upon by arch implementations of the 117 Poly1305 library interface that requ 112 Poly1305 library interface that require the generic code as a 118 fallback, e.g., for SIMD implementat 113 fallback, e.g., for SIMD implementations. If no arch specific 119 implementation is enabled, this impl 114 implementation is enabled, this implementation serves the users 120 of CRYPTO_LIB_POLY1305. 115 of CRYPTO_LIB_POLY1305. 121 116 122 config CRYPTO_LIB_POLY1305 117 config CRYPTO_LIB_POLY1305 123 tristate "Poly1305 library interface" 118 tristate "Poly1305 library interface" 124 depends on CRYPTO_ARCH_HAVE_LIB_POLY13 119 depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305 125 select CRYPTO_LIB_POLY1305_GENERIC if 120 select CRYPTO_LIB_POLY1305_GENERIC if CRYPTO_ARCH_HAVE_LIB_POLY1305=n 126 help 121 help 127 Enable the Poly1305 library interfac 122 Enable the Poly1305 library interface. This interface may be fulfilled 128 by either the generic implementation 123 by either the generic implementation or an arch-specific one, if one 129 is available and enabled. 124 is available and enabled. 130 125 131 config CRYPTO_LIB_CHACHA20POLY1305 126 config CRYPTO_LIB_CHACHA20POLY1305 132 tristate "ChaCha20-Poly1305 AEAD suppo 127 tristate "ChaCha20-Poly1305 AEAD support (8-byte nonce library version)" 133 depends on CRYPTO_ARCH_HAVE_LIB_CHACHA 128 depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA 134 depends on CRYPTO_ARCH_HAVE_LIB_POLY13 129 depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305 135 depends on CRYPTO 130 depends on CRYPTO 136 select CRYPTO_LIB_CHACHA 131 select CRYPTO_LIB_CHACHA 137 select CRYPTO_LIB_POLY1305 132 select CRYPTO_LIB_POLY1305 138 select CRYPTO_ALGAPI 133 select CRYPTO_ALGAPI 139 134 140 config CRYPTO_LIB_SHA1 135 config CRYPTO_LIB_SHA1 141 tristate 136 tristate 142 137 143 config CRYPTO_LIB_SHA256 138 config CRYPTO_LIB_SHA256 144 tristate 139 tristate 145 140 146 endmenu 141 endmenu
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.