Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Encryption AES解密假阳性?_Encryption_Aes - Fatal编程技术网

Encryption AES解密假阳性?

Encryption AES解密假阳性?,encryption,aes,Encryption,Aes,现在,我用多个AES密钥加密了很多消息。 但消息将仅由一个AES密钥加密。 因此,每个AES密钥都有自己的检查代码,以确定该消息是由它加密的。在加密之前,检查代码被附加到消息中。在描述之后,检查代码以查看我是否选择了正确的键来描述 但是,我想知道一条消息,用密钥a加密的M(当然在M前面有一个a的检查码),在用密钥B解密后,是否可以显示B的检查码?可能吗 谢谢你阅读一个问题。 我英语不好,如果你在阅读上有任何问题,请留下答复。我会提供更多关于这个问题的信息 这完全取决于您的检查代码。假设您的检查代

现在,我用多个AES密钥加密了很多消息。 但消息将仅由一个AES密钥加密。 因此,每个AES密钥都有自己的检查代码,以确定该消息是由它加密的。在加密之前,检查代码被附加到消息中。在描述之后,检查代码以查看我是否选择了正确的键来描述

但是,我想知道一条消息,用密钥a加密的M(当然在M前面有一个a的检查码),在用密钥B解密后,是否可以显示B的检查码?可能吗

谢谢你阅读一个问题。
我英语不好,如果你在阅读上有任何问题,请留下答复。我会提供更多关于这个问题的信息

这完全取决于您的检查代码。假设您的检查代码只有1位长,您得到误报的概率为50%。1

然而,这个问题是众所周知的名下。很多库都有内置的函数,可以同时覆盖加密和身份验证(以及完整性)

我强烈建议使用直接提供AE的库,不要自己组合多个加密原语。开发AE的原因是观察到实现经常出错


1我认为这句话并不完全正确,但其要点应该是。

AE(AD)密码或HMAC/SHA-*的手动构造相对于密码文本的优势在于,在尝试解密未知密码文本之前,可以验证身份验证标签(OP称之为“检查码”)。这降低了选择的密码文本攻击(CCA)的攻击向量,并保证加密文本在传输过程中没有被修改。确保对auth标记使用恒定时间相等检查,以避免泄漏计时信息。