1、对称加密
1.1、加密与解密用的是同一个密钥;
1.2、常见的加密方式有DES、3DES、AES等;
1.3、作用:加密
2、非对称加密
2.1、密钥成对出现,分别有公钥与私钥;
2.2、常见的非对称加密方式有RSA;
2.3、非对称加密使用公钥加密,私钥解密;
2.4、公钥公开发布给所有消息发送者,消息接收者保留私钥用于消息解密;
2.5、使用:加密
3、散列值
3.1、对消息(文件、数据)进行摘要计算;
3.2、每个消息有唯一的散列值,并且不可逆运算;
3.3、任何大小的消息进行散列计算得到的值长度是确定的;
3.4、常见的散列算法有MD4、MD5、SHA-1、SHA-2、SHA-3;
3.5、作用:确定数据唯一性,真实性、防篡改;
4、签名
4.1、涉及到非对称加密中的密钥,私钥与公钥;
4.2、私钥加密(签名),公钥解密(验证);
4.3、由于私钥不公开,因此一处签名,多处验证;
4.4、签名相当于非对称加密的反向操作;
4.5、签名一般与散列算法配合使用,加密散列值用于校验;
4.6、作用:确定数据的可信性,防抵赖;
5、证书
5.1、为防止消息窃听,需要加密,但加密需要事先传输密钥;
5.2、密钥传输安全性通过非对称加密来解决,非对称加密需要传输公钥;
5.3、公钥传输需要解决中间人攻击问题,确保公钥真实合法性,需要权威机构进行认证;
5.4、证书由权威机构颁发,证书中包含公钥的基本信息、公钥、权威机构签名;
5.5、作用:保证公钥合法性、真实性;
6、应用C–>S
6.0、操作系统或浏览器内置了权威机构的公钥,因此可以验证权威机构签发的证书;
6.1、C从S处获取证书,验证签名得到证书的散列值,将证书内容哈希计算,验证完整性,获取S的有效公钥;
6.2、C生成加密密钥,使用S的公钥加密发送给S,完成对称加密算法的密钥交换;
6.3、C与S有了一致的加密密钥,具备数据加密传输条件,数据可加密传输,本地解密。