Provided by: manpages-fr-extra_20151231_all bug

NOM

       EVP_BytesToKey - Routine de chiffrement à base de mot de passe

SYNOPSIS

        #include <openssl/evp.h>

        int EVP_BytesToKey(const EVP_CIPHER *type,const EVP_MD *md,
                              const unsigned char *salt,
                              const unsigned char *data, int datal, int count,
                              unsigned char *key,unsigned char *iv);

DESCRIPTION

       EVP_BytesToKey() dérive (fournit) une clef et un vecteur d'initialisation à partir de plusieurs
       paramètres. type est l'algorithme de chiffrement pour dériver la clef et le vecteur d'initialisation. md
       est l'algorithme de signature de message à utiliser. Le paramètre salt est utilisé comme sel dans la
       dérivation : il devrait pointer vers un tampon de 8 octets ou NULL s'il ne faut pas utiliser de sel. data
       est un tampon contenant datal octets utilisé pour dériver les données de clef. count est le nombre
       d'itérations à utiliser. La clef et le vecteur d'initialisation dérivés seront respectivement écrits dans
       key et iv.

NOTES

       Une application typique de cette fonction est de dériver du matériel de clef pour un algorithme de
       chiffrement à partir d'un mot de passe dans le paramètre data.

       Augmenter le paramètre count ralentit l'algorithme, ce qui rend plus difficile pour un attaquant de
       réaliser une attaque par force brute utilisant un grand nombre de mots de passe candidats.

       Si la taille totale de la clef et du vecteur d'initialisation est inférieure à la taille de l'algorithme
       de signature est que MD5 est utilisé, alors l'algorithme de dérivation est compatible avec PKCS#5 v1.5,
       sinon une extension non normalisée est utilisée pour fournir les données supplémentaires.

       Les applications les plus récentes devraient utiliser un algorithme plus moderne comme PBKDF2 tel qu’il
       est défini dans PKCS#5 v2.1 et fourni par PKCS5_PBKDF2_HMAC.

ALGORITHME DE DÉRIVATION DE CLEF

       La clef et le vecteur d'initialisation sont dérivés en concaténant D_1, D_2, etc., jusqu'à ce que
       suffisamment de données soient disponibles pour la clef et le vecteur d'initialisation. D_i est défini
       comme :

               D_i = HASH^count(D_(i-1) || data || salt)

       où || indique la concaténation, D_0 est vide, HASH est l'algorithme de signature utilisé, HASH^1(data)
       est simplement HASH(data), HASH^2(data) est HASH(HASH(data)) et ainsi de suite.

       Les octets initiaux sont utilisés pour la clef et les octets suivants pour le vecteur d'initialisation.

VALEURS DE RETOUR

       Si data est NULL, alors EVP_BytesToKey() renvoie le nombre d’octets nécessaires pour enregistrer la clef
       dérivée. Autrement, EVP_BytesToKey() renvoie la taille de la clef en octets, ou 0 en cas d’erreur.

VOIR AUSSI

       evp(3), rand(3), EVP_EncryptInit(3)

HISTORIQUE

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.

1.0.2a 1.0.2c                                      2015-12-31                   fr::crypto::EVP_BytesToKey(3SSL)