Provided by: manpages-fr-extra_20151231_all 

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.
1.0.2a 1.0.2c 2015-12-31 fr::crypto::EVP_SealInit(3SSL)