SSH 密钥:ed25519 与 RSA 性能揭秘

bec*_*cko 11 performance ssh rsa network-speed ssh-keys

据称,ed25519 密钥在安全性和性能方面优于 RSA。就安全性而言,我知道 4096 位 RSA 密钥在可预见的未来实际上是牢不可破的,所以我不会问这个

我想了解的是性能差异(就速度而言)。当人们声称 ed25519 密钥更快时,这意味着什么?我是从用户的角度来问的。我考虑了几种可能性:

  • 使用 ed25519 密钥登录服务器速度更快,但之后服务器与客户端的通信速度相同。
  • 使用 ed25519 密钥,初始登录和服务器-客户端通信速度更快。
  • 如果从服务器复制文件或将文件复制到服务器,传输速度有什么不同吗?
  • 如果我通过服务器建立 ssh 隧道,我会注意到任何速度差异吗?

是哪一个?他们全部?他们都不是?

因此,我不是在问它们之间的数学差异,也不是在询问破解其加密的算法复杂性,也不是在问安全保证。我问的是现实世界用户应用程序中的速度。

Joh*_*nie 12

用于 ssh 密钥的密码/算法独立于用于加密会话/连接的算法/密码。

因此,更快的密钥算法只会加速与密钥生成和验证相关的操作,即验证和建立会话。

Ciphers为了更快或更安全的传输速度,您可以使用相同的配置文件选项或命令行选项调整服务器sshd_config和/或 ssh 客户端中的首选 -c cipher_spec

您可以在自己的机器上测试 RSA 1024、2048 和 4096 在这方面如何与 ed25519 进行比较,使用openssl speed rsa1024 rsa2048 rsa4096 ecdsap256 ed25519

                                sign    verify    sign/s  verify/s
rsa 1024 bits                0.000078s 0.000006s  12852.6 175638.7
rsa 2048 bits                0.000519s 0.000016s   1926.4  62959.0
rsa 3072 bits                0.001570s 0.000033s    636.8  30670.3
rsa 4096 bits                0.003496s 0.000055s    286.1  18200.7
 256 bits ecdsa (nistp256)   0.0000s   0.0001s    41044.8  16044.8
 253 bits EdDSA (Ed25519)    0.0000s   0.0001s    21079.9   9383.2
Run Code Online (Sandbox Code Playgroud)

  • 当您更改 ssh 密钥长度和算法时,登录和建立会话所需的时间会出现可测量且显着的性能差异,但这对于仅创建单个会话的人类观察者来说不会明显。 (5认同)