fr::crypto::DSA_generate_parameters(3SSL)

NOM
DSA_generate_parameters - Créer des paramètres DSA

SYNOPSIS
#include ltopenssl/dsa.h>

DSA *DSA_generate_parameters(int bits, unsigned char *seed,
                int seed_len int *counter_ret, unsigned long *h_ret,
         void (*callback)(int, int, void *), void *cb_arg);

DESCRIPTION
DSA_generate_parameters() crée des nombres premiers p et q et un générateur g pour utiliser dans le DSA.

bits est la taille du nombre premier à générer ; la DSS permet 1024 bits au maximum.

Si seed est NULL ou seed_len < 20, les nombres premiers seront créés de façon aléatoire. Sinon, ils seront initialisés avec seed. Si la valeur de départ donnée ne renvoie pas de nombre premier q, une nouvelle initialisation aléatoire est choisie et placée dans seed.

DSA_generate_parameters() place le décompte d’itérations dans *counter_ret et un compteur utilisé pour trouver un générateur dans *h_ret, sauf s’ils sont NULL.

Une fonction de rappel pourrait être utilisée pour fournir un retour sur l’avancement de la création de clef. Si callback n’est pas NULL, elle sera appelée comme suit.

•   Quand un candidat pour q est créé, callback(0, m++, cb_arg) est appelée (m est 0 pour le premier candidat).

•   Quand un candidat pour q a passé un test par divisions successives, callback(1, -1, cb_arg) est appelée. Alors qu’un candidat pour q est testé par les tests de primalité de Miller-Rabin, callback(1, i, cb_arg) est appelée dans la boucle externe (une fois pour chaque témoin confirmant que le candidat pourrait être premier) ; i est le compteur de boucles (commençant à 0).

•   Quand un nombre premier q a été trouvé, callback(2, 0, cb_arg) et callback(3, 0, cb_arg) sont appelées.

•   Avant qu’un candidat pour p (autre que le premier) ne soit créé et testé, callback(0, counter, cb_arg) est appelée.

•   Quand un candidat pour p a passé un test par divisions successives, callback(1, -1, cb_arg) est appelée. Alors qu’il est testé par les tests de primalité de Miller-Rabin, callback(1, i, cb_arg) est appelée dans la boucle externe (une fois pour chaque témoin confirmant que le candidat pourrait être premier). i est le compteur de boucle (commençant à 0).

•   Quand p a été trouvé, callback(2, 1, cb_arg) est appelée.

•   Quand le générateur a été trouvé, callback(3, 1, cb_arg) est appelée.

VALEUR DE RETOUR
DSA_generate_parameters() renvoie un pointeur vers la structure DSA ou NULL en cas d’échec de création de paramètre. Les codes d’erreur peuvent être obtenus par ERR_get_error(3).

BOGUES
Les tailles de seed > 20 ne sont pas prises en charge.

VOIR AUSSI
dsa(3), DSA_free(3), ERR_get_error(3), rand(3)

HISTORIQUE
DSA_generate_parameters() est apparue dans SSLeay 0.8. L’argument cb_arg a été ajouté dans SSLeay 0.9.0. Dans OpenSSL jusqu’à la version 0.9.4, callback(1, ...) était appelée dans la boucle interne du test de Miller-Rabin à chaque fois qu’elle atteignait l’étape du carré (les paramètres de callback n’indiquaient pas le nombre de témoins qui avaient été essayés) ; depuis OpenSSL 0.9.5, callback(1, ...) est appelée comme dans BN_is_prime(3), c’est-à-dire une fois par témoin.

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.