@vex-chat/crypto 11.0.0 → 12.0.0

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/README.md CHANGED
@@ -24,8 +24,7 @@ Crypto primitives for the [Vex](https://vex.wtf) protocol. Sign, encrypt, hash,
24
24
  - **Text & byte encoding** — `XUtils` hex/base64/UTF-8 helpers (`@stablelib/base64`, `@stablelib/utf8`).
25
25
  - **Mnemonics** — `xMnemonic()` (BIP39 via `bip39`).
26
26
  - **Utilities** — `xConcat()`, `xMakeNonce()`, `xRandomBytes()`, `XUtils.bytesEqual` (constant-time when lengths match), and `XKeyConvert` (Ed25519 ↔ X25519 via `ed2curve`).
27
- - **Runtime profile** — `setCryptoProfile()` / `getCryptoProfile()` to select `tweetnacl` (default) or `fips` mode.
28
- - **Async portable crypto** — `xSignAsync()`, `xSignOpenAsync()`, `xSignKeyPairAsync()`, `xBoxKeyPairAsync()`, `xDHAsync()`, `xSecretboxAsync()`, `xSecretboxOpenAsync()` for cross-runtime WebCrypto-backed flows.
27
+ - **Async convenience APIs** — `xSignAsync()`, `xSignOpenAsync()`, `xSignKeyPairAsync()`, `xBoxKeyPairAsync()`, `xDHAsync()`, `xSecretboxAsync()`, `xSecretboxOpenAsync()` expose the same TweetNaCl operations to async callers.
29
28
 
30
29
  **HKDF, PBKDF2, HMAC, and SHA-512 / SHA-256** all run through **`@noble/hashes`**. **`tweetnacl`** supplies CSPRNG, box, sign, and secretbox.
31
30
 
@@ -45,8 +44,6 @@ npm install @vex-chat/types @vex-chat/crypto
45
44
 
46
45
  ```ts
47
46
  import {
48
- getCryptoProfile,
49
- setCryptoProfile,
50
47
  xSignAsync,
51
48
  xSignOpenAsync,
52
49
  xSignKeyPairAsync,
@@ -61,10 +58,6 @@ import {
61
58
  XUtils,
62
59
  } from "@vex-chat/crypto";
63
60
 
64
- // Optional: select backend profile once at process startup.
65
- setCryptoProfile("tweetnacl");
66
- console.log(getCryptoProfile()); // "tweetnacl"
67
-
68
61
  // Generate identity keys
69
62
  const signKeys = xSignKeyPair();
70
63
  const boxKeys = xBoxKeyPair();
@@ -90,20 +83,12 @@ const wire = XUtils.packMessage({
90
83
  });
91
84
  const [, body] = XUtils.unpackMessage(wire);
92
85
 
93
- // Cross-runtime async path (required for full FIPS profile usage)
94
- setCryptoProfile("fips");
95
- const fipsKeys = await xSignKeyPairAsync();
96
- const fipsSigned = await xSignAsync(message, fipsKeys.secretKey);
97
- const fipsOpened = await xSignOpenAsync(fipsSigned, fipsKeys.publicKey);
86
+ // The async APIs have the same Ed25519 semantics.
87
+ const asyncKeys = await xSignKeyPairAsync();
88
+ const asyncSigned = await xSignAsync(message, asyncKeys.secretKey);
89
+ const asyncOpened = await xSignOpenAsync(asyncSigned, asyncKeys.publicKey);
98
90
  ```
99
91
 
100
- ## Crypto profiles
101
-
102
- - `tweetnacl` (default): current behavior for signing, key exchange, secretbox, and random bytes.
103
- - `fips`:
104
- - sync NaCl-shaped APIs (`xSign`, `xDH`, `xSecretbox`, etc.) still throw (to avoid silent semantic drift),
105
- - async APIs (`...Async`) use WebCrypto-backed P-256 ECDSA, P-256 ECDH, and AES-GCM, plus WebCrypto random bytes.
106
-
107
92
  Outside contributors should follow [CONTRIBUTING.md](./CONTRIBUTING.md) (including the [CLA](./CLA.md)). Release workflow: [AGENTS.md](./AGENTS.md).
108
93
 
109
94
  ## License
package/dist/index.d.ts CHANGED
@@ -12,31 +12,6 @@ import type { BaseMsg } from "@vex-chat/types";
12
12
  import { decode as decodeBase64, encode as encodeBase64 } from "@stablelib/base64";
13
13
  import { encode as decodeUTF8, decode as encodeUTF8 } from "@stablelib/utf8";
14
14
  import ed2curve from "ed2curve";
15
- /** Runtime crypto profile selector. */
16
- export type CryptoProfile = "fips" | "tweetnacl";
17
- /** Returns the currently configured crypto profile. */
18
- export declare function getCryptoProfile(): CryptoProfile;
19
- /**
20
- * Sets the runtime crypto profile.
21
- *
22
- * `tweetnacl` preserves existing behavior.
23
- * `fips` currently enables only backend-agnostic helpers; NaCl-coupled
24
- * primitives throw until a FIPS backend implementation is wired in.
25
- */
26
- export declare function setCryptoProfile(profile: CryptoProfile): void;
27
- /**
28
- * Saves the current profile and switches to `profile`. Pair every call with
29
- * {@link leaveCryptoProfileScope} in a `finally` block.
30
- *
31
- * **Why:** `setCryptoProfile` is process-wide. Several async libvex `Client`s
32
- * can overlap on `readMail`; a naive save/restore in `finally` can reset the
33
- * profile while another client still needs FIPS — `xSecretboxOpenAsync` then
34
- * reads `tweetnacl` and fails to decrypt AES-GCM payloads. Nesting this stack
35
- * fixes that.
36
- */
37
- export declare function enterCryptoProfileScope(profile: CryptoProfile): void;
38
- /** Restores the profile saved by the innermost {@link enterCryptoProfileScope}. */
39
- export declare function leaveCryptoProfileScope(): void;
40
15
  /**
41
16
  * Provides an interface that can map an ed25519 keypair to its equivalent
42
17
  * X25519 keypair.
@@ -76,16 +51,13 @@ export declare class XUtils {
76
51
  * @returns The hex-encoded secret key.
77
52
  */
78
53
  static decryptKeyData: (keyData: Uint8Array, password: string) => string;
79
- /**
80
- * Async variant of decryptKeyData for cross-runtime/FIPS backends.
81
- * Supports both profile formats emitted by encryptKeyDataAsync.
82
- */
54
+ /** Async variant of decryptKeyData for cross-runtime callers. */
83
55
  static decryptKeyDataAsync: (keyData: Uint8Array, password: string) => Promise<string>;
84
56
  /**
85
57
  * Derive a purpose-separated 32-byte key for local at-rest encryption.
86
- * The result never aliases raw identity-key bytes in either crypto profile.
58
+ * The result never aliases raw identity-key bytes.
87
59
  */
88
- static deriveLocalAtRestAesKey(identitySk: Uint8Array, profile: CryptoProfile): Uint8Array;
60
+ static deriveLocalAtRestAesKey(identitySk: Uint8Array): Uint8Array;
89
61
  /**
90
62
  * Returns the empty header (32 0's)
91
63
  *
@@ -111,10 +83,7 @@ export declare class XUtils {
111
83
  * @returns The encrypted key data as a Uint8Array.
112
84
  */
113
85
  static encryptKeyData: (password: string, keyToSave: string, iterationOverride?: number) => Uint8Array;
114
- /**
115
- * Async variant of encryptKeyData for cross-runtime/FIPS backends.
116
- * Format remains [iterations(6)|salt(24)|nonce(24)|ciphertext(N)].
117
- */
86
+ /** Async variant of encryptKeyData for cross-runtime callers. */
118
87
  static encryptKeyDataAsync: (password: string, keyToSave: string, iterationOverride?: number) => Promise<Uint8Array>;
119
88
  /**
120
89
  * Returns a six bit Uint8Array representation of an integer.
@@ -171,7 +140,7 @@ export declare function xMessageKeySubkeys(messageKey: Uint8Array): {
171
140
  */
172
141
  export declare function xMnemonic(entropy: Uint8Array, wordList?: string[]): string;
173
142
  /** Domain-separated payload signed for X3DH signed and one-time prekeys. */
174
- export declare function xPreKeySignaturePayload(publicKey: Uint8Array, kind: "one-time" | "signed", profile?: CryptoProfile): Uint8Array;
143
+ export declare function xPreKeySignaturePayload(publicKey: Uint8Array, kind: "one-time" | "signed"): Uint8Array;
175
144
  /**
176
145
  * Constants for vex.
177
146
  */
@@ -196,20 +165,13 @@ export interface XConstants {
196
165
  KEY_LENGTH: 32 | 57;
197
166
  MIN_OTK_SUPPLY: number;
198
167
  }
199
- /**
200
- * FIPS: `device.signKey` in the database is the P-256 ECDSA public key (SPKI),
201
- * used for account/device signature verification. X3DH on the client expects
202
- * the same curve point as Web Crypto "raw" P-256 ECDH public bytes for
203
- * `importEcdhPublicKey`. This converts SPKI → raw without a private key.
204
- */
205
- export declare function fipsEcdhRawPublicKeyFromEcdsaSpkiAsync(ecdsaSpki: Uint8Array): Promise<Uint8Array>;
206
168
  /** Generate a fresh X25519 box key pair. */
207
169
  export declare function xBoxKeyPair(): KeyPair;
208
- /** Async box keypair generation for the active profile. */
170
+ /** Async X25519 box keypair generation. */
209
171
  export declare function xBoxKeyPairAsync(): Promise<KeyPair>;
210
172
  /** Restore an X25519 box key pair from a 32-byte secret key. */
211
173
  export declare function xBoxKeyPairFromSecret(secretKey: Uint8Array): KeyPair;
212
- /** Async box key restore from private key material. */
174
+ /** Async X25519 box key restore from private key material. */
213
175
  export declare function xBoxKeyPairFromSecretAsync(secretKey: Uint8Array): Promise<KeyPair>;
214
176
  /**
215
177
  * Concatanates multiple Uint8Arrays.
@@ -226,14 +188,8 @@ export declare function xConcat(...arrays: Uint8Array[]): Uint8Array;
226
188
  * @returns The derived shared secret, SK.
227
189
  */
228
190
  export declare function xDH(myPrivateKey: Uint8Array, theirPublicKey: Uint8Array): Uint8Array;
229
- /** Async DH for cross-runtime/FIPS backends. */
191
+ /** Async X25519 DH. */
230
192
  export declare function xDHAsync(myPrivateKey: Uint8Array, theirPublicKey: Uint8Array): Promise<Uint8Array>;
231
- /**
232
- * In `fips` mode only: derive a P-256 ECDH `KeyPair` (raw public + pkcs8 secret)
233
- * from a P-256 ECDSA `KeyPair` (spki + pkcs8) using the same private scalar in Web Crypto.
234
- * In `tweetnacl` mode, use `XKeyConvert.convertKeyPair` to map Ed25519 → X25519 instead.
235
- */
236
- export declare function xEcdhKeyPairFromEcdsaKeyPairAsync(sign: KeyPair): Promise<KeyPair>;
237
193
  /**
238
194
  * Encode an X25519 or X448 public key PK into a byte sequence.
239
195
  * The encoding consists of 0 or 1 to represent the type of curve, followed by l
@@ -257,26 +213,26 @@ export declare function xMakeNonce(): Uint8Array;
257
213
  export declare function xRandomBytes(length: number): Uint8Array;
258
214
  /** Encrypt with a shared secret key. */
259
215
  export declare function xSecretbox(plaintext: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array;
260
- /** Async authenticated encryption for cross-runtime/FIPS backends. */
216
+ /** Async XSalsa20-Poly1305 encryption. */
261
217
  export declare function xSecretboxAsync(plaintext: Uint8Array, nonce: Uint8Array, key: Uint8Array): Promise<Uint8Array>;
262
218
  /** Decrypt with a shared secret key. Returns null if authentication fails. */
263
219
  export declare function xSecretboxOpen(ciphertext: Uint8Array, nonce: Uint8Array, key: Uint8Array): null | Uint8Array;
264
- /** Async authenticated decryption for cross-runtime/FIPS backends. */
220
+ /** Async XSalsa20-Poly1305 decryption. */
265
221
  export declare function xSecretboxOpenAsync(ciphertext: Uint8Array, nonce: Uint8Array, key: Uint8Array): Promise<null | Uint8Array>;
266
222
  /** Sign a message with an Ed25519 secret key. Returns signed message (64-byte signature prefix + message). */
267
223
  export declare function xSign(message: Uint8Array, secretKey: Uint8Array): Uint8Array;
268
- /** Async signing for cross-runtime/FIPS backends. */
224
+ /** Async Ed25519 signing. */
269
225
  export declare function xSignAsync(message: Uint8Array, secretKey: Uint8Array): Promise<Uint8Array>;
270
226
  /** Generate a fresh Ed25519 signing key pair. */
271
227
  export declare function xSignKeyPair(): KeyPair;
272
- /** Async keypair generation for the active profile. */
228
+ /** Async Ed25519 keypair generation. */
273
229
  export declare function xSignKeyPairAsync(): Promise<KeyPair>;
274
230
  /** Restore an Ed25519 signing key pair from a 64-byte secret key. */
275
231
  export declare function xSignKeyPairFromSecret(secretKey: Uint8Array): KeyPair;
276
- /** Async restore of signing keypair for the active profile. */
232
+ /** Async restore of an Ed25519 signing keypair. */
277
233
  export declare function xSignKeyPairFromSecretAsync(secretKey: Uint8Array): Promise<KeyPair>;
278
234
  /** Verify and open a signed message. Returns the original message, or null if verification fails. */
279
235
  export declare function xSignOpen(signedMessage: Uint8Array, publicKey: Uint8Array): null | Uint8Array;
280
- /** Async verify/open for cross-runtime/FIPS backends. */
236
+ /** Async Ed25519 verify/open. */
281
237
  export declare function xSignOpenAsync(signedMessage: Uint8Array, publicKey: Uint8Array): Promise<null | Uint8Array>;
282
238
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}