NOM¶
RAND_add, RAND_seed, RAND_status, RAND_event, RAND_screen - Ajouter de
l'entropie au générateur de nombres pseudoaléatoires
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);
int RAND_event(UINT iMsg, WPARAM wParam,
LPARAM lParam);
void RAND_screen(void);
DESCRIPTION¶
RAND_add() mélange les
num octets de
buf dans
l'état du générateur de nombres pseudoaléatoires.
Ainsi, si les données de
buf sont imprévisibles pour un
adversaire, cela augmente l'incertitude sur l'état et rend la sortie du
générateur de nombres pseudoaléatoires moins
prévisible. L'entrée adéquate provient des interactions
de l'utilisateur (frappes aléatoires de touches, mouvements de la
souris) et de certains événements dans le matériel.
L'argument
entropy est (la limite basse d')une estimation de la
quantité de hasard contenu dans
buf, en octet. Des
précisions sur les sources de l'aléa et la façon
d'estimer leur entropie sont disponibles dans la littérature, par
exemple la RFC 1750.
RAND_add() pourrait être appelée avec des données
sensibles comme des mots de passe entrés par l'utilisateur. Les valeurs
d'initialisation ne peuvent pas être récupérées
depuis la sortie du générateur de nombres
pseudoaléatoires.
OpenSSL s'assure que l'état de générateur de nombres
pseudoaléatoires est unique pour chaque thread. Sur les systèmes
qui fournissent "/dev/urandom", le périphérique de
hasard est utilisé pour initialiser le générateur de
nombres pseudoaléatoires de façon transparente. Cependant, sur
tous les autres systèmes, l'application est responsable de
l'initialisation du générateur de nombres
pseudoaléatoires en appelant
RAND_add(),
RAND_egd(3) ou
RAND_load_file(3).
RAND_seed() est équivalent à
RAND_add() quand
num == entropy.
RAND_event() collecte l'entropie des événement de Windows
comme les mouvements de la souris et autres interactions de l'utilisateur.
Elle devrait être appelée avec les arguments
iMsg,
wParam et
lParam de
tous les messages envoyés
à la procédure de Windows. Elle estimera l'entropie contenue
dans le message (s'il y en a) et l'ajoutera au générateur de
nombres pseudoaléatoires, le programme peut ensuite traiter les
messages comme d'habitude.
La fonction
RAND_screen() est disponible pour faciliter le travail des
programmeurs sous Windows. Elle ajoute le contenu actuel de l'écran au
générateur de nombres pseudoaléatoires. Pour les
applications qui attrapent les événements de Windows,
l'initialisation du générateur de nombres
pseudoaléatoires en appelant
RAND_event() est une source de
hasard significativement meilleure. Remarquez que ces deux méthodes ne
peuvent pas être utilisées sur les serveurs qui fonctionnent
sans interaction de l'utilisateur.
VALEURS DE RETOUR¶
RAND_status() et
RAND_event() renvoient
1 si le
générateur de nombres pseudoaléatoires a
été initialisé avec suffisamment de données,
0 sinon.
Les autres fonctions ne renvoient pas de valeur.
VOIR AUSSI¶
rand(3),
RAND_egd(3),
RAND_load_file(3),
RAND_cleanup(3)
HISTORIQUE¶
RAND_seed() et
RAND_screen() sont disponibles dans toutes les
versions de SSLeay et OpenSSL.
RAND_add() et
RAND_status() ont
été ajoutées dans OpenSSL 0.9.5,
RAND_event() dans OpenSSL 0.9.5a.
TRADUCTION¶
La traduction de cette page de manuel est maintenue par les membres de la liste
<debian-l10n-french AT lists DOT debian DOT org>. Veuillez signaler
toute erreur de traduction par un rapport de bogue sur le paquet
manpages-fr-extra.