DES|3DES|AES|RSA|DH | CA | SSL(HTTPS)
1、对称密钥算法:
加解密速度块,算法使安全的,已知算法无法推出密钥。但是密钥的分发困难。
DES:对称密钥算法,是一种块加密算法,只有一个密钥。加解密都是用一个密钥。
3DES:与DES一样,可以认为使DES的升级版,加密的强度更大。
AES:与DES不一样的是他是基流加密,也就是逐比特进行加密,而AES是块加密。
2、非对称密钥算法:
加解密速度慢,算法安全,拥有双密钥(公钥和私钥),公私钥无法互相推出来。密钥分发容易。
RSA:
公钥加密只能用私钥解密。(数据加密)。
私钥加密只能用公钥解密。(数字签名)。
RAS数据传输过程:
①将要传输的数据进行Hash(MD5或者SHA),得到一个hash值。
②使用对方的公钥对数据进行加密
③使用自己的私钥对hash值进行加密
④将密文及加密后的hash值一起发送给对方
⑤对方收到后使用自己的私钥解密数据拿到明文数据
⑥对明文数据hash运算,获取运算后的hash值
⑦使用对方的公钥对加密后的hash解密
⑧将两此的hash值进行对比,如果一样则数据没有被篡改。同时也能证明该数据确实是由对方发送的。
流程图如下:
3、HTTPS应用(SSL加密):
使用对称与非对称加密算法结合使用。基本原理就是使用非对称密钥加密对称密钥,将对称密钥安全的传输到对方之后,以后的数据加密都使用对称加密算加密,从而增加了加解密的效率。
①使用Hash算法将明文数据加密,获得hash值。
②使用对称密钥将明文数据加密
③使用对方非对称密钥的公钥对对称密钥加密
④在使用自己非对称密钥的私钥对hash值进行加密,将加密的密文、加密的密钥、加密的hash值一起发送给对方。
⑤对方收到之后使用自己的私钥解密对称密钥
⑥使用对称密钥解密密文数据
⑦使用hash算法对明文进行hash运算获得hash值
⑧使用对方的公钥对传过来的hash进行解密
⑨将两次获得的hash进行比较,一样则表示数据没有被篡改,同时也能证明该数据是由对方发出的。
流程图如下:
4、DH(互联网交换密钥算法):
DH一般应用于IPSec-VPN。通过相互交换公钥然后生成相同的子密钥,在使用子密钥进行数据的加解密。
①双方加入同一个组(group 1/2/5)
②加入同一组后会产生一个p参数和g参数(双方pg参数不一样)
③p、g参数会生成一个私钥(双方私钥不一样)
④各自的私钥会产生一个公钥(双方的公钥不一样)
⑤双方交换公钥
⑥将交换来的公钥使用特定的数学公式计算出相同的父密钥(双方的父密钥一样)
⑦再使用相同的父秘钥生成三个子密钥(双方的三个子密钥是一样的)
⑧第二个子密钥用于数据的加密、第一个子密钥用于IPSec-VPN隧道建立时的认证、第三个子密钥用于hash校验。
流程图如下:
5、CA(第三方数字签名认证):
第三方认证主要时用于防伪(就是防止有人冒充另一端通信)。双方通信必须完全信任第三方,由第三方颁发的认证证书来认证对方。
①双方各自将自己的个人信息以及自己的公钥一起发送给CA。
②CA用个人信息及其公钥形成一张证书,再使用Hash算法对该证书进行运算获取其Hash值,将Hash值也放进该证书中,并用自己的私钥加密这张证书。
③再将加密的证书返回回去,同时还将生成一张根证书也返回回去(根证书就是CA的公钥)。
④双方获取到认证证书与根证书之后,再交换认证证书。
⑤将交换来的认证证书使用根证书将其解密,再使用Hash算法对证书数据进行运算,获得一个Hash值,再将两个Hash值进行比较。
⑥两个Hash值一致则信任该证书。再取出里面的公钥。
流程图如下:
-------------------完事~~~----------------