Gracias a la herramienta GnuPG la encriptación de datos y creación de firmas digitales se convierte en una tarea relativamente sencilla. Disponemos de una serie de utilidades para la creación, importación y exportación de keys y por supuesto para la encriptación/cifrado y desencriptación de ficheros.
Lo primero que debemos hacer es instalarla en el sistema, para ello simplemente haced uso de cualquier sistema de gestión de paquetes (yum, apt) e instalar GnuPG.
Una vez instalado, deberíamos comenzar con los siguientes pasos y tareas básicas:
Creación de un nuevo key-pair
Generaremos nuestra pareja de llaves (pública y privada), que posteriormente utilizaremos para la encriptación de ficheros, utilizaremos el siguiente comando:
# gpg --gen-key
Hemos de responder a las distintas preguntas del asistente que aparece, podemos establecer de momento por defecto el tipo de llave, su tamaño y expiración, hemos de rellenar posteriormente nuestro nombre real, comentario con el que identificaremos la llave y nuestro email. La salida podría ser similar a lo siguiente:
gpg (GnuPG) 1.4.10; Copyright (C) 2008 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. Por favor seleccione tipo de clave deseado: (1) RSA y RSA (predeterminado) (2) DSA y Elgamal (3) DSA (sólo firmar) (4) RSA (sólo firmar) ¿Su selección?: 1 las claves RSA pueden tener entre 1024 y 4096 bits de longitud. ¿De qué tamaño quiere la clave? (2048) El tamaño requerido es de 2048 bits Por favor, especifique el período de validez de la clave. 0 = la clave nunca caduca = la clave caduca en n días w = la clave caduca en n semanas m = la clave caduca en n meses y = la clave caduca en n años ¿Validez de la clave (0)? La clave nunca caduca ¿Es correcto? (s/n) s Necesita un identificador de usuario para identificar su clave. El programa construye el identificador a partir del Nombre Real, Comentario y Dirección de Correo electrónico de esta forma: "Heinrich Heine (Der Dichter) " Nombre y apellidos: Heinrich Heine Dirección de correo electrónico: heinrichh@duesseldorf.de Comentario: Der Dichter Ha seleccionado este ID de usuario: «Heinrich Heine (Der Dichter) » ¿Cambia (N)ombre, (C)omentario, (D)irección o (V)ale/(S)alir? V Necesita una frase contraseña para proteger su clave secreta. gpg: el agente gpg no esta disponible en esta sesión No ha especificado contraseña. Esto es probablemente una *mala* idea. Si más tarde quiere añadir una, puede hacerlo usando este programa con la opción "--edit-key". Es necesario generar muchos bytes aleatorios. Es una buena idea realizar alguna otra tarea (trabajar en otra ventana/consola, mover el ratón, usar la red y los discos) durante la generación de números primos. Esto da al generador de números aleatorios mayor oportunidad de recoger suficiente entropía. .......... +++++ gpg: clave CD0E7A06 marcada como de confianza absoluta claves pública y secreta creadas y firmadas. gpg: comprobando base de datos de confianza gpg: 3 dudosa(s) necesarias, 1 completa(s) necesarias, modelo de confianza PGP gpg: nivel: 0 validez: 5 firmada: 0 confianza: 0-, 0q, 0n, 0m, 0f, 5u pub 2048R/CD0E7A06 2010-11-19 Huella de clave = C079 7D5D AD34 A0CA E9B6 B895 29B5 36CC CD0E 7A06 uid Heinrich Heine (Der Dichter) sub 2048R/FD47C2FB 2010-11-19
Importar y exportar keys
Tras crear nuestra llave, podemos importarla o exportarla en distintos equipos, desde los que tenemos intención de compartir ficheros encriptados, para importar una llave ejecutamos:
# gpg --import Public-key.asc
Podemos exportar nuestra key del siguiente modo (ascii), luego podríamos utilizar el comando anterior para importarla en otro equipo. –ascii crea una salida ascii con armadura.
gpg --export --armor > Public-key.asc
Una vez importada la key en nuestro sistema, conviene firmarla para verificar la veracidad de la llave, utilizaremos el siguiente comando, donde UID es el ID/nombre de la llave.
gpg --sign-key 'UID'
Encriptar y desencriptar
Una vez que tenemos la llave creada, instalada y firmada en el sistema, ya podemos empezar a encriptar y desencriptar ficheros. En el siguiente ejemplo vamos a encriptar un fichero de texto, los parámetros indican que se firma y cifra (-ser) para el usuario con su determinado UID/nombre creando una salida ascii con armadura (-a). tendremos que escirbir la frase contraseña de la llave para hacer efectivo el cifrado:
# gpg -sear 'UID' test2.txt Necesita una frase contraseña para desbloquear la clave secreta del usuario: "xxxx xxxx (xxx xxx)" clave DSA de 2048 bits, ID 7EEECF36, creada el 2010-11-08 gpg: el agente gpg no esta disponible en esta sesión Introduzca frase contraseña:
Para hacer el proceso inverso de descifrado, utilizaríamos el siguiente comando, donde -d indica desencriptar y mensaje-cifrado.asc es el fichero generado en el anterior comando, que guardaremos en salida.txt:
# gpg --output salida.txt -d mensaje-cifrado.asc
El proceso de desencriptar ficheros de equipos remotos es el mismo siempre que haya sido encriptado utilizando tu misma llave pública.
La gestión básica de llaves resumiría los siguientes comandos:
Listar las llaves instaladas en el sistema:
# gpg --list-keys
Borrar llave «test@test.com» instalada en nuestro sistema:
gpg --delete-key 'test@test.com'
Esto es simplemente un acercamiento al uso básico de gnuPG. Para profundizar más en este tema, os recomiendo revisar las siguientes referencias:
Lo que ha explicado está muy bien, pero le rogaría explicase también cómo desencriptar un mensaje de una página web.
Por ejemplo, la página http://bitcoin-otc.com/otps/94EB26F683593169 devuelve:
—–BEGIN PGP MESSAGE—–
hQEMA5TrJvaDWTFpAQf/YfVHYxjfdTFaB2812+wPgeARaP61ODf5d9wRH6mNqncE
Zwefe9w2G226QmjwcAYsXI8QGgYI4a7E72lfhst+Ngh9A2WiLZM+lCfMcVKISdSC
hn9z16NMyW9mWprBa4SU0+2ogYUg9EM2hfDklI3V60Ua67Koo1fF+9HMG/Z3n/ye
0vpn3qEAg/TO8M6puweO2usLa4nn+OE7gMkv4NM99txlu+40Hd2NqaPEh9xSsLCj
IJN5cy//oY1hKOq61WeFmEVtumFOPhVt/DtieqomZQJViL4mCGhhbsqnxvaheQ2h
HAfnUg+97g0BXPv5PTRv/c4YJ2rJ/xDf4AVLFp6WYtKGAVVw2Sz5MAYqPfoliC9W
uWxZ371mKg8nZxysXd62D4TfmpUjybnbdt1xmv7H6al5aQk394c3kvLIDfn8yrDm
BehQO4BMacI/1U59vGqS9MrSwwpvv6+WrXHYkp6yPliPg+3ioN1hAzlB+Yi5NPRm
T0lNi+Khb35Pmn9oglBViBJRVNSlV/A=
=1ET4
—–END PGP MESSAGE—–
Pues bien, la pregunta es cómo desencriptar ese mensaje y con qué programa.
Un saludo.
lograste desencriptarlo?dime como lo hicistes lo necesito urgente para un trabajo.
necesito saber si hacer reversible los daños o encriptación del Cifrado de archivo con RSA 1024 (provocado por virus).
necesito saber si hacer reversible los daños o encriptación del Cifrado de archivo con RSA 2048 (provocado por virus).
Disculpa, ¿cómo? No llego a entenderte.
Hola creo que quiere saber si los archivos infectados por Cryptowall 3.0 (Virus) se pueden desencrytar.
La forma de encryptacion que utiliza es RSA-2048.
Hola,me an encriptado archivos de fotos con el virus rsa 4096,hay alguna forma de desencriptar mis fotos,gracias y un saludo.