Cifrado Simetrico

creamos un texto echo "Genbeta Dev" > texto.txt

Lo ciframos, nos aparecerá un cuadro que nos pide la contraseña y se generará un archivo .gpg gpg -c texto.txt

Lo descifraremos gpg -d texto.txt.gpg

Cifrado Asimetrico

Generar el par de claves gpg --gen-key

gpg: clave B2C1AF8F 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: 1 firmada: 0 confianza: 0-, 0q, 0n, 0m, 0f, 1u pub 2048R/B2C1AF8F 2014-04-19 Huella de clave = DE33 33E1 3214 AEC4 5169 95F6 13A8 68AA B2C1 AF8F uid Xunorus info@xunorus.com.ar sub 2048R/4F1FB64A 2014-04-19

Exportar y enviar la clave privada

Difundir la clave pública que acabamos de crear (la pública, nunca la privada), para exportarla en un archivo usaremos el comando gpg -output [archivo destino] –export [ID de a clave pública] (la clave pública generada antes tiene la ID B2C1AF8F).

gpg --output XunCPub.gpg --export B2C1AF8F

Subir una clave pública a un servidor de claves

#Import the keys gpg --recv-keys key IDs

gpg --send-keys --keyserver pgp.mit.edu B2C1AF8F

Importar la clave desde el archivo o servidor de claves

importar previamente la clave, desde un archivo debemos de usar el comando gpg –import [Archivo de la clave pública]

gpg --import CPub.gpg

ya en mi anillo de claves me contesta que no hay cambios.

importación desde el servidor

tenemos que usar el comando gpg –keyserver [Dirección del servidor] –recv-keys [ID de la clave].

gpg --keyserver pgp.mit.edu --recv-keys 18384645

Cifrar con la clave pública

para cifrar el documento usaremos el comando gpg —encrypt —recipient [ID de la clave] [Archivo]

echo "Genbeta Dev" > documento.txt gpg --encrypt --recipient 18384645 documento.txt

ls documento.txt documento.txt.gpg

Descifrar un archivo con la clave privada

descifrar con nuestra clave privada el documento tras recibirlo gpg -d documento.txt.gpg

Firmar archivos

Una de las medidas de seguridad básicas al pasar un mensaje es asegurarnos que el emisor es quien dice ser, para asegurarnos de esto digitalmente existe la firma digital , pero también podemos cifrarlo y a su vez firmarlo, que es lo que haremos con el comando gpg -u [ID de la clave privada] --output [Archivo resultante] --sign [Archivo para firmar] e introduciendo la contraseña de la clave privada.

echo "Genbeta Dev" > firmar.txt

Verificar y descifrar un archivo firmado

Verificar firmas PGP

sudo apt-get install GnuPG

Cualquiera con la clave pública asociada a la que ha firmado el documento puede leerlo, de la misma forma que desciframos un archivo (gpg -d [Archivo]) o verificándolo únicamente con el comando gpg –verify [Archivo]. gpg --verify firmar.txt.gpg

Resumen

GPG es una herramienta de cifrado muy potente y fácil de usar, que en principio, a la mayoría no nos hace falta, pero puede que se nos presente la necesidad de enviar algo por medio inseguros (porque no haya más remedio), haciéndolo de esta forma podremos hacerlo sin miedo ha que lean el contenido del archivo o nos den el cambiazo. Este es un tema bastante extenso y si no lo acabas de entender puede ser un lío

#INFO DE LA DOCUMENTACION

-c Encrypt with a symmetric cipher using a passphrase. The default symmetric cipher used is CAST5, but may be chosen with the –cipher-algo option. This option may be com‐ bined with –sign (for a signed and symmetri‐ cally encrypted message), –encrypt (for a message that may be decrypted via a secret key or a passphrase), or –sign and –encrypt together (for a signed message that may be decrypted via a secret key or a passphrase).

–gen-key Generate a new key pair. This command is nor‐ mally only used interactively.

          There is an experimental feature which allows
          you  to  create  keys  in batch mode. See the
          file ‘doc/DETAILS’ in the source distribution
          on how to use this.

–recv-keys key IDs Import the keys with the given key IDs from a keyserver. Option –keyserver must be used to give the name of this keyserver.