Un chiffre un jour

Publié le 19 novembre 2007 par Peck

Recommencez sur http://linux-attitude.fr/post/Un-chiffre-un-jour
Niveau :


Résumé : crypt ; aespipe ; openssl gpg


Si vous voulez chiffrer un fichier, par exemple un fichier de backup, vous avez plusieurs commandes pour le faire, adaptées à différents besoins.

Chiffrement symétrique

Vous pouvez utiliser le chiffrage symétrique pour des besoins courants, rapide et sûr, cette méthode permet de chiffrer rapidement avec un mot de passe connu de l'émetteur et du récepteur.

Nous avons donc l'ancienne méthode : crypt

# un mot de passe
$ crypt < file1 > file2


Bien, mais ce chiffrage est un peu faible, ça commence à dater. Heureusement, un tout nouveau standard de chiffrage est apparu, AES.

# attention, par contre le mot de passe doit faire 20 caractères minimum
$ aespipe < file1 > file2


Vous trouverez aussi bcrypt qui a un niveau tout à fait acceptable, et qui accepte les mots de passe de 8 caractères. Notez que vous avez aussi openssl en ligne de commande qui vous propose un grand nombre d'algorithmes de chiffrement symétrique, avec un usage relativement simple (man enc), mais bizarrement pas de chiffrement asymétrique.

$ openssl enc -des -e -salt -in file1 -out file2

Chiffrement asymétrique

Maintenant il se peut que vous vouliez chiffrer un fichier pour le communiquer à quelqu'un. Dans ce cas, un chiffrage asymétrique est probablement plus adapté (pas besoin de partager de mot de passe entre les 2 personnes).

Pour ce faire, intéressons nous donc à gpg.
Il nous faut une clé pour le destinataire :


Clé dont on donne la partie publique à celui qui va chiffrer le fichier :

$ gpg --armor --export chiffre@dest.fr > pubkey


Émetteur qui va enregistrer cette clé :

$ gpg --import pubkey


On va enfin pouvoir chiffrer le fichier secret, côté sympathique, il n'y a aucun mot de passe à spécifier :

$ gpg -o secret.gpg -r chiffre@dest.fr -e secret


Un fichier chiffré secret.gpg est créé et vous pouvez le transmettre.
Le récepteur pourra alors le déchiffrer :

$ gpg -o secret -d secret.gpg