检查内核是否支持 aes-xts-plain64 密码

检查内核是否支持 aes-xts-plain64 密码

更新后,我无法访问我的加密磁盘。

当尝试这样做时:

sudo cryptsetup luksOpen /dev/sda8 Documents


Failed to setup dm-crypt key mapping
Check that kernel supports aes-xts-plain64 cipher (check syslog for more info)

我做到了:

lsmod | grep -i aes
aesni_intel           167997  3
aes_x86_64             16719  1 aesni_intel
lrw                    12757  1 aesni_intel
glue_helper            12649  1 aesni_intel
ablk_helper            12572  1 aesni_intel
cryptd                 18553  2 aesni_intel,ablk_helper

还:

lsmod | grep -i dm-mod
lsmod | grep -i dm-crypt
lsmod | grep -i sha256
lsmod | grep -i xts 

但他们没有返回任何东西,因此,我对所有这些进行了 modprobe,但仍然遇到同样的问题。

答案1

根据man cryptsetup

密码、模式、哈希和密钥大小的可用组合取决于内核支持。/proc/crypto以获取可用选项的列表。您可能需要加载其他内核加密模块才能获得更多选项。

也尝试cryptsetup --help显示默认值。


仅供参考:我的 (Linux Mint) cryptsetup 在默认 LUKS 下运行良好。我的cryptsetup --help末尾有以下内容:

Default compiled-in device cipher parameters:
    loop-AES: aes, Key 256 bits
    plain: aes-cbc-essiv:sha256, Key: 256 bits, Password hashing: ripemd160
    LUKS1: aes-xts-plain64, Key: 256 bits, LUKS header hashing: sha1, RNG: /dev/urandom

并且我的lsmod文件中没有提及 sha、aes 或 xts,但确实有:

dm_crypt 22653 0(请注意下划线,而不是像 Q 中的破折号)

我的/proc/crypto有:

$ grep name.*aes /proc/crypto|cut -d : -f 2
 cbc(aes)
 aes

相关内容