ROG Open-Cartel

Script Bash Cryptage

Ce tutoriel a pour but de vous montrer comment réaliser un encrypteur de fichier.

Commencer par créer un nouveau fichier, on va l'apelé crypt
Bien entendu, les trois premieres lignes seront
#!/bin/bash
# V 0.1
#votre@mail.com

Commencons avec les basics, pour crypter les fichiers, nous allons utiliser openssl
Si vous ne l'avait pas alors ouvrez un terminal et entrer la commande suivante (en root)
apt-get install -y openssl

À la suite de la commande openssl, on va ajouter des options.
enc pour lui dire qu'il va devoir en/decrypter
-aes-256-cbc précise la méthode à utiliser.
-salt ça evitera les attaque types dico, sans cette options le même mot de passe donnera la même clef de cryptage
-a Renforce le cryptage avec base 64
-in et -out precise le fichier d'entré et de sortie

Pour decrypter le fichier il daudra utiliser l'option -d.
Donc la commande pour crypter:
openssl enc -aes-256-cbc -salt -a -in fichier.txt -out fichier.txt.enc
et pour decrypter un fichier:
openssl enc -aes-256-cbc -d -a -in fichier.txt.enc -out fichier.txt

Réouvrons donc notre fichier crypt pour y ajouter:
une fonction crypt, une fonction decrypt et une foncion non reconnue
puis la partie script
case "$1" in
d | -d | --d | decrypt | -decrypt | --decrypt) f fonction_decrypt $2;;
c | -c | --c | crypt | -crypt | --crypt) fonction_crypt $2;;
* ) fonction_non-reconnue;;
esac
exit 0

Nous allons maintenant remplir les foncions:

la fonction crypt
openssl enc -aes-256-cbc -salt -a -in $1 -out $1.enc

la commande decrypt
openssl enc -aes-256-cbc -d -a -in $1 -out $1.txt

Dans la fonction non reconnue mettez un petit message voir dans mon cas:
echo "Désolé je n'ai pas compris votre demande"

Sauvegardez puis quittez.
ouvrez un terminal dans le dossier de votre script, passer le script en executable
chmod +x crypt
puis on va créer test.txt et y inclure un test de test
touch test.txt && echo notre text de test > test.txt

maintenant vous que vous aves votre scrypt et un fichier test, nous allons voir si ça marche bien
Dans le terminal entrez la commande suivantes
./crypt -c test.txt
Renseigner un mot de passe.
Vous devirez donc avoir votre fichier test.txt et un nouveau fichier test.txt.enc

Puis on decrypt
./crypt -d test.txt.enc
Normalement... ça tourne

Voila voila!!
vous pouvez désormais en/decrypter des fichiers sans avoir a taper des ligne de commande a ralonge.
n'hesitez pas à partager et/ou a me faire part de vos suggestion ou autres
@+