What is the difference between DSA and RSA?

它们都是需要公钥和私钥的加密算法。为什么要在客户端服务器应用程序中选择其中一种来提供加密呢?

134023 次浏览

Check AVA's answer below.

My old answer seems wrong

顺便说一下,你不能用 DSA 加密,只能签名。虽然它们在数学上是等价的(或多或少) ,但是在实际中不能将 DSA 用作加密方案,只能用作数字签名方案。

参照 man ssh-keygen,DSA 密钥的长度被限制在精确的1024位,以保持与 NIST 的 FIPS 186-2兼容。尽管如此,较长的 DSA 密钥在理论上是可能的; FIPS 186-3明确允许它们。此外,1024位长的 RSA 或 DSA 密钥不再保证安全性。

总之,2048位 RSA 密钥是目前的最佳选择。

需要采取更多的预防措施

建立一个安全的 SSH 连接 需要更多比选择安全的加密密钥对技术。鉴于爱德华•斯诺登(Edward Snowden)泄露的美国国家安全局(NSA)信息,人们必须比之前认为的更加警惕。

举一个例子,使用一个安全的 密钥交换算法密钥交换算法同样重要。

Referring, https://web.archive.org/web/20140212143556/http://courses.cs.tamu.edu:80/pooch/665_spring2008/Australian-sec-2006/less19.html

RSA
RSA 加密和解密是可交换的
因此它可以直接用作数字签名方案
给定一个 RSA 方案{(e,R) ,(d,p,q)}
to sign a message M, compute:
S = M 次方 d (mod R)
为了验证签名,计算:
M = S 幂 e (mod R) = M 幂 e.d (mod R) = M (mod R) < br >

RSA 可以用于加密和数字签名, 仅仅通过颠倒指数的使用顺序: 创建签名的秘密指数(d)、公开指数(e) 所有东西都是一样的。

数字签名算法
DSA is a variant on the ElGamal and Schnorr algorithms. 它创建一个320位的签名,但具有512-1024位的安全性 再次依赖于计算离散对数的困难 has been quite widely accepted.

密钥生成
首先选择共享的全局公钥值(p,q,g) :
选择一个大素数 p = 2次方 L
其中 L = 512到1024位,是64的倍数
choose q, a 160 bit prime factor of p-1
choose g = h power (p-1)/q
对于任意 h < p-1,h (p-1)/q (mod p) > 1
then each user chooses a private key and computes their public key:
选择 x < q
compute y = g power x(mod p)

DSA 密钥生成与 El Gamal 有关,但比 El Gamal 要复杂一些。 主要是因为使用了辅助的160位模 q 来帮助 加速计算并减小结果签名的大小。

DSA Signature Creation and Verification

签署一个信息 M
生成随机签名密钥 k,k < q
compute
R = (g 次方 k (mod p))(mod q)
S = k-1. SHA (M) + x.r (mod q)
使用消息 < br > < br > 发送签名(r,s) to verify a signature, compute:
W = s-1(mod q)
U1 = (SHA (M) . w)(mod q)
U2 = r.w (mod q)
V = (g 次方 u1.y 次方 u2(mod p))(mod q)
如果 v = r,则验证签名

签名创建与使用 每条消息的临时签名密钥 k 但是执行计算第一修改密钥 p, 然后调用 mod q 来减小结果的大小 散列函数 SHA 在这里是显式的 比较两个计算,同样比, 但与 El Gamal 有关。
注意,几乎所有的计算都是 mod q,和 因此速度要快得多。 < br > 但是,与 RSA 不同的是,DSA 只能用于数字签名

DSA 保安公司
阈下信道的存在存在于许多方案中(任何需要选择一个随机数的方案) ,而不仅仅是 DSA。它强调了“系统安全”的必要性,而不仅仅是一个好的算法。

除了上面的好答案。

  • DSA 使用离散对数。
  • RSA uses Integer Factorization.

RSA 代表 Ron Rivest,Adi Shamir 和 Leonard Adleman。