首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图理解LUKS加密

试图理解LUKS加密
EN

Unix & Linux用户
提问于 2014-01-05 15:44:27
回答 1查看 1.9K关注 0票数 8

我决定用LUKS+LVM加密我的根分区。

我的ThinkPad设置:

  • 三星830 128 SSD
  • 750 HDD硬盘
  • 核心2二重奏2,5 GHz P9500
  • 8GB RAM

但我读得越多,我对这两个主题的了解就越少:

1a.密码

我打算使用SHA1而不是2/512 (正如一些人所建议的),因为cryptsetup FAQ的引用:

5.20卢克斯坏了!它使用SHA-1!不,它不是。沙-1(学术上)是打破寻找碰撞,但不是因为使用它的密钥派生函数。该冲突漏洞仅供非迭代使用。您需要逐字显示的散列值。这基本上意味着,如果您已经有了一个槽键,并且已经将PBKDF2迭代计数设置为1(通常为10‘>10,000),那么您可以(可能)得到一个不同的密码,给出相同的时隙键。但如果你有插槽钥匙,你已经可以解锁钥匙插槽,得到主钥匙,打破一切。因此,基本上,这个SHA-1漏洞允许您在已经打开LUKS容器时以很大的努力打开它。这里真正的问题是那些不懂密码的人,他们声称某些东西被破坏了,仅仅是因为某些机制已经被破坏了,用于特定的不同用途。该机制的使用方式非常重要。为一种用途被破坏的散列对于其他用途是完全安全的,这就是它。

我把它读成“除了SHA-1什么都不用了”。但是有些人告诉我,事情并不是这样的。所以我再也不知道该怎么想了。

1b.

此外,我找不到任何信息,密码是否对磁盘读写/寻址性能有任何影响,一旦磁盘被解锁和系统登录。

那么,密码的复杂性是否只影响密码进入阶段的“性能”,还是在正常使用系统时影响性能?

2.算法

我已经读了好几天了,但是我读得越多,我就越困惑。我读到的东西都说AES是最快的,而蛇是最慢的。但根据我的笔记本电脑:

代码语言:javascript
复制
$ cryptsetup benchmark
Tests are approximate using memory only (no storage IO).
PBKDF2-sha1       344926 iterations per second
PBKDF2-sha256     198593 iterations per second
PBKDF2-sha512     129007 iterations per second
PBKDF2-ripemd160  271933 iterations per second
PBKDF2-whirlpool  134295 iterations per second
#  Algorithm | Key |  Encryption |  Decryption
     aes-cbc   128b   149.8 MiB/s   147.9 MiB/s
 serpent-cbc   128b    51.0 MiB/s   196.4 MiB/s
 twofish-cbc   128b   127.6 MiB/s   152.5 MiB/s
     aes-cbc   256b   114.3 MiB/s   113.8 MiB/s
 serpent-cbc   256b    51.2 MiB/s   198.9 MiB/s
 twofish-cbc   256b   129.8 MiB/s   167.5 MiB/s
     aes-xts   256b   153.3 MiB/s   150.6 MiB/s
 serpent-xts   256b   176.4 MiB/s   184.1 MiB/s
 twofish-xts   256b   160.8 MiB/s   159.8 MiB/s
     aes-xts   512b   115.4 MiB/s   112.1 MiB/s
 serpent-xts   512b   178.6 MiB/s   184.2 MiB/s
 twofish-xts   512b   160.7 MiB/s   158.9 MiB/s

所以看来,蛇不仅是最快的,而且在它之上,它是最快的,而且键最复杂。

不应该是相反的吗?我看错了,还是怎么了?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2014-01-05 16:23:46

真的没那么重要。对于用于键派生函数的散列,LUKS会确保它在计算上非常昂贵。它将简单地循环它,直到1秒的实时时间已经过去。

1b -关键推导方法对性能没有影响。密码本身就是这样。cryptsetup benchmark给你看的也一样多。

如果你的CPU足够现代,支持AES-NI指令( AES的硬件加速),2-AES是最快的。如果你现在和蛇一起去,你可能无法利用下一台笔记本电脑的AES-NI。

代码语言:javascript
复制
# Tests are approximate using memory only (no storage IO).
PBKDF2-sha1      1165084 iterations per second
PBKDF2-sha256     781353 iterations per second
PBKDF2-sha512     588426 iterations per second
PBKDF2-ripemd160  726160 iterations per second
PBKDF2-whirlpool  261882 iterations per second
#  Algorithm | Key |  Encryption |  Decryption
     aes-cbc   128b   692.9 MiB/s  3091.3 MiB/s
 serpent-cbc   128b    94.6 MiB/s   308.6 MiB/s
 twofish-cbc   128b   195.2 MiB/s   378.7 MiB/s
     aes-cbc   256b   519.5 MiB/s  2374.0 MiB/s
 serpent-cbc   256b    96.5 MiB/s   311.3 MiB/s
 twofish-cbc   256b   197.9 MiB/s   378.0 MiB/s
     aes-xts   256b  2630.6 MiB/s  2714.8 MiB/s
 serpent-xts   256b   310.4 MiB/s   303.8 MiB/s
 twofish-xts   256b   367.4 MiB/s   376.6 MiB/s
     aes-xts   512b  2048.6 MiB/s  2076.1 MiB/s
 serpent-xts   512b   317.0 MiB/s   304.2 MiB/s
 twofish-xts   512b   368.7 MiB/s   377.0 MiB/s

请记住,这个基准没有使用存储,所以您应该用实际使用的任何存储和文件系统来验证这些结果。

票数 5
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/107975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档