Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

proposal: crypto/tls: add support for NIST curve based ML-KEM hybrids #71206

Open
tomato42 opened this issue Jan 9, 2025 · 4 comments
Open
Labels
LibraryProposal Issues describing a requested change to the Go standard library or x/ libraries, but not to a tool Proposal Proposal-Crypto Proposal related to crypto packages or other security issues
Milestone

Comments

@tomato42
Copy link

tomato42 commented Jan 9, 2025

Proposal Details

The current version of the draft-kwiatkowski-tls-ecdhe-mlkem draft includes two hybrid ML-KEM groups that use NIST curves:

  • SecP256r1MLKEM768
  • SecP384r1MLKEM1024

As explained in the draft, they are interesting for environments that require compliance, either with FIPS in general, or with higher security standards, like the Common Criteria Protection Profile v4.3 or CNSA 2.0.

I'd like to ask for their inclusion in a future Go release.

@gopherbot gopherbot added this to the Proposal milestone Jan 9, 2025
@ianlancetaylor ianlancetaylor added the Proposal-Crypto Proposal related to crypto packages or other security issues label Jan 9, 2025
@ianlancetaylor
Copy link
Member

CC @golang/security

@FiloSottile
Copy link
Contributor

We were planning to ship at least the P-256 one in #69985, but with all the noise around making backwards incompatible changes to draft-kwiatkowski-tls-ecdhe-mlkem, we ended up shipping only the X25519 one, which at least has a large deployed base to hopefully protect it from changes.

@gabyhelp
Copy link

gabyhelp commented Jan 9, 2025

Related Issues

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

@tomato42
Copy link
Author

@FiloSottile yes, I've read that... should have linked to it, sorry 😅

sure, I completely understand not wanting to ship code implementing draft standards, we generally have the same policy
that being said, I don't think we will see any changes to SecP256r1MLKEM768 and SecP384r1MLKEM1024, the only controversy around them is if we should have hybrids at all (and I'm pretty sure we will end up with both pure and hybrid KEXs being standardised in TLS)... X25519MLKEM768 is more controversial with its reversed order of shares

Unfortunately, only time will tell what will end up in the RFC

@gabyhelp gabyhelp added the LibraryProposal Issues describing a requested change to the Go standard library or x/ libraries, but not to a tool label Jan 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
LibraryProposal Issues describing a requested change to the Go standard library or x/ libraries, but not to a tool Proposal Proposal-Crypto Proposal related to crypto packages or other security issues
Projects
None yet
Development

No branches or pull requests

5 participants