https 的加密原理 - Go语言中文社区

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 相比 HTTP 多了一层 SSL/TLS


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

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


小明和小美 通信

1.对称加密

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

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

特点 :速度快 约定秘钥


不安全


2.非对称加密

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

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

公钥加密,私钥解密。

钥加密,钥解密。

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


数论基础

1. 欧拉函数

2. 欧拉定理

3. 费马小定理

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

  简单原理:

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


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

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

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

  不知道是谁发的 

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

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







  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值一致,就说明这个证书确实是小明的





chales抓包原理








参考链接:

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

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

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

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qiuziqiqi/article/details/80585680
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢