enc

ENC(1SSL)                            OpenSSL                           ENC(1SSL)



NOM
       enc - Routines de chiffrement symétrique

SYNOPSIS
       openssl enc -nom_algorithme [-in nom_fichier] [-out nom_fichier] [-pass
       param] [-e] [-d] [-a|-base64] [-A] [-k mot_de_passe] [-kfile nom_fichier]
       [-K clef] [-iv VI] [-S sel] [-salt] [-nosalt] [-z] [-md][-p] [-P]
       [-bufsize nombre] [-nopad] [-debug] [-none] [-engine id]

DESCRIPTION
       Les commandes de chiffrement symétrique permettent de chiffrer ou de
       déchiffrer des données en utilisant divers algorithmes par blocs ou par
       flux avec des clefs basées sur des mots de passe ou fournies
       explicitement. L'encodage ou le décodage en base64 peut également être
       effectué, soit par lui-même, soit en supplément du chiffrement et du
       déchiffrement.

OPTIONS
       -in nom_fichier
           Le fichier d'entrée. Par défaut c'est l'entrée standard.

       -out nom_fichier
           Le fichier de sortie. Par défaut c'est la sortie standard.

       -pass param
           Le fichier des mots de passe d'entrée. Pour plus de renseignements
           sur le format de param, consultez la section PARAMÈTRES DE PHRASE
           SECRÈTE d'openssl(1).

       -salt
           Utiliser du sel dans les routines de dérivation de clef. C'est la
           valeur par défaut.

       -nosalt
           Ne pas utiliser de sel dans les routines de dérivation de clef. Cette
           option ne devrait pas être utilisé à part pour faire des test ou pour
           assurer la compatibilité avec des versions précédentes d'OpenSSL et
           SSLeay.

       -e  Chiffrer les données en entrée : c'est effectué par défaut.

       -d  Déchiffrer les données en entrée.

       -a  Traitement en base64 des données. Cela signifie que lors d'un
           chiffrement, les données sont encodées en base64 après le chiffrement
           et lors d'un déchiffrement, les données sont décodées en base64 avant
           le déchiffrement.

       -base64
           Identique à -a.

       -A  Avec l'option -a, le traitement en base64 est effectué sur une ligne.

       -k mot_de_passe
           Le mot de passe à partir duquel la clef sera dérivée. C'est pour
           assurer la compatibilité avec d'anciennes versions d'OpenSSL, mais
           c'est remplacé par le paramètre -pass.

       -kfile nom_fichier
           Lire le mot de passe pour la dérivation de la clef à partir de la
           première ligne de nom_fichier. C'est pour assurer la compatibilité
           avec d'anciennes versions d'OpenSSL, mais c'est remplacé par le
           paramètre -pass.

       -nosalt
           Ne pas utiliser de sel.

       -salt
           Utiliser du sel (généré aléatoirement ou fourni avec l'option -S)
           lors du chiffrement (par défaut).

       -S sel
           Le grain de sel à utiliser. Sous forme de chaîne de caractères
           hexadécimaux.

       -K clef
           La clef à utiliser : sous forme de chaîne de caractères composée
           uniquement de caractères hexadécimaux. Si seule la clef est indiquée,
           le vecteur d'initialisation (« VI ») doit en plus être indiqué avec
           l'option -iv. Si une clef et un mot de passe sont indiqués, la clef
           donnée avec l'option -K est prise et le VI est généré à partir du mot
           de passe. Cela n'a probablement pas de sens d'indiquer à la fois la
           clef et le mot de passe.

       -iv VI
           Le VI à utiliser : sous forme de chaîne de caractères composée
           uniquement de caractères hexadécimaux. Si seule la clef est indiquée
           avec l'option -K, le VI doit être défini explicitement. Si un mot de
           passe est indiqué, le VI est généré à partir de ce mot de passe.

       -p  Afficher la clef et le VI utilisés.

       -P  Afficher la clef et le VI utilisés puis sortir immédiatement : aucun
           chiffrement ou déchiffrement n'est effectué.

       -bufsize nombre
           Définir la taille du tampon d'entrée et sortie.

       -nopad
           Désactiver le remplissage (« padding ») de blocs standard.

       -debug
           Déboguer les BIO utilisés pour l'entrée et la sortie.

       -z  Compresser ou décompresser le texte en clair avec zlib avant le
           chiffrement ou après le déchiffrement. Cette option n'existe que si
           OpenSSL a été compilé avec les options zlib ou zlib-dynamic.

       -none
           Utiliser le chiffrement NULL (pas de chiffrement ou de déchiffrement
           de l'entrée).

NOTES
       Le programme peut être appelé soit comme openssl nom_algorithme soit
       comme openssl enc -nom_algorithme, mais la première forme ne fonctionne
       pas avec les chiffrements fournis par un moteur, parce que cette forme
       est traitée avant de lire le fichier de configuration et de charger les
       moteurs (« ENGINE »).

       Les moteurs qui fournissent de nouveaux algorithmes de chiffrement
       complets (comme le moteur ccgost qui fournit l'algorithme gost89)
       devraient être configurés dans le fichier de configuration. Les moteurs
       indiqués en ligne de commande avec les options -engine ne peuvent être
       utilisés que pour des implémentations d'algorithmes assistées par le
       matériel, pris en charge par le noyau d'OpenSSL ou un autre moteur,
       indiqués dans le fichier de configuration.

       Quand la commande enc affiche les algorithmes disponibles, les
       algorithmes fournis par les moteurs indiqués dans le fichier de
       configuration sont aussi affichés.

       Un mot de passe sera demandé, si besoin est, pour obtenir la clef et le
       VI.

       L'option -salt devrait toujours être utilisée si la clef est dérivée d'un
       mot de passe sauf si vous souhaitez être compatible avec les versions
       précédentes d'OpenSSL et de SSLeay.

       Sans l'option -salt, il est possible d'effectuer des attaques efficaces
       sur les mots de passe à partir de dictionnaires et d'attaquer des flux de
       données chiffrées. Cela vient du fait que sans le grain de sel, le même
       mot de passe génère toujours la même clef de chiffrement. Si un grain de
       sel est utilisé, les huit premiers octets des données encodées sont
       réservés pour le sel : ils sont générés aléatoirement lors du chiffrement
       d'un fichier et lus lors du déchiffrement.

       Certains algorithmes n'ont pas de clef de taille importante et d'autres
       ont des implications sur la sécurité en cas de mauvaise utilisation. Un
       débutant est avisé d'utiliser des encodages en bloc forts en mode CBC
       comme bf ou des3.

       Tous les algorithmes en mode bloc utilisent la méthode de remplissage
       PKCS#5, le « standard block padding » : cela permet d'effectuer une
       vérification rudimentaire de l'intégrité ou du mot de passe. Toutefois,
       comme la probabilité que des données quelconques passent le test est
       meilleure que 1 sur 256, ce n'est pas un très bon test.

       Si le remplissage est désactivé, les données en entrées doivent avoir une
       taille multiple de la taille de bloc de l'algorithme.

       Tous les algorithmes RC2 ont la même longueur de clef et longueur de clef
       effective.

       Les algorithmes Blowfish et RC5 utilisent une clef de 128 bits.

ALGORITHMES PRIS EN CHARGE
       Remarquez que certains de ces algorithmes peuvent être désactivés au
       moment de la compilation et que certains ne sont disponibles que si le
       moteur approprié est configuré dans le fichier de configuration. La
       sortie de la commande enc exécutée avec des fonctions non prises en
       charge (par exemple openssl enc -help) contient une liste d'algorithmes,
       pris en charge par votre version d'OpenSSL, y compris ceux fournis par
       les moteurs configurés.

       Le programme enc ne permet pas les modes de chiffrement authentifié comme
       CCM ou GCM. L’utilitaire ne garde ni ne récupère l’étiquette
       d’authentification.

        base64             Base 64

        bf-cbc             Blowfish en mode CBC
        bf                 Alias pour bf-cbc
        bf-cfb             Blowfish en mode CFB
        bf-ecb             Blowfish en mode ECB
        bf-ofb             Blowfish en mode OFB

        cast-cbc           CAST en mode CBC
        cast               Alias pour cast-cbc
        cast5-cbc          CAST5 en mode CBC
        cast5-cfb          CAST5 en mode CFB
        cast5-ecb          CAST5 en mode ECB
        cast5-ofb          CAST5 en mode OFB

        des-cbc            DES en mode CBC
        des                Alias pour des-cbc
        des-cfb            DES en mode CBC
        des-ofb            DES en mode OFB
        des-ecb            DES en mode ECB

        des-ede-cbc        Triple DES EDE à 2 clefs en mode CBC
        des-ede            Triple DES EDE à 2 clefs en mode ECB
        des-ede-cfb        Triple DES EDE à 2 clefs en mode CFB
        des-ede-ofb        Triple DES EDE à 2 clefs en mode OFB

        des-ede3-cbc       Triple DES EDE à 3 clefs en mode CBC
        des-ede3           Triple DES EDE à 3 clefs en mode ECB
        des3               Alias pour des-ede3-cbc
        des-ede3-cfb       Triple DES EDE à 3 clefs en mode CFB
        des-ede3-ofb       Triple DES EDE à 3 clefs en mode OFB

        desx               Algorithm DESX

        gost89             GOST 28147-89 in CFB mode (fourni par moteur ccgost)
        gost89-cnt        `GOST 28147-89 in CNT mode (fourni par moteur ccgost)

        idea-cbc           Algorithm IDEA en mode CBC
        idea               Alias pour idea-cbc
        idea-cfb           IDEA en mode CFB
        idea-ecb           IDEA en mode ECB
        idea-ofb           IDEA en mode OFB

        rc2-cbc            RC2 128 bits en mode CBC
        rc2                Alias pour rc2-cbc
        rc2-cfb            RC2 128 bits en mode CFB
        rc2-ecb            RC2 128 bits en mode ECB
        rc2-ofb            RC2 128 bits en mode OFB
        rc2-64-cbc         RC2 64 bits en mode CBC
        rc2-40-cbc         RC2 40 bits en mode CBC

        rc4                RC4 128 bits
        rc4-64             RC4 64 bits
        rc4-40             RC4 40 bits

        rc5-cbc            Algorithme RC5 en mode CBC
        rc5                Alias pour rc5-cbc
        rc5-cfb            Algorithme RC5 en mode CFB
        rc5-ecb            Algorithme RC5 en mode ECB
        rc5-ofb            RC5 cipher in OFB mode

        aes-[128|192|256]-cbc  AES 128/192/256 bits en mode CBC
        aes-[128|192|256]      Alias pour aes-[128|192|256]-cbc
        aes-[128|192|256]-cfb  AES 128/192/256 bits en mode CFB 128 bits
        aes-[128|192|256]-cfb1 AES 128/192/256 bits en mode CFB 1 bit
        aes-[128|192|256]-cfb8 AES 128/192/256 bits en mode CFB 8 bits
        aes-[128|192|256]-ecb  AES 128/192/256 bits en mode ECB
        aes-[128|192|256]-ofb  AES 128/192/256 bits en mode OFB

EXEMPLES
       Encoder simplement en base64 un fichier binaire :

        openssl base64 -in fichier.bin -out fichier.b64

       Décoder le même fichier :

        openssl base64 -d -in fichier.b64 -out fichier.bin

       Chiffrer un fichier en utilisant le triple DES en mode CBC et en
       demandant le mot de passe sur le terminal :

        openssl des3 -salt -in fichier.txt -out fichier.des3

       Déchiffrer un fichier avec le mot de passe fourni :

        openssl des3 -d -salt -in fichier.des3 -out fichier.txt -k motdepasse

       Chiffrer un fichier, puis l'encoder en base64 (pour pouvoir l'envoyer par
       mail par exemple), en utilisant l'algorithme Blowfish en mode CBC :

        openssl bf -a -salt -in fichier.txt -out fichier.bf

       Décoder un fichier en base64, puis le déchiffrer :

        openssl bf -d -salt -a -in fichier.bf -out fichier.txt

       Déchiffrer des données en utilisant une clef RC4 de 40 bits fournie :

        openssl rc4-40 -in fichier.rc4 -out fichier.txt -K 0102030405

BOGUES
       L'option -A ne fonctionne pas correctement avec les très gros fichiers.

       Il devrait y avoir une option permettant d'inclure un compteur
       d'itérations.

       Le programme enc gère seulement un nombre fixe d'algorithmes avec
       certains paramètres. Ainsi, par exemple, pour utiliser RC2 avec une clef
       de 76 bits ou RC4 avec 84 bits, vous ne pourrez pas utiliser ce
       programme.

TRADUCTION
       Cette page de manuel a été traduite par arne en 2002 et est maintenue par
       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                          ENC(1SSL)