Skip to content

crypto: support non-empty cSHAKE functionName and customization#63534

Open
panva wants to merge 3 commits into
nodejs:mainfrom
panva:cshake
Open

crypto: support non-empty cSHAKE functionName and customization#63534
panva wants to merge 3 commits into
nodejs:mainfrom
panva:cshake

Conversation

@panva
Copy link
Copy Markdown
Member

@panva panva commented May 24, 2026

Enables non-empty functionName (KMAC, TupleHash, ParallelHash) and up to 512-byte customization for cSHAKE128/cSHAKE256 when linked against/built with OpenSSL >= 4.0.

Enables non-empty `functionName` (`KMAC`, `TupleHash`, `ParallelHash`)
and up to 512-byte `customization` for `cSHAKE128`/`cSHAKE256` when
linked against/built with OpenSSL >= 4.0.

Signed-off-by: Filip Skokan <panva.ip@gmail.com>
@panva panva added crypto Issues and PRs related to the crypto subsystem. experimental Issues and PRs related to experimental features. webcrypto dont-land-on-v22.x PRs that should not land on the v22.x-staging branch and should not be released in v22.x. dont-land-on-v24.x PRs that should not land on the v24.x-staging branch and should not be released in v24.x. dont-land-on-v25.x PRs that should not land on the v25.x-staging branch and should not be released in v25.x. labels May 24, 2026
@nodejs-github-bot
Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/crypto
  • @nodejs/security-wg

@nodejs-github-bot nodejs-github-bot added lib / src Issues and PRs related to general changes in the lib or src directory. needs-ci PRs that need a full CI run. labels May 24, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented May 24, 2026

Codecov Report

❌ Patch coverage is 42.85714% with 32 lines in your changes missing coverage. Please review.
✅ Project coverage is 90.32%. Comparing base (dfe2d47) to head (18b0d83).
⚠️ Report is 9 commits behind head on main.

Files with missing lines Patch % Lines
src/crypto/crypto_hash.cc 21.73% 14 Missing and 4 partials ⚠️
lib/internal/crypto/webidl.js 53.33% 14 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #63534      +/-   ##
==========================================
+ Coverage   90.13%   90.32%   +0.19%     
==========================================
  Files         718      730      +12     
  Lines      228399   234202    +5803     
  Branches    42931    43920     +989     
==========================================
+ Hits       205860   211536    +5676     
- Misses      14283    14399     +116     
- Partials     8256     8267      +11     
Files with missing lines Coverage Δ
lib/internal/crypto/hash.js 99.01% <100.00%> (+<0.01%) ⬆️
src/crypto/crypto_hash.h 20.00% <ø> (ø)
lib/internal/crypto/webidl.js 97.41% <53.33%> (-1.70%) ⬇️
src/crypto/crypto_hash.cc 74.64% <21.73%> (-2.70%) ⬇️

... and 67 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@panva panva added author ready PRs that have at least one approval, no pending requests for changes, and a CI started. request-ci Add this label to start a Jenkins CI on a PR. labels May 24, 2026
@github-actions github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. label May 24, 2026
@nodejs-github-bot
Copy link
Copy Markdown
Collaborator

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author ready PRs that have at least one approval, no pending requests for changes, and a CI started. crypto Issues and PRs related to the crypto subsystem. dont-land-on-v22.x PRs that should not land on the v22.x-staging branch and should not be released in v22.x. dont-land-on-v24.x PRs that should not land on the v24.x-staging branch and should not be released in v24.x. dont-land-on-v25.x PRs that should not land on the v25.x-staging branch and should not be released in v25.x. experimental Issues and PRs related to experimental features. lib / src Issues and PRs related to general changes in the lib or src directory. needs-ci PRs that need a full CI run. webcrypto

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants