Cifrado simétrico en Linux
Objetivo: Cifrar ficheros con algoritmos simétricos mediante
la herramienta gpg.
La herramienta gpg nos permite utilizar tanto criptogra-
fía simétrica como asimétrica. En este ejemplo veremos
la simétrica.
Nos presentamos en DEBIAN y creamos un directorio
llamado cifrado donde vamos a trabajar. Lo primero
será crear un fichero de prueba.
Para cifrarlo con clave simétrica el comando es:
gpg –-symmetric mensaje
El comando nos pedirá la clave que queremos utilizar . La pedirá de nuevo para confirmarla.
El resultado del comando es un nuevo fichero con la
extensión .gpg. Es un fichero cifrado: si intentamos ver
qué hay dentro con el comando strings, no aparece nada inteligible. No es recomendable utilizar directamente cat porque es un fichero binario y podríamos inutilizar la sesión.
Comando: nano mensaje.gpg
Ahora ya podríamos eliminar el fichero mensaje,porque su contenido está protegido en el fichero mensaje.gpg. Para hacer llegar este fichero .gpg a
las personas interesadas, podemos utilizar cualquier mecanismo normal de gestión de ficheros (disco duro, USB, upload web, FTP, etc.). Cuando necesiten leerlo, lo descifrarán con el comando :
gpg -–decrypt mensaje.gpg
El comando pedirá la clave que habíamos utilizado para cifrar (y que haremos llegar al interesado a través de un medio seguro). Si la introducimos correcta-
mente, aparecerá en pantalla el contenido del fichero.
Si no queremos verlo por pantalla, sino volcarlo a un fichero, podemos redirigir la salida estándar :
gpg –-decrypt mensaje.gpg > mensaje2
Los ficheros binarios .gpg no siempre son adecuados. No sirven para incluirlos dentro de un texto (por ejemplo, en un script o un correo electrónico). Para resolverlo tenemos el parámetro -a, que genera un fichero cifrado pero
compuesto solo de caracteres ASCII. Estos ficheros ya no tienen extensión .gpg, sino .asc. Dentro está el contenido cifrado y alrededor un par de cabeceras informativas. En nuestro ejemplo el comando sería:
Comando: gpg –a -–symmetric mensaje
El fichero .asc ofrece las mismas garantías que el .gpg y se utiliza igual. Para descifrar sería :
Comando: gpg –-decrypt mensaje.asc
La herramienta por defecto utiliza el algoritmo de cifrado CAST5 (en pantalla nos lo informa al descifrar). Podemos cambiarlo con el parámetro cipher-alg. Por ejemplo, para utilizar AES ejecutaríamos (Fig. 2.14):
gpg –a –-symmetric –-cipher-alg AES –o mensaje.aes mensaje
En este ejemplo hemos utilizado -a para tener el fichero en ASCII y el parámetro -o para indicar el fichero de salida (es equivalente a redirigir la salida estándar).
El descifrado se hace como siempre :
gpg -–decrypt mensaje.aes
Ahora, el mensaje de la pantalla nos avisa de que el fichero estaba cifrado con AES (ya no es CAST5).
No hay comentarios:
Publicar un comentario