网络加密技术
网络加密技术
-
哈希加密
-
- 基本原理
- 常用的哈希函数
-
对称加密(单密钥加密)
-
- 基本原理
- 特点
- 常用的对称加密算法
-
- DES
-
非对称加密(公开密钥)
-
- 基本原理
- 特点
- 常用的非对称加密技术
-
- RSA
-
对称+非对称
-
- HTTPS加密
加密技术:利用技术手段把数据变为乱码(加密)传送,到达目的地后再用 相同或不同的手段还原(解密)。
哈希加密
基本原理
哈希函数是一个单向函数,它将目标文本转化为固定长度的字符串。由于是单向函数,不具备可逆性,实现加密保护。

Q:我用哈希函数加密了明文,从此以后,不仅攻击者解读不了加密后的字符串,我也不懂了鸭?
A:某些应用场景是不需要解密的,即,被保护的数据只需要做验证,举个栗子:
简单的用户登录场景
你的用户名与密码存储(没有使用哈希加密)在服务器数据库中,当服务器数据库泄露数据时,你的用户名与密码也就泄露了。
假设,你的用户名和密码经过哈希加密,那么服务器数据库中将存储加密后的密文,即使泄露数据也是一大堆哈希字符串。
而正常的登陆验证过程,只需要验证密文是否已知就行不需要知道明文。如下图:

常用的哈希函数
- MD5
- SHA
- MAC
- CRC
- SM3(国产哈希算法)
对称加密(单密钥加密)
基本原理
加密:R=E(S,K_e)R为密文, S为明文,K_e为密钥,经过函数R后,明文变密文;
解密:S=D(R,K_e)S为密文, R为明文,K_e为密钥,经过函数S后,密文变明文;
PS:加密(Encrypt)、解密(Decrypt)
特点
- 加密和解密都是用同一个秘钥
- 加密、解密效率高
- 秘钥被窃取,容易造成数据不安全
常用的对称加密算法
- DES
- 3-DES
- AES
- IDEA
- SMS4
- RC5
- TRIVIUM
DES
加密:
- 明文按64位分组,每组明文经初始排列
- 通过子密钥k1~k16进行16次乘积变换
- 通过最终排列(第3步)得到64位密文
解密:与加密运算一样,只是所取子密钥 的顺序相反,从k16到k1
如图:

非对称加密(公开密钥)
基本原理
公钥:可以告诉全网的密钥
私钥:只能自己知道的密钥

特点
- 用公钥加密用私钥解密
- 加密、解密相对于对称加密效率更低,但是比对称加密更安全。
- 公钥可能被中间人伪造,造成数据不安全。
常用的非对称加密技术
- RSA
- EIGamal
- ECC
RSA
算法:
- 选择两个大素数,p和q,均应大于10^{100};
- 计算n = p * q和z = (p-1)*(q-1);
- 选择一个与z互为质数的数,令其为d;
- 找到一个e使其满足{(e*d )}mod z =1;
对于报文m
加密需计算密文c=m^e*(mod\ n);
解密c需计算m=c^d*(mod\ n)。
PS:实施加密需要e和n,实施解密需要d和n。因此,公开密钥由(e, n)构成,秘密密钥由(dn)或只是d构成。n限制明文块的大小。
举例:
- 取p = 7, q = 11
- n = p q = 77, z = (p-1)(q-1) = 60
- 取e = 43, d= 7 使得e*d mod z = 301 mod 60 = 1
- 得到公钥(e=43, n=77),密钥(d=7, n=77)
- 设我们的明文为m = 42
- 加密c = m^e mod n = 42^{43} mod 77 = 14
- 解密m = c^d mod n = 14^7 mod 77 = 42
对称+非对称
由于对称加密效率高,非对称加密效率低,通常将两者结合起来,即用非对称加密进行身份验证,传递对称密钥,利用对称加密进行数据传输。HTTPS就是一个例子
HTTPS加密
简单的HTTPS加密过程,忽略协议协商等具体细节:
- 客户端发起HTTPS连接
- 服务器返回包含公钥的数字证书
- 客户端生成对称密钥
- 客户端通过公钥加密,发送对称密钥
- 客户端与服务器进行密文通信
其中,
第2步保证了服务器公钥的真实性;
第4步为非对称加密;
第5步为对称加密;

