关于DH和RSA算法的简单比较
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,本文简单地谈下关于安全中最为常用的两个非对称加密的DH算法及RSA算法,文中无意于涉及一些数学原理,这个在网上已经有很多文章叙述了,再重复也没有太多意思(这类文章只要关注两点,**其一是密钥生成方法,
千家信息网最后更新 2025年02月23日关于DH和RSA算法的简单比较
本文简单地谈下关于安全中最为常用的两个非对称加密的DH算法及RSA算法,文中无意于涉及一些数学原理,这个在网上已经有很多文章叙述了,再重复也没有太多意思(这类文章只要关注两点,**其一是密钥生成方法,其二就是数据的加解密公式**),此文仅仅是帮助一般用户能够明确地区别下这两种算法的异同和应用场合,故不会太长。 对于DH和RSA算法而言,其最大的相同点就在于它们的理论基础就是"初等数论",既然是初等那么就意味着如果需要看懂其原理,我们只要有中学数学基础就可以了,甚至是初中数学,而不会应用到大学数学的相关内容,你无需关注什么极限、微分、积分等等,只不过RSA算法是基于所谓的"欧拉定理"(费马定理是其特例),而DH中没有非常明显的涉及,但其中有两个内容可能需要证明,本文就不涉及了,都是关于同余问题的(初等数论中的许多问题都和同余相关,其中最著名的恐怕是"孙子定理",或可称之为"中国剩余定理",在任何一般有关数论的书中都会描述)。 那么不同点在何处呢?其中最显著的不同之处就是DH用于动态交换密钥,它其实会在服务器和客户端各生成一个密钥对,也就是两对密钥,而且注意它是动态的;而RSA只包含一组密钥对,而且是静态的,即一旦生成了私钥就不会更改,除非显示地替换,最明显的就是更换私钥文件(因为密钥太长,一般生成后会放到文件中)。 通过简单分析,我们就能看出为什么使用DH算法生成的共享密钥是无法获取的,因为它们分别在服务器和客户端的内存中(对于共享密钥,通讯双方可以通过自我计算即可,不用交换,因为客户端和服务器通过计算所得的密钥是相同的,只要它们交换了各自的公钥),所以除了暴力破解别无它法,而且由于大质数的问题,以及密钥产生的随机性(随机的私钥大小在1到这个大质数减一之间,所以肯定是互质的),故在目前的条件下无法保证破解。 另外,由于RSA运算过于消耗计算资源,所以它只被用于签名(即只对少量数据进行验证,如可对数字证书的部分内容的摘要进行签名),不会被用于真正的数据内容加密;而DH算法仅是交换密钥,生成的密钥被用于数据的加解密,所使用的对真正数据加解密的对称算法一般为AES(SSL、HTTPS通常都使用此算法,而不太用以前的3DES了);所以在OPENSSL中有所谓加密算法套件的说法,它们是用于不同用途的,而且在OPENSSL中有一整套关于大数(Big Number)的计算方法,不过用户一般不会直接调用吧。
密钥
算法
生成
数据
内容
定理
就是
数学
不同
客户
数论
服务器
问题
加密
服务
明显
相同
对称
两个
动态
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
每天3000ip多大服务器可以
佑安宝网络安全教育
网络安全重点实验室研究内容
本网站服务器设置在美国 十八岁
ifix报警数据库不匹配
软件开发的专业就业
中小学生网络安全知识试卷
连接数据库未知错误
sql数据库有必要学吗
迷你世界ice服务器怎么样
oracle数据库中合并数据
登录app显示服务器
dw怎么展示数据库中的对象
数据库如何复制视频
dns服务器首选地址是
软件开发与设计学科排名
数据库系统的总体技术路线
锦州网络安全公司
匀速网络技术
软件开发工作的形式
惠山区正规网络技术特价
涉密网络技术防护措施
破解版软件开发游戏
网吧服务器为什么总重起
数据库对话技巧
玉溪4351网络安全
简单web服务器的实现
nas和服务器选择
西安方形树网络技术
服务器周租