SSH支持两种密钥对签名算法:RSA和DSA。哪个是首选(如果有)?对于RSA,可接受的最小密钥长度是多少?

#1 楼

RSA通常是首选(现在已经解决了专利问题),因为它可以上升到4096位,其中DSA必须恰好是1024位(以ssh-keygen的观点)。 2048位是ssh-keygen RSA密钥的默认长度,我看不出使用较短密钥的任何特殊原因。 (我认为,最小可能是768位;我认为这是否是可以接受的。)

评论


我经常想知道为什么人们会觉得需要使用2048位密钥来确保ssh连接的安全性,而您大概信任的银行不太可能超过256位,而更可能坚持使用128位。我当然不是说使用大键有什么问题,我只是……说。

–麦桑福德
09年7月13日在19:57

银行SSL连接是使用的另一种密码,更具体地说,生成用于交易主要部分的密钥,并将其仅用于该交易,然后丢弃。

– phiphidian
09年7月13日在20:20

原因实际上与缩放有关。加密并不便宜,密钥强度越高,您可以提供的SSL连接就越少。如果您有一家零售银行,每个消费者都尝试使用SSL,那么您将不得不选择兼容的密钥套件,但还要匹配您的硬件。

– Spence
09年8月5日在23:22

msanford:就像Ophidian所说的那样,它们是不同种类的加密。 256位RSA密钥几乎完全无用。对称密钥的范围为128-512位,而非对称密钥的起始范围为768位,并且安全密钥的高度大约为1500-2000位。 768位公共密钥可以并且已经被破坏。 128位对称(实际上)实际上不能被破坏。

–托马斯
09年8月6日在11:06

@ xenoterracide,ssh使用openssl库。 SSH首次启动时,它使用RSA / DSA密钥进行主机验证并为会话设置对称密钥。这与SSL服务器和客户端遵循的过程相同,因此您会发现我们在谈论SSH,他们经常会提及允许对SSL进行研究和编写文档

–沃尔特
2010-3-17在15:05

#2 楼

这与对称或非对称加密无关。它与特定算法(RSA和DSA)有关,需要更高的位数才能达到可接受的安全级别。例如,ECC也是一种非对称加密,但是它以比RSA或DSA低得多的位数提供了良好的安全性。

#3 楼

如果您最近使用了SSH,则也可以考虑使用ECDSA!

#4 楼

bank用于SSL连接的256位证书是对称密码,例如3DES或AES,因此位数较少。当您看到1024和2048(甚至4096)时,它们是不对称密码。

#5 楼

DSA密钥的签名比RSA密钥短(对于相同的“安全级别”),因此使用DSA的原因之一是在受限的环境中。