table of contents
fr::crypto::OPENSSL_instrument_bus(3SSL) | OpenSSL | fr::crypto::OPENSSL_instrument_bus(3SSL) |
NOM¶
OPENSSL_instrument_bus, OPENSSL_instrument_bus2 - Instrumenter les références au bus mémoire
SYNOPSIS¶
#ifdef OPENSSL_CPUID_OBJ
size_t OPENSSL_instrument_bus (int *vector, size_t
num);
size_t OPENSSL_instrument_bus2(int *vector, size_t
num, size_t max);
#endif
DESCRIPTION¶
De façon empirique, les délais de références à la mémoire primaire sont soumis à des variations irrégulières, apparemment non déterministes. Les sous-routines en question instrumentent ces références dans le but de rassembler de l’entropie pour le générateur de nombres aléatoires. De façon à la lier au bus, une instruction « flush cache line » est utilisée entre les mesures. De plus, des mesures sont ajoutées aux éléments vector de façon atomique ou imbriquée, ce qui devrait contribuer à ajouter du bruit aux systèmes multiprocesseurs. Cela signifie également que vector[num] devrait être vidée lors de l’appel (si le but est de récupérer les véritables valeurs de mesure).
OPENSSL_instrument_bus() réalise num mesures et enregistre le nombre de cycles oscillatoires pris par chaque mesure.
OPENSSL_instrument_bus2() de son côté accumule les mesures consécutives qui ont la même valeur, c’est-à-dire de façon à enregistrer la durée des périodes quand les valeurs de mesure semblent déterministes. La sous-routine réalise au plus max mesures en essayant de remplir le vector[num], avec la valeur max à 0 signifiant « autant que nécessaire ».
VALEUR DE RETOUR¶
Une valeur de retour nulle indique que le processeur n’est pas capable de réaliser la comparaison, parce que le compteur d’oscillations ou « flush cache line » ne sont pas disponibles sur la plate-forme actuelle. Pour référence, sur x86, « flush cache line » a été introduit avec les extensions SSE2.
Sinon, le nombre de valeurs enregistrées est renvoyé.
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.
2015-12-31 | 1.0.2a 1.0.2c |