LinuxParty

Ratio: 1 / 5

Inicio activadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

La criptografía es una técnica muy antigua que en la actualidad ha vuelto a ganar prioridad, sobre todo ante la revelación de Snowden de que los gobiernos ejercen control ciudadano e industrial a través de las redes electrónicas. Iniciarse en ella sirve para tomar conciencia de lo desprotegidos que están nuestros datos cuando navegamos en la red. Y, aunque el arte de la encriptación digital no sea todo lo que necesitamos para mejorar nuestra privacidad, es un buen lugar por el que empezar.

Contribuyo a este aprendizaje con un resumen for dummies de los comandos necesarios para encriptar y desencriptar archivos en la terminal de Linux, del tipo que sean (no solo texto, también imagen), a partir de varios manuales como el de la página oficial de GNUpg o este artículo de Bitriding.

 Si lo que quieres es encriptar una gran cantidad de ficheros, entonces debes de ver:

Crear una carpeta encriptada en Linux al estilo RealCrypt

Para empezar, creo que está bien escribir este comando para conocer todas las órdenes disponibles:

gpg --help
gpg (GnuPG) 1.4.21
Copyright (C) 2015 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
Algoritmos admitidos:
Clave pública: RSA, RSA-E, RSA-S, ELG-E, DSA
Cifrado: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
         CAMELLIA128, CAMELLIA192, CAMELLIA256
Resumen: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compresión: Sin comprimir, ZIP, ZLIB, BZIP2

Sintaxis: gpg [opciones] [ficheros]
Firma, comprueba, cifra o descifra
La operación predeterminada depende de los datos de entrada

Órdenes:
 
 -s, --sign [file]             crea una firma
     --clearsign [file]        crea una firma en texto claro
 -b, --detach-sign             crea una firma separada
 -e, --encrypt                 cifra datos
 -c, --symmetric               cifra solo con un cifrado simétrico
 -d, --decrypt                 descifra datos (predeterminado)
     --verify                  verifica una firma
     --list-keys               lista claves
     --list-sigs               lista claves y firmas
     --check-sigs              lista y comprueba firmas de las claves
     --fingerprint             lista claves y huellas digitales
 -K, --list-secret-keys        lista claves secretas
     --gen-key                 genera un nuevo par de claves
     --delete-keys             elimina claves del almacén público
     --delete-secret-keys      elimina claves del almacén privado
     --sign-key                firma una clave
     --lsign-key               firma localmente una clave
     --edit-key                firma o modifica una clave
     --gen-revoke              genera un certificado de revocación
     --export                  exporta claves                                                                                    
     --send-keys               exporta claves a un servidor de claves                                                            
     --recv-keys               importa claves desde un servidor de claves
     --search-keys             busca claves en un servidor de claves
     --refresh-keys            actualiza todas las claves desde un servidor de claves
     --import                  importa/fusiona claves
     --card-status             escribe el estado de la tarjeta
     --card-edit               cambia datos en la tarjeta
     --change-pin              cambia el PIN de la tarjeta
     --update-trustdb          actualiza la base de datos de confianza
     --print-md algo [files]   imprime resúmenes de mensaje

Opciones:
 
 -a, --armor                   crear una salida ascii con armadura
 -r, --recipient NOMBRE        cifrado para NOMBRE
 -u, --local-user              usa este usuario para firmar o descifrar
 -z N                          establece nivel N de compresión (0 no comprime)
     --textmode                usa modo de texto canónico
 -o, --output                  usa como fichero de salida
 -v, --verbose                 detallar
 -n, --dry-run                 no realizar ningún cambio
 -i, --interactive             preguntar antes de sobreescribir
     --openpgp                 usar estilo OpenPGP estricto
     --pgp2                    generar mensajes compatibles con PGP 2.x

(Véase en la página del manual la lista completa de órdenes y opciones)

Ejemplos:

 -se -r Bob [fichero]       firma y cifra para el usuario Bob
 --clearsign [fichero]      hace una firma para texto sin cifrar
 --detach-sign [fichero]    hace una firma separada
 --list-keys [nombres]      muestra las claves
 --fingerprint [nombres]    muestra las huellas digitales

Informe de posibles «bugs» a <Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.>.

Crear par de claves

Una vez conocidos los comendos disponibles (no significa que vayamos a utilizar todos en este momento), procedemos a crear nuestro par de claves (clave pública y clave privada). Si no tienes nociones básicas sobre esto, recomiendo que leas la clarificadora entrada de Wikipedia sobre Criptografía Asimétrica.

gpg --gen-key
gpg (GnuPG) 1.4.21; Copyright (C) 2015 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Seleccione el tipo de clave deseado:
   (1) RSA y RSA (por defecto)
   (2) DSA y ElGamal (por defecto)
   (3) DSA (sólo firmar)
   (4) RSA (sólo firmar)
¿Su elección?

Seleccionamos todas las opciones predeterminadas e introducimos nuestros datos personales cuando el programa los solicite.

Exportar clave pública

Para que otros usuarios puedan enviarnos archivos encriptados, necesitan que les facilitemos nuestra clave pública. Como la clave pública ha sido generada junto a la privada y esta última solo debe estar en nuestro conocimiento, tenemos que exportar la clave pública, para lo que nos ayudamos del siguiente comando:

gpg --export -a -o nombe_archivo_destino_clave_publica.txt userID
- -export es la orden que indica la exportación.

userID es el código de identificación de nuestro usuario que nos facilita el programa cuando genera el par de claves. En este caso, la ID de usuario sería 4DE27A63.

 Código de identificación de usuario para exportar la clave pública

-o indica la generación de un archivo.

-a “crea una salida ascii con armadura”, que no sé realmente qué implica, pero sé que así lo indicaban los manuales, y que funciona.

La clave pública generada con Linux da este formato como resultado:

Formato de la clave pública generada con GPG Linux.

Formato de la clave pública generada con GPG Linux

Importar la clave pública de otro usuario

Para poder enviar archivos cifrados a otro usuario, necesitamos importar su clave pública:

gpg --import nombre_del_archivo_de_la_clave_pública.txt

Podemos consultar las claves importadas con el comando:

gpg -k

Encriptar un archivo

Una vez llegados a este punto, encriptar el archivo es realmente sencillo. Solo necesitamos introducir este comando:

gpg -e -r userID <nombre_del_archivo_que_queremos_encriptar>

userID es el código de identificación de la clave pública que se ha generado para el usuario destinatario (y que obtendremos al listar las claves importadas con gpg -k, como hemos visto).

-e es la orden de encriptado.

-r es la orden que indica que el archivo se encripta para un usuario concreto.

Se generará un nuevo archivo con el mismo nombre que el de origen con la extensión .gpg.

Desencriptar un archivo

Para desencriptar un archivo que otro usuario ha encriptado para nosotros, debemos introducir este comando:

gpg --output <nombre_del_archivo_de_destino> --decrypt <nombre_del_archivo_de_origen>

- -output es la orden que genera el archivo de destino, desencriptado

- -decrypt ordena la desencriptación del archivo encriptado

Otras formas de encriptar archivos

Enigmail es un complemento para Thunderbird que permite encriptar los mensajes enviados mediante este cliente de correo. Tengo mucha curiosidad por empezar a usarlo, la verdad.

Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Nos obligan a moslestarte con la obviedad de que este sitio utiliza Cookies. Ver política