| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -29,12 +29,12 @@ Last update: | |||
| 29 | 29 | - resources: https://github.com/web-platform-tests/wpt/tree/6a2f322376/resources | |
| 30 | 30 | - streams: https://github.com/web-platform-tests/wpt/tree/f8f26a372f/streams | |
| 31 | 31 | - url: https://github.com/web-platform-tests/wpt/tree/d4598eba09/url | |
| 32 | - - urlpattern: https://github.com/web-platform-tests/wpt/tree/23aac92784/urlpattern | ||
| 32 | + - urlpattern: https://github.com/web-platform-tests/wpt/tree/11a459a2b1/urlpattern | ||
| 33 | 33 | - user-timing: https://github.com/web-platform-tests/wpt/tree/5ae85bf826/user-timing | |
| 34 | 34 | - wasm/jsapi: https://github.com/web-platform-tests/wpt/tree/cde25e7e3c/wasm/jsapi | |
| 35 | 35 | - wasm/webapi: https://github.com/web-platform-tests/wpt/tree/fd1b23eeaa/wasm/webapi | |
| 36 | 36 | - web-locks: https://github.com/web-platform-tests/wpt/tree/10a122a6bc/web-locks | |
| 37 | - - WebCryptoAPI: https://github.com/web-platform-tests/wpt/tree/97bbc7247a/WebCryptoAPI | ||
| 37 | + - WebCryptoAPI: https://github.com/web-platform-tests/wpt/tree/03a1476844/WebCryptoAPI | ||
| 38 | 38 | - webidl: https://github.com/web-platform-tests/wpt/tree/63ca529a02/webidl | |
| 39 | 39 | - webidl/ecmascript-binding/es-exceptions: https://github.com/web-platform-tests/wpt/tree/2f96fa1996/webidl/ecmascript-binding/es-exceptions | |
| 40 | 40 | - webmessaging/broadcastchannel: https://github.com/web-platform-tests/wpt/tree/6495c91853/webmessaging/broadcastchannel | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -163,7 +163,7 @@ Object.keys(digestedData).forEach(function (alg) { | |||
| 163 | 163 | Object.keys(sourceData).forEach(function (size) { | |
| 164 | 164 | promise_test(function (test) { | |
| 165 | 165 | return crypto.subtle | |
| 166 | - .digest({ name: alg, length: length }, sourceData[size]) | ||
| 166 | + .digest({ name: alg, outputLength: length }, sourceData[size]) | ||
| 167 | 167 | .then(function (result) { | |
| 168 | 168 | assert_true( | |
| 169 | 169 | equalBuffers(result, digestedData[alg][length][size]), | |
@@ -184,7 +184,7 @@ Object.keys(digestedData).forEach(function (alg) { | |||
| 184 | 184 | buffer[0] = sourceData[size][0]; | |
| 185 | 185 | return alg; | |
| 186 | 186 | }, | |
| 187 | - length | ||
| 187 | + outputLength: length | ||
| 188 | 188 | }, buffer) | |
| 189 | 189 | .then(function (result) { | |
| 190 | 190 | assert_true( | |
@@ -197,7 +197,7 @@ Object.keys(digestedData).forEach(function (alg) { | |||
| 197 | 197 | promise_test(function (test) { | |
| 198 | 198 | var buffer = new Uint8Array(sourceData[size]); | |
| 199 | 199 | var promise = crypto.subtle | |
| 200 | - .digest({ name: alg, length: length }, buffer) | ||
| 200 | + .digest({ name: alg, outputLength: length }, buffer) | ||
| 201 | 201 | .then(function (result) { | |
| 202 | 202 | assert_true( | |
| 203 | 203 | equalBuffers(result, digestedData[alg][length][size]), | |
@@ -218,7 +218,7 @@ Object.keys(digestedData).forEach(function (alg) { | |||
| 218 | 218 | buffer.buffer.transfer(); | |
| 219 | 219 | return alg; | |
| 220 | 220 | }, | |
| 221 | - length | ||
| 221 | + outputLength: length | ||
| 222 | 222 | }, buffer) | |
| 223 | 223 | .then(function (result) { | |
| 224 | 224 | assert_true( | |
@@ -231,7 +231,7 @@ Object.keys(digestedData).forEach(function (alg) { | |||
| 231 | 231 | promise_test(function (test) { | |
| 232 | 232 | var buffer = new Uint8Array(sourceData[size]); | |
| 233 | 233 | var promise = crypto.subtle | |
| 234 | - .digest({ name: alg, length: length }, buffer) | ||
| 234 | + .digest({ name: alg, outputLength: length }, buffer) | ||
| 235 | 235 | .then(function (result) { | |
| 236 | 236 | assert_true( | |
| 237 | 237 | equalBuffers(result, digestedData[alg][length][size]), | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -61,6 +61,42 @@ const algorithms = [ | |||
| 61 | 61 | generateKeyParams: { name: "X25519" }, | |
| 62 | 62 | usages: ["deriveKey", "deriveBits"], | |
| 63 | 63 | publicKeyUsages: [] | |
| 64 | + }, | ||
| 65 | + { | ||
| 66 | + name: "ML-DSA-44", | ||
| 67 | + generateKeyParams: { name: "ML-DSA-44" }, | ||
| 68 | + usages: ["sign", "verify"], | ||
| 69 | + publicKeyUsages: ["verify"] | ||
| 70 | + }, | ||
| 71 | + { | ||
| 72 | + name: "ML-DSA-65", | ||
| 73 | + generateKeyParams: { name: "ML-DSA-65" }, | ||
| 74 | + usages: ["sign", "verify"], | ||
| 75 | + publicKeyUsages: ["verify"] | ||
| 76 | + }, | ||
| 77 | + { | ||
| 78 | + name: "ML-DSA-87", | ||
| 79 | + generateKeyParams: { name: "ML-DSA-87" }, | ||
| 80 | + usages: ["sign", "verify"], | ||
| 81 | + publicKeyUsages: ["verify"] | ||
| 82 | + }, | ||
| 83 | + { | ||
| 84 | + name: "ML-KEM-512", | ||
| 85 | + generateKeyParams: { name: "ML-KEM-512" }, | ||
| 86 | + usages: ["encapsulateBits", "encapsulateKey", "decapsulateBits", "decapsulateKey"], | ||
| 87 | + publicKeyUsages: ["encapsulateBits", "encapsulateKey"] | ||
| 88 | + }, | ||
| 89 | + { | ||
| 90 | + name: "ML-KEM-768", | ||
| 91 | + generateKeyParams: { name: "ML-KEM-768" }, | ||
| 92 | + usages: ["encapsulateBits", "encapsulateKey", "decapsulateBits", "decapsulateKey"], | ||
| 93 | + publicKeyUsages: ["encapsulateBits", "encapsulateKey"] | ||
| 94 | + }, | ||
| 95 | + { | ||
| 96 | + name: "ML-KEM-1024", | ||
| 97 | + generateKeyParams: { name: "ML-KEM-1024" }, | ||
| 98 | + usages: ["encapsulateBits", "encapsulateKey", "decapsulateBits", "decapsulateKey"], | ||
| 99 | + publicKeyUsages: ["encapsulateBits", "encapsulateKey"] | ||
| 64 | 100 | } | |
| 65 | 101 | ]; | |
| 66 | 102 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -59,6 +59,20 @@ function runTests(algorithmName) { | |||
| 59 | 59 | testFormat(format, algorithm, data, keyData.length * 8, usages, extractable); | |
| 60 | 60 | }); | |
| 61 | 61 | testEmptyUsages(format, algorithm, data, keyData.length * 8, extractable); | |
| 62 | + | ||
| 63 | + // Verify the key data is copied only after the algorithm is | ||
| 64 | + // normalized (per spec, "get a copy of the bytes held by the | ||
| 65 | + // keyData parameter" follows "normalize an algorithm"). A | ||
| 66 | + // getter on the algorithm name mutates the key data during | ||
| 67 | + // normalization; the imported key must reflect the restored | ||
| 68 | + // bytes. Checked for BufferSource formats (jwk key data is | ||
| 69 | + // not a BufferSource) when the key is extractable, so the | ||
| 70 | + // imported bytes can be read back and compared. | ||
| 71 | + if (extractable && format !== "jwk") { | ||
| 72 | + allValidUsages(vector.legalUsages).forEach(function(usages) { | ||
| 73 | + testKeyDataAlteredDuringCall(format, algorithm, keyData, keyData.length * 8, usages); | ||
| 74 | + }); | ||
| 75 | + } | ||
| 62 | 76 | }); | |
| 63 | 77 | }); | |
| 64 | 78 | ||
@@ -111,6 +125,35 @@ function runTests(algorithmName) { | |||
| 111 | 125 | }, "Empty Usages: " + keySize.toString() + " bits " + parameterString(format, keyData, algorithm, extractable, usages)); | |
| 112 | 126 | } | |
| 113 | 127 | ||
| 128 | + // Test that importKey copies the key data only after the algorithm has been | ||
| 129 | + // normalized. The spec normalizes the algorithm (which can run author | ||
| 130 | + // getters on the algorithm dictionary) before getting a copy of the bytes | ||
| 131 | + // held by the keyData parameter. Here a getter on the algorithm's name | ||
| 132 | + // mutates the key data during normalization and then restores it, so a | ||
| 133 | + // spec-compliant implementation imports the restored (original) bytes. | ||
| 134 | + function testKeyDataAlteredDuringCall(format, algorithm, keyData, keySize, usages) { | ||
| 135 | + promise_test(function(test) { | ||
| 136 | + var alteredKeyData = copyBuffer(keyData); | ||
| 137 | + alteredKeyData[0] = 255 - alteredKeyData[0]; | ||
| 138 | + var algorithmWithGetter = { | ||
| 139 | + ...algorithm, | ||
| 140 | + get name() { | ||
| 141 | + alteredKeyData[0] = keyData[0]; | ||
| 142 | + return algorithm.name; | ||
| 143 | + } | ||
| 144 | + }; | ||
| 145 | + return subtle.importKey(format, alteredKeyData, algorithmWithGetter, true, usages). | ||
| 146 | + then(function(key) { | ||
| 147 | + return subtle.exportKey(format, key); | ||
| 148 | + }). | ||
| 149 | + then(function(result) { | ||
| 150 | + assert_true(equalBuffers(keyData, result), "Imported key reflects the key data as it was after normalization"); | ||
| 151 | + }, function(err) { | ||
| 152 | + assert_unreached("Threw an unexpected error: " + err.toString()); | ||
| 153 | + }); | ||
| 154 | + }, "Key data altered during call: " + keySize.toString() + " bits " + parameterString(format, keyData, algorithm, true, usages)); | ||
| 155 | + } | ||
| 156 | + | ||
| 114 | 157 | ||
| 115 | 158 | ||
| 116 | 159 | // Helper methods follow: | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -15,7 +15,7 @@ function run_test() { | |||
| 15 | 15 | var promise = importVectorKeys(vector, ["verify", "sign"]) | |
| 16 | 16 | .then(function(vector) { | |
| 17 | 17 | promise_test(function(test) { | |
| 18 | - var algorithmParams = {name: vector.algorithm, length: vector.length}; | ||
| 18 | + var algorithmParams = {name: vector.algorithm, outputLength: vector.outputLength}; | ||
| 19 | 19 | if (vector.customization !== undefined) { | |
| 20 | 20 | algorithmParams.customization = vector.customization; | |
| 21 | 21 | } | |
@@ -48,7 +48,7 @@ function run_test() { | |||
| 48 | 48 | var signature = copyBuffer(vector.signature); | |
| 49 | 49 | signature[0] = 255 - signature[0]; | |
| 50 | 50 | var algorithmParams = { | |
| 51 | - length: vector.length, | ||
| 51 | + outputLength: vector.outputLength, | ||
| 52 | 52 | get name() { | |
| 53 | 53 | signature[0] = vector.signature[0]; | |
| 54 | 54 | return vector.algorithm; | |
@@ -81,7 +81,7 @@ function run_test() { | |||
| 81 | 81 | .then(function(vector) { | |
| 82 | 82 | promise_test(function(test) { | |
| 83 | 83 | var signature = copyBuffer(vector.signature); | |
| 84 | - var algorithmParams = {name: vector.algorithm, length: vector.length}; | ||
| 84 | + var algorithmParams = {name: vector.algorithm, outputLength: vector.outputLength}; | ||
| 85 | 85 | if (vector.customization !== undefined) { | |
| 86 | 86 | algorithmParams.customization = vector.customization; | |
| 87 | 87 | } | |
@@ -115,7 +115,7 @@ function run_test() { | |||
| 115 | 115 | signature.buffer.transfer(); | |
| 116 | 116 | return vector.algorithm; | |
| 117 | 117 | }, | |
| 118 | - length: vector.length | ||
| 118 | + outputLength: vector.outputLength | ||
| 119 | 119 | }; | |
| 120 | 120 | if (vector.customization !== undefined) { | |
| 121 | 121 | algorithmParams.customization = vector.customization; | |
@@ -144,7 +144,7 @@ function run_test() { | |||
| 144 | 144 | .then(function(vector) { | |
| 145 | 145 | promise_test(function(test) { | |
| 146 | 146 | var signature = copyBuffer(vector.signature); | |
| 147 | - var algorithmParams = {name: vector.algorithm, length: vector.length}; | ||
| 147 | + var algorithmParams = {name: vector.algorithm, outputLength: vector.outputLength}; | ||
| 148 | 148 | if (vector.customization !== undefined) { | |
| 149 | 149 | algorithmParams.customization = vector.customization; | |
| 150 | 150 | } | |
@@ -175,7 +175,7 @@ function run_test() { | |||
| 175 | 175 | var plaintext = copyBuffer(vector.plaintext); | |
| 176 | 176 | plaintext[0] = 255 - plaintext[0]; | |
| 177 | 177 | var algorithmParams = { | |
| 178 | - length: vector.length, | ||
| 178 | + outputLength: vector.outputLength, | ||
| 179 | 179 | get name() { | |
| 180 | 180 | plaintext[0] = vector.plaintext[0]; | |
| 181 | 181 | return vector.algorithm; | |
@@ -208,7 +208,7 @@ function run_test() { | |||
| 208 | 208 | .then(function(vector) { | |
| 209 | 209 | promise_test(function(test) { | |
| 210 | 210 | var plaintext = copyBuffer(vector.plaintext); | |
| 211 | - var algorithmParams = {name: vector.algorithm, length: vector.length}; | ||
| 211 | + var algorithmParams = {name: vector.algorithm, outputLength: vector.outputLength}; | ||
| 212 | 212 | if (vector.customization !== undefined) { | |
| 213 | 213 | algorithmParams.customization = vector.customization; | |
| 214 | 214 | } | |
@@ -242,7 +242,7 @@ function run_test() { | |||
| 242 | 242 | plaintext.buffer.transfer(); | |
| 243 | 243 | return vector.algorithm; | |
| 244 | 244 | }, | |
| 245 | - length: vector.length | ||
| 245 | + outputLength: vector.outputLength | ||
| 246 | 246 | }; | |
| 247 | 247 | if (vector.customization !== undefined) { | |
| 248 | 248 | algorithmParams.customization = vector.customization; | |
@@ -271,7 +271,7 @@ function run_test() { | |||
| 271 | 271 | .then(function(vector) { | |
| 272 | 272 | promise_test(function(test) { | |
| 273 | 273 | var plaintext = copyBuffer(vector.plaintext); | |
| 274 | - var algorithmParams = {name: vector.algorithm, length: vector.length}; | ||
| 274 | + var algorithmParams = {name: vector.algorithm, outputLength: vector.outputLength}; | ||
| 275 | 275 | if (vector.customization !== undefined) { | |
| 276 | 276 | algorithmParams.customization = vector.customization; | |
| 277 | 277 | } | |
@@ -301,7 +301,7 @@ function run_test() { | |||
| 301 | 301 | var promise = importVectorKeys(vector, ["sign"]) | |
| 302 | 302 | .then(function(vector) { | |
| 303 | 303 | promise_test(function(test) { | |
| 304 | - var algorithmParams = {name: vector.algorithm, length: vector.length}; | ||
| 304 | + var algorithmParams = {name: vector.algorithm, outputLength: vector.outputLength}; | ||
| 305 | 305 | if (vector.customization !== undefined) { | |
| 306 | 306 | algorithmParams.customization = vector.customization; | |
| 307 | 307 | } | |
@@ -326,7 +326,7 @@ function run_test() { | |||
| 326 | 326 | var promise = importVectorKeys(vector, ["verify", "sign"]) | |
| 327 | 327 | .then(function(vectors) { | |
| 328 | 328 | promise_test(function(test) { | |
| 329 | - var algorithmParams = {name: vector.algorithm, length: vector.length}; | ||
| 329 | + var algorithmParams = {name: vector.algorithm, outputLength: vector.outputLength}; | ||
| 330 | 330 | if (vector.customization !== undefined) { | |
| 331 | 331 | algorithmParams.customization = vector.customization; | |
| 332 | 332 | } | |
@@ -363,7 +363,7 @@ function run_test() { | |||
| 363 | 363 | return importVectorKeys(vector, ["verify", "sign"]) | |
| 364 | 364 | .then(function(vectors) { | |
| 365 | 365 | promise_test(function(test) { | |
| 366 | - var algorithmParams = {name: vector.algorithm, length: vector.length}; | ||
| 366 | + var algorithmParams = {name: vector.algorithm, outputLength: vector.outputLength}; | ||
| 367 | 367 | if (vector.customization !== undefined) { | |
| 368 | 368 | algorithmParams.customization = vector.customization; | |
| 369 | 369 | } | |
@@ -401,7 +401,7 @@ function run_test() { | |||
| 401 | 401 | return importVectorKeys(vector, ["verify", "sign"]) | |
| 402 | 402 | .then(function(vector) { | |
| 403 | 403 | promise_test(function(test) { | |
| 404 | - var algorithmParams = {name: vector.algorithm, length: vector.length}; | ||
| 404 | + var algorithmParams = {name: vector.algorithm, outputLength: vector.outputLength}; | ||
| 405 | 405 | if (vector.customization !== undefined) { | |
| 406 | 406 | algorithmParams.customization = vector.customization; | |
| 407 | 407 | } | |
@@ -438,7 +438,7 @@ function run_test() { | |||
| 438 | 438 | var plaintext = copyBuffer(vector.plaintext); | |
| 439 | 439 | plaintext[0] = 255 - plaintext[0]; | |
| 440 | 440 | promise_test(function(test) { | |
| 441 | - var algorithmParams = {name: vector.algorithm, length: vector.length}; | ||
| 441 | + var algorithmParams = {name: vector.algorithm, outputLength: vector.outputLength}; | ||
| 442 | 442 | if (vector.customization !== undefined) { | |
| 443 | 443 | algorithmParams.customization = vector.customization; | |
| 444 | 444 | } | |
@@ -470,7 +470,7 @@ function run_test() { | |||
| 470 | 470 | var signature = copyBuffer(vector.signature); | |
| 471 | 471 | signature[0] = 255 - signature[0]; | |
| 472 | 472 | promise_test(function(test) { | |
| 473 | - var algorithmParams = {name: vector.algorithm, length: vector.length}; | ||
| 473 | + var algorithmParams = {name: vector.algorithm, outputLength: vector.outputLength}; | ||
| 474 | 474 | if (vector.customization !== undefined) { | |
| 475 | 475 | algorithmParams.customization = vector.customization; | |
| 476 | 476 | } | |
@@ -501,7 +501,7 @@ function run_test() { | |||
| 501 | 501 | .then(function(vector) { | |
| 502 | 502 | var signature = vector.signature.slice(1); // Drop first byte | |
| 503 | 503 | promise_test(function(test) { | |
| 504 | - var algorithmParams = {name: vector.algorithm, length: vector.length}; | ||
| 504 | + var algorithmParams = {name: vector.algorithm, outputLength: vector.outputLength}; | ||
| 505 | 505 | if (vector.customization !== undefined) { | |
| 506 | 506 | algorithmParams.customization = vector.customization; | |
| 507 | 507 | } | |
@@ -531,8 +531,8 @@ function run_test() { | |||
| 531 | 531 | var promise = importVectorKeys(vector, ["verify", "sign"]) | |
| 532 | 532 | .then(function(vector) { | |
| 533 | 533 | promise_test(function(test) { | |
| 534 | - var differentLength = vector.length === 256 ? 512 : 256; | ||
| 535 | - var algorithmParams = {name: vector.algorithm, length: differentLength}; | ||
| 534 | + var differentLength = vector.outputLength === 256 ? 512 : 256; | ||
| 535 | + var algorithmParams = {name: vector.algorithm, outputLength: differentLength}; | ||
| 536 | 536 | if (vector.customization !== undefined) { | |
| 537 | 537 | algorithmParams.customization = vector.customization; | |
| 538 | 538 | } | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -6,7 +6,7 @@ function getTestVectors() { | |||
| 6 | 6 | // Sample #1 - KMAC128, no customization | |
| 7 | 7 | name: "KMAC128 with no customization", | |
| 8 | 8 | algorithm: "KMAC128", | |
| 9 | - length: 256, | ||
| 9 | + outputLength: 256, | ||
| 10 | 10 | keyBuffer: new Uint8Array([ | |
| 11 | 11 | 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, | |
| 12 | 12 | 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, | |
@@ -25,7 +25,7 @@ function getTestVectors() { | |||
| 25 | 25 | // Sample #2 - KMAC128, with customization | |
| 26 | 26 | name: "KMAC128 with customization", | |
| 27 | 27 | algorithm: "KMAC128", | |
| 28 | - length: 256, | ||
| 28 | + outputLength: 256, | ||
| 29 | 29 | keyBuffer: new Uint8Array([ | |
| 30 | 30 | 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, | |
| 31 | 31 | 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, | |
@@ -47,7 +47,7 @@ function getTestVectors() { | |||
| 47 | 47 | // Sample #3 - KMAC128, large data, with customization | |
| 48 | 48 | name: "KMAC128 with large data and customization", | |
| 49 | 49 | algorithm: "KMAC128", | |
| 50 | - length: 256, | ||
| 50 | + outputLength: 256, | ||
| 51 | 51 | keyBuffer: new Uint8Array([ | |
| 52 | 52 | 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, | |
| 53 | 53 | 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, | |
@@ -69,7 +69,7 @@ function getTestVectors() { | |||
| 69 | 69 | // Sample #4 - KMAC256, with customization, 512-bit output | |
| 70 | 70 | name: "KMAC256 with customization and 512-bit output", | |
| 71 | 71 | algorithm: "KMAC256", | |
| 72 | - length: 512, | ||
| 72 | + outputLength: 512, | ||
| 73 | 73 | keyBuffer: new Uint8Array([ | |
| 74 | 74 | 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, | |
| 75 | 75 | 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, | |
@@ -94,7 +94,7 @@ function getTestVectors() { | |||
| 94 | 94 | // Sample #5 - KMAC256, large data, no customization, 512-bit output | |
| 95 | 95 | name: "KMAC256 with large data and no customization", | |
| 96 | 96 | algorithm: "KMAC256", | |
| 97 | - length: 512, | ||
| 97 | + outputLength: 512, | ||
| 98 | 98 | keyBuffer: new Uint8Array([ | |
| 99 | 99 | 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, | |
| 100 | 100 | 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, | |
@@ -116,7 +116,7 @@ function getTestVectors() { | |||
| 116 | 116 | // Sample #6 - KMAC256, large data, with customization, 512-bit output | |
| 117 | 117 | name: "KMAC256 with large data and customization", | |
| 118 | 118 | algorithm: "KMAC256", | |
| 119 | - length: 512, | ||
| 119 | + outputLength: 512, | ||
| 120 | 120 | keyBuffer: new Uint8Array([ | |
| 121 | 121 | 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, | |
| 122 | 122 | 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, | |
| Back | FazBrowse Home | New Git URL |
0 commit comments