mbedtls/library
Gilles Peskine 8fd95c6757 Perform mbedtls_mpi_mul_int in place if possible
Rewrite mbedtls_mpi_mul_int to call mpi_mul_hlp directly rather than
create a temporary mpi object. This has the benefit of not performing
an allocation when the multiplication is in place (mpi operand aliased
with the result) and the result mpi is large enough.

This saves about 40% of the calloc() calls in test_suite_ecp. There is
no measurable performance difference on my Linux PC.

The cost is a few bytes in bignum.o.

When there is no aliasing, or when there is aliasing but the mpi
object needs to be enlarged, the performance difference is negligible.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2020-12-07 22:51:25 +01:00
..
.gitignore Split libs with make + general make cleanups 2015-06-25 10:59:56 +02:00
aes.c Merge pull request #3823 from gabor-mezei-arm/3818_MBEDTLS_AES_SETKEY_DEC_ALT_excludes_MBEDTLS_CIPHER_MODE_XTS 2020-11-09 20:44:08 +01:00
aesni.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
arc4.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
aria.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
asn1parse.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
asn1write.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
base64.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
bignum.c Perform mbedtls_mpi_mul_int in place if possible 2020-12-07 22:51:25 +01:00
blowfish.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
camellia.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
ccm.c Fix additional data length field check for CCM 2020-10-08 12:09:44 +02:00
certs.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
chacha20.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
chachapoly.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
check_crypto_config.h Minor updates to address review comments 2020-11-30 21:06:05 -08:00
cipher.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
cipher_wrap.c Do not set IV size for ECB mode ciphers 2020-11-06 09:40:21 +01:00
cmac.c Fix mismatched function parameters (prototype/definition) 2020-11-25 01:13:12 -03:00
CMakeLists.txt Build: Use new-style syntax in link-libraries 2020-10-20 13:44:44 +01:00
common.h Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
ctr_drbg.c Support set *_drbg reseed interval before seed 2020-11-25 14:25:56 -08:00
debug.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
des.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
dhm.c Merge development into development-restricted 2020-08-20 11:07:12 +01:00
ecdh.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
ecdsa.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
ecjpake.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
ecp.c List Montgomery curves in mbedtls_ecp_curve_list() 2020-09-30 17:02:25 +02:00
ecp_curves.c Optimize fix_negative 2020-12-07 22:51:25 +01:00
entropy.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
entropy_poll.c Fix the build when _GNU_SOURCE is defined to a non-empty value 2020-10-01 11:27:17 +02:00
error.c Simplify conditional guards in error.c 2020-11-16 15:02:16 +01:00
gcm.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
havege.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
hkdf.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
hmac_drbg.c Support set *_drbg reseed interval before seed 2020-11-25 14:25:56 -08:00
Makefile Merge pull request #3568 from hanno-arm/tls13_experimental_key_schedule_1 2020-09-16 11:40:06 +01:00
md.c Merge pull request #3578 from gilles-peskine-arm/md_setup-leak-development 2020-08-21 09:19:12 +02:00
md2.c Use single-line string literals. 2020-08-21 21:08:56 +02:00
md4.c Use single-line string literals. 2020-08-21 21:08:56 +02:00
md5.c Use single-line string literals. 2020-08-21 21:08:56 +02:00
memory_buffer_alloc.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
net_sockets.c Use socklen_t on Android and other POSIX-compliant system 2020-09-30 16:53:37 +08:00
nist_kw.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
oid.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
padlock.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
pem.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
pk.c psa: Move from key handle to key identifier 2020-11-10 16:00:41 +01:00
pk_wrap.c psa: Move from key handle to key identifier 2020-11-10 16:00:41 +01:00
pkcs5.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
pkcs11.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
pkcs12.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
pkparse.c fix return code 2020-09-22 11:57:16 +02:00
pkwrite.c psa: Move from key handle to key identifier 2020-11-10 16:00:41 +01:00
platform.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
platform_util.c Fixes two _POSIX_C_SOURCE typos. 2020-11-13 09:20:18 +00:00
poly1305.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
psa_crypto.c Update guards for ALG_SHA_224 and ALG_SHA_384 in crypto library 2020-12-03 06:07:04 -08:00
psa_crypto_core.h Improve/fix documentation 2020-11-20 13:57:15 +01:00
psa_crypto_driver_wrappers.c Plug in the entry point for public key export through driver 2020-11-20 17:31:24 +01:00
psa_crypto_driver_wrappers.h Plug in the entry point for public key export through driver 2020-11-20 17:31:24 +01:00
psa_crypto_invasive.h psa: Fix references to macros in comments 2020-11-10 16:18:07 +01:00
psa_crypto_its.h psa: Fix references to macros in comments 2020-11-10 16:18:07 +01:00
psa_crypto_se.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
psa_crypto_se.h Changes PSA key storage format to include key bits 2020-10-07 10:54:24 +02:00
psa_crypto_service_integration.h Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
psa_crypto_slot_management.c Improve/fix documentation 2020-11-20 13:57:15 +01:00
psa_crypto_slot_management.h Improve/fix documentation 2020-11-20 13:57:15 +01:00
psa_crypto_storage.c psa: Fix references to macros in comments 2020-11-10 16:18:07 +01:00
psa_crypto_storage.h psa: Fix references to macros in comments 2020-11-10 16:18:07 +01:00
psa_its_file.c psa_its: Annotate file removal after a failed creation 2020-08-25 22:49:19 +02:00
ripemd160.c Use single-line string literals. 2020-08-21 21:08:56 +02:00
rsa.c Restore retry in rsa_prepare_blinding() 2020-09-25 08:43:57 -05:00
rsa_internal.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
sha1.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
sha256.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
sha512.c Use single-line string literals. 2020-08-21 21:08:56 +02:00
ssl_cache.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
ssl_ciphersuites.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
ssl_cli.c psa: Move from key handle to key identifier 2020-11-10 16:00:41 +01:00
ssl_cookie.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
ssl_invasive.h Merge pull request #736 from mpg/cf-varpos-copy-dev-restricted 2020-08-25 14:35:55 +01:00
ssl_msg.c Fix: Add missing arguments to debug message. 2020-12-02 10:13:02 +01:00
ssl_srv.c Merge pull request #3547 from ronald-cron-arm/psa-openless 2020-11-20 18:48:33 +01:00
ssl_ticket.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
ssl_tls.c Change function casting in ssl_calc_finished_tls_sha384 2020-11-25 07:30:26 -03:00
ssl_tls13_keys.c Comment on hardcoding of maximum HKDF key expansion of 255 Bytes 2020-09-16 09:50:17 +01:00
ssl_tls13_keys.h Comment on hardcoding of maximum HKDF key expansion of 255 Bytes 2020-09-16 09:50:17 +01:00
threading.c Fixes two _POSIX_C_SOURCE typos. 2020-11-13 09:20:18 +00:00
timing.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
version.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
version_features.c Comply with mbedtls naming rules 2020-10-29 01:14:49 +01:00
x509.c x509.c: Remove one unnecessary cast 2020-09-01 11:04:53 +02:00
x509_create.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
x509_crl.c Merge development into development-restricted 2020-08-20 11:07:12 +01:00
x509_crt.c Merge pull request #3433 from raoulstrackx/raoul/verify_crl_without_time 2020-08-26 12:56:11 +02:00
x509_csr.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
x509write_crt.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
x509write_csr.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
xtea.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00