Linux 中的快速宽块 AES 磁盘加密?

Linux 中的快速宽块 AES 磁盘加密?

我最近了解到 Linux 支持 Adiantum 作为磁盘加密密码(运行cryptsetup benchmark -c xchacha20,aes-adiantum-plain64在您的系统上尝试一下)。虽然 Adiantum 主要旨在为不支持硬件 AES 加速的低端设备提供更快的磁盘加密,但它也是一种宽块密码模式,这意味着密文中的单个位翻转会随机化整个明文扇区,而在AES-XTS 模式(当 AES 加速可用时当前推荐的密码)密文中的一位翻转仅随机化 16 字节的明文块。这为潜在攻击者提供了更多的粒度和块边界。因此从这方面来说,Adiantum 严格来说比 AES-XTS 更安全。

Adiantum 是一种由散列、批量密码和分组密码构建的结构。我的 Linux 内核 (v5.4) 中当前可用的变体使用 ChaCha12 或 ChaCha20 作为批量密码。对于没有硬件 AES 加速的设备上的预期用途来说,这很棒,但现在我也想在具有 AES 加速的笔记本电脑上使用它,其中 AES-XTS 的速度大约是 Adiantum 的两倍。

是否有针对 Linux 可用或正在开发的硬件 AES 加速优化的磁盘加密宽块密码?

@未来的任何人,如果在我写这篇文章时答案是“否”,但在您阅读此问题时答案已更改,请务必发布包含当时更新的答案。

答案1

Adiantum 的设计师也解决了这个问题并提出了HCTR2。它与 Adiantum 类似,但使用 AES-XCTR 作为加密,并使用 POLYVAL 作为加速哈希函数。在 Linux 内核版本 6 中可用。

相关内容