Skip to content

Commit ddacf6d

Browse files
committed
common: add sha3_384.
1 parent f9788a7 commit ddacf6d

File tree

3 files changed

+39
-27
lines changed

3 files changed

+39
-27
lines changed

packages/common/mod.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,13 @@ export {
5151

5252
export { hmac } from "./src/hash/hmac.ts";
5353
export { sha256, sha384, sha512 } from "./src/hash/sha2.ts";
54-
export { sha3_256, sha3_512, shake128, shake256 } from "./src/hash/sha3.ts";
54+
export {
55+
sha3_256,
56+
sha3_384,
57+
sha3_512,
58+
shake128,
59+
shake256,
60+
} from "./src/hash/sha3.ts";
5561

5662
export type { CHash, CHashXOF } from "./src/hash/hash.ts";
5763
export { mod, pow2 } from "./src/curve/modular.ts";

packages/common/src/hash/sha3.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -273,13 +273,13 @@ export const sha3_256: CHash = /* @__PURE__ */ genKeccak(
273273
/* @__PURE__ */ oidNist(0x08),
274274
);
275275

276-
// /** SHA3-384 hash function. */
277-
// export const sha3_384: CHash = /* @__PURE__ */ genKeccak(
278-
// 0x06,
279-
// 104,
280-
// 48,
281-
// /* @__PURE__ */ oidNist(0x09),
282-
// );
276+
/** SHA3-384 hash function. */
277+
export const sha3_384: CHash = /* @__PURE__ */ genKeccak(
278+
0x06,
279+
104,
280+
48,
281+
/* @__PURE__ */ oidNist(0x09),
282+
);
283283

284284
/** SHA3-512 hash function. */
285285
export const sha3_512: CHash = /* @__PURE__ */ genKeccak(

packages/common/test/hashes.test.ts

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,13 @@ import { describe, it } from "@std/testing/bdd";
1212
import { createHash, createHmac } from "node:crypto";
1313

1414
import { sha256, sha384, sha512 } from "../src/hash/sha2.ts";
15-
import { sha3_256, sha3_512, shake128, shake256 } from "../src/hash/sha3.ts";
15+
import {
16+
sha3_256,
17+
sha3_384,
18+
sha3_512,
19+
shake128,
20+
shake256,
21+
} from "../src/hash/sha3.ts";
1622
import { hmac } from "../src/hash/hmac.ts";
1723
import { concatBytes, hexToBytes, utf8ToBytes } from "../src/utils/noble.ts";
1824
import { repeat, TYPE_TEST } from "./utils.ts";
@@ -143,24 +149,24 @@ const HASHES = {
143149
"ecbbc42cbf296603 acb2c6bc0410ef43 78bafb24b710357f 12df607758b33e2b",
144150
],
145151
},
146-
// SHA3_384: {
147-
// name: "SHA3_384",
148-
// fn: sha3_384,
149-
// obj: sha3_384.create,
150-
// node: (buf: Uint8Array) =>
151-
// Uint8Array.from(
152-
// createHash("sha3-384").update(buf).digest(),
153-
// ),
154-
// node_obj: () => createHash("sha3-384"),
155-
// nist: [
156-
// "ec01498288516fc9 26459f58e2c6ad8d f9b473cb0fc08c25 96da7cf0e49be4b2 98d88cea927ac7f5 39f1edf228376d25",
157-
// "0c63a75b845e4f7d 01107d852e4c2485 c51a50aaaa94fc61 995e71bbee983a2a c3713831264adb47 fb6bd1e058d5f004",
158-
// "991c665755eb3a4b 6bbdfb75c78a492e 8c56a22c5c4d7e42 9bfdbc32b9d4ad5a a04a1f076e62fea1 9eef51acd0657c22",
159-
// "79407d3b5916b59c 3e30b09822974791 c313fb9ecc849e40 6f23592d04f625dc 8c709b98b43b3852 b337216179aa7fc7",
160-
// "eee9e24d78c18553 37983451df97c8ad 9eedf256c6334f8e 948d252d5e0e7684 7aa0774ddb90a842 190d2c558b4b8340",
161-
// "a04296f4fcaae148 71bb5ad33e28dcf6 9238b04204d9941b 8782e816d014bcb7 540e4af54f30d578 f1a1ca2930847a12",
162-
// ],
163-
// },
152+
SHA3_384: {
153+
name: "SHA3_384",
154+
fn: sha3_384,
155+
obj: sha3_384.create,
156+
node: (buf: Uint8Array) =>
157+
Uint8Array.from(
158+
createHash("sha3-384").update(buf).digest(),
159+
),
160+
node_obj: () => createHash("sha3-384"),
161+
nist: [
162+
"ec01498288516fc9 26459f58e2c6ad8d f9b473cb0fc08c25 96da7cf0e49be4b2 98d88cea927ac7f5 39f1edf228376d25",
163+
"0c63a75b845e4f7d 01107d852e4c2485 c51a50aaaa94fc61 995e71bbee983a2a c3713831264adb47 fb6bd1e058d5f004",
164+
"991c665755eb3a4b 6bbdfb75c78a492e 8c56a22c5c4d7e42 9bfdbc32b9d4ad5a a04a1f076e62fea1 9eef51acd0657c22",
165+
"79407d3b5916b59c 3e30b09822974791 c313fb9ecc849e40 6f23592d04f625dc 8c709b98b43b3852 b337216179aa7fc7",
166+
"eee9e24d78c18553 37983451df97c8ad 9eedf256c6334f8e 948d252d5e0e7684 7aa0774ddb90a842 190d2c558b4b8340",
167+
"a04296f4fcaae148 71bb5ad33e28dcf6 9238b04204d9941b 8782e816d014bcb7 540e4af54f30d578 f1a1ca2930847a12",
168+
],
169+
},
164170
SHA3_512: {
165171
name: "SHA3_512",
166172
fn: sha3_512,

0 commit comments

Comments
 (0)