BN_rand(3) generate

Other Alias

BN_pseudo_rand, BN_rand_range, BN_pseudo_rand_range

SYNOPSIS


#include <openssl/bn.h>
int BN_rand(BIGNUM *rnd, int bits, int top, int bottom);
int BN_pseudo_rand(BIGNUM *rnd, int bits, int top, int bottom);
int BN_rand_range(BIGNUM *rnd, BIGNUM *range);
int BN_pseudo_rand_range(BIGNUM *rnd, BIGNUM *range);

DESCRIPTION

BN_rand() produit un nombre pseudoaléatoire cryptographiquement fort de taille bits bits et le stocke dans rnd. Si top est -1, le bit de poids fort du nombre aléatoire peut être zéro. Si top est 0, il est défini à 1 et si top est 1, les deux bits de poids fort du nombre seront définis à 1, de telle sorte que le produit de ces deux nombres aura toujours une taille de 2*bits. Si bottom est vrai, le nombre sera impair. La valeur de bits doit être au moins nulle. Si bits est 1, alors top ne peut pas être aussi 1.

BN_pseudo_rand() fait la même chose, sauf que les nombres pseudoaléatoires produits par cette fonction ne sont pas nécessairement imprévisibles. Ils peuvent servir à des utilisations non cryptographiques et à certaines utilisations dans des protocoles cryptographiques, mais normalement pas à la génération de clef, etc.

BN_rand_range() produit un nombre pseudoaléatoire cryptographiquement fort rnd dans l'intervalle 0 <= rnd < range. BN_pseudo_rand_range() fait la même chose, mais est basée sur BN_pseudo_rand(), donc les nombres pseudoaléatoires produits par cette fonction ne sont pas nécessairement imprévisibles.

Le générateur de nombres aléatoires doit être initialisé avant d'appeler BN_rand() ou BN_rand_range().

VALEURS DE RETOUR

Les fonctions renvoient 1 si elles réussissent et 0 en cas d'erreur. Les codes d'erreur peuvent être obtenu par ERR_get_error(3).

HISTORIQUE

BN_rand() est disponible dans toutes les versions de SSLeay et OpenSSL. BN_pseudo_rand() a été ajoutée dans OpenSSL 0.9.5. Le cas top == -1 et la fonction BN_rand_range() ont été ajoutés dans OpenSSL 0.9.6a. BN_pseudo_rand_range() a été ajoutée dans OpenSSL 0.9.6c.

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.