GnuPG es una aplicación completa y libre de la norma estandar OpenPGP, que reemplaza al conocido software privativo PGP. GNU Privacy Guard o GPG permite cifrar y firmar sus datos y comunicaciónes y cuenta además con un versátil sistema de gestión de claves.
GnuPG se basa en un sistema de claves lo que quiere decir que cada usuario tiene 2 claves: una clave privada (que por lo tanto solo conoce él) y una clave pública. En este mini tutorial vamos a ver como crear dichas claves, lo cual nos servirá para cifrar-descifrar archivos, firmar documentos y verificar las firmas digitales.
- Una vez instalado GnuPG 2 lo primero que haremos será generar ese par de claves con el comando:
gpg --gen-key
Seleccionamos el tipo de clave deseada (1) por defecto y elegimos su periodo de validez/caducidad.
- A continuación nos pide generar el usuario que va a utilizar la clave
- E introducimos la contraseña privada
- Para poder comunicarse con otros, el usuario debe intercambiar las claves públicas. Para obtener una lista de las claves públicas, utilizariamos el comando:
gpg --list-public-keys
En mi caso la clave pública sería AE8B6E3D
- Ahora lo que podemos hacer es exportar nuestra clave pública a un documento y así utilizarla en otros equipos o enviarla por correo.
gpg --export -a "user name" > publica.key
- Si queremos podemos colocar nuestra clave pública en un servidor de claves, para darla a conocer. Existen varios servidores de claves en funcionamiento en todo el mundo, que además suelen están sincronizados.
- Si necesitamos importar una clave pública la orden a ejecutar sería:
gpg --import publica.key
- Desde el propio menú contextual o mediante GUI’s como kgpg o gpa tendremos la opción de cifrar y firmar nuestros archivos, solo necesitaríamos introducir nuestra contraseña privada.
Si preferimos utilizar la terminal para cifrar haríamos:
gpg -e nombre_archivo
- Para descifrar archivos la orden sería(en este caso hay que dar el nombre al archivo de salida):
gpg -d nombre_archivo.pgp>nombre_archivosalida
- Si lo que queremos es firmar un archivo por ejemplo un documento de texto sencillo haríamos algo así:
gpg --clearsign documento.txt
- Es conveniente crear también un certificado de revocación por si en algún momento nos olvidamos o nos roban nuestra clave secreta. Una manera sencilla de hacerlo es
gpg --armor --gen-revoke id
donde id puede ser nuestra dirección de correo electrónico
El resultado lo podemos pegar en un editor de texto y guardarlo en un lugar bien seguro 😉
Thank god some bloggers can write. My thanks for this piece of writing
Bueno http://javaencrypt.com/javascript-obfuscator/index.php?lang=es espero que sirva
Pingback: Cifra tus archivos con ccrypt « La mirada del replicante
Duda: Si formateo mi máquina, o si quiero usar otro equipo, ¿cómo exporto e importo las claves pública y privada? ¿qué otras consideraciones debo tener para que todo quede perfecto y funcional en el nuevo sistema?
Hola Gregorio! A ver si te puedo responder que este tema ya lo tengo algo oxidado:
– A la hora de exportar la CLAVE PUBLICA lo hacemos tal como explico en la entrada:
gpg
--
export -a «user name» > publica.keyy después la podríamos importar en el nuevo equipo con
gpg
--
import publica.key– Con la CLAVE PRIVADA hacemos algo similar, la exportamos:
gpg
--
export-secret-keys -a «user name» > mySecret.KeyEj con mi user:
gpg
--
export-secret-keys -a tannhausser > mySecret.KeyY lo importaríamos:
gpg
--
import mySecret.KeyPD: esto es la teoría desde linea de comandos aunque creo que también se puede hacer de forma gráfica (por lo menos con las public,key), de todas maneras me has dado la idea para una entrada, a ver si mañana me pongo a ello y compruebo si realmente funciona.
Un saludo!
Gracias por la respuesta, estaré esperando ese post para ya empezar a usar gpg a full 🙂
Pingback: Como exportar e importar las claves en GnuPG « La mirada del replicante
Hola… Cuando pones el comando:
gpg –export -a «user name» > public.key
exporta sólamente la llave pública o la privada también? es mi duda porque en seahorse donde dice Exportar todo exporta ambas llaves y eso es lo que no quiero que haga, solamente que esporte la pública, gracias
Hola Nahum! Sólo exporta la pública.
Echale un vistazo a esta entrada si tienes alguna duda
https://lamiradadelreplicante.com/2012/10/25/como-exportar-e-importar-las-claves-en-gnupg/
jejeje ya revisé y si solamente pasa la pública ahora mi duda es cómo cifrar un archivo ya que cuando uso los comandos que pones ahí me sale algo así:
No ha especificado un ID de usuario (puede usar «-r»)
Destinatarios actuales:
XXXXXXXXXXXX XX/XX/XXX «XXXXXXXXXXXXXXXXXXX»
Introdusca ID de usuario. Acabe con la línea vacía:
Listo ya solucioné esos problemas, ya más o menos entiendo cómo funciona esto, muchaes gracias por la atención…
@escalibur965 Me alegro de que te funcione y gracias a ti por comentar!
Saludos
Pingback: Liberado Tails 1.0: el sistema GNU/Linux con el que Snowden burló a la NSA - Iniciativa Debate
Pingback: Liberado Tails 1.0: el sistema GNU/Linux con el que Snowden burló a la NSA « Camiri.net
Exelente Guía me salió un error: gpg problem with the agent no pinentry
pero lo corregí con esta ayuda.
http://chaosfreakblog.wordpress.com/2013/06/21/gpg-problem-with-the-agent-no-pinentry-solved/
openSUSE 13.1
¿Cuando firmas y cuando verificas firma? :S solo cifras y descifras…
Me ha costado tiempo dedicarle un momento al cifrado, pero aquí estoy por fin. Te agradezco mucho que hicieras esta ayuda. Para los que nos hacemos un lío con estas cosas nos viene muy bien.
Por cierto, el comando
no sirve si lo copias y pegas. No reproduce bien los guiones al hacerlo. Pero si lo reescribes, va de lujo, sin problema.
¡Saludos!
@aldobelus Gracias por el aviso! WordPress siempre da problemas con los guiones dobles y por algún motivo los toma como uno solo!
Saludos!
Pingback: Cifrado en el móvil con OpenPGP | devuanita