mbedtls/library
Gilles Peskine e9a3454e09 CTR_DRBG: grab a nonce from the entropy source if needed
Change the default entropy nonce length to be nonzero in some cases.
Specifically, the default nonce length is now set in such a way that
the entropy input during the initial seeding always contains enough
entropy to achieve the maximum possible security strength per
NIST SP 800-90A given the key size and entropy length.

If MBEDTLS_CTR_DRBG_ENTROPY_LEN is kept to its default value,
mbedtls_ctr_drbg_seed() now grabs extra entropy for a nonce if
MBEDTLS_CTR_DRBG_USE_128_BIT_KEY is disabled and either
MBEDTLS_ENTROPY_FORCE_SHA256 is enabled or MBEDTLS_SHA512_C is
disabled. If MBEDTLS_CTR_DRBG_USE_128_BIT_KEY is enabled, or if
the entropy module uses SHA-512, then the default value of
MBEDTLS_CTR_DRBG_ENTROPY_LEN does not require a second call to the
entropy function to achieve the maximum security strength.

This choice of default nonce size guarantees NIST compliance with the
maximum security strength while keeping backward compatibility and
performance high: in configurations that do not require grabbing more
entropy, the code will not grab more entropy than before.
2019-10-23 19:46:57 +02:00
..
.gitignore
aes.c Add further missing brackets around macro parameters 2019-02-19 17:59:57 +00:00
aesni.c Warn if using a memory sanitizer on AESNI 2018-04-05 15:37:38 +02:00
arc4.c Rename mbedtls_zeroize to mbedtls_platform_zeroize 2018-04-17 10:00:21 -05:00
aria.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
asn1parse.c mbedtls_asn1_get_int: fix int overflow 2019-10-10 19:29:27 +02:00
asn1write.c mbedtls_asn1_store_named_data: clarify val allocation behavior 2019-09-11 15:46:45 +02:00
base64.c
bignum.c Merge remote-tracking branch 'origin/pr/2623' into development 2019-09-05 14:43:46 +01:00
blowfish.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
camellia.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
ccm.c Merge remote-tracking branch 'origin/pr/2092' into development 2019-04-24 11:17:21 +01:00
chacha20.c Improve macro hygiene 2019-02-19 17:59:00 +00:00
chachapoly.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
cipher.c Convert cipher and pk to PSA attribute-based key creation 2019-06-05 11:34:54 +02:00
cipher_wrap.c Wrap lines at 80 columns 2019-04-02 10:07:28 -07:00
cmac.c Merge remote-tracking branch 'public/pr/1390' into development 2018-06-27 10:51:47 +01:00
CMakeLists.txt Merge pull request #185 from gilles-peskine-arm/harvard-md 2019-09-10 18:38:39 +01:00
ctr_drbg.c CTR_DRBG: grab a nonce from the entropy source if needed 2019-10-23 19:46:57 +02:00
des.c des: Reduce number of self-test iterations 2019-09-04 10:11:45 +01:00
dhm.c Allow DHM self test to run without MBEDTLS_PEM_PARSE_C 2019-06-03 17:46:56 +01:00
ecdh.c Fix code style 2019-08-19 13:37:46 +01:00
ecdsa.c Correct deterministic ECDSA behavior 2019-09-05 11:18:58 +01:00
ecjpake.c Fix handling of md failure 2019-07-08 14:32:38 +02:00
ecp.c 3rdparty: Adjust use of Everest in ecp_supported_curves 2019-08-19 13:37:46 +01:00
ecp_curves.c Replace 0 by MBEDTLS_ECP_DP_NONE to avoid IAR compiler complains 2019-09-10 17:58:20 +03:00
entropy.c Rename mbedtls_zeroize to mbedtls_platform_zeroize 2018-04-17 10:00:21 -05:00
entropy_poll.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
error.c Fix long-standing bug in error code description 2019-09-11 18:16:11 +02:00
gcm.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
havege.c Fix minor type choice inconsistency 2019-06-24 15:45:09 +02:00
hkdf.c Fix issue if salt = NULL and salt_len !=0 in mbedtls_hkdf_extract() 2018-07-23 10:34:47 -07:00
hmac_drbg.c HMAC_DRBG: support set_entropy_len() before seed() 2019-10-11 18:04:12 +02:00
Makefile Merge pull request #185 from gilles-peskine-arm/harvard-md 2019-09-10 18:38:39 +01:00
md.c Use smaller types in mbedtls_md_info_t 2019-07-22 11:35:19 +02:00
md2.c Rename mbedtls_zeroize to mbedtls_platform_zeroize 2018-04-17 10:00:21 -05:00
md4.c Add more missing parentheses around macro parameters 2019-02-19 17:59:57 +00:00
md5.c Add further missing brackets around macro parameters 2019-02-19 17:59:57 +00:00
memory_buffer_alloc.c Fix braces in mbedtls_memory_buffer_alloc_status() 2018-06-12 16:56:04 +01:00
nist_kw.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
oid.c Add support for RSA PKCSv1.5 signatures using RIPEMD-160 2019-05-06 12:15:17 -04:00
padlock.c
pem.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
pk.c Convert cipher and pk to PSA attribute-based key creation 2019-06-05 11:34:54 +02:00
pk_wrap.c Convert cipher and pk to PSA attribute-based key creation 2019-06-05 11:34:54 +02:00
pkcs5.c Improve speed of PBKDF2 by caching the digest state of the passphrase 2019-09-23 19:15:54 -04:00
pkcs12.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
pkparse.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
pkwrite.c Convert cipher and pk to PSA attribute-based key creation 2019-06-05 11:34:54 +02:00
platform.c Merge remote-tracking branch 'origin/pr/1551' into development 2019-01-30 13:24:55 +00:00
platform_util.c Check for zero length and NULL buffer pointer. 2019-09-04 11:31:35 +01:00
poly1305.c Improve macro hygiene 2019-02-19 17:59:00 +00:00
psa_crypto.c Merge pull request #292 from gilles-peskine-arm/psa-destroy_0 2019-10-14 11:21:54 +02:00
psa_crypto_core.h Rename internal macro to pass check-names.sh 2019-08-08 10:58:09 +02:00
psa_crypto_invasive.h Add a facility to configure entropy sources 2018-11-23 22:58:38 +01:00
psa_crypto_its.h Add psa_trusted_storage_linux persistent storage support for v1.0.0 APIs 2019-07-23 17:30:37 +01:00
psa_crypto_se.c SE driver: Fix loading of persistent data 2019-10-01 16:55:29 +02:00
psa_crypto_se.h SE driver: call the p_init method during psa_crypto_init() 2019-10-01 15:22:29 +02:00
psa_crypto_service_integration.h Add common header for crypto service integration 2019-02-19 15:09:14 +02:00
psa_crypto_slot_management.c Make psa_close_key(0) and psa_destroy_key(0) succeed 2019-10-08 15:57:27 +02:00
psa_crypto_slot_management.h Rename psa_internal_allocate_key_slot to psa_get_empty_key_slot 2019-08-08 10:58:09 +02:00
psa_crypto_storage.c Merge pull request #198 from gilles-peskine-arm/psa-api-1.0-beta-merge_development_20190801 2019-08-08 10:24:53 +02:00
psa_crypto_storage.h Switch storage functions over to psa_core_key_attributes_t 2019-07-31 14:15:27 +02:00
psa_its_file.c Add an input check in psa_its_set 2019-09-05 09:34:34 -04:00
ripemd160.c Improve macro hygiene 2019-02-19 17:59:00 +00:00
rsa.c rsa: Enable use of zero-length null output 2019-02-11 03:39:51 -05:00
rsa_internal.c Bignum: Deprecate mbedtls_mpi_is_prime() 2018-10-09 16:36:53 +01:00
sha1.c Add further missing brackets around macro parameters 2019-02-19 17:59:57 +00:00
sha256.c Add further missing brackets around macro parameters 2019-02-19 17:59:57 +00:00
sha512.c Re-roll main loop with SHA512_SMALLER 2019-07-17 13:16:54 +02:00
threading.c Don't declare and define gmtime()-mutex on Windows platforms 2018-09-06 12:09:56 +01:00
timing.c timing: Remove redundant include file 2019-06-20 10:51:21 +01:00
version.c
version_features.c Move MBEDTLS_CTR_DRBG_USE_128_BIT_KEY to the correct section 2019-10-04 11:16:24 +02:00
xtea.c Rename mbedtls_zeroize to mbedtls_platform_zeroize 2018-04-17 10:00:21 -05:00