Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces the X-Wing Hybrid Key Encapsulation Mechanism (KEM), which combines X25519 and ML-KEM-768 into a single KEM. The implementation uses the abstract KEM interface internally, even if only one composition is used.
The current specification of X-Wing is draft-connolly-cfrg-xwing-kem-02. Because it's still a draft, I've marked the
x_wing
module as experimental (i.e.,configure.py --enable-experimental-features ...
is required).State of this Pull Request
This is a draft pull request as X-Wing relies on ML-KEM-768, which is not yet available in Botan. I will wait until the clean ML_KEM implementation is merged to avoid any rebase issues. Currently, the implementation uses Kyber-768 for roundtrip testing. The KATs provided in the draft have not yet been implemented.
Pull Request Dependencies