
Outil de chiffrement en ligne de commande écrit en Go uniquement à des fins d'apprentissage
./safeguard --version
1.0
Ce projet est un outil de chiffrement de fichiers à vocation pédagogique.
Bien qu'il utilise des primitives cryptographiques standard de la bibliothèque standard de Go (par exemple AES-GCM pour le chiffrement authentifié), il n'utilise pas de fonction moderne de dérivation de clé à partir de mot de passe résistante à la mémoire, telle qu'Argon2 ou scrypt.
À la place, les clés sont dérivées à l'aide d'une méthode légère reposant uniquement sur la bibliothèque standard. Cela signifie que :
git clone https://github.com/pingplus/SafeGuard.git
cd SafeGuard
go build
Syntaxe générale :
./safeguard <file> <action> <cipher> [options]
Actions :
--encrypt ou e Chiffrer un fichier--decrypt ou d Déchiffrer un fichier--decrypt-directory ou de Déchiffrer un répertoire entier (le déchiffrement de répertoire n'est pas encore disponible, désolé :( )Options :
--inplace chiffrer/déchiffrer un fichier sur place (expérimental)--key ajouter une clé--output spécifier le nom de sortieChiffrements pris en charge :
./safeguard --list-ciphers
[i] Available ciphers:
xor
caesar
aes
Chiffrer un fichier :
./safeguard secret.txt e aes --key "your-strong-password"
# or
./safeguard secret.txt --encrypt aes --key "your-strong-password" --output secret.txt.aes
Déchiffrer un fichier :
./safeguard secret.txt d aes --key "your-strong-password"
# or
./safeguard secret.txt --decrypt aes --key "your-strong-password" --output secret.txt.dec
./safeguard secrets.txt e aes --key "123123123123123123123123" --inplace
# -> creates secrets.txt but encrypted
./safeguard secrets.txt.aes d aes --key "123123123123123123123123" --output secrets_decrypted.txt