数据加密

目录

  0.加密算法简述

  1.数据完整性

  2.身份验证

  3.数据安全性

  4.数据传输抽象描述

0.加密算法简述

  1)对称加密(AES)--->发送方与接收方都使用相同的密钥进行加密与解密;【速度快,效率高,但密钥管理困难,数据安全性完全依赖于密钥】

  2)非对称加密(RSA) --->公钥加密,私钥解密;私钥加密,公钥解密,   【安全性高,但速度慢】

1.数据完整性

  当发送方发送数据之前,对其数据进行单向加密(md5,sha),保证数据的完整性,单向加密特点;

    1)定长输出(不管源数据有多大,输出的长度是固定的)

    2)源数据相同,通过相同加密算法(md5,sha)得到的结果一定相同

    2)雪崩效应(数据只要有一点修改,结果发生巨头变化)

    3)不可逆(不能通过结果推算出数据)

2.身份验证

  发送方通过自己的私钥对数据的特征码(md5,sha的值)进行加密,保证发送方的合法性(身份验证)

3.数据安全性

  1)发送方生成随机数对数据+单向加密的值+通过自己私钥加密的特征码进行加密,再通过接收方b的公钥加密加密(只有b的私钥进行解密),保证数据的安全性

  2)发送方a与接收方b通过IKE协议(互联网key交换)常用的协议(DH)   生成密钥对,对整个"数据+md5值+a的私钥加密的hash值"进行机密。

4.数据传输抽象描述

a---->b
发送方:a
1,a和b通过CA相互获取对方的公钥;
2,a和b通过ike(DH)生成对称密钥--->'000';
3,a发送的数据'data'通过md5生成特征码'123';
4,a通过自己的私钥加密特征码'123'生成'456';
5,a用对称密钥'000''data+123+456'进行加密生成'789'一起发送给b;
5,a生成随机数'555'对整个数据'data'+'123'+'456'进行加密,再用b的公钥进行加密

接收方:b
1,b通过'000''789'进行解密得到'data+123+456'--->数据安全性
2,b用a的公钥解密'456'得到的数字(如果是123)与 --->身份验证 
b对'data'进行md5得到的值比较(如果是123),如果相同则认为数据是完整的。--->完整性 
成功的背后都是汗水
原文地址:https://www.cnblogs.com/xiaofu89120/p/12531523.html