In this tutorial I will explain you in few simple steps how to create an encrypted image. So, here it goes:
1. Load the necessary kernel modules if they are not loaded already:
[root@florian home]# modprobe cryptoloop [root@florian home]# modprobe aes
2. Create an image with DD. Size, path and file name is your choise. For size, you just modify the count
value:
[root@florian home]# dd if=/dev/urandom of=storage.img bs=1M count=512 512+0 records in 512+0 records out 536870912 bytes (537 MB) copied, 68.6128 s, 7.8 MB/s [root@florian home]# du -sh storage.img 512M storage.img
3. Encrypt the image with losetup
and link it to a loop device:
[root@florian home]# losetup -e aes /dev/loop0 storage.img Password: [root@florian home]#
4. formate it (I was choosing ext4):
[root@florian home]# mkfs.ext4 /dev/loop0 mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 32768 inodes, 131072 blocks 6553 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=134217728 4 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304 Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 37 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
5. Finally, mount your image:
[root@florian home]# mkdir /media/secret [root@florian home]# mount -o loop,encryption=aes storage.img /media/secret Password: [root@florian home]# df -h | grep secret /home/storage.img 504M 17M 462M 4% /media/secret [root@florian home]# mount | grep secret /home/storage.img on /media/secret type ext4 (rw,loop=/dev/loop1,encryption=aes)
Enjoy!