Encriptar Archivos Con GPG

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 3

Encriptar archivos con GnuPG

30 Enero 2017

archivos contraseñas GnuPG

Este artículo explica cómo cifrar archivos con criptografía simétrica (sin necesidad de claves pública
utilizando GnuPG. De esta forma es posible proteger archivos que contienen información confidencia
través de una contraseña.

GnuPG (GPG) es una implementación completa del estándar OpenPGP definido en la RFC4880 (PG
Permite encriptar y firmar datos y comunicaciones, a través de un sistema de gestión de claves públ
(criptografía asimétrica). Sin embargo también permite utilizar criptografía simétrica (AES) para cifra
archivos. La herramienta de línea de comandos gpg se utiliza para acceder a todas las característic
de GnuPG, permite cifrar, descifrar y firmar datos y comunicaciones, y gestionar las claves.

Es posible conocer la configuración y algoritmos soportados recurriendo a la ayuda de gpg :

emi@hal9000:~ % gpg -h | head -n 15


gpg (GnuPG) 2.1.16
libgcrypt 1.7.5
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Home: /home/emi/.gnupg
Supported algorithms:
Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2

Veamos cómo se utiliza GnuPG para cifrar un archivo utilizando un ejemplo. Para ello, crear un arch
de prueba:

emi@hal9000:~ % echo "Prueba de cifrado" > prueba.txt


emi@hal9000:~ % cat prueba.txt
Prueba de cifrado

Para cifrar un archivo utilizando criptografía simétrica, se debe recurrir a la opción -c :

gpg -c ARCHIVO

Por ejemplo:

emi@hal9000:~ % gpg -c prueba.txt


Enter passphrase
Please re-enter this passphrase
Passphrase:

Este comando solicita que se ingrese la clave o contraseña (password) de cifrado. Esta contraseña
deberá ser conocida por quien desee descifrar luego el archivo.

Al finalizar se crea un nuevo archivo de igual nombre pero agregando la extensión .gpg :

emi@hal9000:~ % file prueba.txt*


prueba.txt: ASCII text
prueba.txt.gpg: GPG symmetrically encrypted data (AES cipher)
emi@hal9000:~ % ls -lh prueba.txt*
-rw-r--r-- 1 emi wheel 18B Jan 30 09:53 prueba.txt
-rw-r--r-- 1 emi wheel 95B Jan 30 09:53 prueba.txt.gpg

Es posible comprobar que el contenido del nuevo archivo es indescifrable si no se desencripta con la
contraseña ingresada previamente:

emi@hal9000:~ % hexdump -C prueba.txt


00000000 50 72 75 65 62 61 20 64 65 20 63 69 66 72 61 64 |Prueba de cifrad|
00000010 6f 0a |o.|
00000012
emi@hal9000:~ % hexdump -C prueba.txt.gpg
00000000 8c 0d 04 07 03 02 5d e9 09 e4 b4 bc 19 4d 60 d2 |......]......M`.|
00000010 4e 01 d0 b8 21 3c 4f 0a c9 98 d9 30 fe 05 e4 8c |N...!<O....0....|
00000020 c9 93 d7 9a 10 96 df 35 3f 1c 4c 77 36 d1 3d 4a |.......5?.Lw6.=J|
00000030 10 87 3b b3 da c1 a8 c9 db 58 67 03 43 96 98 2d |..;......Xg.C..-|
00000040 3c 3e fe d5 b6 d1 62 76 3f ab 55 b8 46 b2 47 74 |<>....bv?.U.F.Gt|
00000050 85 48 db 65 87 fc d1 3f a0 22 db 1f d5 02 81 |.H.e...?.".....|
0000005f

Luego es deseable borrar el archivo original, para que la información contenida dentro del mismo se
sólo accesible a través de la contraseña secreta:

emi@hal9000:~ % rm prueba.txt
emi@hal9000:~ % ls -lh prueba.txt*
-rw-r--r-- 1 emi wheel 95B Jan 30 09:53 prueba.txt.gpg

Para descifrar el archivo, se utiliza el siguiente comando:

gpg ARCHIVO.gpg

Por ejemplo:

emi@hal9000:~ % gpg prueba.txt.gpg


gpg: AES encrypted data
gpg: encrypted with 1 passphrase

Al finalizar se crea con éxito el archivo prueba.txt y su contenido es consistente e inalterado:

emi@hal9000:~ % ls -lh prueba.txt*


-rw-r--r-- 1 emi wheel 18B Jan 30 09:54 prueba.txt
-rw-r--r-- 1 emi wheel 95B Jan 30 09:53 prueba.txt.gpg
Notar que GnuPG no ha solicitado la contraseña al momento de desencriptar. Esto sucede porque s
desencriptado el archivo en el mismo sistema y bajo el mismo usuario. GnuPG almacena las claves
usuario en un repositorio dentro del directorio ~/.gnupg/ . Es indispensable para la seguridad proteg
el acceso a dicho directorio:

emi@hal9000:~ % ls -ld ~/.gnupg/


drwx------ 3 emi wheel 512 Jan 30 09:55 /home/emi/.gnupg/

Al desencriptar el mismo archivo en otro sistema, solicita la contraseña, con lo cual queda protegido
correctamente:

root@linuxito:~# gpg prueba.txt.gpg


gpg: directory `/root/.gnupg' created
gpg: new configuration file `/root/.gnupg/gpg.conf' created
gpg: WARNING: options in `/root/.gnupg/gpg.conf' are not yet active during this run
gpg: keyring `/root/.gnupg/secring.gpg' created
gpg: keyring `/root/.gnupg/pubring.gpg' created
gpg: AES encrypted data
gpg: encrypted with 1 passphrase
root@linuxito:~# cat prueba.txt
Prueba de cifrado

Referencias
man gnupg

The GNU Privacy Guard Manual (version 2.1.18, January 2017)

También podría gustarte