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

Bra*_*man 104 security ssh rsa cryptography

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

cha*_*aos 71

RSA 通常是首选(现在专利问题已经结束),因为它可以达到 4096 位,而 DSA 必须正好是 1024 位(在 看来ssh-keygen)。2048 位是ssh-keygenRSA 密钥的默认长度,我没有看到使用较短密钥的任何特殊原因。(可能的最小值是 768 位;我想这是否“可接受”是视情况而定。)

  • 银行 SSL 连接是一种不同类型的密码,更具体地说,用于交易主要部分的密钥被生成并仅用于该交易,然后被丢弃。 (25认同)
  • msanford:就像 Ophidian 所说,它们是不同类型的加密。256 位 RSA 密钥对于几乎任何目的都是完全无用的。对称密钥在 128-512 位范围内,而不对称*从 768 位开始*,并且在大约 1500-2000 位及以上时是安全的。768 位公钥可以并且已经被破坏。128 位对称实际上不能(本身)被打破。 (15认同)
  • @xenoterracide,ssh 使用 openssl 库。当 SSH 首次启动时,它使用 RSA/DSA 密钥进行主机验证并为会话设置对称密钥。这与 SSL 服务器和客户端遵循的程序相同,因此您会发现我们人们谈论 SSH,他们通常会提到允许为 SSL 所做的研究和文档 (2认同)

小智 5

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


b0f*_*0fh 5

如果您最近实现了 SSH,您也可以考虑 ECDSA !