加密算法首选项的安全等级:对于 GPG

Sta*_*ion 5 security encryption pgp gnupg

GPG 和 PGP 根据接收方密钥的支持算法的优先列表协商要使用的加密和散列算法。问题是 DES/MD5 如果由于 OpenPGP 标准尚未包含,则被迫作为最后选择包含在内。

是的,当然,它们都非常安全,而且实际上可能比需要的更安全(除了量子问题或重大数学发现)。

但是,为了最大限度地提高安全性,您会选择 gpg 支持的对称加密的排序顺序,为什么?

GPG 支持的对称和散列算法:

密码:IDEA (S1)、3DES (S2)、CAST5 (S3)、BLOWFISH (S4)、AES (S7)、AES192 (S8)、AES256 (S9)、TWOFISH (S10)、CAMELLIA128 (S11)、CAMELLIA192 (S12) ), CAMELLIA256 (S13)

哈希:MD5 (H1)、SHA1 (H2)、RIPEMD160 (H3)、SHA256 (H8)、SHA384 (H9)、SHA512 (H10)、SHA224 (H11)

散列算法很容易订购,因为 SHAxxx 系列被认为是 GPG 中最好的,其次是 RIPEMD160 SHA1 和 MD5。取缔除 SHA-2 版本以外的任何内容会很好。

Riseup 的指南建议:

personal-cipher-preferences AES256 AES192 AES CAST5
Run Code Online (Sandbox Code Playgroud)

这是错误的,因为您想尽可能避免 DES 回退,对吗?为什么不是这个或合理的变化?

AES256 AES192 AES TWOFISH CAMELLIA256 CAMELLIA192 CAMELLIA128 CAST5 BLOWFISH 
Run Code Online (Sandbox Code Playgroud)

[然后DES由支持OpenPGP的软件添加]

讨论 GPG 的好答案,但对对称算法的讨论不多。 顶级散列和加密算法

Jen*_*rat 5

出于兼容性的原因,OpenPGP 强制支持一组基本算法,您已经意识到不能完全禁用它们。

这个想法是提供尽可能多的比 DES 和 MD5更好的算法,以增加发送方和接收方之间匹配的机会。忽略任何比 DES 和 MD5更好的东西总是不知所措,没有理由这样做,因为这些是支持的最差算法。不要只将自己限制在“最新和最好的算法”上,否则当其他人使用较旧的实现时,您可能会遇到已知弱点的最坏情况。

另外不要忘记有两个地方可以配置这些选项:您自己的首选项(在 中gpg.conf),以及存储在您的密钥中以告诉使用该密钥的其他人您的首选项是什么(gpg --edit-key, setpref ...)。对于后者,请确保列出所有三个类别的首选项,否则您将限制自己使用标准强制执行的最小算法集。

对称加密算法

OpenPGP 支持的任何算法(除了 DES)都被认为是强大的,并且没有已知的弱点。Blowfish 在弱密钥方面存在一些问题,可能是比其他选择更糟糕的选择,因为实现可能无法选择好的密钥。

为所有算法提供一个总顺序是很困难的,只要你把河豚放在最后。将 AES 放在前面似乎是合理的,因为它可能是所有算法中使用和分析最多的算法。

散列算法

选择在这里更容易。MD5 不好;SHA-1 比 MD5 好,但仍然存在已知问题。其他的被认为是强大的。

压缩算法

压缩很重要,压缩可以防止对 OpenPGP CFB 模式的一些深奥攻击

其中的选择很大程度上取决于您。