botan icon indicating copy to clipboard operation
botan copied to clipboard

X-Wing Hybrid KEM

Open FAlbertDev opened this issue 8 months ago • 1 comments

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

  • #3893
  • #4067

FAlbertDev avatar Jun 14 '24 09:06 FAlbertDev