-
-
Notifications
You must be signed in to change notification settings - Fork 32.6k
crypto: support ML-KEM KeyObject #59461
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
base: main
Are you sure you want to change the base?
Conversation
Review requested:
|
The
notable-change
Please suggest a text for the release notes if you'd like to include a more detailed summary, then proceed to update the PR description with the text or a link to the notable change suggested text comment. Otherwise, the commit will be placed in the Other Notable Changes section. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #59461 +/- ##
==========================================
- Coverage 89.88% 89.86% -0.02%
==========================================
Files 656 656
Lines 193068 193083 +15
Branches 37871 37876 +5
==========================================
- Hits 173534 173514 -20
- Misses 12079 12083 +4
- Partials 7455 7486 +31
🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Amazing work @panva!
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 🚀
This comment was marked as outdated.
This comment was marked as outdated.
I've dropped SLH-DSA from this PR because testing its higher level of security variants was intermittenly grinding CI to a halt. I might reintroduce it separately. For now i'm just looking to add ML-KEM to be able to introduce key encapsulation in a follow up PR. |
This allows
node:crypto
to recognize the ML-KEM KeyObject types (keyObject.asymmetricKeyType
) when built with or linked to OpenSSL 3.5 and the following functionality for them:crypto.createPublicKey()
SPKIcrypto.createPrivateKey()
PKCS#8keyObject.export()
SPKI/PKCS#8crypto.generateKeyPair(Sync)()
into KeyObject, PEM, DERJWK import/export is not implemented because it has not been standardized yet
Edit: I've dropped SLH-DSA from this PR because testing its higher level of security variants was intermittenly grinding CI to a halt. I might reintroduce it separately. For now i'm just looking to add ML-KEM to be able to introduce key encapsulation in a follow up PR.