twx-linux/include/crypto
Stefan Berger 55779f26ea crypto: ecc - Prevent ecc_digits_from_bytes from reading too many bytes
[ Upstream commit c6ab5c915da460c0397960af3c308386c3f3247b ]

Prevent ecc_digits_from_bytes from reading too many bytes from the input
byte array in case an insufficient number of bytes is provided to fill the
output digit array of ndigits. Therefore, initialize the most significant
digits with 0 to avoid trying to read too many bytes later on. Convert the
function into a regular function since it is getting too big for an inline
function.

If too many bytes are provided on the input byte array the extra bytes
are ignored since the input variable 'ndigits' limits the number of digits
that will be filled.

Fixes: d67c96fb97b5 ("crypto: ecdsa - Convert byte arrays with key coordinates to digits")
Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-01-09 13:31:52 +01:00
..
internal crypto: ecc - Prevent ecc_digits_from_bytes from reading too many bytes 2025-01-09 13:31:52 +01:00
acompress.h crypto: acomp - Count error stats differently 2023-03-14 17:06:42 +08:00
aead.h crypto: aead - Count error stats differently 2023-03-14 17:06:41 +08:00
aes.h
akcipher.h crypto: akcipher - Add sync interface without SG lists 2023-06-23 16:15:36 +08:00
algapi.h crypto: api - Use work queue in crypto_destroy_instance 2023-08-11 19:19:27 +08:00
arc4.h
aria.h crypto: Prepare to move crypto_tfm_ctx 2022-12-02 18:12:40 +08:00
authenc.h
b128ops.h cyrpto/b128ops: Remove struct u128 2023-06-05 09:36:35 +02:00
blake2b.h
blake2s.h lib/crypto: blake2s: move hmac construction into wireguard 2022-01-18 13:03:55 +01:00
blowfish.h
cast5.h
cast6.h
cast_common.h
chacha20poly1305.h
chacha.h
cryptd.h
ctr.h
curve25519.h
des.h
dh.h crypto: dh - split out deserialization code from crypto_dh_decode() 2022-03-03 10:47:50 +12:00
drbg.h
ecc_curve.h
ecdh.h
engine.h crypto: engine - Remove crypto_engine_ctx 2023-08-18 17:01:11 +08:00
gcm.h crypto: lib/aesgcm - Provide minimal library implementation 2022-11-11 18:14:59 +08:00
gf128mul.h
ghash.h
hash_info.h
hash.h crypto: hash - Add statesize to crypto_ahash 2023-05-12 18:48:01 +08:00
hmac.h
if_alg.h crypto: af_alg - Disallow multiple in-flight AIO requests 2024-01-25 15:35:16 -08:00
kdf_sp800108.h
kpp.h crypto: kpp - Count error stats differently 2023-03-14 17:06:42 +08:00
md5.h
nhpoly1305.h
null.h
padlock.h
pcrypt.h
pkcs7.h
poly1305.h
polyval.h crypto: x86/polyval - Add PCLMULQDQ accelerated implementation of POLYVAL 2022-06-10 16:40:17 +08:00
public_key.h KEYS: DigitalSignature link restriction 2023-08-17 20:12:20 +00:00
rng.h crypto: rng - Count error stats differently 2023-03-14 17:06:42 +08:00
scatterwalk.h crypto: scatterwalk - use kmap_local() not kmap_atomic() 2022-12-30 22:56:27 +08:00
serpent.h
sha1_base.h
sha1.h
sha2.h crypto: lib/sha256 - Remove redundant and unused sha224_update 2023-05-19 16:45:43 +08:00
sha3.h
sha256_base.h crypto: lib/sha256 - Use generic code from sha256_base 2023-05-19 16:45:43 +08:00
sha512_base.h
sig.h crypto: sig - Add interface for sign/verify 2023-06-23 16:15:36 +08:00
skcipher.h crypto: skcipher - Count error stats differently 2023-03-14 17:06:42 +08:00
sm2.h crypto: sm2 - Provide sm2_compute_z_digest when sm2 is disabled 2023-06-26 16:14:01 +08:00
sm3_base.h
sm3.h crypto: sm3 - make dependent on sm3 library 2022-01-28 16:51:11 +11:00
sm4.h crypto: sm4 - export sm4 constant arrays 2022-04-08 16:12:46 +08:00
streebog.h
twofish.h
utils.h crypto: lib/utils - Move utilities into new header 2023-03-31 17:50:09 +08:00
xts.h crypto: xts - drop xts_check_key() 2023-01-06 17:15:47 +08:00