对称加密

原理

  • A 和 B 同时持有一个相同的秘钥
  • A 使用秘钥对明文进行加密,并将加密后的密文传输给 B
  • B 使用同样的秘钥对密文进行解密就能获取到明文的内容
  • 即使第三方获取到了解密算法,因为没有秘钥也是无法将密文解析成原来的明文的

实现

RC4 对称加密序列算法

明文可以和密钥序列通过异或操作得到密文。

1 0 1 0 密钥序列
  异或
0 1 1 0 明文
  等于
1 1 0 0 密文

同样密文可以通过密钥序列通过异或操作得到明文

1 0 1 0 密钥序列
  异或
1 1 0 0 密文
  等于
0 1 1 0 明文

非对称加密

原理

  • 首先通过算法生成一对密钥分别称为 公钥(可以公开的) 和 私钥
  • 同样一份明文如果使用 公钥 加密了,则只能使用对用的 私钥 才能解密
  • 反过来如果明文使用 私钥 加密了,则是能使用 公钥 才能解密

场景1

GitHub

  • A 通过算法生成一对密钥,自己保留私钥,并把公钥提供给 B 或其他人
  • B 或者其他人通过公钥将明文进行加密并传输给 A
  • A 通过私钥将密文进行解密

场景2

身份验证,签名

  • A 通过算法生成一对密钥,自己保留私钥,并把公钥提供给 B 或其他人
  • A 通过私钥加密了一段数据,并将数据发送给 B 或者其他人
  • B 或者其他人通过手上 A 的公钥能够将这段数据解密
  • 则可以表示这是 A 所发送的数据

https 验证流程

dv --> cv --> ev

  • 证书订阅人向登记机构申请证书
  • 登记机构通过 CA 生成一对密钥,CA 保留私钥
  • 登记机构将公钥颁发给证书订阅者
  • 证书订阅者将公钥部署至服务器
  • 浏览器向服务器请求时,服务器会将公钥发送给浏览器
  • 浏览器通过服务器给到的公钥去 CA 验证合法性

results matching ""

    No results matching ""