https 的加密原理

1.HTTP 协议(HyperText Transfer Protocol,超文本传输协议):是客户端浏览器或其他程序与Web服务器之间的应用层通信协议 。

HTTPS 协议(HyperText Transfer Protocol over Secure Socket Layer):可以理解为 HTTP+SSL/TLS, 即 HTTP 下加入 SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL,用于安全的 HTTP 数据传输。

https 的加密原理_第1张图片

如上图所示  HTTPS 相比 HTTP 多了一层 SSL/TLS


http协议是明文传输,传输数据过程中的任何第三方都可以截获并篡改该明文 必须加密

(ps:编解码的算法完全公开透明,只是为了方便信息传输而更换一种表现形式,并不具有任何隐私性 base64)


小明和小美 通信

1.对称加密

甲方选择某一种加密规则,对信息进行加密

乙方使用同一种规则,对信息进行解密。(3des)

特点 :速度快 约定秘钥


不安全


2.非对称加密

1977年,三位数学家Rivest、Shamir 和 Adleman 设计了一种算法,可以实现非对称加密。(RSA)

公钥和私钥是成对的,它们互相解密。

公钥加密,私钥解密。

钥加密,钥解密。

特点: 慢 加密对称加密秘钥


数论基础

1. 欧拉函数

  • 定义:对于一个正整数 n ,小于 n 且和 n 互质的正整数(包括 1)的个数,记作 φ(n).则 
    这里写图片描述
  • 证明: 
    1. 如果n是一个质数,那么φ(n) = n-1
    2. 如果n是一个质数p的幂,即n = p^k,则φ(n) = p^k-p^(k-1) = (p-1)*p^(k-1)
    3. 欧拉函数是一个积性函数,当n,m互质的时候,φ(n*m) = φ(n)*φ(m)

2. 欧拉定理

  • 定义:如果两个正整数a和n互质,则n的欧拉函数 φ(n) 可以让下面的等式成立:a^φ(n)%n=1
  • 证明: 
    https 的加密原理_第2张图片https 的加密原理_第3张图片

3. 费马小定理

  • 定义:假设正整数a与质数p互质,因为质数p的φ(p)等于p-1,则欧拉定理可以写成:a^(p-1)%n=1

4. 模反元素(乘积逆元)

  • 定义:两个正整数a和n互质,那么一定可以找到整数b,使得 ab-1 被n整除,或者说ab被n除的余数是1:a*b%n=1,这时,b就叫做a的”模反元素”。
  • 比如,3和11互质,那么3的模反元素就是4,因为 (3 * 4)-1 可以被11整除。4加减11的整数倍都是3的模反元素 {…,-18,-7,4,15,26,…},即如果b是a的模反元素,则 b+kn 都是a的模反元素
  • 模反元素必定存在,因为:a^φ(n)=a*a^(φ(n)-1)

  简单原理:

   将两个大素数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。


  1.小美生成自己的公钥和私钥,通信之前,她告诉小明她的公钥就可以了,公钥因为是公开的,所以可以随意在网络中传输。

  2.小明用小美的公钥,对对称加密的密码进行非对称加密后发给小美。

  3.小美再通过她的私钥解密后,就获取了小明生成的对称加密的密码。

  不知道是谁发的 

  4.小明把自己公钥 公开 用自己的私钥加密 发送给小美。

  5.小美用小明的公钥解密 得到信息。


https 的加密原理_第4张图片





  6.老王想冒充小明,偷偷用了小美电脑,用自己的公钥替换小明的公钥 

  7.老王用自己的私钥加密信息,写信给小美让小美用假的小明公钥进行解密

  8.后来,小美感觉不对劲,发现自己无法确定公钥是否真的属于小明。


  公证处 获得小明公钥

  3.CA(证书授权中心)

  9.CA给小明颁发一个证书证明是小明就可以了。CA给小明颁发的证书中,含有小明的个人信息以及小明的公

  同时,CA也会给小明颁发一个私钥

  如何获取正确的证书信息

 10.CA的证书默认存储我的电脑里了,可以使用CA的公钥进行解密操作,从而验证小明的证书是否是CA颁发

  如何知道 证书是小明的

  4.签名

  11. CA证书中的数字签名 : 使用CA私钥加密过的【小明的信息+公钥】的hash值 作用证明信息没有被修改过

  (ps:hash 特点: 定长输出 雪崩效应 md5,sha1)

  12.小明发信息时带上证书,小美用算法对【小明的信息+公钥】进行hash计算(公钥 信息 都是公开)。

  13.证书里签名的hash值与小美计算出来的hash值一致,就说明这个证书确实是小明的



https 的加密原理_第5张图片


chales抓包原理


https 的加密原理_第6张图片






参考链接:

http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html

https://juejin.im/post/5a7146fd51882573351a9d99

http://bubuko.com/infodetail-291184.html

你可能感兴趣的:(https 的加密原理)