crypto: add Hybrid KEMs to Web Cryptography - #65759
Open
panva wants to merge 3 commits into
Open
Conversation
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Collaborator
|
Review requested:
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #65759 +/- ##
==========================================
+ Coverage 89.96% 90.01% +0.05%
==========================================
Files 757 760 +3
Lines 258135 260073 +1938
Branches 48969 49201 +232
==========================================
+ Hits 232234 234111 +1877
- Misses 16973 17006 +33
- Partials 8928 8956 +28
🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Adds Hybrid KEM algorithms to Web Cryptography.
The hybrid JS side composition and secondary handle slots will all go away when OpenSSL lands support for these, which would also allow us to add them to
node:cryptoencap/decap and be a supported KeyObject asymmetric key type. The hybrids are all utilized by https://datatracker.ietf.org/doc/draft-ietf-hpke-pq/ so https://redirect.github.com/openssl/openssl/pull/31326 might be what enables us to get rid of the composition in the future.The active Chrome origin trial12 already supports
MLKEM768-X25519(aka X-Wing) and WebKit has also indicated support for it. https://panva.github.io/hpke/?native is opted in to the Chrome origin trial soMLKEM768-X25519is already available for selection as a KEM when opened in recent Chrom{e|ium-based} browser.cc @twiss
blocked until WICG/webcrypto-modern-algos#67 lands or chrome support gets unflagged.Footnotes
https://chromestatus.com/feature/5198951632470016 ↩
https://developer.chrome.com/origintrials/#/view_trial/1379790335835635713 ↩