enc

ENC(1)                               OpenSSL                              ENC(1)



NOM
       enc - Routines de chiffrement symétriques

SYNOPSIS
       openssl enc -ciphername [-in nomfichier] [-out nomfichier] [-pass arg]
       [-e] [-d] [-a] [-A] [-k motdepasse] [-kfile nomfichier] [-S salt] [-K
       clé] [-iv IV] [-p] [-P] [-bufsize nombre] [-debug]

DESCRIPTION
       Les commandes de chiffrement symétrique permettent d'encoder ou de
       décoder des données en utilisant divers chiffrements par blocs ou par
       flux avec des clés basées sur des mots de passe ou fournies
       explicitement. L'encodage base64 peut également être effectué, soit par
       lui-même, soit en supplément à l'encodage ou au décodage.

OPTIONS
       -in nomfichier
           Le fichier d'entrée, l'entrée standard par défaut.

       -out nomfichier
           Le fichier de sortie, la sortie standard par défaut.

       -pass arg
           le fichier des mots de passe d'entrée. Pour plus d'information sur le
           format de arg référez-vous à la section ARGUMENTS DE MOT DE PASSE
           d'openssl(1).

       -salt
           utilise un "salt" (littéralement rajouter du sel) dans les routines
           de dérivation de clé.  Cette option devra TOUJOURS être utilisée,
           sauf si la compatibilité avec d'anciennes versions d'OpenSSL ou
           SSLeay est requise. Cette option est présente dans OpenSSL depuis la
           version 0.9.5.

       -nosalt
           ne pas utiliser de "salt" dans les routines de dérivation de clé.
           Ceci est la valeur par défaut pour assurer la compatibilité avec
           d'anciennes versions d'OpenSSL et SSLeay.

       -e  encodage des données d'entrée : ceci est la valeur par défaut.

       -d  décodage des données d'entrée.

       -a  traitement base64 des données. Ceci signifie que lors d'un encodage,
           les données sont encodées base64 après le traitement et lors d'un
           décodage, les données sont décodées base64 avant le traitement.

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

       -k motdepasse
           le mot de passe à partir duquel la clé sera dérivée. Ceci est pour
           assurer la compatibilité avec d'anciens versions d'OpenSSL et SSLeay,
           mais remplacé par l'argument -pass.

       -kfile nomfichier
           lit le mot de passe pour la dérivation de la clé à partir de la
           première ligne de nomfichier. Ceci est pour assurer la compatibilité
           avec d'anciens versions d'OpenSSL, mais remplacé par l'argument
           -pass.

       -S salt
           Le "salt" à utiliser. Sous forme de chaîne de caractères composée de
           caractères hexadécimaux uniquement.

       -K clé
           La clé à utiliser : sous forme de chaîne de caractères composée de
           caractères hexadécimaux uniquement. Si uniquement la clé est
           spécifiée, le IV doit être spécifié en plus en utilisant l'option
           -iv. Si une clé et un mot de passe sont spécifiés, la clé donnée avec
           l'option -K est prise et le IV est généré à partir du mot de passe.
           Cela manque probablement de sens que de spécifier et la clé et le mot
           de passe.

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

       -p  affiche la clé et le IV utilisés.

       -P  affiche la clé et le IV utilisés puis sort immédiatement : aucun
           encodage ni décodage n'est fait.

       -bufsize nombre
           affecte la taille du tampon d'entrée/sortie.

       -debug
           débogue le BIOs utilisé pour l'entrée/sortie.

NOTES
       Le programme peut être appelé soit comme openssl nomcodage soit comme
       openssl enc -nomcodage.

       Un mot de passe sera demandé si besoin est pour dériver la clé et le IV.

       L'option -salt devrait TOUJOURS être utilisée si la clé est dérivée d'un
       mot de passe sauf si vous souhaitez la compatibilité 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 répertoires à partir de dictionnaires et d'attaquer des flux de
       données encodés. Ceci vient du fait que sans le salt, le même mot de
       passe génère toujours la même clé d'encodage. Si le salt est utilisé, les
       huit premiers octets des données encodées sont réservés pour le salt :
       ils sont générés aléatoirement lors de l'encodage d'un fichier et lus
       lors du décodage.

       Certains encodages n'ont pas de clé 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 encodages en bloc utilisent la méthode PKCS#5, le "standard
       block padding": Ceci permet une vérification de l'intégrité ou du mot de
       passe rudimentaires. Toutefois, comme la probabilité que de données
       quelconques passent le test est meilleure que 1 sur 256, ce n'est pas un
       très bon test.

       Tous les encodages RC2 ont la même longueur pour la clé et la clé
       effective.

       Les algorithmes Blowfish et RC5 utilisent une clé à 128 bits.

ENCODAGES SUPPORTÉES
        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 CFB
        des-ofb            DES en mode OFB
        des-ecb            DES en mode ECB

        des-ede-cbc        Triple DES EDE à deux clés en mode CBC
        des-ede            Alias pour des-ede
        des-ede-cfb        Triple DES EDE à deux clés en mode CFB
        des-ede-ofb        Triple DES EDE à deux clés en mode OFB

        des-ede3-cbc       Triple DES EDE à trois clés en mode CBC
        des-ede3           Alias pour des-ede3-cbc
        des3               Alias pour des-ede3-cbc
        des-ede3-cfb       Triple DES EDE à trois clés en mode CFB
        des-ede3-ofb       Triple DES EDE à trois clés en mode OFB

        desx               Algorithme DESX.

        idea-cbc           Algorithme IDEA en mode CBC
        idea               Comme idea-cbc
        idea-cfb           IDEA en mode CFB
        idea-ecb           IDEA en mode ECB
        idea-ofb           IDEA en mode OFB

        rc2-cbc            RC2 128 bit en mode CBC
        rc2                Alias pour rc2-cbc
        rc2-cfb            RC2 128 bit en mode CBC
        rc2-ecb            RC2 128 bit en mode CBC
        rc2-ofb            RC2128 bit  en mode CBC
        rc2-64-cbc         RC2 64 bit en mode CBC
        rc2-40-cbc         RC2 40 bit en mode CBC

        rc4                RC4 128 bit
        rc4-64             RC4 64 bit
        rc4-40             RC4 40 bit

        rc5-cbc            Encodage RC5 en mode CBC
        rc5                Alias pour rc5-cbc
        rc5-cfb            Encodage RC5 en mode CBC
        rc5-ecb            Encodage RC5 en mode CBC
        rc5-ofb            Encodage RC5 en mode CBC


EXEMPLES
       Encodage base64 simple d'un fichier binaire :

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

       Décodage du même fichier

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

       Encodage d'un fichier en utilisant DES triple en mode CBC avec saisie du
       mot de passe à l'invite de commande :

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

       Décodage d'un fichier avec mot de passe fourni :

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

       Encodage d'un fichier puis encodage base64 (ainsi il pourra par exemple
       être envoyé par mél) utilisant Blowfish en mode CBC :

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

       Décodage base64 puis Blowfish :

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

       Décodage de données utilisant une clé RC4 fournie :

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


BOGUES
       L'option -A, lors d'une utilisation avec des fichiers importants ne
       fonctionne pas proprement.

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

       Tout comme la bibliothèque EVP, le programme enc supporte seulement un
       nombre fixe d'algorithmes avec certains paramètres. Ainsi, par exemple,
       pour utiliser RC2 avec une clé de 76 bits ou RC4 avec 84 bits, vous ne
       pourrez pas utiliser ce programme.






























3rd Berkeley Distribution            0.9.6c                               ENC(1)