--s2k-* GnuPG 选项的目的是什么?

信息安全 密钥管理 pgp
2021-08-23 10:00:19

当我使用gpg --symmetric --s2k-并按选项卡时,会出现一些选项:

--s2k-cipher-algo
--s2k-count
--s2k-digest-algo
--s2k-mode

这些选项有什么作用?

1个回答

--s2k-mode设置操作模式

  • 0:简单(对密码应用一次哈希)
  • 1:加盐(对密码应用一次哈希+8字节加盐)
  • 3:迭代和加盐(对密码应用选择次数的哈希+8字节加盐)

--s2k-digest-algo 设置用于密码散列的散列函数

--s2k-count 设置此哈希函数将应用的轮数

--s2k-cipher-algo 选择密码来使用散列密码加密明文

在 GnuPG 1.4.12 中,默认值为(通过实验发现):

--s2k-mode = 3
--s2k-digest-algo = SHA1 (supports MD5, RIPEMD-160, SHA2s too)
--s2k-count = 65536 (supports from 1024 to 65011712)
--s2k-cipher-algo = CAST5 (supports 3DES, CAST5, Blofish, AES, Twofish, Camellia too)

您可以通过键入来查看现有密钥是如何加密的 gpg --list-packets ~/.gnupg/secring.gpg

但是GnuPG 支持的所有算法都可以在 GPU上高效地自动化。所以我建议使用bcryptorscrypt代替--s2k-*选项的侧面实现,然后将其结果作为 GnuPG 的密码,并将其--s2k-mode设置为 0。