Come posso cambiare il codice simmetrico predefinito usato da GnuPG da CAST5 a un altro?
Sto usando GPG4Win su Windows, ma sarei anche interessato a una soluzione per Linux.
Se non ci sono opzioni nell'interfaccia utente grafica, modifica invece il file di configurazione di GnuPG. Alla fine, le interfacce utente grafiche per GnuPG non fanno altro che chiamare la riga di comando di GnuPG.
Ci sono due opzioni per impostare gli algoritmi usati per crittografare ad altre persone : cipher-algo [algorithm]
e personal-cipher-preferences [algorithm]
. Latter è preferibile, in quanto tiene in considerazione le funzionalità e le preferenze dell'algoritmo dell'altro utente e rispetta lo standard OpenPGP; mentre cipher-algo
applica un determinato algoritmo.
Puoi cercare gli algoritmi disponibili eseguendo gpg --version
, su Windows potresti dover chiamare prima gpg.exe --version
e cd
nella directory di installazione. Un esempio di output potrebbe includere:
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
CAMELLIA128, CAMELLIA192, CAMELLIA256
Per applicare l'uso di AES256
, modifica il file gpg.conf
e aggiungi la seguente riga:
personal-cipher-preferences AES256
Puoi anche impostare le preferenze su quali algoritmi vuoi che gli altri scelgano quando inviano messaggi crittografati. Questo potrebbe essere disponibile solo sulla riga di comando, ma avrà effetto indipendentemente dall'applicazione client utilizzata dall'altra (ma ricorda: è solo una proposta delle tue preferenze e non applicata, confronta con cipher-algo
sopra).
Avvia il menu di modifica utilizzando gpg --edit-key [key-id]
(sostituendo [key-id]
con l'id della chiave e potresti dover utilizzare nuovamente gpg.exe
come descritto sopra). All'interno, puoi utilizzare showpref
per elencare le preferenze attualmente impostate e setpref
per modificarle. L'interfaccia utente per farlo è orribile e devi fornire una lunga lista di algoritmi di cifratura, digest e compressione, mentre quelli preferiti devono sempre essere elencati per primi.
Un articolo su debian-administration.org descrive anche questa procedura e propone le seguenti preferenze, che sembra ragionevole:
setpref SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
Aggiornamento: Per Gpg4win, vedo due opzioni:
@ jens-erat ha già descritto più bene la seconda, ma offrirò i seguenti input basati sul gioco da solo:
gpg2 --version
e cercando la riga come Home: C:/Users/gowenfawr/AppData/Roaming/gnupg
Risposta originale (non-GUI):
Se utilizzi la riga di comando gpg, l'argomento - cipher-algo ti consentirà di scegliere il tuo codice e puoi utilizzare - versione per vedere quali codici sono disponibili.
(Test mostrato qui su Linux, dovrebbe essere equivalente per Windows)
$ gpg --version
gpg (GnuPG) 1.4.16
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Home: ~/.gnupg
Supported algorithms:
Pubkey: RSA, RSA-E, RSA-S, ELG-E, DSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2
$ file test*
test1.txt: ASCII text
test2.txt: ASCII text
$ gpg --cipher-algo TWOFISH -c test1.txt
Enter passphrase:
Repeat passphrase:
$ gpg --cipher-algo AES256 -c test2.txt
Enter passphrase:
Repeat passphrase:
$ file test*
test1.txt: ASCII text
test1.txt.gpg: GPG symmetrically encrypted data (TWOFISH cipher)
test2.txt: ASCII text
test2.txt.gpg: GPG symmetrically encrypted data (AES256 cipher)
$