Skip to content

Conversation

@SparkiDev
Copy link
Contributor

Description

Allow backward compatibilitly of Hybrid ML_KEM codepoints in TLS with version before wolfSSL 5.8.0.
When WOLFSSL_ML_KEM_USE_OLD_IDS is defined, it will accept the old codepoints for P256 with ML-KEM-512, P384 with ML-KEM-768, P521 with ML-KEM-10124. (Others combinations were not know pre 5.8.0.) Both old client with new server and new client with new server work with old codepoints.

Fixes zd#19967

Testing

Checkout 5.7.6::
./configure --disable-shared --enable-mlkem=all
Checkout master:
./configure --disable-shared --enable-mlkem=yes,kyber,ml-kem

./examples/client/client -v 4 --pqc P521_ML_KEM_1024
./examples/client/server -v 4 --pqc P521_ML_KEM_1024

All combinations of new/old client/server.

Checklist

  • added tests
  • updated/added doxygen
  • updated appropriate READMEs
  • Updated manual and documentation

@SparkiDev SparkiDev self-assigned this May 31, 2025
@SparkiDev
Copy link
Contributor Author

retest this please

@SparkiDev SparkiDev force-pushed the ml_kem_codepoints branch 2 times, most recently from 3228a1e to 852a937 Compare June 4, 2025 23:53
@SparkiDev
Copy link
Contributor Author

SparkiDev commented Jun 5, 2025

retest this please
hudson

kp-max-li added a commit to expressvpn/lightway-core that referenced this pull request Jun 5, 2025
From 5.7.6 to 5.8.0, WolfSSL has updated the codepoints of
the postquantum curves according to OQS's specification.
open-quantum-safe/oqs-provider@8abfecd#diff-ad6b78182015150daf78fa86f78db241b4489a2137c559c95da15cc62c7c1a7bL89

However, the codepoints are incompatible between versions
at or before 5.7.6 and versions at or after 5.8.0. Hence, this
patch is added to make it backward compatible.

The patch is retrieved from wolfSSL/wolfssl#8827

Behaviour:
If version <= 5.7.6 is connected to version >= 5.8.0, old codepoint
is used.
If version >= 5.8.0 is connected to version >= 5.8.0, new codepoint
is used.
Allow backward compatibilitly of Hybrid ML_KEM codepoints in TLS with
version before wolfSSL 5.8.0.
When WOLFSSL_ML_KEM_USE_OLD_IDS is defined, it will accept the old
codepoints for P256 with ML-KEM-512, P384 with ML-KEM-768, P521 with
ML-KEM-10124. (Others combinations were not know pre 5.8.0.)
Both old client with new server and new client with new server work with
old codepoints.
@SparkiDev SparkiDev force-pushed the ml_kem_codepoints branch from 852a937 to 7eca4fb Compare June 5, 2025 23:17
@SparkiDev SparkiDev assigned wolfSSL-Bot and unassigned SparkiDev Jun 6, 2025
@SparkiDev SparkiDev requested a review from wolfSSL-Bot June 6, 2025 01:22
kp-max-li added a commit to expressvpn/wolfssl-rs that referenced this pull request Jun 6, 2025
From 5.7.6 to 5.8.0, WolfSSL has updated the codepoints of
the postquantum curves according to OQS's specification.
open-quantum-safe/oqs-provider@8abfecd#diff-ad6b78182015150daf78fa86f78db241b4489a2137c559c95da15cc62c7c1a7bL89

However, the codepoints are incompatible between versions
at or before 5.7.6 and versions at or after 5.8.0. Hence, this
patch is added to make it backward compatible.

The patch is retrieved from wolfSSL/wolfssl#8827

Behaviour:
If version <= 5.7.6 is connected to version >= 5.8.0, old codepoint
is used.
If version >= 5.8.0 is connected to version >= 5.8.0, new codepoint
is used.
kp-max-li added a commit to expressvpn/wolfssl-rs that referenced this pull request Jun 6, 2025
From 5.7.6 to 5.8.0, WolfSSL has updated the codepoints of
the postquantum curves according to OQS's specification.
open-quantum-safe/oqs-provider@8abfecd#diff-ad6b78182015150daf78fa86f78db241b4489a2137c559c95da15cc62c7c1a7bL89

However, the codepoints are incompatible between versions
at or before 5.7.6 and versions at or after 5.8.0. Hence, this
patch is added to make it backward compatible.

The patch is retrieved from wolfSSL/wolfssl#8827

Behaviour:
If version <= 5.7.6 is connected to version >= 5.8.0, old codepoint
is used.
If version >= 5.8.0 is connected to version >= 5.8.0, new codepoint
is used.
kp-max-li added a commit to expressvpn/wolfssl-rs that referenced this pull request Jun 6, 2025
From 5.7.6 to 5.8.0, WolfSSL has updated the codepoints of
the postquantum curves according to OQS's specification.
open-quantum-safe/oqs-provider@8abfecd#diff-ad6b78182015150daf78fa86f78db241b4489a2137c559c95da15cc62c7c1a7bL89

However, the codepoints are incompatible between versions
at or before 5.7.6 and versions at or after 5.8.0. Hence, this
patch is added to make it backward compatible.

The patch is retrieved from wolfSSL/wolfssl#8827

Behaviour:
If version <= 5.7.6 is connected to version >= 5.8.0, old codepoint
is used.
If version >= 5.8.0 is connected to version >= 5.8.0, new codepoint
is used.
kp-max-li added a commit to expressvpn/wolfssl-rs that referenced this pull request Jun 6, 2025
From 5.7.6 to 5.8.0, WolfSSL has updated the codepoints of
the postquantum curves according to OQS's specification.
open-quantum-safe/oqs-provider@8abfecd#diff-ad6b78182015150daf78fa86f78db241b4489a2137c559c95da15cc62c7c1a7bL89

However, the codepoints are incompatible between versions
at or before 5.7.6 and versions at or after 5.8.0. Hence, this
patch is added to make it backward compatible.

The patch is retrieved from wolfSSL/wolfssl#8827

Behaviour:
If version <= 5.7.6 is connected to version >= 5.8.0, old codepoint
is used.
If version >= 5.8.0 is connected to version >= 5.8.0, new codepoint
is used.
@JacobBarthelmeh JacobBarthelmeh merged commit f4821eb into wolfSSL:master Jun 6, 2025
260 of 261 checks passed
kp-thomas-yau added a commit to expressvpn/wolfssl-rs that referenced this pull request Nov 3, 2025
kp-thomas-yau added a commit to expressvpn/wolfssl-rs that referenced this pull request Nov 5, 2025
kp-thomas-yau added a commit to expressvpn/wolfssl-rs that referenced this pull request Nov 7, 2025
kp-thomas-yau added a commit to expressvpn/wolfssl-rs that referenced this pull request Nov 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants