加密算法

简介

  • 对称加密: 加密和解密的秘钥使用的是同一个
  • 非对称加密: 与对称加密算法不一样,非对称加密算法须要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。
  • hash: 单向算法

对称加密

优势: 算法公开、计算量小、加密速度快、加密效率高

缺点:若是有一方丢失密钥,数据就不安全算法

常见的算法:AES、DES、IDEA、RC四、RC五、RC6安全

非对称加密

公开密钥与私有密钥是一对,若是用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;若是用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。由于加密和解密使用的是两个不一样的密钥,因此这种算法叫做非对称加密算法。性能

优势: 安全

缺点:速度较慢加密

常见的算法:RSA、ECC、DSA、Diffie-Hellman、
El Gamalhash

Hash(摘要算法)

单向算法,用户能够经过hash算法对目标信息生成一段特定长度的惟一hash值,但不能解密,
所以Hash算法经常使用在不可还原的密码存储、信息完整性校验等。效率

常见的摘要算法有: MD二、MD四、MD五、HAVAL、SHA原理

SSL/TLS

由于每次使用非对称加密消耗的性能不少,那么能不能和对称加密结合起来呢?SSL/TLS就是一种这样的标准,咱们这里先举一个例子:客户端和服务端通讯密码

原理:客户端使用服务端的公钥来 非对称加密一条密文,这条密文是 对称密钥,服务端经过本身的私钥解密出来知道是对称加密的密钥后,后面通讯就使用 对称加密,这样安全和性能就能共存了。

风险:在服务端把公钥发送给客户端时,被中间人截获,中间人返回本身的公钥,客户端的对称密钥就会被中间人用私钥解密出来,而后中间人再用服务端的公钥加密发给服务端,这样后面的对称加密数据都会被中间人解密通信

解决办法:CA(证书认证机构),服务端在CA申请证书,客户端拿到公钥后去CA验证是不是服务端的公钥数据

相关文章
相关标签/搜索