Revisando el código s23_clnt.c de openssl 1.0.1g veo que:
int ssl23_connect(SSL *s)
{
BUF_MEM *buf=NULL;
unsigned long Time=(unsigned long)time(NULL);
void (*cb)(const SSL *ssl,int type,int val)=NULL;
int ret= -1;
int new_state,state;
RAND_add(&Time,sizeof(Time),0);
Este RAND_add (& Time, sizeof (Time), 0) no agregará entropía, pero a la larga, ¿solo crea un aleatorio predecible?
Leyendo enlace hay una línea "Por lo tanto, si los datos en buf son impredecibles para un adversario , esto aumenta la incertidumbre sobre el estado ... ", y si buf es predecible ... porque el tiempo de conexión inicial es.
Dado que el método aleatorio predeterminado es md_rand, creo que se agrega el búfer incluso si la entropía es 0 y creo que agregar información fácil de adivinar (el tiempo es en segundos) se diluirá y, a largo plazo, hará que la semana sea aleatoria
Googlear un poco dio que enlace que solo me da la misma impresión, pero realmente dudo que esas cosas no se hubieran mantenido durante años en openssl (ya estaba allí con una RAND_Seed (& Time, ... in SSLEAY de 1998) si fuera tan perjudicial.
Entonces una pregunta básica:
¿RAND_add (X, Y, 0) con X supuestamente reduce la calidad aleatoria o la mantiene como está?