A Practical Introduction to GNU Privacy Guard in Windows推荐DSA和ElGamal,但我想知道RSA是否足够好用于这些天,如果是这样,我应该使用什么最小密钥大小?是否可以使用SHA-256进行签名(与电子邮件客户端兼容)?
另外,在e-ignite: Key Types旁边,你能指出这个主题的其他来源吗?
答案 0 :(得分:6)
今天的RSA / DSA最低值实际上是1024位,因此Elleptical Curves的使用速度更快,因为它们更快并且使用更短的键。
要获得与AES256类似的安全性,您至少需要3072位(384字节)密钥......
现在使用证书向客户发送电子邮件 - 所以它是独立的(X.509),但是对于使用RSA / DSA,最常见的选项是SHA-1(现在有点弱)。
我建议学习:
答案 1 :(得分:5)
我知道主题已经过时了,但此时,DSA 1024被认为太弱了,就像SHA-1一样。 您应该使用RSA 2048(用于签名和加密)和SHA256(用于摘要)。通常,使用的对称算法是AES256,这已经足够了。
加密时,GPG会对数据进行gzip压缩,创建AES256密钥并使用它加密数据。然后,它使用收件人RSA或ElGamal公钥加密AES密钥,并将加密的AES密钥+加密数据发送到一个包中。
据称RSA 2048在2015年之前保护数据,RSA 4096将根据当时预测的计算机功率保护数据直至2020年。 (我不完全确定日期,但是4096位密钥比2048位密钥更难破解是合乎逻辑的)答案 2 :(得分:2)
SHA-1很弱,但没有完全破坏。 SHA-256只是SHA-1的扩展,目前它可能也比最初想象的要弱(假设同样的弱点被认为会影响整个sha系列),但它仍然需要很多计算能力来获得匹配。 / p>
无论如何,就数字签名而言,由于这只是最后一步的方式,因此问题变得不那么严重了。首先还有加密。
至于密钥大小,无论是RSA还是ElGammel / DSA,我现在都会推荐2048位密钥。 差异是RSA是基于因子数学,而ElGammel / DSA是基于对数数学,既不能被认为是更好或更差(尽管我并不认为基于椭圆曲线的东西与对数的东西密切相关)。
答案 3 :(得分:0)
我建议使用带有AES256和SHA512的RSA / RSA 4096
答案 4 :(得分:-2)
GPG只能使用RSA进行签名,而不能使用加密。默认值为DSA / Elgamal 1024/2048。 Elgamal默认密钥长度曾经是1024,但有人必须已经确定不够安全。 GPG邮件列表上的人说大多数人不应该超过2048。
我对各种签名算法不太清楚。我知道SHA-1存在问题,但这与DSA / RSA有何关系?
多年来我使用相同的密钥使用上述默认值。我没有太多使用它,但我想知道生成一个新的是否合理。
答案 5 :(得分:-3)
如果你不知道,你应该使用GPG默认值! (这就是作者的意图。)