数据加密
目录
1)对称加密(AES)--->发送方与接收方都使用相同的密钥进行加密与解密;【速度快,效率高,但密钥管理困难,数据安全性完全依赖于密钥】
2)非对称加密(RSA) --->公钥加密,私钥解密;私钥加密,公钥解密, 【安全性高,但速度慢】
当发送方发送数据之前,对其数据进行单向加密(md5,sha),保证数据的完整性,单向加密特点;
1)定长输出(不管源数据有多大,输出的长度是固定的)
2)源数据相同,通过相同加密算法(md5,sha)得到的结果一定相同
2)雪崩效应(数据只要有一点修改,结果发生巨头变化)
3)不可逆(不能通过结果推算出数据)
发送方通过自己的私钥对数据的特征码(md5,sha的值)进行加密,保证发送方的合法性(身份验证)
1)发送方生成随机数对数据+单向加密的值+通过自己私钥加密的特征码进行加密,再通过接收方b的公钥加密加密(只有b的私钥进行解密),保证数据的安全性
2)发送方a与接收方b通过IKE协议(互联网key交换)常用的协议(DH) 生成密钥对,对整个"数据+md5值+a的私钥加密的hash值"进行机密。
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),如果相同则认为数据是完整的。--->完整性
成功的背后都是汗水