Les MANs Linux en français...
ENC
Section: OpenSSL (1)Updated: 0.9.6c
Index Retour au Menu Principal
NOM
enc - routines de chiffrement symétriquesSYNOPSIS
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.b64Décodage du même fichier
openssl base64 -d -in fichier.b64 -out fichier.binEncodage 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.des3Décodage d'un fichier avec mot de passe fourni :
openssl des3 -d -salt -in fichier.des3 -out fichier.txt -k mymotdepasseEncodage 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.bfDécodage base64 puis Blowfish :
openssl bf -d -salt -a -in fichier.bf -out fichier.txtDé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.
Index
Time: 18:53:28 GMT, December 19, 2004