Cifrado simétrico de archivos con ccrypt
El cifrado simétrico o de clave secreta, también llamado criptografía simétrica, es un método para cifrar ficheros o comunicaciones utilizando una clave. Esta misma clave se debe usar tanto para cifrar como para descifrar esos mensajes y ambas partes deben tener conocimiento de qué clave va a utilizarse.
Una de las soluciones más fáciles de utilizar en Linux es ccrypt
. Es una herramienta diseñada como reemplazo del antiguo crypt de Unix y utiliza como única alternativa AES (también llamado Rijndael) con un tamaño de bloque de 256bits.
Así pues, desde la terminal de comandos podríamos hacer que una información fuese ilegible para cualquier persona que no conociese la clave de cifrado. Esta herramienta fue encontrada buscando cómo cifrar archivos en Debian Jessie, aunque claro está que puede aplicarse de la misma forma a otros sistemas GNU/Linux.
Instalación de ccrypt en Linux
La instalación del paquete para cifrar y descifrar desde la terminal la hacemos con apt-get install ccrypt
.
ccrypt cifra directamente el fichero indicado con extensión .cpt sin antes guardar una copia, por lo que no es recomendable realizar pruebas con ficheros hostiles.
Cifrar y descifrar un fichero con ccrypt
Puede comprobar el cifrado viendo el tipo de fichero con el comando file
o la cabecera del fichero con head
.
Para cifrar sus ficheros ejecute el comando ccrypt nombrefichero
o ccrypt -e nombrefichero
e introduciendo una clave por dos veces.
Con la ejecución de ccdecrypt nombrefichero
o ccrypt -d nombrefichero
e introduciendo la clave elegida anteriormente, podremos devolver el fichero a su estado original.
Cifrar y descifrar cargando una clave desde archivo
Con la ejecución de ccrypt -k mi.key nombrefichero
carga como clave la primera línea de un archivo. Con esto será más fácil y seguro el cifrado y no tendremos que introducir la contraseña manualmente en la terminal de comandos, pudiendo utilizar passphrases más largas sin error al teclear.
Se trata de un archivo de texto que carga la clave contenida en él, no siendo el propio fichero la propia clave. A la hora de descifrar seguimos el mismo procedimiento, teniendo que insertar la clave y no la ruta de esta.
Si el fichero contiene varias líneas, para el descifrado solo será válida la passphrase de la primera línea.
Cifrar y descifrar un directorio con ccrypt
Con ccrypt es fácil el cifrado simétrico de directorios. Para ello debemos realizar la ejecución de ccrypt -R directorio
, donde se cifrará de manera recursiva cada archivo contenido en ese directorio.
Para descifrar el contenido de ese directorio podremos hacerlo con ccdecrypt directorio/*
o ccrypt -d nombrefichero
Comprobar y ver un fichero cifrado
Con ccat nombrefichero.cpt
o ccrypt -c nombrefichero.cpt
podemos ver momentáneamente el contenido descifrado introduciendo su contraseña, sin llegar a descifrar el archivo.
Cambiar la contraseña de un archivo cifrado
Es posible cambiar la contraseña de un archivo cifrado con ccrypt sin ser necesario descifrar y volver a cifrar. Para esta operación podemos utilizar el comando ccrypt -x nombrearchivo.cpt
reemplazaremos la antigua clave por la nueva.
Más información sobre ccrypt y su uso en su página oficial en SourceForge: Man page for CCRYPT(1).