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值一致则信任该证书。再取出里面的公钥。

流程图如下:

 

 

-------------------完事~~~----------------

 

posted @ 2022-08-28 23:18  Ant_blog  阅读(467)  评论(0编辑  收藏  举报