据称,ed25519 密钥在安全性和性能方面优于 RSA。在安全性方面,我了解到 4096 位 RSA 密钥在可预见的未来实际上是牢不可破的,因此我不是在问这个。
我想了解的是性能差异(就速度而言)。当人们声称 ed25519 密钥更快时,这意味着什么?我是从用户的角度提问的。我考虑了几种可能性:
- 使用 ed25519 密钥登录服务器速度更快,但此后服务器与客户端的通信速度相同。
- 使用 ed25519 密钥,初始登录和服务器-客户端通信速度更快。
- 如果您从服务器复制文件或向服务器复制文件,传输速度会有所不同吗?
- 如果我通过服务器进行 ssh 隧道传输,我会注意到速度差异吗?
是哪一个?全部?还是都不是?
所以我问的不是它们之间的数学差异,也不是破解加密的算法复杂性,也不是安全保障。我问的是实际用户应用中的速度。
答案1
用于 ssh 密钥的密码/算法与用于加密会话/连接的算法/密码无关。
因此,更快的密钥算法只会加快与密钥生成和验证相关的操作,即身份验证和建立会话。
为了更快或更安全的传输速度,你可以使用 Ciphers
相同sshd_config
的配置文件选项或-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