22
33<!-- YAML
44changes:
5+ - version: REPLACEME
6+ pr-url: https://github.com/nodejs/node/pull/62183
7+ description: TurboSHAKE and KangarooTwelve algorithms
8+ are now supported.
59 - version: v24.8.0
610 pr-url: https://github.com/nodejs/node/pull/59647
711 description: KMAC algorithms are now supported.
@@ -121,6 +125,8 @@ Algorithms:
121125* ` 'cSHAKE256' `
122126* ` 'KMAC128' ` [ ^ openssl30 ]
123127* ` 'KMAC256' ` [ ^ openssl30 ]
128+ * ` 'KT128' `
129+ * ` 'KT256' `
124130* ` 'ML-DSA-44' ` [ ^ openssl35 ]
125131* ` 'ML-DSA-65' ` [ ^ openssl35 ]
126132* ` 'ML-DSA-87' ` [ ^ openssl35 ]
@@ -130,6 +136,8 @@ Algorithms:
130136* ` 'SHA3-256' `
131137* ` 'SHA3-384' `
132138* ` 'SHA3-512' `
139+ * ` 'TurboSHAKE128' `
140+ * ` 'TurboSHAKE256' `
133141
134142Key Formats:
135143
@@ -574,6 +582,8 @@ implementation and the APIs supported for each:
574582| ` ' HMAC' ` | | ✔ | | | | |
575583| ` ' KMAC128' ` [^modern-algos] | | ✔ | | | | |
576584| ` ' KMAC256' ` [^modern-algos] | | ✔ | | | | |
585+ | ` ' KT128' ` [^modern-algos] | | | | | | ✔ |
586+ | ` ' KT256' ` [^modern-algos] | | | | | | ✔ |
577587| ` ' ML-DSA-44' ` [^modern-algos] | | ✔ | | | | |
578588| ` ' ML-DSA-65' ` [^modern-algos] | | ✔ | | | | |
579589| ` ' ML-DSA-87' ` [^modern-algos] | | ✔ | | | | |
@@ -591,6 +601,8 @@ implementation and the APIs supported for each:
591601| ` ' SHA3-256' ` [^modern-algos] | | | | | | ✔ |
592602| ` ' SHA3-384' ` [^modern-algos] | | | | | | ✔ |
593603| ` ' SHA3-512' ` [^modern-algos] | | | | | | ✔ |
604+ | ` ' TurboSHAKE128' ` [^modern-algos] | | | | | | ✔ |
605+ | ` ' TurboSHAKE256' ` [^modern-algos] | | | | | | ✔ |
594606| ` ' X25519' ` | | | ✔ | | | |
595607| ` ' X448' ` [^secure-curves] | | | ✔ | | | |
596608
@@ -998,6 +1010,10 @@ The algorithms currently supported include:
9981010<!-- YAML
9991011added: v15.0.0
10001012changes:
1013+ - version: REPLACEME
1014+ pr-url: https://github.com/nodejs/node/pull/62183
1015+ description: TurboSHAKE and KangarooTwelve algorithms
1016+ are now supported.
10011017 - version: v24.7.0
10021018 pr-url: https://github.com/nodejs/node/pull/59365
10031019 description: SHA-3 algorithms are now supported.
@@ -1006,7 +1022,7 @@ changes:
10061022 description: SHAKE algorithms are now supported.
10071023-->
10081024
1009- * ` algorithm` {string|Algorithm|CShakeParams}
1025+ * ` algorithm` {string|Algorithm|CShakeParams|TurboShakeParams|KangarooTwelveParams }
10101026* ` data` {ArrayBuffer|TypedArray|DataView|Buffer}
10111027* Returns: {Promise} Fulfills with an {ArrayBuffer} upon success.
10121028
@@ -1018,13 +1034,17 @@ If `algorithm` is provided as a {string}, it must be one of:
10181034
10191035* ` ' cSHAKE128' ` [^modern-algos]
10201036* ` ' cSHAKE256' ` [^modern-algos]
1037+ * ` ' KT128' ` [^modern-algos]
1038+ * ` ' KT256' ` [^modern-algos]
10211039* ` ' SHA-1' `
10221040* ` ' SHA-256' `
10231041* ` ' SHA-384' `
10241042* ` ' SHA-512' `
10251043* ` ' SHA3-256' ` [^modern-algos]
10261044* ` ' SHA3-384' ` [^modern-algos]
10271045* ` ' SHA3-512' ` [^modern-algos]
1046+ * ` ' TurboSHAKE128' ` [^modern-algos]
1047+ * ` ' TurboSHAKE256' ` [^modern-algos]
10281048
10291049If ` algorithm` is provided as an {Object}, it must have a ` name` property
10301050whose value is one of the above.
@@ -2311,6 +2331,38 @@ added: v15.0.0
23112331
23122332* Type: {string}
23132333
2334+ ### Class: ` KangarooTwelveParams`
2335+
2336+ <!-- YAML
2337+ added: REPLACEME
2338+ -->
2339+
2340+ #### ` kangarooTwelveParams .customization `
2341+
2342+ <!-- YAML
2343+ added: REPLACEME
2344+ -->
2345+
2346+ * Type: {ArrayBuffer|TypedArray|DataView|Buffer|undefined}
2347+
2348+ The optional customization string for KangarooTwelve.
2349+
2350+ #### ` kangarooTwelveParams .name `
2351+
2352+ <!-- YAML
2353+ added: REPLACEME
2354+ -->
2355+
2356+ * Type: {string} Must be ` ' KT128' ` [^modern-algos] or ` ' KT256' ` [^modern-algos]
2357+
2358+ #### ` kangarooTwelveParams .outputLength `
2359+
2360+ <!-- YAML
2361+ added: REPLACEME
2362+ -->
2363+
2364+ * Type: {number} represents the requested output length in bits.
2365+
23142366### Class: ` KmacImportParams`
23152367
23162368<!-- YAML
@@ -2681,6 +2733,38 @@ added: v15.0.0
26812733
26822734The length (in bytes) of the random salt to use.
26832735
2736+ ### Class: ` TurboShakeParams`
2737+
2738+ <!-- YAML
2739+ added: REPLACEME
2740+ -->
2741+
2742+ #### ` turboShakeParams .domainSeparation `
2743+
2744+ <!-- YAML
2745+ added: REPLACEME
2746+ -->
2747+
2748+ * Type: {number|undefined}
2749+
2750+ The optional domain separation byte (0x01-0x7f). Defaults to ` 0x1f ` .
2751+
2752+ #### ` turboShakeParams .name `
2753+
2754+ <!-- YAML
2755+ added: REPLACEME
2756+ -->
2757+
2758+ * Type: {string} Must be ` ' TurboSHAKE128' ` [^modern-algos] or ` ' TurboSHAKE256' ` [^modern-algos]
2759+
2760+ #### ` turboShakeParams .outputLength `
2761+
2762+ <!-- YAML
2763+ added: REPLACEME
2764+ -->
2765+
2766+ * Type: {number} represents the requested output length in bits.
2767+
26842768[^secure-curves]: See [Secure Curves in the Web Cryptography API][]
26852769
26862770[^modern-algos]: See [Modern Algorithms in the Web Cryptography API][]
0 commit comments