BN_num_bits(3) Obtenir la taille de BIGNUM

Other Alias

BN_num_bytes, BN_num_bits_word

SYNOPSIS


#include <openssl/bn.h>
int BN_num_bytes(const BIGNUM *a);
int BN_num_bits(const BIGNUM *a);
int BN_num_bits_word(BN_ULONG w);

DESCRIPTION

BN_num_bytes() renvoie la taille d'un BIGNUM en octet.

BN_num_bits_word() renvoie le nombre de bits significatifs dans un mot. Avec 0x00000432 par exemple, 11 est renvoyé, pas 16 ni 32. À part pour zéro, c'est à peu près floor(log2(w))+1 qui est renvoyé.

BN_num_bits() renvoie le nombre de bits significatifs dans un BIGNUM, en suivant le même principe que BN_num_bits_word().

BN_num_bytes() est une macro.

VALEURS DE RETOUR

La taille.

NOTES

Certaines personnes ont essayé d'utiliser BN_num_bits() sur des nombres indivisibles dans des clefs RSA, clefs DH et clefs DSA, et ont trouvé qu'elle ne renvoyait pas toujours le nombre de bits attendus (quelque chose comme 512, 1024, 2048, etc.) C'est parce que la génération d'un nombre avec certains nombres particuliers de bits ne définit pas toujours les bits les plus élevés, rendant ainsi le nombre de bits significatifs un peu inférieur. Si vous voulez connaître la « taille de clef » d'une telle clef, utilisez des fonctions comme RSA_size(), DH_size() et DSA_size(), ou utilisez BN_num_bytes() et multipliez par 8 (bien qu'il n'y ait aucune véritable garantie que cela corresponde à la « taille de clef », c'est simplement beaucoup plus probable).

HISTORIQUE

BN_num_bytes(), BN_num_bits() et BN_num_bits_word() sont disponibles dans toutes les versions de SSLeay et d'OpenSSL.

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.