GPG2不提供身份验证。默认情况下,它仍然使用SHA-1。随着时间的推移,它似乎不会变得更强大。
如果要将随机生成的对称密钥(来自TRNG)传递到
整个加密和签名的GPG数据块+该GPG数据块的HMAC
对于计算上没有限制的对手来说,因为他们知道GPG消息的底层结构,他们会有什么优势来伪造信息吗?假设他们知道明文。他们能在不被接收者知道的情况下翻转任何比特吗?
因此,用户通常使用GPG2,比如使用RSA,然后使用AES-256和SHA-512加密和签名消息。然后,用户使用SHA-512烧录HMAC中的一些关键垫材料。对称密钥与这个级联块一样长。对称密钥材料已经以一种安全的方式共享,当然( OTP)。
假设对手知道所有的明文。他们是否能够在接收者不知情的情况下翻转任何比特,也就是说,这比HMAC所承诺的安全性要好得多?我想不是,但我很乐意听取专家的意见。
发布于 2020-09-10 18:01:12
GPG不使用量子后签名,因此任何当前的GPG实现都无法提供这样的安全性;不管所使用的哈希算法如何。
但是,让我们假设GPG实现中有量子后签名:
如果哈希足够大,且哈希本身是安全的,则不知道HMAC密钥的攻击者将无法伪造消息。问题是,如果量子计算机无法做到这一点,哈希必须至少512位长。
对于量子计算机,512位哈希的行为(大约)就像256位哈希在经典计算机上的行为一样;而生日悖论声明,即使是在经典计算机上,256位哈希也只能确保128位的安全性。
注意:对于那些关心此事的人,512位哈希的安全性要略高于传统计算机的256位哈希;安全性比特相对于2^k的立方根( k是散列的位长),而不是平方根的平方根。
此外,HMAC密钥必须能够提供(理想情况下) 128位的安全性,这样才不会受到任何攻击的影响;这也适用于经典计算机。这意味着,HMAC密钥必须充当256位密钥才能不被破坏.这意味着你应该选择一个安全的密码,如果你使用一个密码为HMAC密钥.但你已经知道了。
一旦HMAC密钥被破坏,哈希的安全性就会恢复到底层散列算法的安全性。
签名的安全性仅部分取决于散列。剩下的取决于签名算法,因为弱签名方案允许我签署任何我想要的签名。
但我真正的问题是“为什么你认为HMAC是一个好主意的签名方案?”这样做只允许了解HMAC密钥的人验证签名;因此,任何能够验证消息的人都可以伪造与正常签名方案相同的消息。
另一个注意事项:您只需HMAC已签署的消息。因此,伪造签名的能力不受影响;因为伪造签名不需要攻击者更改签名,只需与签名发生冲突,这将不可避免地导致在您的方案下也会出现相同的HMAC,从而有效地消除了HMAC的安全性。
https://crypto.stackexchange.com/questions/83864
复制相似问题