RAND_add man page on DigitalUNIX

Man page or keyword search:  
man Server   12896 pages
apropos Keyword Search (all sections)
Output format
DigitalUNIX logo
[printable version]

RAND_add(3)							   RAND_add(3)

       RAND_add, RAND_seed, RAND_status, RAND_event, RAND_screen - Add entropy
       to the PRNG

       #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 ); int RAND_event(
	       UINT iMsg, WPARAM wParam, LPARAM lParam ); void RAND_screen(
	       void );

       The RAND_add() function mixes the num bytes at buf into the PRNG state.
       Thus,  if  the  data  at	 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  entropy
       argument	 is (the lower bound of) an estimate of how much randomness is
       contained in buf, measured in bytes. Details about sources  of  random‐
       ness  and how to estimate their entropy can be found in the literature,
       e.g. RFC 1750.

       The RAND_add() function may be called with sensitive data such as  user
       entered	passwords.  The	 seed values cannot be recovered from the PRNG

       OpenSSL makes sure that the PRNG state is unique for  each  thread.  On
       systems	that  provide  /dev/urandom,  the randomness device is used to
       seed the PRNG transparently. However, on all other systems, the	appli‐
       cation  is  responsible for seeding the PRNG by calling the RAND_add(),
       RAND_egd() or RAND_load_file() functions.

       The RAND_seed() function is equivalent to the RAND_add() function  when
       num == entropy.

       The RAND_event() function collects the entropy from Windows events such
       as mouse movements and other user interaction. It should be called with
       the  iMsg, wParam and lParam arguments of all messages sent to the win‐
       dow procedure. It will estimate the entropy contained in the event mes‐
       sage (if any), and add it to the PRNG. The program can then process the
       messages as usual.

       The RAND_screen() function is available for the convenience of  Windows
       programmers.  It	 adds  the current contents of the screen to the PRNG.
       For applications that can catch Windows events,	seeding	 the  PRNG  by
       calling RAND_event() is a significantly better source of randomness. It
       should be noted that both methods cannot be used on  servers  that  run
       without user interaction.

       The  RAND_status()  and RAND_event() functions return 1 if the PRNG has
       been seeded with enough data, 0 otherwise.

       The other functions do not return values.

       The RAND_seed() and RAND_screen() functions are available in  all  ver‐
       sions of SSLeay and OpenSSL. The RAND_add() and RAND_status() functions
       have been added in OpenSSL 0.9.5, and RAND_event() in OpenSSL 0.9.5a.

       Functions: rand_ssl(3), RAND_egd(3), RAND_load_file(3), RAND_cleanup(3)


List of man pages available for DigitalUNIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net