我对加密有一个理论上的怀疑,我在我拥有的任何资源中都找不到这一点。我真的很感谢有人为我澄清这个小疑问。
我正在研究非对称加密,我想知道例如,如果收件人收到使用私钥加密的消息并且消息在途中被损坏,例如由于电气干扰,会发生什么情况。
我怀疑当收件人解密邮件时会发生什么:我猜邮件要么不会被解密(所以你会得到一个错误),要么它会被解密成一个难以理解的消息。
非常感谢任何帮助。
我对加密有一个理论上的怀疑,我在我拥有的任何资源中都找不到这一点。我真的很感谢有人为我澄清这个小疑问。
我正在研究非对称加密,我想知道例如,如果收件人收到使用私钥加密的消息并且消息在途中被损坏,例如由于电气干扰,会发生什么情况。
我怀疑当收件人解密邮件时会发生什么:我猜邮件要么不会被解密(所以你会得到一个错误),要么它会被解密成一个难以理解的消息。
非常感谢任何帮助。
如果您问的是纯理论问题,答案是“这取决于加密算法”。
然而,在实践中:
消息通常不使用非对称密钥加密。它们通常太长了。相反,一个短的“会话密钥”使用非对称密钥加密,整个消息使用对称 AES 或类似的会话密钥加密。
如果非对称加密的会话密钥损坏,则整个消息将完全无法解密(最多会导致 100% 垃圾和 0% 原始数据)。
如果对称加密的消息数据损坏,结果取决于所使用的密码模式(例如,对于分组密码 CBC 或 CTR 或 GCM 或其他)。较早的块将被解密,损坏的块将是垃圾,后面的块可能是垃圾,也可能不是垃圾,具体取决于模式。
最广泛使用的加密系统还包括某种形式的完整性保护,以防止故意篡改,这也可以防止常规数据损坏。例如,AEAD 密码、单独的 HMAC 或 PGP 的“MDC”之类的东西。
如果存在此完整性标记,程序通常会完全拒绝返回它确定已损坏的消息,因为它不知道损坏的原因。