值得信賴的推薦

值得信賴的推薦

我已經發現這個相對老的問題關於 RSA 或 DSA 是否是使用 GnuPG 進行簽署和加密的首選演算法。

使用 時gpg --gen-key,兩個相關選擇是「RSA 和 RSA」或「DSA 和 Elgamal」。哪一種的加密演算法更強?自2009年以來發生了什麼變化?

答案1

值得信賴的推薦

在上一篇文章發表時,仍然存在關於更改預設演算法的爭論仍可在網絡檔案中找到達成了粗略的共識,切換到 RSA 2k 金鑰因為預設已執行。

德班建議在其文件中使用 4k RSA 金鑰關於使用子項debian 金鑰自述文件。 debian 開發者金鑰環中大約四分之三的金鑰中的絕大多數(仍然)是 DSA/Elgamal(透過 gpg 的輸出進行 grep 計數)。

在接受 iX(德國電腦科學雜誌,第 11/2013 期)採訪時,免費線上提供),PGP的發明者菲爾·齊默曼建議“使用 RSA 時至少 3k 長度”,儘管 1k 金鑰尚未損壞。但它們「可以被資源豐富的攻擊者所觸及」。

關於安全

目前,據說對於足夠的金鑰大小來說,兩者都是安全的(RSA 建議使用 4k,DSA2 需要 2k,否則您將使用使用 SHA-1 的 DSA1)。

用於選擇一個RSA 金鑰長度, 看一下NIST 提供的實際實力概覽(第 64 頁)。很容易看出,強度並不隨著金鑰長度(和計算時間)線性增長,因此雙倍大小並不意味著「雙重安全」。

有一個Debian 上 OpenSSL 的 DSA 實作問題,但這是由於使用了錯誤的隨機資料而導致的,而​​ RSA 也可能發生這種情況。

在 RSA 和 DSA2 之間進行選擇

RSA原

  • RSA 更為廣泛,儘管在 OpenPGP 標準中不是必需的,但所有主要實作都可以處理它; DSA2 還沒有
  • RSA 提供更快的簽章檢查

親DSA2

  • 簽名較小,但無論如何它們都很小;對於電子郵件和程式碼簽名可能可以忽略不計
  • 更快的金鑰創建(可能與低功耗和嵌入式設備(例如手機和路由器)相關)
  • 簽名速度稍微快一點

我自己的決定

在最近建立新的 OpenPGP 金鑰時,我決定選擇 8k RSA 作為主金鑰,使用 4k RSA 作為日常使用的子金鑰。無論如何,RSA 簽名的驗證速度很快,巨大的 8k 簽名僅用於簽署其他金鑰,但 8k 應該被認為足以在很長一段時間內使用。 4k 對於當前子金鑰來說很好,因為撤銷它很便宜,而且不會丟失所有簽章。

在我的 Core 2 Duo T9300 上建立該 8k 金鑰大約需要 20 分鐘,因此請花點時間做一些工作(用於提供隨機來源)。

答案2

而我選擇了 4K RSA 主金鑰以及 3K RSA 簽章子金鑰和 4K El-Gamal 加密子金鑰。我目前沒有選擇更高的主密鑰的唯一原因是,使用行動裝置的用戶普遍對更大的密鑰感到困擾。

當然,我確實有較大的鑰匙用於某些特定目的,但這往往不是為了與他人溝通。

相關內容