安全算法
传输数据时的四个问题
窃听
A向B发送的消息可能会在传输途中被X偷看(如下图)。这就是“窃听”。
假冒
A以为向B发送了消息,然而B有可能是X冒充的(如下图);反过来,B以为从A那里收到了消息,然而A也有可能是X冒充的。
篡改
即便B确实收到了A发送的消息,但也有可能像图这样,该消息的内容在途中就被X更改了。这种行为就叫作“篡改”。
除了被第三者篡改外,通信故障导致的数据损坏也可能会使消息内容发生变化。
事后否认
B从A那里收到了消息,但作为消息发送者的A可能对B抱有恶意,并在事后声称“这不是我发送的消息”(参考下图)。
这种情况会导致互联网上的商业交易或合同签署无法成立。这种行为便是“事后否认”。
解决这些问题的安全技术
为了解决这些问题,我们需要使用哪些安全技术呢?来简单了解一下每个问题的应对方法吧。
为了应对第一个问题“窃听”,我们会使用 “加密”技术。
为了应对第二个问题“假冒”,我们会使用“消息认证码”(下图左)或“数字签名”(下图右)技术。
为了应对第三个问题“篡改”,我们同样会使用“消息认证码”或“数字签名”技术。其中“数字签名”技术还可以用于预防第四个问题“事后否认”。
参考: 我的第一本算法书 5-1 安全和算法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2021-01-19 Thumbnailator 图片压缩
2017-01-19 js jquery数组去重