luks 影响 cryptsetup 基准测试

luks 影响 cryptsetup 基准测试

我有一台配备 i5-8250U CPU @ 1.60GHz × 4、SSD 和 8GB RAM 的笔记本电脑,正在考虑 FDE。我如何知道运行 cryptsetup 基准测试得到的结果是否良好?

#  Algorithm | Key |  Encryption |  Decryption
     aes-cbc   128b  1009,1 MiB/s  2940,9 MiB/s
 serpent-cbc   128b    85,5 MiB/s   635,5 MiB/s
 twofish-cbc   128b   189,4 MiB/s   331,6 MiB/s
     aes-cbc   256b   759,4 MiB/s  2321,9 MiB/s
 serpent-cbc   256b    85,4 MiB/s   636,4 MiB/s
 twofish-cbc   256b   188,6 MiB/s   347,8 MiB/s
     aes-xts   256b  1842,9 MiB/s  1837,9 MiB/s
 serpent-xts   256b   614,2 MiB/s   626,0 MiB/s
 twofish-xts   256b   341,6 MiB/s   342,8 MiB/s
     aes-xts   512b  1706,6 MiB/s  1695,2 MiB/s
 serpent-xts   512b   616,7 MiB/s   627,6 MiB/s
 twofish-xts   512b   340,1 MiB/s   341,2 MiB/s

答案1

使用默认aes-xts-plain64密码,通常即使是入门级/移动系统也很好,只要 CPU 支持 AES-NI。这应该会使加密速度足够快,即使对于 SSD 存储也难以察觉。

为了直观地了解 AES-NI 的差异有多大,下面是在同一台机器上运行的随机基准测试:

for bits in 256 256 256 512 512 512
do
    cryptsetup benchmark -c aes-xts-plain64 -s $bits
done

启用 AES-NI 后 ( modprobe aesni_intel):

# Tests are approximate using memory only (no storage IO).
#  Algorithm | Key |  Encryption |  Decryption
     aes-xts   256b  1373.2 MiB/s  1425.4 MiB/s
     aes-xts   256b  1501.9 MiB/s  1482.9 MiB/s
     aes-xts   256b  1461.8 MiB/s  1424.9 MiB/s
     aes-xts   512b  1145.6 MiB/s  1164.9 MiB/s
     aes-xts   512b  1239.6 MiB/s  1203.9 MiB/s
     aes-xts   512b  1064.8 MiB/s  1224.6 MiB/s

禁用 AES-NI ( rmmod aesni_intel) 后速度会慢很多:

# Tests are approximate using memory only (no storage IO).
#  Algorithm | Key |  Encryption |  Decryption
     aes-xts   256b   145.6 MiB/s   174.6 MiB/s
     aes-xts   256b   170.4 MiB/s   151.6 MiB/s
     aes-xts   256b   127.0 MiB/s   168.5 MiB/s
     aes-xts   512b   128.9 MiB/s   124.0 MiB/s
     aes-xts   512b   124.2 MiB/s   119.9 MiB/s
     aes-xts   512b   124.8 MiB/s   123.0 MiB/s

即使没有 AES-NI,对于常规桌面使用,您可能不会注意到太大的差异(毕竟大多数内容都缓存在 RAM 中),并且要么需要加密(然后性能并不重要),要么不需要,所以不必担心太多。

要真正确定,只有一种方法可以找到答案 - 设置它然后测试一些您通常做的事情。最好的基准是您自己运行的基准。

相关内容