X25519(k, u) は、u 座標だけを使う定数時間のモンゴメリーラダーを実行します。秘密鍵は 32 バイトの乱数で、関数がクランプ処理を施します(下位 3 ビットとビット 255 をクリアし、ビット 254 をセットします)。公開鍵は X25519(k, 9) です(RFC 7748 §5)。曲線とそのツイストがどちらも安全であるため、任意の 32 バイト列を点の検証なしに相手の鍵として使えますが、位数の小さい入力からはすべてゼロの共有秘密が得られるため、プロトコルはこれを検出して拒否すべきです(RFC 7748 §6.1)。
識別子:TLS のサポートされるグループ x25519(29、0x001D)、SSH の curve25519-sha256(RFC 8731)、OID 1.3.101.110(RFC 8410)、JOSE では crv が X25519 の OKP 鍵による ECDH-ES(RFC 8037)、HPKE の DHKEM(X25519, HKDF-SHA256)、KEM ID 0x0020(RFC 9180)。OpenSSL 3.6.5 は、Apple M4 Max の 1 コアで毎秒約 52,000 回の X25519 演算を実行します。
X25519 は鍵共有であり、署名ではありません。署名を行うのは Ed25519 です。両者は曲線を共有しており、鍵を形式間で変換することもできますが、1 つの鍵を両方の用途に使うことは推奨されません。ショアのアルゴリズムは X25519 を破るため、TLS では現在、ハイブリッドグループ X25519MLKEM768(0x11EC、RFC 10024)で ML-KEM-768 と組み合わせており、OpenSSH のデフォルトは mlkem768x25519-sha256 です。