Como ejemplo vamos a utilizar una forma sin entrar en discusiones de si es la mejor o la peor.
Primero vamos a crear un archivo con datos aleatorios que será el que contenga el sistema de archivos y que cifraremos para que nadie pueda ver su contenido.
Para hacer la prueba vale con un archivo de 100MB.
sudo dd if=/dev/urandom of=almacen bs=1M count=100
Ahora asociamos un dispositivo de tipo loop con el archivo que contendrá el sistema de archivos cifrado. Hay que hacer esto porque vamos a tratar el archivo como un dispositivo de bloques (dispositivo loop + archivo = dispositivo de bloques). Esto se consigue con el comando losetup y como se va a cifrar hay que especificar el algoritmo de cifrado. En esta caso se va a usar Blowfish con clave de 2048 bits. Existe mas algoritmos: XOR, AES128, AES192, AES256, twofish128, twofish160, twofish192, twofish256, blowfish128, blowfish160, blowfish192, blowfish256, serpent128, serpent192, serpent256, mars128, mars192, mars256, rc6-128, rc6-192, rc6-256, tripleDES,...
sudo losetup -e blowfish2048 /dev/loop0 almacen
En este momento hay que introducir la contraseña que se usara para proteger la clave que se va a generar para cifrar los datos. Si se obtienen el siguiente error: "ioctl: LOOP_SET_STATUS: No existe el fichero ó directorio" es necesario instalar el modulo para el cifrado que se va a utilizar.
sudo apt-get install loop-aes-utils
sudo losetup -e blowfish2048 /dev/loop0 almacen
Ahora hay que crear el sistema de archivos (dar formato) dentro del archivo.
sudo mkfs -t ext3 /dev/loop0
Lo siguiente es crear un punto de montaje para el sistema de archivos encriptado y montarlo.
sudo mkdir /mnt/cifrado
sudo mount -t ext3 /dev/loop0 /mnt/cifrado
A partir de este instante todo lo que se guarde en /mnt/cifrado quedara cifrado e inaccesible si no se tiene la contraseña. Así que cuidado con perderla.
Para terminar, una vez que ya se ha terminado de usar el sistema de archivos, hay que desmontarlo y eliminar la asociación entre el dispositivo loop y el archivo que contiene el sistema de archivos.
sudo umount /mnt/cifrado
sudo losetup -d /dev/loop0