
Outil de chiffrement en CLI écrit en Go
./safeguard --version
1.0
Ce projet est un outil de chiffrement de fichiers orienté apprentissage.
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 une fonction de dérivation de clé moderne et résistante à la mémoire comme Argon2 ou scrypt.
À la place, les clés sont dérivées à l'aide d'une méthode légère, utilisant uniquement la bibliothèque standard. Cela signifie :
Les contributions qui améliorent la sécurité tout en préservant l'utilisabilité sont les bienvenues.
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 (déchiffrement de répertoire pas encore disponible désolé :( )Options :
--inplace déchiffrer/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