
Strumento di crittografia CLI scritto in Go
./safeguard --version
1.0
Questo progetto è uno strumento di crittografia file orientato all'apprendimento.
Sebbene utilizzi primitive crittografiche standard della libreria standard di Go (es. AES-GCM per crittografia autenticata), non utilizza una moderna funzione di derivazione delle chiavi basata su memoria come Argon2 o scrypt.
Invece, le chiavi vengono derivate usando un metodo leggero, basato solo sulla libreria standard. Ciò significa:
I contributi che migliorano la sicurezza mantenendo l'usabilità sono benvenuti.
git clone https://github.com/pingplus/SafeGuard.git
cd SafeGuard
go build
Sintassi generale:
./safeguard <file> <azione> <cifrario> [opzioni]
Azioni:
--encrypt o e Crittografa un file--decrypt o d Decritta un file--decrypt-directory o de Decritta un'intera directory (decrittazione di directory non ancora disponibile, mi dispiace :( )Opzioni:
--inplace decritta/crittografa un file sul posto (sperimentale)--key aggiungi chiave--output specifica il nome di outputCifrari supportati:
./safeguard --list-ciphers
[i] Available ciphers:
xor
caesar
aes
Crittografa un file:
./safeguard secret.txt e aes --key "your-strong-password"
# oppure
./safeguard secret.txt --encrypt aes --key "your-strong-password" --output secret.txt.aes
Decritta un file:
./safeguard secret.txt d aes --key "your-strong-password"
# oppure
./safeguard secret.txt --decrypt aes --key "your-strong-password" --output secret.txt.dec
./safeguard secrets.txt e aes --key "123123123123123123123123" --inplace
# -> crea secrets.txt ma crittografato
./safeguard secrets.txt.aes d aes --key "123123123123123123123123" --output secrets_decrypted.txt