martes, 15 de julio de 2008

Seahorse: Cifrado simétrico

En la enumeración de mejoras de Hardy Heron que hice en mi artículo sobre la Papelera no incluía la integración de Seahorse y GnuPG, muy buena idea. Ya no es necesario instalar el paquete, viene por defecto instalado e integrado en Nautilus. En el anterior artículo sobre Seahorse resumía como utilizar el cifrado asimétrico con clave privada y pública. Hoy voy a explicar como usar el cifrado simétrico, más útil si lo utilizamos para encriptar archivos que no compartimos, y no queremos estar transportando las claves asimétricas de un lugar a otro. Para empezar resumo en que consiste cada uno.

Cifrado asimétrico: Creamos una clave privada y generamos una clave pública a raíz de ésta, que compartimos. Los mensajes y archivos cifrados esta clave pública podremos descifrarlos con nuestra clave privada. Por ejemplo:

- A genera una clave pública a raíz de su privada y la envía a B.
- B cifra un mensaje con la clave pública de A y se lo envía.
- Al recibirlo, A puede descifrar con su clave privada el mensaje enviado por B,
- de esta forma además se verifica el origen y que el mensaje no ha sido manipulado.
- B no puede obtener la clave privada de A a partir de la pública.

Cuando lo que queremos es encriptar archivos de forma local, este método es demasiado complicado y se utiliza otro denominado cifrado simétrico. En éste se utiliza una sóla clave, que vale para cifrar y descifrar, y que no se comparte. Para utilizarlo en Ubuntu tendremos que ir a la consola, ya que no está integrado en Nautilus (pequeño fallo, en el GnuPG para Windows si se integra el cifrado simétrico en el explorador). El comando a utilizar en Ubuntu es el siguiente.

gpg -c NOMBRE_ARCHIVO

Al ejecutarlo se nos pide una frase de paso y se genera un archivo de salida NOMBRE_ARCHIVO.gpg que está cifrado con el algoritmo CAST5. Si queremos utilizar otro hay que añadir la siguiente opción:

--cipher-algo ALGORITMO

Los algoritmos disponibles en la versión actual para Ubuntu (GnuPG 1.4.6) son los siguientes: 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH.

Para descifrar un archivo encriptado (esta operación sí se puede hacer desde Nautilus) el comando a utilizar es el siguiente:

gpg -d NOMBRE_ARCHIVO

Una última recomendación: si queréis que este archivo sea descifrable en varios equipos utilizad los caracteres [A-Z], [a-z] y [0-9], ya que el resto no siempre los interpreta igual la máquina y os puede aparecer un error de Bad Passphrase según el equipo en el que estéis.

2 comentarios:

  1. pero cómo escoges el algoritmo. yo p.ej. quiero encriptar con AES, ¿cómo lo hago? .
    Por Favor responder a :
    strangeday1984@gmail.com

    P.D. Gracias.

    ResponderEliminar
  2. Si en lugar del CAST5 quisieras usar el AES tendrías que escribir:

    gpg -c --cipher-algo AES NOMBRE_ARCHIVO

    ResponderEliminar