SSH密钥对生成:是RSA还是DSA?


Answers:


70

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


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

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

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

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

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

5

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


5

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


3

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


1

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.