如何找出我的 GnuPG 密鑰長度?

如何找出我的 GnuPG 密鑰長度?

這可能是一個愚蠢的問題,但到目前為止我還沒有找到答案...

我前段時間創建了一個密鑰對,我可以看到

ls -l ~/.gnupg
  -rw------- 1 xxx xxx 7912 sept. 24 20:08 gpg.conf
  -rw------- 1 xxx xxx 1202 oct.  11  2014 pubring.gpg
  -rw------- 1 xxx xxx  600 sept. 24 20:40 random_seed
  -rw------- 1 xxx xxx 2580 oct.  11  2014 secring.gpg
  -rw------- 1 xxx xxx 1280 oct.  11  2014 trustdb.gpg

因為secring.gpg是 2580 位,所以我想我有一個 2048 位元密鑰。

這是由 maven-gpg 插件確認的,因為當我使用它時,它會記錄

You need a passphrase to unlock the secret key for
user: xxx
2048-bit RSA key, ID 0F1F7C52, created 2014-10-11

但是,查找密鑰長度的規範方法是什麼?以及它的相關演算法?

答案1

但是,查找密鑰長度的規範方法是什麼?以及它的相關演算法?

您已經將其列印在螢幕上,儘管規範的方法是使用提供類似的輸出來列印密鑰列表gpg --list-secret-keys(這稍微取決於所使用的 GnuPG 版本)。

 2048-bit RSA key, ID 0F1F7C52, created 2014-10-11

您使用的是 2048 位元 RSA 金鑰。

演算法很重要,有些演算法需要更大的金鑰才能實現相當的安全性,因為它們建立在不同的數學問題上。例如,RSA 要求相當與 DSA 相比,金鑰較大(1024 位元 DSA 金鑰被認為很好,而 1024 位元 RSA 金鑰有點小),但受到弱熵的影響較小。橢圓曲線加密技術提供了“每個位元更高的安全性”,但它是比 RSA 和 DSA 更新且經驗豐富的發燒分析。

因為 secring.gpg 是 2580 位,所以我想我有一個 2048 位元金鑰。

其實不是,是2580位元組,所以你離開了因素 8。

  • 公鑰(始終儲存在 OpenPGP 中的金鑰資料包中)
  • 秘密子密鑰資料包
  • 子金鑰的綁定簽名
  • 帶有自簽署的使用者 ID 資料包
  • 使用者屬性(目前,只有圖像使用該資料包)

如果您好奇,可以使用 列出該文件中包含的所有資料包gpg --list-packets ~/.gnupg/secring.gpg

答案2

偵測顯示 OpenPGPjs 私鑰長度位

# gpg --import your_armored.key
# gpg --list-secret-keys

/root/.gnupg/secring.gpg
------------------------
sec   4096R/1254E55E 2018-03-13
uid                  Hey <[email protected]>
ssb   4096R/BWC45268 2018-03-13

4096R 4096位

相關內容