Cifrar y firmar archivos con GnuPG
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 necesitariamos 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










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
http://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