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