En esta ocasión vamos a aprender como encriptar una carpeta en Linux,en mi caso Ubuntu pero lo podemos hacer con cualquier distribucion de Linux,solo necesitamos tener instalada la herramienta GnuPG GNU Privacy Guard.
GNU Privacy Guard (GnuPG o GPG) es una herramienta de cifrado y firmas digitales, que viene a ser un reemplazo del PGP (Pretty Good Privacy) pero con la principal diferencia que es software libre licenciado bajo la GPL. GPG utiliza el estándar del IETF denominado OpenPGP.
Ultima versión estable publicada: 2.0.26 del 29/08/2014
GNUGP Fue desarrollado como reemplazo de PGP y puede soportar los siguientes algoritmos de encriptacion;
ElGamal
- DSA
- RSA
- AES
- 3DES
- Blowfish
- Twofish
- CAST5
- MD5
- SHA-1
- RIPE-MD-160
- TIGER
- Hoy en dia es utilizado en la gran mayoría de los sistemas operativos GNU/Linux, así como también en Kmail , Evolution, Mozilla y Thunderbird por medio de una extensión llamada Enigmail.
Bien en muchos sistemas con Linux ya biene instalado pero en otros no asi que lo verificamos:
Abrimos una terminal y escribimos:
which gpg; if [[ $? -eq 0 ]]; then echo "Instalado"; else echo "No instalado"; fi
Si no lo tenemos instalado buscamos como instalarlo para nuestra distribución de Linux,de hecho el programa que vamos a usar es gpg-zip,que se instala junto a gpg,en sistemas como Gentoo no se si se instale por las flags usadas al compilar asi que revisar bien a la hora de instalar.
Vamos a ver un ejemplo,tengo un codigo en C importante:
Ahora voy a encriptar esa carpeta,en mi caso estoy usando Dolphin en mi caso este explorador de archivos cuenta con una Terminal empotrada,asi que solo la abro:
En otro caso abren una terminal y van al destino donde tienen la carpeta a encriptar:
Bien ahora encriptamos,nosotros vamos a usar una frase para volver a desencriptar(cifrado simétrico) este usa CAST5, esa opcion la llamamos con el parametro -c:
El programa,así vamos hasta el momento:
gpg-zip -c
Ahora solo debemos mostrar el nombre de salida,al igual que otros programas usamos el parametro -o,asi:
-o salida.gpg
Y por ultimo el nombre de la carpeta,en mi caso prueba,asi queda la linea entera:
gpg-zip -c -o salida.gpg prueba
Al ejecutar esto nos pide una contraseña en GUI:
La escribimos y la reafirmamos y con eso nos crea el fichero cifrado:
Con esto podemos borrar la carpeta original,y podemos ver que es fichero cifrado:
Ahora como lo desencriptamos, con el parametro -d seguido del nombre del gpg,en este caso:
gpg-zip -d salida.gpg
Nos pide la contraseña y vuelve a "crear" el directorio,eso es todo en este caso usamos un cifrado muy común ya que solo usamos contraseña y tar lo que seria como un comprimido con contraseña(no es asi),pero gpg va mas haya con cifrado asimétrico,firmas,etc.
Aqui un script para realizar lo que vimos en esta entrada de una manera facil:
Solo usamos,para desencriptar:
Nombre_script.sh -d nombre.gpg
Para encriptar:
Nombre_script.sh -e carpeta
No cancelar en fase de encriptacion,que borra el folder y no deja respaldo gpg.
#!/bin/bash
function decripta()
{
echo "Desencriptando $1"
gpg-zip -d $1
if [[ $! -eq 0 ]];
then
echo "Hecho"
else
echo "Algo salio mal "
exit
fi
rm $1
}
function encripta()
{
echo "Encriptando $1"
gpg-zip -c -o $1.gpg $1
if [[ $! -eq 0 ]];
then
echo "Hecho"
else
echo "Algo salio mal "
exit
fi
rm -rf $1
}
function help()
{
echo "Uso : $0 [-e] Encriptar
[-d] Desencriptar
Archivo"
}
case $1 in
-e)
if [[ $2 == '' ]];
then
help;
else
encripta $2
fi
;;
-d)
if [[ $2 == '' ]];
then
help;
else
decripta $2
fi
;;
'')
help
;;
esac
Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:
GENIAL ! es exactamente lo que estaba buscando por las carpetas.
ResponderEliminarConocia la encryptacion con gpg -c ...
Gracias