I have an external HDD connected with my Pi 3 running Raspbian Jessie which I had encrypted with LUKS using the cipher
twofish-xts-plain. But after upgrading to Raspbian Strech running Linux kernel
4.9.28-v7+, I could no longer unlock and mount the drive. When I call
cryptsetup luksOpen /dev/sdb luksdrive, I get the following error
device-mapper: reload ioctl on failed: No such file or directory Failed to setup dm-crypt key mapping for device /dev/sdb. Check that kernel supports twofish-xts-plain cipher (check syslog for more info).
On further investigation, I noticed that there are no twofish modules under the directory
/lib/modules/4.9.28-v7+ by calling
find /lib/modules/ -iname '*twofish*' with the following result:
/lib/modules/4.9.0-2-rpi2/kernel/crypto/twofish_common.ko /lib/modules/4.9.0-2-rpi2/kernel/crypto/twofish_generic.ko /lib/modules/4.4.0-1-rpi2/kernel/crypto/twofish_common.ko /lib/modules/4.4.0-1-rpi2/kernel/crypto/twofish_generic.ko
On the other hand, calling
find /lib/modules/ -iname '*aes*' does bring up this entry:
Is this an isolated problem or has twofish indeed been removed from the kernel? In case it's the latter, is there anyway to "install" a separate twofish module?