[ssh_x509] Post-Quantum Traditional (PQ/T) hybrid key exchange methods - phase4

ssh_x509 at roumenpetrov.info ssh_x509 at roumenpetrov.info
Sun Oct 19 10:44:41 EEST 2025


Hello,


PKIX-SSH 17.1.1, 7 Oct 2025: allows enabling build-in ML-KEM key 
exchange algorithm at configure time.

PKIX-SSH 17.0, 29 Aug 2025 : allows disabling Diffie-Hellman key 
exchange algorithms at configure time.

Commit from yesterday adds "check for poll nfds_t type".

I would like to disable by default Diffie-Hellman(DH) in next major 
release (18 vs 17.2)?.


++++
What is relation between statements above?

OpenSSH portable uses hard-coded limits. For instance 0.9.8f. Dunno 
which is current minimum.
I remember 0.9.8f because official OpenSSL releases has a bug. This bug 
does not exist in vendor OpenSSL releases. PKIX-SSH adds work-around. 
Also, 0.9.8e is the version that pass its own regression tests.

The report for nfds_t type is for Mac OS X 10.3 (Panther, released on 
October 24, 2003). This OS release is shipped with OpenSSL 0.9.7(?) as 
core cryptographic library.

Above means that reporter builds SSH code with more recent OpenSSL release.


PKIX-SSH builds an runs with OpenSSL 0.9.7. This is the minimum 
supported version.

OpenSSL 0.9.7 does not support SHA-256.

Only Diffie-Hellman(DH) algorithm could be used with SHA-1. Use of other 
KEX requires SHA-256 as minimum.

As result attempt to disable DH is blocked by PKIX-SSH configuration 
when  build is with OpenSSL 0.9.7.


++++
Upgrade plan:

First to requests cryptographic library with SSH-256 support as minimum.
This means indirectly OpenSSL 0.9.8e, see above.

Second step is to disable DH by default and to remove blocking control 
mentioned above.


Support for DH will remain as for the disabled DSA. The code will not be 
removed.

Upgrade of DH to OpenSSL 3 API is not planned. This the same as DSA.


But statements like "if has sha256 do-sha256 else do-sha1" will be 
removed from code and regression tests.


++++
When?

Most probably in release 18.0.

I assume that OpenSSH will release next patch soon to restore PKCS#11 
support. So, it is unlike to start upgrade now.

Let see what would be fixed in addition.


Regards,
Roumen Petrov




More information about the ssh_x509 mailing list