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 de touches aléatoires, 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.