
Strumento CLI di crittografia scritto in Go solo a scopo di apprendimento
./safeguard --version
1.0
Questo progetto è uno strumento di cifratura dei file a scopo di apprendimento.
Sebbene utilizzi primitive crittografiche standard della libreria standard di Go (ad esempio AES-GCM per la cifratura autenticata), non utilizza una moderna funzione di derivazione della chiave da password memory-hard come Argon2 o scrypt.
Le chiavi vengono invece derivate utilizzando un metodo leggero che sfrutta solo la libreria standard. Ciò significa che:
git clone https://github.com/pingplus/SafeGuard.git
cd SafeGuard
go build
Sintassi generale:
./safeguard <file> <action> <cipher> [options]
Azioni:
--encrypt o e Cifra un file--decrypt o d Decifra un file--decrypt-directory o de Decifra un'intera directory (la decifratura della directory non è ancora disponibile, mi dispiace :( )Opzioni:
--inplace decifra/cifra un file sul posto (sperimentale)--key aggiungi chiave--output specifica il nome di outputCifrari supportati:
./safeguard --list-ciphers
[i] Available ciphers:
xor
caesar
aes
Cifra un file:
./safeguard secret.txt e aes --key "your-strong-password"
# or
./safeguard secret.txt --encrypt aes --key "your-strong-password" --output secret.txt.aes
Decifra un file:
./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