对称加密,非对称加密,证书,你理解了吗?

一、加密敏感信息是互联网必要需要,加密分对称加密,非对称加密

1、非对称加密(公钥私钥)

RSA原理:核心为很难将一个数分解成两个质数的乘积,特别是两个质数很大的情况下。

(1)生成公私钥算法

  • 两个质数p1,p2,p1*p2 = n, 随机选取一个整数e(1
  • 公钥:n和e
  • 私钥:d=( k*(p1-1)(p2-1)+1 )/e,k为随机正整数
  • 原文m、密文c
  • 加密过程:(m^e) mod n = c
  • 解密过程:(c^d) mod n = m

(2)密钥对使用

生成密钥对:自己 => 公钥A、私钥A ,对方 => 公钥B、私钥B
交换密钥对:自己 => 公钥B、私钥A ,对方 => 公钥A、私钥B
一对密钥对的作用:

  a.加密数据保证安全,公钥加密,私钥解密
  -自己通过公钥B加密数据传输给对方,对方通过私钥B解密获取数据**
  
  b.签名验证来源,公钥解密,私钥加密
  -对方通过私钥B加密数据的摘要信息(部分信息),自己接收到数据  用公钥B解密摘要成功

以上是一对密钥的使用过程,加密生效的只是单方向的保证,所以需要两对密钥完成加密。

2、对称加密(密钥)

AES原理:加密算法可逆向。

(1)组成部分:密钥,加密解密算法,原文密文

(2)分类

AES-128,AES-192,AES-256,原文都按16个字节为一组,这里以128位密钥长度(AES-128)为例子说明算法,规定128密钥加密轮数为10

(3)加密算法简介


* 原文切分成16个字节为一组,组成4×4矩阵,每格1个字节
* 密钥切分成16个字节(128位就是16字节),组成4×4矩阵,每格1个字节,矩阵每列4字节为一组的单位扩展44组
* 先将明文和原始密钥进行一次异或加密操作
* 利用密钥44组对每组原文进行字节代换、行位移、列混合和轮密钥加操作10轮,前9轮操作一样,最后一轮迭代不执行列混合
* 最后得到密文

(4)解密算法简介

解密过程是加密过程逆向操作,这里不做赘述。
二、发布的公钥怎么确保来源?(证书)
 证书是权威机构(CA)通过对你发布的公钥进行资质认证,CA拥有密钥对可加密发布公钥。

1、证书的生成
将你的个人信息和公钥使用私钥加密成一个数字证书,生成CRS文件,
这就利用私钥加密,公钥解密来保证公钥的来源,
这里可能会想,为什么通过CA证书机构认证就可保证来源?
CA证书机构拥有权威性,机构的公钥来源更有保障。

2、实例说明:
https协议配置加密证书,涉及服务器和客户端浏览器两个角色
服务器:

网站申请密钥对证书,将文件配置到web服务器中

浏览器:

请求服务器获取到私钥加密的网页和数字证书,
然后对数据一般有两种验证
数字证书中公钥是否在浏览器内置证书列表中
数字证书中包含网址和当前不一致也会警告

你可能感兴趣的:(后端,加密)