什么是 ed25519

ed25519 是一个相对较新的加密算法,实现了 Edwards-curve Digital Signature Algorithm(EdDSA)。但实际上 ed25519 早已经在 5 年前就被 OpenSSH 实现,并不算什么前沿科技。但很多人,即使是每天都使用 SSH/SCP 的人可能并不清楚这个新类型 key。

不过要注意的是并不是所有的软件目前都实现了 ed25519,但是大多数最近的操作系统 SSH 都已经支持了。

ed25519 的好处

  • 相较于 RSA key,最明显的一个好处就是 ed25519 key 非常短,这就非常方便存储以及传输 key
  • 另外就是产生和校验更快
  • collision resilience,这意味着可以有效的避免 hash 碰撞攻击

生成 ed25519 SSH key

ssh-keygen -t ed25519 -C "[email protected]"

可以检查 ~/.ssh 目录下的 key,会发现 ed25519 的公钥只有简短的一行:

ssh-ed25519 AAAACxxxx  [email protected]