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.