如果使用非对称密钥加密的消息损坏,会发生什么情况?

安东尼奥23249

我对加密有一个理论上的疑问,我无法在我拥有的任何资源中找到澄清。我真的很感激有人为我澄清这个小疑问。

我正在研究非对称加密,我想知道如果,例如,收件人收到一条用私钥加密的消息,并且该消息在途中被破坏,例如由于电干扰,会发生什么。

我怀疑当收件人解密消息时会发生什么:我猜消息要么不会被解密(所以你会得到一个错误)或者它会被解密为一个无法理解的消息。

非常感谢任何帮助。

用户1686

如果您问的是纯理论问题,答案是“这取决于加密算法”。

然而,在实践中:

  1. 消息通常使用非对称密钥加密。它们通常太长了。相反,一个简短的“会话密钥”使用非对称密钥加密,整个消息使用对称 AES 或类似的会话密钥加密。

    如果非对称加密的会话密钥损坏,则整个消息将完全无法解密(充其量会导致 100% 的垃圾和 0% 的原始数据)。

    如果对称加密的消息数据损坏,则结果取决于所使用的密码模式(例如,对于分组密码 CBC 或 CTR 或 GCM 或其他)。较早的块将被解密,损坏的块将是垃圾,后面的块可能是垃圾,也可能不是垃圾,具体取决于模式。

  2. 最广泛使用的加密系统还包括某种形式的完整性保护,以防止故意篡改,这也可以防止常规数据损坏。例如,AEAD 密码,或单独的 HMAC,或类似 PGP 的“MDC”。

    如果此完整性标记存在,程序通常会完全拒绝返回它确定已损坏的消息,因为它不知道损坏的原因。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果我尝试使用SetObject并且已经拥有相同的密钥,会发生什么情况?

来自分类Dev

如果我使用7zip压缩EFS加密的文件以创建新的zip会发生什么情况

来自分类Dev

在不生成密钥对的情况下使用SSH会发生什么情况?

来自分类Dev

如果不将字体嵌入Flash,会发生什么情况?

来自分类Dev

如果rm在提示中途停止,会发生什么情况?

来自分类Dev

如果不关闭Docker容器,会发生什么情况?

来自分类Dev

如果仅在类中重写hashCode()并在Set中使用它,会发生什么情况?

来自分类Dev

如果在已经初始化的变量上使用`var`会发生什么情况

来自分类Dev

如果使用ifconfig“启动”网络接口,会发生什么情况?

来自分类Dev

如果在我的java文件中使用了很多@SuppressWarnings,会发生什么情况?

来自分类Dev

如果在crontab文件中使用@reboot reboot,会发生什么情况?

来自分类Dev

如果获取互斥锁之后发生中断,会发生什么情况

来自分类Dev

JWT使用非对称加密

来自分类Dev

如果在程序中使用属性而不启用和绑定缓冲区,会发生什么情况?

来自分类Dev

如果我为当前不使用的字符串位置分配一个值,会发生什么情况?

来自分类Dev

如果我使用--force标志格式化已安装的USB驱动器,会发生什么情况?

来自分类Dev

使用cronjob移动大文件:如果mv在下次运行时仍在运行,会发生什么情况?

来自分类Dev

密钥过期后,OpenPGP签名的git commit会发生什么情况?

来自分类Dev

在什么情况下,azure 函数的授权密钥会发生变化?

来自分类Dev

HTTPS使用非对称或对称加密?

来自分类Dev

挂起负责处理消息的线程时,会发生什么情况?

来自分类Dev

如果无法通过create()清除Model :: $ id,会发生什么情况?

来自分类Dev

如果尝试并最终在方法中返回布尔值,会发生什么情况

来自分类Dev

如果我在已删除的实体上调用EF Reload,会发生什么情况?

来自分类Dev

如果我在Spark中两次缓存相同的RDD,会发生什么情况?

来自分类Dev

如果我为一个中断创建多个ISR,会发生什么情况?

来自分类Dev

如果我在GCC中编译并链接到不需要的库,会发生什么情况?

来自分类Dev

如果我在estimateRigidTransform或getAffineTransform中提供更多输入,会发生什么情况?

来自分类Dev

如果方法A调用方法B并且都具有[Transaction]属性,会发生什么情况?

Related 相关文章

  1. 1

    如果我尝试使用SetObject并且已经拥有相同的密钥,会发生什么情况?

  2. 2

    如果我使用7zip压缩EFS加密的文件以创建新的zip会发生什么情况

  3. 3

    在不生成密钥对的情况下使用SSH会发生什么情况?

  4. 4

    如果不将字体嵌入Flash,会发生什么情况?

  5. 5

    如果rm在提示中途停止,会发生什么情况?

  6. 6

    如果不关闭Docker容器,会发生什么情况?

  7. 7

    如果仅在类中重写hashCode()并在Set中使用它,会发生什么情况?

  8. 8

    如果在已经初始化的变量上使用`var`会发生什么情况

  9. 9

    如果使用ifconfig“启动”网络接口,会发生什么情况?

  10. 10

    如果在我的java文件中使用了很多@SuppressWarnings,会发生什么情况?

  11. 11

    如果在crontab文件中使用@reboot reboot,会发生什么情况?

  12. 12

    如果获取互斥锁之后发生中断,会发生什么情况

  13. 13

    JWT使用非对称加密

  14. 14

    如果在程序中使用属性而不启用和绑定缓冲区,会发生什么情况?

  15. 15

    如果我为当前不使用的字符串位置分配一个值,会发生什么情况?

  16. 16

    如果我使用--force标志格式化已安装的USB驱动器,会发生什么情况?

  17. 17

    使用cronjob移动大文件:如果mv在下次运行时仍在运行,会发生什么情况?

  18. 18

    密钥过期后,OpenPGP签名的git commit会发生什么情况?

  19. 19

    在什么情况下,azure 函数的授权密钥会发生变化?

  20. 20

    HTTPS使用非对称或对称加密?

  21. 21

    挂起负责处理消息的线程时,会发生什么情况?

  22. 22

    如果无法通过create()清除Model :: $ id,会发生什么情况?

  23. 23

    如果尝试并最终在方法中返回布尔值,会发生什么情况

  24. 24

    如果我在已删除的实体上调用EF Reload,会发生什么情况?

  25. 25

    如果我在Spark中两次缓存相同的RDD,会发生什么情况?

  26. 26

    如果我为一个中断创建多个ISR,会发生什么情况?

  27. 27

    如果我在GCC中编译并链接到不需要的库,会发生什么情况?

  28. 28

    如果我在estimateRigidTransform或getAffineTransform中提供更多输入,会发生什么情况?

  29. 29

    如果方法A调用方法B并且都具有[Transaction]属性,会发生什么情况?

热门标签

归档