diff options
author | Wojtek Kosior <wk@koszkonutek-tmp.pl.eu.org> | 2021-04-30 00:33:56 +0200 |
---|---|---|
committer | Wojtek Kosior <wk@koszkonutek-tmp.pl.eu.org> | 2021-04-30 00:33:56 +0200 |
commit | aa4d426b4d3527d7e166df1a05058c9a4a0f6683 (patch) | |
tree | 4ff17ce8b89a2321b9d0ed4bcfc37c447bcb6820 /openssl-1.1.0h/doc/crypto/RAND_add.pod | |
download | smtps-and-pop3s-console-program-master.tar.gz smtps-and-pop3s-console-program-master.zip |
Diffstat (limited to 'openssl-1.1.0h/doc/crypto/RAND_add.pod')
-rw-r--r-- | openssl-1.1.0h/doc/crypto/RAND_add.pod | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/openssl-1.1.0h/doc/crypto/RAND_add.pod b/openssl-1.1.0h/doc/crypto/RAND_add.pod new file mode 100644 index 0000000..46de165 --- /dev/null +++ b/openssl-1.1.0h/doc/crypto/RAND_add.pod @@ -0,0 +1,79 @@ +=pod + +=head1 NAME + +RAND_add, RAND_seed, RAND_status, RAND_event, RAND_screen - add +entropy to the PRNG + +=head1 SYNOPSIS + + #include <openssl/rand.h> + + void RAND_seed(const void *buf, int num); + + void RAND_add(const void *buf, int num, double entropy); + + int RAND_status(void); + + #if OPENSSL_API_COMPAT < 0x10100000L + int RAND_event(UINT iMsg, WPARAM wParam, LPARAM lParam); + void RAND_screen(void); + #endif + +=head1 DESCRIPTION + +RAND_add() mixes the B<num> bytes at B<buf> into the PRNG state. Thus, +if the data at B<buf> are unpredictable to an adversary, this +increases the uncertainty about the state and makes the PRNG output +less predictable. Suitable input comes from user interaction (random +key presses, mouse movements) and certain hardware events. The +B<entropy> argument is (the lower bound of) an estimate of how much +randomness is contained in B<buf>, measured in bytes. Details about +sources of randomness and how to estimate their entropy can be found +in the literature, e.g. RFC 1750. + +RAND_add() may be called with sensitive data such as user entered +passwords. The seed values cannot be recovered from the PRNG output. + +OpenSSL makes sure that the PRNG state is unique for each thread. On +systems that provide C</dev/urandom>, the randomness device is used +to seed the PRNG transparently. However, on all other systems, the +application is responsible for seeding the PRNG by calling RAND_add(), +L<RAND_egd(3)> +or L<RAND_load_file(3)>. + +RAND_seed() is equivalent to RAND_add() when B<num == entropy>. + +RAND_event() and RAND_screen() are deprecated and should not be called. + +=head1 RETURN VALUES + +RAND_status() returns 1 if the PRNG has been seeded +with enough data, 0 otherwise. + +RAND_event() calls RAND_poll() and returns RAND_status(). + +RAND_screen calls RAND_poll(). + +The other functions do not return values. + +=head1 HISTORY + +RAND_event() and RAND_screen() are deprecated since OpenSSL +1.1.0. Use the functions described above instead. + +=head1 SEE ALSO + +L<rand(3)>, L<RAND_egd(3)>, +L<RAND_load_file(3)>, L<RAND_cleanup(3)> + +=head1 COPYRIGHT + +Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +L<https://www.openssl.org/source/license.html>. + +=cut |