目录
加密的本质是对原来为明⽂的⽂件或数据按某种算法进⾏处理,使其成为不可读的⼀段代码。
知识点1 - 加密分类
[1] 对称加密
- 定义: 对称加密指加密和解密使⽤
相同密钥
的加密算法,也称为单密钥加密。 - 特点:算法公开、计算量量少、 加密速度快,对于同样⼤小的传输对象,对称加密效率通常为非对称加密的千倍左右,因此通常被广泛应。eg:https在真正数据通信时就是使⽤的对称加密算法
- 缺点:
- 加解密使⽤同一把密钥,一旦一⽅密钥泄露,传输的数据就存在安全⻛风险。
- 与多方的通信需要 使⽤不同的密钥,通信双方需要管理大量的密钥。
- 常⻅的对称加密算法:
ESC
,DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等
[2] ⾮对称加密
- 定义:非对称加密使⽤
一对公钥和私钥
来加密通信数据,也称为双密钥加密。- 公钥和私钥是成对出现的,通信数据使⽤公钥加密后,只能通过对应私钥来解密,同样使⽤私钥加密后也只能通过公钥来解密查看。公钥是对外公开的,外界通信方可以很容易获取到,而私钥是不公开的,只存在于己方。服务器器使⽤私钥加密数据往外传输时,可以被持有公钥的客户端解密查看,但客户端使用公钥加密数据传输给服务端时,数据是严格安全的,只有服务器使用私钥才能解密查看。
- 特点:非对称密钥数据通信是单向安全的,客户端使⽤服务端的公钥加密数据传向服务端是严格加密安全的。
- 使用场景
- 单向传输加密数据,防止中间人攻击。使⽤公钥加密数据并传输给接受者,可以确保只接受者才能获得明文信息,一般⽤于交换对称密钥;
- 身份验证和数据校验。发送方使用私钥加密明文数据的hash值,并将明文加密后的数据和公钥⼀一起发送给接收方,接收方只需要通过公钥解密文,然后与相同hash算法获取明⽂文的hash值进⾏行行⽐比较, ⼀一致则说明明⽂文数据没有被篡改,⼀一般⽤用于数字签名。
- 常⻅见的⾮非对称加密算法:RSA、DSA、Diffie-Hellman、ECC等
[3] 摘要算法
- 定义: 摘要算法也称为哈希算法、散列算法,可以将任意长度的数据转换成一个
定长的
、不可逆
的数字。只要原⽂本不同,计算的结果必然不同(几乎不⽤考虑重复的情况)。 - 作用:摘要算法用于对比信息源是否一致,因为只要数据源发生变化,得到的摘要信息必然不同ÿ