Cifrado simétrico en Linux

                          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