Chiffrez vos fichiers avec XOR

Mis à jour le 28/02/2025 : nouvelle version de cipher pour le faire fonctionner correctement sous Windows.

Cet article est atypique car il ne traite pas de rétroprogrammation, mais présente un utilitaire qui fonctionne sous Linux. Cet utilitaire, dénommé cipher, a été développé en langage C et est donc facilement adaptable à d’autres environnements.

Comme son nom le laisse entendre, cipher permet de chiffrer un fichier. Il utilise un algorithme très simple, basé sur l’utilisation de XOR (ou exclusif).

L’algorithme utilise une clé de chiffrement, dont les bits sont multipliés par ‘ou exclusif’ avec ceux du message à chiffrer. La clé est répétée lorsque sa taille est inférieure à celle du message. Pour plus de détails, voici une page qui décrit plus précisément le fonctionnement du chiffrement XOR.

La première étape est de télécharger le code source :

Puis extraire les fichiers dans un répertoire de votre choix avec la commande :

Se placer ensuite dans le répertoire cipher et saisir les commandes :

La dernière commande copie l’exécutable dans le répertoire $(HOME)/bin. Ce répertoire est donc à créer si nécessaire avant installation. Vous pouvez ensuite l’ajouter dans votre PATH pour que la commande cipher soit utilisable directement depuis votre répertoire courant.

Voici l’aide que l’on obtient avec la commande cipher -h :

<file_input> est le fichier à chiffrer. Par défaut, le fichier de sortie (chiffré) prend le nom du fichier d’entrée auquel est ajouté le suffixe ‘.ci‘. Il est néanmoins possible de spécifier le fichier de sortie avec l’option -o.

Il y a deux façons de saisir la clé :

  • soit en la saisissant directement en ligne de commande (option -k)
  • soit la clé est stockée dans un fichier dont le nom est spécifié par l’option -K (K en majuscule)

En complément, le programme est livré avec un fichier README qui donne une aide en anglais.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *