¿Cómo puedo cambiar el cifrado simétrico predeterminado utilizado por GnuPG de CAST5 a otro?
Estoy usando GPG4Win en Windows, pero también estaría interesado en una solución para Linux.
Si no hay ninguna opción en la interfaz gráfica de usuario, edite el archivo de configuración de GnuPG. Al final, las interfaces gráficas de usuario para GnuPG no hacen nada más que llamar a la línea de comandos GnuPG.
Hay dos opciones para configurar los algoritmos utilizados para cifrar a otras personas : cipher-algo [algorithm]
y personal-cipher-preferences [algorithm]
. Se prefiere el último, ya que toma en cuenta las capacidades y preferencias del algoritmo del otro usuario y cumple con el estándar OpenPGP; mientras que cipher-algo
impone un algoritmo dado.
Puede buscar los algoritmos disponibles ejecutando gpg --version
, en Windows es posible que tenga que llamar a gpg.exe --version
y cd
al directorio de instalación antes. Un ejemplo de salida podría incluir:
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
CAMELLIA128, CAMELLIA192, CAMELLIA256
Para imponer el uso de AES256
, edite su archivo gpg.conf
y agregue la siguiente línea:
personal-cipher-preferences AES256
También puede establecer las preferencias de los algoritmos que desea que otros elijan cuando le envíen mensajes cifrados. Es posible que solo esté disponible en la línea de comandos, pero afectará sin importar qué aplicación cliente esté usando (pero recuerde: es solo una propuesta de sus preferencias, y no se aplica, compare con cipher-algo
arriba).
Inicia el menú de edición usando gpg --edit-key [key-id]
(reemplaza [key-id]
con tu ID de clave, y es posible que tengas que usar gpg.exe
nuevamente como se describe anteriormente). Dentro, puede usar showpref
para enumerar las preferencias configuradas actualmente, y setpref
para cambiarlas. La interfaz de usuario para hacerlo es horrible , y debe proporcionar una larga lista de algoritmos de cifrado, resumen y compresión, mientras que los preferidos siempre deben aparecer primero.
Un artículo en debian-administration.org también describe este procedimiento y propone las siguientes preferencias, que parece razonable:
setpref SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
Actualizado: Para Gpg4win, veo dos opciones:
@ jens-erat ya ha descrito con más conocimiento este último, pero ofreceré las siguientes entradas basadas en jugar conmigo:
gpg2 --version
y buscando la línea como Home: C:/Users/gowenfawr/AppData/Roaming/gnupg
Respuesta original (no GUI):
Si está utilizando la línea de comando gpg, entonces el argumento --cipher-algo le permitirá elegir su cifrado, y puede usar --version para ver qué cifrados están disponibles.
(La prueba que se muestra aquí en Linux, debería ser equivalente para 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)
$