非对称加密算法是当前互联网安全的基础。我们常用的软件几乎都基于非对称加密技术来实现安全防护。比如https,ssh等协议全部基于非对称加密原理实现。
什么是对称加密
明文使用秘钥加密,并且可以使用同样的秘钥将密文解密,此类加密算法称之为对称加密,此时两个秘钥都是私钥。常见对称加密算法有DES,AES等。
应用场景:压缩包的压缩和解压过程。打包的时候输入密码,解压的时候需要输入同样的密码。这个过程中加密和解密使用的是同样的密码( 秘钥)。这是典型的对称加密过程。
什么是非对称加密
- 首先有一对秘钥,公钥(publickey)私钥(privatekey),注意他们是一对,只有成对的公私钥方可完成加密和解密的过程。
- 通过公钥加密的密文只能通过私钥解密,反之亦然。
- 常见的非对称加密算法有RSA。
应用场景:
- SSH 远程登录服务器:本地生成秘钥对,将公钥保存到服务器。将请求信息通过私钥加密,服务器接到请求,使用事先保存在服务器上的公钥进行解密,然后将响应使用公钥加密,客户端接收到响应之后使用私钥解密。这个过程实现了免密登录服务器,只要事先将客户端的公钥保存到服务器即可。
- http协议:访问http协议的网站,首先将从网站上下载证书(公钥),然后使用公钥将请求数据加密传输到服务器, 服务器使用私钥解密请求内容。请求处理完毕,服务器将响应用私钥加密传输到客户端,客户端使用公钥解密。
上面的两个例子只是简单概括数据传输的过程,当然实际的过程要非常复杂。
如何使用ssh登录远程服务器?请参考另一篇文章《#SSH——非对称加密的网络安全实践
》
对称加密和非对称加密对比
- 计算量:对称加密计算量小,效率高。所以一般用来加密小的内容。
- 安全性:对称加密安全性差。因为使用同样的私钥,所以需要传递私钥来完成加密过程,这个传递过程是无法保证安全的。非对称加密安全性高。只需要公布公钥,私钥是不用公布的,只保留在本机即可。
热门评论