Provided by: manpages-fr-extra_20151231_all bug

NOM

       EVP_SealInit, EVP_SealUpdate, EVP_SealFinal - Chiffrement d’enveloppe EVP

SYNOPSIS

        #include <openssl/evp.h>

        int EVP_SealInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type,
                         unsigned char **ek, int *ekl, unsigned char *iv,
                         EVP_PKEY **pubk, int npubk);
        int EVP_SealUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out,
                int *outl, unsigned char *in, int inl);
        int EVP_SealFinal(EVP_CIPHER_CTX *ctx, unsigned char *out,
                int *outl);

DESCRIPTION

       Les routines d’enveloppe EVP sont des interfaces de haut niveau pour le chiffrement
       d’enveloppe. Elles produisent une clef aléatoire et un vecteur d'initialisation (si
       nécessaire) puis les « enveloppent » en utilisant une clef de chiffrement publique. Les
       données peuvent être chiffrées en utilisant cette clef.

       EVP_SealInit() initialise un contexte de chiffrement ctx pour un chiffrement avec
       l’algorithme type en utilisant une clef secrète et un vecteur d'initialisation. type est
       normalement fourni par une fonction telle que EVP_des_cbc(). La clef secrète est chiffrée
       en utilisant une ou plusieurs clefs publiques, permettant aux mêmes données d’être
       déchiffrées avec n’importe quelle clef privée correspondante. ek est un tableau de tampons
       où la clef secrète, chiffrée avec la clef publique, sera écrite, chaque tampon étant
       suffisamment grand pour la clef chiffrée correspondante : ek[i] doit pouvoir contenir
       EVP_PKEY_size(pubk[i]) octets. La taille réelle de chaque clef chiffrée est écrite dans le
       tableau ekl. pubk est un tableau de npubk clefs publiques.

       Le paramètre iv est un tampon où le vecteur d'initialisation créé est écrit. Il doit
       pouvoir contenir le vecteur d'initialisation correspondant de l’algorithme de chiffrement,
       tel qu’il est déterminé par (par exemple) EVP_CIPHER_iv_length(type).

       Si l’algorithme de chiffrement ne demande pas de vecteur d'initialisation, alors le
       paramètre iv est ignoré et peut être NULL.

       EVP_SealUpdate() et EVP_SealFinal() ont exactement les mêmes propriétés que les routines
       EVP_EncryptUpdate() et EVP_EncryptFinal(), comme documentées dans la page de manuel
       EVP_EncryptInit(3).

VALEURS DE RETOUR

       EVP_SealInit() renvoie 0 lors d’une erreur ou npubk en cas de réussite.

       EVP_SealUpdate() et EVP_SealFinal() renvoient 1 en cas de réussite et 0 lors d’une erreur.

NOTES

       Parce qu’une clef secrète est créée, la graine du générateur de nombre aléatoire doit être
       enlevée avant l’appel à EVP_SealInit().

       La clef publique doit être RSA car c’est le seul algorithme à clef publique d’OpenSSl qui
       prend en charge l’acheminement de clef.

       Le chiffrement d’enveloppe est la méthode habituelle pour le chiffrement à clef publique
       de grandes quantités de données, cela parce que le chiffrement à clef publique est lent
       mais le chiffrement symétrique est rapide. Aussi le chiffrement symétrique est utilisé
       pour la majeure partie du chiffrement et la petite clef symétrique aléatoire utilisée est
       transférée en utilisant le chiffrement à clef publique.

       Il est possible d’appeler EVP_SealInit() deux fois de la même façon que EVP_EncryptInit().
       Le premier appel devrait avoir npubk défini à 0 et (après avoir défini tous les paramètres
       du chiffrement) l’appel devrait être fait avec type défini à NULL.

VOIR AUSSI

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

HISTORIQUE

       EVP_SealFinal() ne renvoyait pas de valeur avant OpenSSL 0.9.7.

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.