@vex-chat/crypto 2.0.1 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vex-chat/crypto",
3
- "version": "2.0.1",
3
+ "version": "2.1.1",
4
4
  "description": "Crypto primitives for the Vex encrypted chat platform",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -15,7 +15,10 @@
15
15
  "files": [
16
16
  "dist",
17
17
  "src",
18
- "LICENSE"
18
+ "LICENSE",
19
+ "LICENSE-COMMERCIAL",
20
+ "LICENSING.md",
21
+ "CLA.md"
19
22
  ],
20
23
  "author": "Extra <extrahash@protonmail.com>",
21
24
  "license": "AGPL-3.0-or-later",
@@ -40,6 +43,8 @@
40
43
  "lint:api": "api-extractor run --local --verbose",
41
44
  "docs": "npx typedoc --options typedoc.json",
42
45
  "test": "vitest run",
46
+ "test:core": "vitest run --project core",
47
+ "test:async-api": "vitest run --project async-api",
43
48
  "test:types": "tsc --noEmit",
44
49
  "prepublish": "npm run build"
45
50
  },
@@ -53,6 +58,7 @@
53
58
  }
54
59
  },
55
60
  "dependencies": {
61
+ "@noble/curves": "1.4.0",
56
62
  "@noble/hashes": "2.2.0",
57
63
  "@stablelib/base64": "2.0.1",
58
64
  "@stablelib/utf8": "2.1.0",
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Copyright (c) 2020-2026 Vex Heavy Industries LLC
3
+ * Licensed under AGPL-3.0. See LICENSE for details.
4
+ * Commercial licenses available at vex.wtf
5
+ */
6
+
1
7
  import type nacl from "tweetnacl";
2
8
 
3
9
  import { XKeyConvert, XUtils } from "../index.js";
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Copyright (c) 2020-2026 Vex Heavy Industries LLC
3
+ * Licensed under AGPL-3.0. See LICENSE for details.
4
+ * Commercial licenses available at vex.wtf
5
+ */
6
+
1
7
  import { XUtils } from "../../index.js";
2
8
  const { bytesEqual } = XUtils;
3
9
 
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Copyright (c) 2020-2026 Vex Heavy Industries LLC
3
+ * Licensed under AGPL-3.0. See LICENSE for details.
4
+ * Commercial licenses available at vex.wtf
5
+ */
6
+
1
7
  import { XUtils } from "../../index.js";
2
8
  const { emptyHeader } = XUtils;
3
9
 
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Copyright (c) 2020-2026 Vex Heavy Industries LLC
3
+ * Licensed under AGPL-3.0. See LICENSE for details.
4
+ * Commercial licenses available at vex.wtf
5
+ */
6
+
1
7
  import { XUtils } from "../../index.js";
2
8
 
3
9
  const { bytesEqual, numberToUint8Arr } = XUtils;
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Copyright (c) 2020-2026 Vex Heavy Industries LLC
3
+ * Licensed under AGPL-3.0. See LICENSE for details.
4
+ * Commercial licenses available at vex.wtf
5
+ */
6
+
1
7
  import type { ResourceMsg } from "@vex-chat/types";
2
8
 
3
9
  import { XUtils } from "../../index.js";
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Copyright (c) 2020-2026 Vex Heavy Industries LLC
3
+ * Licensed under AGPL-3.0. See LICENSE for details.
4
+ * Commercial licenses available at vex.wtf
5
+ */
6
+
1
7
  import { XUtils } from "../../index.js";
2
8
  const {
3
9
  decodeBase64,
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Copyright (c) 2020-2026 Vex Heavy Industries LLC
3
+ * Licensed under AGPL-3.0. See LICENSE for details.
4
+ * Commercial licenses available at vex.wtf
5
+ */
6
+
1
7
  import { XUtils } from "../../index.js";
2
8
 
3
9
  const { uint8ArrToNumber } = XUtils;
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Copyright (c) 2020-2026 Vex Heavy Industries LLC
3
+ * Licensed under AGPL-3.0. See LICENSE for details.
4
+ * Commercial licenses available at vex.wtf
5
+ */
6
+
1
7
  import type { ResourceMsg } from "@vex-chat/types";
2
8
 
3
9
  import { XUtils } from "../../index.js";
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Copyright (c) 2020-2026 Vex Heavy Industries LLC
3
+ * Licensed under AGPL-3.0. See LICENSE for details.
4
+ * Commercial licenses available at vex.wtf
5
+ */
6
+
7
+ import {
8
+ getCryptoProfile,
9
+ setCryptoProfile,
10
+ xDH,
11
+ xMakeNonce,
12
+ xRandomBytes,
13
+ XUtils,
14
+ } from "../index.js";
15
+
16
+ afterEach(() => {
17
+ setCryptoProfile("tweetnacl");
18
+ });
19
+
20
+ test("crypto profile defaults to tweetnacl", () => {
21
+ expect(getCryptoProfile()).toBe("tweetnacl");
22
+ });
23
+
24
+ test("fips profile rejects nacl-coupled operations", () => {
25
+ setCryptoProfile("fips");
26
+
27
+ const myPrivateKey = XUtils.decodeHex(
28
+ "918ed243e2c6c507168b20e8b167cff33a10c30e99e8defe28dc2147f5cce703",
29
+ );
30
+ const theirPublicKey = XUtils.decodeHex(
31
+ "6f4cc1ffc4009bd4f94628ba5922e40afa3491f0daa43ec9da0f7dc39bb1c026",
32
+ );
33
+
34
+ expect(() => xDH(myPrivateKey, theirPublicKey)).toThrow(
35
+ 'Crypto profile "fips" does not implement xDH yet.',
36
+ );
37
+ });
38
+
39
+ test("fips profile still supports random bytes", () => {
40
+ setCryptoProfile("fips");
41
+
42
+ const bytes = xRandomBytes(32);
43
+ const nonce = xMakeNonce();
44
+
45
+ expect(bytes.length).toBe(32);
46
+ expect(nonce.length).toBe(24);
47
+ });
48
+
49
+ test("switching back to tweetnacl restores behavior", () => {
50
+ const myPrivateKey = XUtils.decodeHex(
51
+ "918ed243e2c6c507168b20e8b167cff33a10c30e99e8defe28dc2147f5cce703",
52
+ );
53
+ const theirPublicKey = XUtils.decodeHex(
54
+ "6f4cc1ffc4009bd4f94628ba5922e40afa3491f0daa43ec9da0f7dc39bb1c026",
55
+ );
56
+ const correctDerivedKey =
57
+ "19a8594bdcf875ec9d4b8b9615ea8b73a0b327bb64b8f727dd2dee3a603a2230";
58
+
59
+ setCryptoProfile("fips");
60
+ setCryptoProfile("tweetnacl");
61
+
62
+ const derived = XUtils.encodeHex(xDH(myPrivateKey, theirPublicKey));
63
+ expect(derived).toBe(correctDerivedKey);
64
+ });
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Copyright (c) 2020-2026 Vex Heavy Industries LLC
3
+ * Licensed under AGPL-3.0. See LICENSE for details.
4
+ * Commercial licenses available at vex.wtf
5
+ *
6
+ * More async-API coverage: at-rest key wrap + from-secret key restore.
7
+ * Paired with `xAsyncProfile.ts` in the `async-api` Vitest project (see `vitest.config.ts`).
8
+ */
9
+
10
+ import {
11
+ setCryptoProfile,
12
+ xBoxKeyPairAsync,
13
+ xBoxKeyPairFromSecretAsync,
14
+ xSignKeyPairAsync,
15
+ xSignKeyPairFromSecretAsync,
16
+ XUtils,
17
+ } from "../index.js";
18
+
19
+ afterEach(() => {
20
+ setCryptoProfile("tweetnacl");
21
+ });
22
+
23
+ const fixedIterations = 5000;
24
+
25
+ test("encryptKeyDataAsync / decryptKeyDataAsync (tweetnacl)", async () => {
26
+ setCryptoProfile("tweetnacl");
27
+ const { publicKey, secretKey } = await xSignKeyPairAsync();
28
+ void publicKey;
29
+ const hex = XUtils.encodeHex(secretKey);
30
+ const enc = await XUtils.encryptKeyDataAsync(
31
+ "correct horse",
32
+ hex,
33
+ fixedIterations,
34
+ );
35
+ const out = await XUtils.decryptKeyDataAsync(enc, "correct horse");
36
+ expect(out).toBe(hex);
37
+ await expect(XUtils.decryptKeyDataAsync(enc, "wrong")).rejects.toThrow();
38
+ });
39
+
40
+ test("encryptKeyDataAsync / decryptKeyDataAsync (FIPS)", async () => {
41
+ setCryptoProfile("fips");
42
+ const { publicKey, secretKey } = await xSignKeyPairAsync();
43
+ void publicKey;
44
+ const hex = XUtils.encodeHex(secretKey);
45
+ const enc = await XUtils.encryptKeyDataAsync(
46
+ "battery staple",
47
+ hex,
48
+ fixedIterations,
49
+ );
50
+ const out = await XUtils.decryptKeyDataAsync(enc, "battery staple");
51
+ expect(out).toBe(hex);
52
+ });
53
+
54
+ test("xBoxKeyPairFromSecretAsync roundtrip (tweetnacl)", async () => {
55
+ setCryptoProfile("tweetnacl");
56
+ const a = await xBoxKeyPairAsync();
57
+ const b = await xBoxKeyPairFromSecretAsync(a.secretKey);
58
+ expect(XUtils.bytesEqual(a.publicKey, b.publicKey)).toBe(true);
59
+ expect(XUtils.bytesEqual(a.secretKey, b.secretKey)).toBe(true);
60
+ });
61
+
62
+ test("xBoxKeyPairFromSecretAsync roundtrip (FIPS)", async () => {
63
+ setCryptoProfile("fips");
64
+ const a = await xBoxKeyPairAsync();
65
+ const b = await xBoxKeyPairFromSecretAsync(a.secretKey);
66
+ expect(XUtils.bytesEqual(a.publicKey, b.publicKey)).toBe(true);
67
+ expect(XUtils.bytesEqual(a.secretKey, b.secretKey)).toBe(true);
68
+ });
69
+
70
+ test("xSignKeyPairFromSecretAsync roundtrip (tweetnacl)", async () => {
71
+ setCryptoProfile("tweetnacl");
72
+ const a = await xSignKeyPairAsync();
73
+ const b = await xSignKeyPairFromSecretAsync(a.secretKey);
74
+ expect(XUtils.bytesEqual(a.publicKey, b.publicKey)).toBe(true);
75
+ expect(XUtils.bytesEqual(a.secretKey, b.secretKey)).toBe(true);
76
+ });
77
+
78
+ test("xSignKeyPairFromSecretAsync roundtrip (FIPS)", async () => {
79
+ setCryptoProfile("fips");
80
+ const a = await xSignKeyPairAsync();
81
+ const b = await xSignKeyPairFromSecretAsync(a.secretKey);
82
+ expect(XUtils.bytesEqual(a.publicKey, b.publicKey)).toBe(true);
83
+ expect(XUtils.bytesEqual(a.secretKey, b.secretKey)).toBe(true);
84
+ });
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Copyright (c) 2020-2026 Vex Heavy Industries LLC
3
+ * Licensed under AGPL-3.0. See LICENSE for details.
4
+ * Commercial licenses available at vex.wtf
5
+ */
6
+
7
+ import {
8
+ setCryptoProfile,
9
+ xBoxKeyPairAsync,
10
+ xDHAsync,
11
+ xSecretboxAsync,
12
+ xSecretboxOpenAsync,
13
+ xSignAsync,
14
+ xSignKeyPairAsync,
15
+ xSignOpenAsync,
16
+ XUtils,
17
+ } from "../index.js";
18
+
19
+ afterEach(() => {
20
+ setCryptoProfile("tweetnacl");
21
+ });
22
+
23
+ test("tweetnacl async wrappers preserve sign/open semantics", async () => {
24
+ setCryptoProfile("tweetnacl");
25
+ const keys = await xSignKeyPairAsync();
26
+ const message = XUtils.decodeUTF8("hello async");
27
+ const signed = await xSignAsync(message, keys.secretKey);
28
+ const opened = await xSignOpenAsync(signed, keys.publicKey);
29
+
30
+ if (opened === null) {
31
+ throw new Error("Expected signed message to verify in tweetnacl mode.");
32
+ }
33
+ expect(XUtils.encodeUTF8(opened)).toBe("hello async");
34
+ });
35
+
36
+ test("fips async sign/open roundtrip", async () => {
37
+ setCryptoProfile("fips");
38
+ const keys = await xSignKeyPairAsync();
39
+ const message = XUtils.decodeUTF8("hello fips");
40
+ const signed = await xSignAsync(message, keys.secretKey);
41
+ const opened = await xSignOpenAsync(signed, keys.publicKey);
42
+
43
+ if (opened === null) {
44
+ throw new Error("Expected signed message to verify in fips mode.");
45
+ }
46
+ expect(XUtils.encodeUTF8(opened)).toBe("hello fips");
47
+ });
48
+
49
+ test("fips async ecdh and aes-gcm roundtrip", async () => {
50
+ setCryptoProfile("fips");
51
+ const alice = await xBoxKeyPairAsync();
52
+ const bob = await xBoxKeyPairAsync();
53
+ const aliceShared = await xDHAsync(alice.secretKey, bob.publicKey);
54
+ const bobShared = await xDHAsync(bob.secretKey, alice.publicKey);
55
+
56
+ expect(XUtils.bytesEqual(aliceShared, bobShared)).toBe(true);
57
+
58
+ const nonce = new Uint8Array(24);
59
+ nonce.set(crypto.getRandomValues(new Uint8Array(24)));
60
+ const plaintext = XUtils.decodeUTF8("portable fips path");
61
+
62
+ const ciphertext = await xSecretboxAsync(plaintext, nonce, aliceShared);
63
+ const decrypted = await xSecretboxOpenAsync(ciphertext, nonce, bobShared);
64
+
65
+ if (decrypted === null) {
66
+ throw new Error("Expected ciphertext to decrypt in fips mode.");
67
+ }
68
+ expect(XUtils.encodeUTF8(decrypted)).toBe("portable fips path");
69
+ });
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Copyright (c) 2020-2026 Vex Heavy Industries LLC
3
+ * Licensed under AGPL-3.0. See LICENSE for details.
4
+ * Commercial licenses available at vex.wtf
5
+ */
6
+
1
7
  import { xConcat, XUtils } from "../index.js";
2
8
 
3
9
  test("xConcat", () => {
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Copyright (c) 2020-2026 Vex Heavy Industries LLC
3
+ * Licensed under AGPL-3.0. See LICENSE for details.
4
+ * Commercial licenses available at vex.wtf
5
+ */
6
+
1
7
  import { xDH, XUtils } from "../index.js";
2
8
 
3
9
  test("xDH", () => {
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Copyright (c) 2020-2026 Vex Heavy Industries LLC
3
+ * Licensed under AGPL-3.0. See LICENSE for details.
4
+ * Commercial licenses available at vex.wtf
5
+ */
6
+
1
7
  import { xEncode, XUtils } from "../index.js";
2
8
 
3
9
  test("xEncode", () => {
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Copyright (c) 2020-2026 Vex Heavy Industries LLC
3
+ * Licensed under AGPL-3.0. See LICENSE for details.
4
+ * Commercial licenses available at vex.wtf
5
+ */
6
+
1
7
  import { createHmac } from "crypto";
2
8
 
3
9
  import { Packr } from "msgpackr";
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Copyright (c) 2020-2026 Vex Heavy Industries LLC
3
+ * Licensed under AGPL-3.0. See LICENSE for details.
4
+ * Commercial licenses available at vex.wtf
5
+ */
6
+
1
7
  import { xMnemonic, XUtils } from "../index.js";
2
8
 
3
9
  test("xMnemonic", () => {