Skip to content

Supported Key Exchange Algorithms

Key exchange (KEX) algorithms establish the shared secret used to derive encryption keys for the SSH session. ZestSSH supports the following KEX algorithms.

PropertyValue
TypeElliptic Curve Diffie-Hellman
CurveCurve25519
HashSHA-256

The recommended default. Curve25519 is a modern elliptic curve designed for speed, security, and resistance to side-channel attacks. It provides ~128 bits of security with a fast, constant-time implementation.

This is the most widely deployed KEX algorithm in modern SSH servers (OpenSSH 6.5+).

PropertyValue
TypeElliptic Curve Diffie-Hellman
CurveNIST P-256 (secp256r1)
HashSHA-256

ECDH with the NIST P-256 curve. Provides approximately 128 bits of security. Widely supported, including on FIPS-compliant systems where Curve25519 may not be available.

PropertyValue
TypeElliptic Curve Diffie-Hellman
CurveNIST P-384 (secp384r1)
HashSHA-384

ECDH with the NIST P-384 curve. Provides approximately 192 bits of security.

PropertyValue
TypeElliptic Curve Diffie-Hellman
CurveNIST P-521 (secp521r1)
HashSHA-512

ECDH with the NIST P-521 curve. Provides approximately 256 bits of security. Slightly slower than P-256 due to the larger curve.

PropertyValue
TypeDiffie-Hellman Group Exchange
HashSHA-256
Group ExchangeYes

The server selects a DH group of an appropriate size (typically 2048-8192 bits). Provides flexibility for high-security environments. Group exchange negotiation adds a round trip to the handshake.

PropertyValue
TypeDiffie-Hellman Group Exchange
HashSHA-1
Group ExchangeYes

Same as above but uses SHA-1 for the exchange hash. SHA-1 is deprecated for collision resistance but is not directly exploitable in the KEX context. Included for compatibility with older servers.

PropertyValue
TypeFixed-Group Diffie-Hellman
GroupGroup 14 (2048-bit)
HashSHA-256

Fixed 2048-bit DH group with SHA-256. Good compatibility with servers that support RFC 4253 but not elliptic curve algorithms.

PropertyValue
TypeFixed-Group Diffie-Hellman
GroupGroup 14 (2048-bit)
HashSHA-1

Fixed 2048-bit DH group with SHA-1. Widely supported as a baseline. Less preferred than the SHA-256 variant.

PropertyValue
TypeFixed-Group Diffie-Hellman
GroupGroup 1 (1024-bit)
HashSHA-1

1024-bit DH group. Not recommended --- 1024-bit DH is considered weak against well-funded adversaries. Included only for connecting to very old servers that support nothing else. Modern OpenSSH disables this algorithm by default.

For most connections, [email protected] is the best choice. It is fast, secure, and supported by virtually all modern SSH servers.

If connecting to FIPS-compliant systems, use ecdh-sha2-nistp256 or ecdh-sha2-nistp384.

If connecting to legacy servers, diffie-hellman-group14-sha256 provides acceptable security with wide compatibility.

ZestSSH presents its KEX algorithms to the server in preference order. The first algorithm supported by both sides is used. If negotiation fails (no common algorithm), the connection is rejected.

To check which KEX algorithms a server supports:

Terminal window
ssh -Q kex # on the server