This is the unspiritual successor to the article On Creating a Signing Subkey, which is just magnificent.
Note that this article is only half-baked. Its purpose is to serve as a HOWTO. If it’s not enough information for you, dear reader, there is a whole Internet out there, go explore.
Formatting
The following is what we want. The device listed at /dev/sdb has two partions, /dev/sdb1 and /dev/sdb2.
sdb
├─sdb1
└─sdb2
sdb1 will be the first partition on the disk. It will be the larger of the two partitions, and it will be encrypted with the LUKS format using the cryptsetup tool.
The second partition is not encrypted, will hold README with crypt instructions.
If needed, first install the cryptsetup utility:
$ sudo apt-get install cryptsetup
Here are the commands I used in fdisk to create the partitions:
$ sudo fdisk /dev/sdb
n -> primary -> 1 -> ENTER (2048) -> +10G
n -> primary -> 2 -> ENTER (some block number) -> ENTER (some block number)
p
Disk /dev/sdb: 14.9 GiB, 16000221184 bytes, 31250432 sectors
Disk model: USB 2.0 FD
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 20973567 20971520 10G 83 Linux
/dev/sdb2 20973568 31250431 10276864 4.9G 83 Linux
w
Creating
$ sudo cryptsetup luksFormat --type=luks2 /dev/sdb1
$ sudo cryptsetup open /dev/sdb1 encrypted
$ sudo mkfs.ext4 /dev/mapper/encrypted
The old way of formatting the drive was much more verbose:
$ sudo cryptsetup -c aes-xts-plain64 --key-size 512 --hash sha512 --time 5000 --use-urandom /dev/sdb1
Do this for the unencrypted partition:
$ sudo mkfs.ext4 /dev/sdb2
Mounting
$ sudo mkdir /media/btoll
$ sudo chown -R btoll: /media/btoll
$ sudo cryptsetup --type luks open /dev/sdb1 encrypted
$ sudo mount -t ext4 /dev/mapper/encrypted /media/btoll
Using the Primary Private Key
$ gpg --homedir /media/btoll/.gnupg/ -k
Unmounting
$ sudo umount /media/btoll
$ sudo cryptsetup close encrypted