enc

Autres langues

Langue: fr

Autres versions - même langue

Version: 0.9.6c (fedora - 25/11/07)

Section: 1 (Commandes utilisateur)

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.