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

ssh_x509 at roumenpetrov.info ssh_x509 at roumenpetrov.info
Fri Aug 29 23:20:42 EEST 2025


Hello,

Goal of phase2 is to externalise algorithms and so to avoid use of 
unmaintained codebase. Implementation is available a separate branch - 
hybrid_demo. It has 4 commits:

1) HYBRID-DEMO: experimental PKEY based hybrid post-quantum key exchange 
ML-KEM768 with X25519
3) HYBRID-DEMO: add experimental PKEY based hybrid post-quantum key 
exchange ML-KEM768 with P256 and P384

2) HYBRID-DEMO: public part hack
4) HYBRID-DEMO: swap keys hack

Side effect of implementation is a prerequisite: "rewrite implementation 
of key exchange methods" (PKIX-SSH 16.0). Rewrite allows easy to 
register new algorithm based on cryptographic library capability and 
this results in support of "curve448-sha512" and diffie-hellman with 3k 
and 6k groups.


Unfortunately development is put on hold.

As is visible from 1) implementation is simple.
It relies on hybrid algorithms provided by oqs-provider.
Issue is with oqs-provider. Maintainers remove, rename algorithms are 
without backward compatibility.
Such model is not usable in production environment.

Commit 2) shows another issue - how oqs-provider return public key.
Issue it that other providers may return public key in a different format.

Commit 3) is separated from 1) as requires commit 4) for compliance with 
ssh specification.
The difference between TSL and SSH is how key material is composed - 
T||PQ for TLS and PQ||T for SSH.
Provider returns TLS format i.e., concatenation of Traditional and 
Post-Quantum key.
Implementation of hybrid algorithm ready for use in SSH was not accepted.


Conclusion - to stop development that uses hybrid-key from OpenSSL as 
providers cannot ensure stable functionality.


Regard,
Roumen Petrov



More information about the ssh_x509 mailing list