DH和RSA的目的有什么区别?他们都不都是公钥加密吗?

评论

这个问题似乎几乎完全相同。

@ B-Con:实际上,它错过了我在这篇文章中试图提出的确切要点。 :)请注意标题中的“数学”一词-这在这里并不是我提出问题/答案的真正目的,因为我已经知道它们在数学上是不同的(毕竟它们是不同的算法)。 :P(请参阅下面对我的回答的评论。)

这里很好地介绍了这些差异:security.stackexchange.com/questions/35471/…

#1 楼

区别非常细微。
DH用于在公共场所生成共享的机密,以用于以后的对称(“私钥”)加密:


Diffie-Hellman:


在两个(或多个)参与方之间创建共享密钥,以进行对称加密

密钥身份:(gens1)s2 =(gens2)s1 =共享密钥(mod prime )

其中:



gen是一个整数,其幂生成[1,质数)的所有整数(mod质数)







RSA用于提出了用于非对称(“公共密钥”)加密的公共/私有密钥对:


RSA:



用于执行“ “ true”公钥密码术

密钥身份:(me)d = m(mod n)(让您恢复加密的消息)

其中:



n = prime1×prime2(n公开用于加密)

= =(素数1-1)×(素数2-1)(Euler的totient函数)

e使得1





碰巧的是-在实践中-RSA的结果随后用于生成对称密钥。
此外,您还可以修改DH以用于公共键加密。
尽管它们都具有“公共”和“私有”组件,但是它们本质上是不同的。

评论


$ \ begingroup $
嗯,这是关于外部(即接口)的区别,即密钥交换和公共密钥加密之间的区别。当被问及基本差异时,我会更多地考虑其背后的数论原理(RSA:离散根,因式分解,DH / DSA / ...:离散对数Diffie-Hellman假设)。
$ \ endgroup $
–PaŭloEbermann
2012年6月11日19:26

$ \ begingroup $
@PaŭloEbermann:这绝对是问题的有效答案-但问题是我想出这个问题比回答哈哈更困难,因为他并没有那么想找数学上的区别他们差异的本质。我正在寻找可以解释这个概念的人,所以当我自己发现它时,我只是为此写了一个问题,所以我也可以写下答案。 :)如果您想出一种更好的方式来表达问题以匹配答案,那么我很想知道!
$ \ endgroup $
–user541686
2012年6月11日在20:02



$ \ begingroup $
“这主要是出于历史和商业原因[需要引用],即RSA Security为密钥签名创建了证书颁发机构,成为了Verisign。Diffie-Hellman不能用于签名证书。” [en.wikipedia.org/wiki/…
$ \ endgroup $
– wengeezhang
18年8月23日在9:54

$ \ begingroup $
@Mehrdad随心所欲。
$ \ endgroup $
– kelalaka
19年1月15日在18:08

$ \ begingroup $
@Patriot:“要点”是要“证明”他们的分歧的性质?什么?您知道我写了问题和答案,对吗?
$ \ endgroup $
–user541686
19年8月2日在11:22

#2 楼

是的,它们都是公钥系统。您询问方式的不同之处在于,Diffie-Hellman依赖于采用对数的难度(实际上是离散的对数,但暂时不必担心)。 RSA依赖于分解的难度。

有趣的是,这两个问题是相关的。有一些数学定理说,一个结构问题意味着另一种结构问题。但是它们是公钥加密的两个截然不同的家族,即对数家族和保理家族。

顺便说一句,椭圆曲线加密仅仅是对数族加密,与模块化算术在不同的有限域上。如果那只是您的头上的烦恼,我可以稍后解释。

Jon

评论


$ \ begingroup $
我想这与数学上的差异有关。您是否愿意详细说明协议差异?
$ \ endgroup $
– d -_- b
13年8月13日在6:14