混合加密
共享密钥加密存在无法安全传输密钥的密钥分配问题,公开密钥加密又存在加密解密速度较慢的问题。结合这两种方法以实现互补的一种加密方法就是混合加密。
在混合加密中,要用处理速度较快的共享密钥加密对数据进行加密。不过,加密时使用的密钥,则需要用没有密钥分配问题的公开密钥加密进行处理。
加密处理流程
假设A准备通过互联网向B发送数据。
使用处理速度较快的共享密钥加密对数据进行加密。加密时所用的密钥在解密时也要用到,因此A需要把密钥发送给B。
将密钥通过公开密钥加密进行加密后,A就可以将其安全地发送给B了。因此,作为接收方,B需要事先生成公开密钥和私有密钥。
B将公开密钥发送给A。
A使用收到的公开密钥,对共享密钥加密中需要使用的密钥进行加密。
A将加密后的密钥发送给B。
B使用私有密钥对密钥进行解密。
这样,A就把共享密钥加密中使用的密钥安全地发送给了B。
接下来,A只要将使用这个密钥加密好的数据发送给B即可。加密数据时使用的是处理速度较快的共享密钥加密。
混合加密方法
像这样,混合加密在安全性和处理速度上都有优势。能够为网络提供通信安全的SSL协议也应用了混合加密方法。SSL是Secure SocketsLayer(安全套接层)的简写,该协议经过版本升级后,现在已正式命名为TLS(Transport Layer Security,传输层安全)。但是,SSL这个名字在人们心中已经根深蒂固,因此该协议现在也常被称为SSL协议或者SSL /TLS协议。
参考: 我的第一本算法书 5-6 混合加密
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2021-01-19 Thumbnailator 图片压缩
2017-01-19 js jquery数组去重