Pour un cryptage symétrique, vous pouvez utiliser enc(1)
qui fait partie d'openssl. Pour crypter un fichier avec le chiffrement aes256-xts :
openssl enc -aes-256-xts -in foo.txt -out foo.txt.enc
Et pour le décrypter :
openssl enc -d -aes-256-xts -in foo.txt.enc -out foo.txt
Plutôt facile, hein ?
Une autre caractéristique intéressante est qu'il prend en charge base64
ce qui signifie qu'il n'utilisera que des caractères ascii. Il suffit d'ajouter -a
à la liste des arguments et ensuite regarder le fichier crypté.
enc(1)
est un programme polyvalent. Je l'utilise souvent lorsque je veux copier rapidement un fichier ou une petite archive tar compressée d'un écran de terminal à l'autre, il suffit de seulement utiliser base64
.
Disons que je veux copier rapidement un répertoire /home/drumfire/test
qui contient quelques fichiers, et ne peut pas utiliser scp
ou d'autres outils. Il est trivial de les faire passer par un programme de compression et de les encoder :
tar cf - /home/drumfire/test | xz -9ec | openssl enc -a
Le résultat est une tache de texte ascii. Je sélectionne pour le copier, et ensuite sur le système cible je peux simplement faire :
openssl enc -a -d | xz -dc | tar xvf -
Dans ce cas Openssl
attendra l'entrée de stdin
. alors j'appuie sur Shift+Insert qui colle le texte, puis j'appuie deux fois sur CTRL+D et voilà, il s'extrait.
Neat stuff. B-)