openssl/crypto
Richard Levitte 6ebb49f3f9 Change rand_pool_bytes_needed to handle less entropy than 1 per 8 bits
rand_pool_bytes_needed() was constructed in such a way that the
smallest acceptable entropy factor was 1 entropy bits per 8 bits of
data.  At the same time, we have a DRBG_MINMAX_FACTOR that allows
weaker source, as small as 1 bit of entropy per 128 bits of data.
The conclusion is that rand_pool_bytes_needed() needs to change to
support weaker entropy sources.  We therefore change the input of
entropy per byte to be an entropy factor instead.  This entropy factor
expresses how many bits of data it takes (on average) to get 1 bit of
entropy.

Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
(Merged from https://github.com/openssl/openssl/pull/6150)
2018-05-02 10:18:29 +02:00
..
aes Update copyright year 2018-03-20 13:08:46 +00:00
aria Fix potential null problem. 2017-09-01 09:30:18 +10:00
asn1 Update copyright year 2018-05-01 13:34:30 +01:00
async Update copyright year 2018-05-01 13:34:30 +01:00
bf Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
bio Add missing error code when alloc-return-null 2018-04-26 12:27:46 -04:00
blake2 Remove parentheses of return. 2017-10-18 16:05:06 +01:00
bn fix: BN_swap mishandles flags 2018-04-27 09:54:37 +01:00
buffer Update copyright year 2018-04-03 13:57:12 +01:00
camellia Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
cast Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
chacha Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
cmac Update copyright year 2018-04-17 15:18:40 +02:00
cms Update copyright year 2018-04-17 15:18:40 +02:00
comp Fix last(?) batch of malloc-NULL places 2018-04-26 14:02:24 -04:00
conf Fix memory leaks in CA related functions. 2018-05-02 08:35:32 +02:00
ct Null pointer used. 2017-09-18 06:52:13 +10:00
des Update copyright year 2018-04-03 13:57:12 +01:00
dh Update copyright year 2018-04-17 15:18:40 +02:00
dsa Update copyright year 2018-04-17 15:18:40 +02:00
dso openssl#5668: corrections after compiling with -qinfo=all:als. 2018-04-14 13:28:31 +02:00
ec Update copyright year 2018-05-01 13:34:30 +01:00
engine Fix memory leaks in CA related functions. 2018-05-02 08:35:32 +02:00
err Fix last(?) batch of malloc-NULL places 2018-04-26 14:02:24 -04:00
evp Update copyright year 2018-04-17 15:18:40 +02:00
hmac Update copyright year 2018-04-17 15:18:40 +02:00
idea Remove parentheses of return. 2017-10-18 16:05:06 +01:00
include/internal Change rand_pool_bytes_needed to handle less entropy than 1 per 8 bits 2018-05-02 10:18:29 +02:00
kdf Update copyright year 2018-04-17 15:18:40 +02:00
lhash Update copyright year 2018-05-01 13:34:30 +01:00
md2 Remove parentheses of return. 2017-10-18 16:05:06 +01:00
md4 Remove parentheses of return. 2017-10-18 16:05:06 +01:00
md5 Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
mdc2 Remove parentheses of return. 2017-10-18 16:05:06 +01:00
modes Update copyright year 2018-05-01 13:34:30 +01:00
objects Add missing error code when alloc-return-null 2018-04-26 12:27:46 -04:00
ocsp Update copyright year 2018-02-13 13:59:25 +00:00
pem Update copyright year 2018-05-01 13:34:30 +01:00
perlasm Copyright update of more files that have changed this year 2018-01-19 13:34:03 +01:00
pkcs7 Update copyright year 2018-03-20 13:08:46 +00:00
pkcs12 Update copyright year 2018-05-01 13:34:30 +01:00
poly1305 Update copyright year 2018-05-01 13:34:30 +01:00
rand Change rand_pool_bytes_needed to handle less entropy than 1 per 8 bits 2018-05-02 10:18:29 +02:00
rc2 Remove email addresses from source code. 2017-10-13 10:06:59 -04:00
rc4 Update copyright year 2018-03-20 13:08:46 +00:00
rc5 Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
ripemd Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
rsa Update copyright year 2018-04-17 15:18:40 +02:00
seed
sha Update copyright year 2018-05-01 13:34:30 +01:00
siphash Update copyright year 2018-04-17 15:18:40 +02:00
sm2 [SM2_sign] fix double free and return value 2018-04-25 10:24:43 +01:00
sm3 SM3: restructure to EVP internal and update doc to right location 2017-11-06 07:21:15 +08:00
sm4 SM4: Add SM4 block cipher to EVP 2017-10-31 15:19:14 +10:00
srp Fix a memory leak in an error path 2018-04-17 17:26:16 +01:00
stack Fix last(?) batch of malloc-NULL places 2018-04-26 14:02:24 -04:00
store store/loader_file.c: rename variables causing conflicts with Android NDK. 2018-03-13 19:31:44 +01:00
ts o_time.c: use gmtime_s with MSVC 2018-03-27 20:12:34 +02:00
txt_db Update copyright year 2018-04-03 13:57:12 +01:00
ui Update copyright year 2018-04-17 15:18:40 +02:00
whrlpool Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
x509 Add getter for X509_VERIFY_PARAM_get_hostflags 2018-05-01 15:06:16 +01:00
x509v3 Update copyright year 2018-05-01 13:34:30 +01:00
alphacpuid.pl
arm64cpuid.pl Update copyright year 2018-02-13 13:59:25 +00:00
arm_arch.h Fix building linux-armv4 with --strict-warnings 2018-04-20 15:49:33 +02:00
armcap.c crypto/armcap.c: mask SHA512 hardware detection on iOS. 2018-03-06 23:18:24 +01:00
armv4cpuid.pl Update copyright year 2018-05-01 13:34:30 +01:00
build.info Remove import/use of File::Spec::Function 2018-04-01 22:41:04 +02:00
c64xpluscpuid.pl Many spelling fixes/typo's corrected. 2017-11-11 19:03:10 -05:00
cpt_err.c Fix last(?) batch of malloc-NULL places 2018-04-26 14:02:24 -04:00
cryptlib.c Enabled OneCore Conf for Console Apps (removed nonUniversal API) 2018-04-03 18:39:22 +02:00
ctype.c Check for EOF in ASCII conversions. 2017-08-25 06:42:17 +10:00
cversion.c Fix SOURCE_DATE_EPOCH bug; use UTC 2017-11-27 14:34:14 -05:00
dllmain.c Remove parentheses of return. 2017-10-18 16:05:06 +01:00
ebcdic.c Remove email addresses from source code. 2017-10-13 10:06:59 -04:00
ex_data.c Ensure the thread keys are always allocated in the same order 2018-04-20 15:45:06 +02:00
ia64cpuid.S Fix typo in files in crypto folder 2017-08-05 20:42:06 +02:00
init.c Fix memleaks in async api 2018-04-26 18:39:51 +02:00
LPdir_nyi.c Fix typo (note by oneton@users.github) 2017-06-20 08:15:00 -04:00
LPdir_unix.c Adjust LPdir_unix.c on VMS for OpenSSL expectations 2018-03-12 23:01:02 +01:00
LPdir_vms.c Fix typo (note by oneton@users.github) 2017-06-20 08:15:00 -04:00
LPdir_win.c Fix typo (note by oneton@users.github) 2017-06-20 08:15:00 -04:00
LPdir_win32.c Fix typo (note by oneton@users.github) 2017-06-20 08:15:00 -04:00
LPdir_wince.c Fix typo (note by oneton@users.github) 2017-06-20 08:15:00 -04:00
mem.c Avoid unconditional store in CRYPTO_malloc. 2018-03-06 13:21:49 -05:00
mem_clr.c
mem_dbg.c Update copyright year 2018-02-13 13:59:25 +00:00
mem_sec.c mem_sec.c: portability fixup. 2018-03-12 11:03:17 +01:00
mips_arch.h
o_dir.c Move e_os.h to be the very first include. 2017-08-30 07:20:44 +10:00
o_fips.c Clean up references to FIPS 2017-02-28 15:26:25 +01:00
o_fopen.c Set error code on alloc failures 2018-04-03 11:31:16 -04:00
o_init.c Use "" not <> on e_os.h include 2017-08-22 11:07:56 -04:00
o_str.c Revert "GH614: Use memcpy()/strdup() when possible" 2017-09-14 10:26:54 +10:00
o_time.c Update copyright year 2018-04-03 13:57:12 +01:00
pariscid.pl Update copyright year 2018-04-03 13:57:12 +01:00
ppc_arch.h
ppccap.c crypto/ppccap.c: SIGILL-free processor capabilities detection on MacOS X. 2017-04-02 20:45:59 +02:00
ppccpuid.pl
s390x_arch.h s390x assembly pack: add KMF code path for aes-cfb/cfb8 2018-03-28 23:31:01 +02:00
s390xcap.c s390x assembly pack: extend s390x capability vector. 2017-10-30 14:31:32 +01:00
s390xcpuid.pl s390x assembly pack: add KMF code path for aes-cfb/cfb8 2018-03-28 23:31:01 +02:00
sparc_arch.h
sparccpuid.S Clean up references to FIPS 2017-02-28 15:26:25 +01:00
sparcv9cap.c Create a prototype for OPENSSL_rdtsc 2017-11-25 14:30:11 +01:00
threads_none.c Update copyright year 2018-04-17 15:18:40 +02:00
threads_pthread.c Update copyright year 2018-04-17 15:18:40 +02:00
threads_win.c Update copyright year 2018-04-17 15:18:40 +02:00
uid.c Cleaning UEFI Build with additional OPENSSL_SYS_UEFI flags 2017-03-29 07:35:59 +02:00
vms_rms.h
x86_64cpuid.pl Fix issues in ia32 RDRAND asm leading to reduced entropy 2018-03-08 10:27:49 -05:00
x86cpuid.pl Fix issues in ia32 RDRAND asm leading to reduced entropy 2018-03-08 10:27:49 -05:00