The algorithms wolfSSH can negotiate, as of the current master (after v1.6.0). Each list is in wolfSSH's default preference order.
What is actually available depends on how wolfSSL was built: an algorithm is left out when wolfSSL lacks the primitive it needs (for example, ML-KEM and ML-DSA need wolfSSL configured with --enable-mlkem --enable-mldsa, and ML-DSA needs wolfSSL 5.9.2 or later). Each algorithm can also be compiled out with its WOLFSSH_NO_* macro; see the flag list at the top of src/internal.c.
Soft-disabled algorithms work, but are not offered by default. Offer the SHA-1 ones by defining WOLFSSH_NO_SHA1_SOFT_DISABLE, and AES-CBC by defining WOLFSSH_NO_AES_CBC_SOFT_DISABLE. An application can also set its own lists with wolfSSH_CTX_SetAlgoListKex() and the related functions.
Key Exchange
- mlkem768x25519-sha256 (post-quantum hybrid)
- mlkem1024nistp384-sha384 (post-quantum hybrid)
- mlkem768nistp256-sha256 (post-quantum hybrid)
- curve25519-sha256
- curve25519-sha256@libssh.org
- ecdh-sha2-nistp521
- ecdh-sha2-nistp384
- ecdh-sha2-nistp256
- diffie-hellman-group14-sha256
- diffie-hellman-group16-sha512
- diffie-hellman-group-exchange-sha256
- diffie-hellman-group14-sha1 (soft-disabled)
- diffie-hellman-group1-sha1 (soft-disabled)
wolfSSH also supports the strict KEX extension (kex-strict-c-v00@openssh.com / kex-strict-s-v00@openssh.com, and the unprefixed kex-strict-c / kex-strict-s) and the ext-info-c / ext-info-s markers for extension negotiation.
Host Key and Public Key Authentication
- ssh-mldsa87-ed448@wolfssl.com (post-quantum composite)
- ssh-mldsa87-es384@wolfssl.com (post-quantum composite)
- ssh-mldsa65-ed25519@wolfssl.com (post-quantum composite)
- ssh-mldsa65-es256@wolfssl.com (post-quantum composite)
- ssh-mldsa44-ed25519@openssh.com (post-quantum composite)
- ssh-mldsa44-es256@wolfssl.com (post-quantum composite)
- ssh-mldsa-87 (post-quantum)
- ssh-mldsa-65 (post-quantum)
- ssh-mldsa-44 (post-quantum)
- ssh-ed25519
- rsa-sha2-256
- rsa-sha2-512
- ecdsa-sha2-nistp256
- ecdsa-sha2-nistp384
- ecdsa-sha2-nistp521
- ssh-rsa (soft-disabled)
X.509 Certificates
Built with --enable-certs (WOLFSSH_CERTS):
- x509v3-ssh-mldsa-87
- x509v3-ssh-mldsa-65
- x509v3-ssh-mldsa-44
- x509v3-ecdsa-sha2-nistp256
- x509v3-ecdsa-sha2-nistp384
- x509v3-ecdsa-sha2-nistp521
- x509v3-ssh-rsa (soft-disabled)
OpenSSH Certificates
For user authentication only. Built with --enable-ossh-certs (WOLFSSH_OSSH_CERTS):
- ssh-ed25519-cert-v01@openssh.com
- ecdsa-sha2-nistp256-cert-v01@openssh.com
- ecdsa-sha2-nistp384-cert-v01@openssh.com
- ecdsa-sha2-nistp521-cert-v01@openssh.com
- ssh-rsa-cert-v01@openssh.com
- rsa-sha2-256-cert-v01@openssh.com
- rsa-sha2-512-cert-v01@openssh.com
Cipher
- aes256-gcm@openssh.com
- aes192-gcm@openssh.com
- aes128-gcm@openssh.com
- aes256-ctr
- aes192-ctr
- aes128-ctr
- aes256-cbc (soft-disabled)
- aes192-cbc (soft-disabled)
- aes128-cbc (soft-disabled)
MAC
- hmac-sha2-256
- hmac-sha2-512
- hmac-sha1-96 (soft-disabled)
- hmac-sha1 (soft-disabled)
The MAC is not used with the AES-GCM ciphers.
User Authentication Methods
- publickey
- password
- keyboard-interactive
Copyright © 2026 wolfSSL Inc. All rights reserved.
