TLS协议常见算法以及扩展字段解析

TLS协议常见算法以及扩展字段解析,第1张

TLS协议常见算法以及扩展字段解析 秘钥交换算法 RSA算法:
 安全性:基于大素数和因式分解的困难性
 私钥:(d, n)
 公钥:(e, n)
 随机生成两个质数p, q.其中n = pq. fi(n) = (p - 1)(q - 1)
 随机取值e, 令e与fi(n)互质, 计算e 对fi(n)的逆模d
 加密: C = M ^ e mod n
 解密:M = C ^ d mod n

相关字段:certificate中携带服务端RSA的公钥
DH算法:
安全性:基于分解大离散对数的困难性
私钥:a, b
公钥:A, B;其中A = G ^ a ( mod P );B = G ^ b ( mod P );
公开,G, P;秘钥K = A ^ b ( mod P ) = B ^ a ( mod P )
static DH算法:
服务端的秘钥不变,每次只有客户端的秘钥改变.不具备前向安全性.中间人可以截获海量的秘钥协商过程数据,暴力破解出服务器的公钥,那么之前截获的加密数据就会被破解.
DHE(ephemeral)算法:
由于需要做大量的乘法,计算性能不佳

相关字段:supported_groups
ECDHE:
在DHE算法的基础上利用了ECC椭圆曲线特性,用更少的计算量计算出公钥
 1. 确定使用那种椭圆曲线和曲线上的基点G
 2. 各自随机生成一个随机数d, 与G相乘得到公钥Q = dG
 3. 交换双方公钥, 计算(x1, y1) = d1Q2, (x2, y2) = d2Q1, 由于椭圆曲线满足乘法交换律和结合率, 所以d1Q2 = d2Q1 = d1d2G

相关字段:supported_groups, ec_point_format

参考:
https://blog.csdn.net/mrpre/article/details/52609087 RSA算法原理
https://blog.csdn.net/mrpre/article/details/78025940 RSA、DHE、ECDHE、ECDH流程与区别
https://www.likecs.com/default/index/show?id=124371 图解ECDHE

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5704163.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存