openssh
openssh copied to clipboard
Update supported algorithms
The supported algorithms here no longer align with the supported algorithms in liboqs here. We need to update the algorithms supported in the OpenSSH OQS fork back in line.
I went through the two lists by hand to identify all the mismatches since the last time these algorithms were updated. I can use some help from the maintainers as to how these newer algorithms should be brought into OpenSSH. Some specific questions off the top of my head:
- If they should be brought in at all.
- How they should be named/renamed.
- Hybrid/Hash pairing for the algorithms.
Listing of algorithms that exist in liboqs, but not in OpenSSH and some initial notes/thoughts:
-
BIKE Round-4
- Adds a new parameter set
BIKE-L5
. - Existing KEX names are qualified with
r3
and need to be updated.
- Adds a new parameter set
-
ML-KEM and ML-DSA IPD
- Forthcoming NIST standards for Kyber/Dilithium.
- Follow conventions set by the pre-NIST implementation?
- Some names/pairings are proposed here
- The security levels in the draft RFC do not align on the security levels which is the convention followed by the OQS library
- The draft RFC uses x25519, need to figure out how to wire that up.
- The IPD version exists in OQS and an alias without the IPD qualifier is provided.
-
sntrup761
- This would allow interop with upstream OpenSSH
- Also would conflict with upstream OpenSSH implementation
- Upstream name
[email protected]
-
Falcon PADDED format
- Existing KEX uses the COMPRESSED format.
-
MAYO
- New signature algorithm
- XMSS and LMS
- Stateful algorithms not suitable for SSH signatures.