首先:我知道加密-然后-认证更好,但我想了解下面的认证-然后-加密。下面的密码是AES-CTR或AES-CBC。
在使用加密认证时,可以证明密码文本的真实性,因为双方都有认证算法的密钥,例如HMAC。
当使用认证-然后加密,一方不能证明密码文本的真实性,因为它必须首先解密它。如果它解密,然后检查真实性摘要并得到匹配,那么它就知道消息具有真实性。
下面是我的问题:使用密钥的真实性算法,例如HMAC,是否提供比CRC-xx这样的简单校验和所能提供的完整性更多的信息?如果一方解密消息并在校验和上获得匹配,这应该意味着使用了正确的密钥,只有双方拥有并因此对消息进行了身份验证。
提前谢谢你和比尔。
发布于 2021-02-15 13:24:16
你似乎是在问:如果接收者能够正确地使用密钥解密消息,难道这不是已经证明它是由另一方发送的,而另一方也有秘密密钥吗?
AES和类似的块密码实际上并不区分成功的解密操作和失败的解密操作。消息是以某种方式被转换的,希望这会产生明文。因此,我们需要检查嵌入的HMAC或CRC校验和,以确定解密是否成功。
攻击者将能够操纵密文,以便CRC对明文是正确的。
使用某些密码器(如AES-CBC ),攻击者可以以、它可靠地更改明文.的方式更改密文。如果攻击者修改密文,我们的HMAC或CRC校验和将不再正确。但是,对于CRC校验和,攻击者可以修改加密文本,直到CRC再次正确为止。攻击者可以在嵌入式CRC中翻转位,并计算它应该是什么。
https://security.stackexchange.com/questions/244859
复制相似问题