RAND_add(3) Ajouter de

Other Alias

RAND_seed, RAND_status, RAND_event, RAND_screen

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.

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.