
SSH 支援兩種金鑰對簽章演算法:RSA 和 DSA。如果有的話,哪個是首選?對於 RSA,可接受的最小金鑰長度是多少?
答案1
RSA 通常是首選(現在專利問題已經結束),因為它可以達到 4096 位,而 DSA 必須恰好是 1024 位(根據 的觀點ssh-keygen
)。 2048 位元是ssh-keygen
RSA 金鑰的預設長度,我沒有看到任何使用較短金鑰的特殊原因。 (最小可能是 768 位;我認為這是否“可接受”取決於具體情況。)
答案2
這與對稱或非對稱加密無關。它涉及需要更高位數才能達到可接受的安全等級的特定演算法(RSA 和 DSA)。例如,ECC 也是一種非對稱加密,但它以比 RSA 或 DSA 低得多的位數提供良好的安全性。
答案3
如果您最近實作了 SSH,您也可以考慮 ECDSA!
答案4
DSA 金鑰的簽章比 RSA 金鑰短得多(對於相同的「安全等級」),因此使用 DSA 的原因之一是在受限環境中。