leviathan-crypto 1.3.1 → 2.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/CLAUDE.md +129 -76
- package/README.md +166 -221
- package/SECURITY.md +89 -37
- package/dist/chacha20/cipher-suite.d.ts +4 -0
- package/dist/chacha20/cipher-suite.js +78 -0
- package/dist/chacha20/embedded.d.ts +1 -0
- package/dist/chacha20/embedded.js +27 -0
- package/dist/chacha20/index.d.ts +20 -7
- package/dist/chacha20/index.js +41 -14
- package/dist/chacha20/ops.d.ts +1 -1
- package/dist/chacha20/ops.js +19 -18
- package/dist/chacha20/pool-worker.js +77 -0
- package/dist/ct-wasm.d.ts +1 -0
- package/dist/ct-wasm.js +3 -0
- package/dist/ct.wasm +0 -0
- package/dist/docs/aead.md +320 -0
- package/dist/docs/architecture.md +419 -285
- package/dist/docs/argon2id.md +42 -30
- package/dist/docs/chacha20.md +218 -150
- package/dist/docs/exports.md +241 -0
- package/dist/docs/fortuna.md +65 -74
- package/dist/docs/init.md +172 -178
- package/dist/docs/loader.md +87 -132
- package/dist/docs/serpent.md +134 -565
- package/dist/docs/sha2.md +91 -103
- package/dist/docs/sha3.md +70 -36
- package/dist/docs/types.md +93 -16
- package/dist/docs/utils.md +114 -41
- package/dist/embedded/chacha20.d.ts +1 -1
- package/dist/embedded/chacha20.js +2 -1
- package/dist/embedded/kyber.d.ts +1 -0
- package/dist/embedded/kyber.js +3 -0
- package/dist/embedded/serpent.d.ts +1 -1
- package/dist/embedded/serpent.js +2 -1
- package/dist/embedded/sha2.d.ts +1 -1
- package/dist/embedded/sha2.js +2 -1
- package/dist/embedded/sha3.d.ts +1 -1
- package/dist/embedded/sha3.js +2 -1
- package/dist/errors.d.ts +10 -0
- package/dist/{serpent/seal.js → errors.js} +14 -46
- package/dist/fortuna.d.ts +2 -8
- package/dist/fortuna.js +11 -9
- package/dist/index.d.ts +25 -9
- package/dist/index.js +36 -7
- package/dist/init.d.ts +3 -7
- package/dist/init.js +18 -35
- package/dist/keccak/embedded.d.ts +1 -0
- package/dist/keccak/embedded.js +27 -0
- package/dist/keccak/index.d.ts +4 -0
- package/dist/keccak/index.js +31 -0
- package/dist/kyber/embedded.d.ts +1 -0
- package/dist/kyber/embedded.js +27 -0
- package/dist/kyber/indcpa.d.ts +49 -0
- package/dist/kyber/indcpa.js +352 -0
- package/dist/kyber/index.d.ts +38 -0
- package/dist/kyber/index.js +150 -0
- package/dist/kyber/kem.d.ts +21 -0
- package/dist/kyber/kem.js +160 -0
- package/dist/kyber/params.d.ts +14 -0
- package/dist/kyber/params.js +37 -0
- package/dist/kyber/suite.d.ts +13 -0
- package/dist/kyber/suite.js +93 -0
- package/dist/kyber/types.d.ts +98 -0
- package/dist/kyber/types.js +25 -0
- package/dist/kyber/validate.d.ts +19 -0
- package/dist/kyber/validate.js +68 -0
- package/dist/kyber.wasm +0 -0
- package/dist/loader.d.ts +19 -4
- package/dist/loader.js +91 -25
- package/dist/serpent/cipher-suite.d.ts +4 -0
- package/dist/serpent/cipher-suite.js +121 -0
- package/dist/serpent/embedded.d.ts +1 -0
- package/dist/serpent/embedded.js +27 -0
- package/dist/serpent/index.d.ts +6 -37
- package/dist/serpent/index.js +9 -118
- package/dist/serpent/pool-worker.d.ts +1 -0
- package/dist/serpent/pool-worker.js +202 -0
- package/dist/serpent/serpent-cbc.d.ts +30 -0
- package/dist/serpent/serpent-cbc.js +136 -0
- package/dist/sha2/embedded.d.ts +1 -0
- package/dist/sha2/embedded.js +27 -0
- package/dist/sha2/hkdf.js +6 -2
- package/dist/sha2/index.d.ts +3 -2
- package/dist/sha2/index.js +3 -4
- package/dist/sha3/embedded.d.ts +1 -0
- package/dist/sha3/embedded.js +27 -0
- package/dist/sha3/index.d.ts +3 -2
- package/dist/sha3/index.js +3 -4
- package/dist/stream/constants.d.ts +6 -0
- package/dist/stream/constants.js +30 -0
- package/dist/stream/header.d.ts +9 -0
- package/dist/stream/header.js +77 -0
- package/dist/stream/index.d.ts +7 -0
- package/dist/stream/index.js +27 -0
- package/dist/stream/open-stream.d.ts +21 -0
- package/dist/stream/open-stream.js +146 -0
- package/dist/stream/seal-stream-pool.d.ts +38 -0
- package/dist/stream/seal-stream-pool.js +391 -0
- package/dist/stream/seal-stream.d.ts +20 -0
- package/dist/stream/seal-stream.js +142 -0
- package/dist/stream/seal.d.ts +9 -0
- package/dist/stream/seal.js +75 -0
- package/dist/stream/types.d.ts +24 -0
- package/dist/stream/types.js +26 -0
- package/dist/utils.d.ts +12 -7
- package/dist/utils.js +75 -19
- package/dist/wasm-source.d.ts +12 -0
- package/dist/wasm-source.js +26 -0
- package/package.json +13 -5
- package/dist/chacha20/pool.d.ts +0 -52
- package/dist/chacha20/pool.js +0 -188
- package/dist/chacha20/pool.worker.js +0 -37
- package/dist/docs/chacha20_pool.md +0 -309
- package/dist/docs/wasm.md +0 -194
- package/dist/serpent/seal.d.ts +0 -8
- package/dist/serpent/stream-pool.d.ts +0 -48
- package/dist/serpent/stream-pool.js +0 -285
- package/dist/serpent/stream-sealer.d.ts +0 -50
- package/dist/serpent/stream-sealer.js +0 -341
- package/dist/serpent/stream.d.ts +0 -28
- package/dist/serpent/stream.js +0 -205
- package/dist/serpent/stream.worker.d.ts +0 -32
- package/dist/serpent/stream.worker.js +0 -117
- /package/dist/chacha20/{pool.worker.d.ts → pool-worker.d.ts} +0 -0
package/dist/docs/utils.md
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Utilities
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Pure TypeScript utilities that ship alongside the WASM-backed primitives. These functions have **no `init()` dependency** -- they work immediately on import, without loading any WASM module.
|
|
6
|
-
|
|
7
|
-
The module covers four areas:
|
|
3
|
+
> [!NOTE]
|
|
4
|
+
> Pure TypeScript utilities that ship alongside the WASM-backed primitives. No `init()` call required; all functions work immediately on import.
|
|
8
5
|
|
|
9
|
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
6
|
+
> ### Table of Contents
|
|
7
|
+
> - [Security Notes](#security-notes)
|
|
8
|
+
> - [API Reference](#api-reference)
|
|
9
|
+
> - [Usage Examples](#usage-examples)
|
|
10
|
+
> - [Error Conditions](#error-conditions)
|
|
13
11
|
|
|
14
12
|
---
|
|
15
13
|
|
|
14
|
+
The module covers encoding (hex, UTF-8, and base64 conversions between strings and `Uint8Array`), security (constant-time comparison and secure memory wiping), byte manipulation (XOR and concatenation), and random byte generation.
|
|
15
|
+
|
|
16
16
|
## Security Notes
|
|
17
17
|
|
|
18
|
-
**`constantTimeEqual`** uses an XOR-accumulate
|
|
18
|
+
**`constantTimeEqual`** uses a WASM SIMD module when available to remove the JS JIT compiler from the timing picture, falling back to an XOR-accumulate loop on older runtimes. Use this function whenever you compare MACs, hashes, authentication tags, or any secret-derived values. Never use `===`, `Buffer.equals`, or a manual loop-with-break for security comparisons. Those leak timing information that attackers can exploit to recover secrets. Inputs are limited to [`CT_MAX_BYTES`](#ct_max_bytes) (32768 bytes) per side.
|
|
19
19
|
|
|
20
|
-
The length check in `constantTimeEqual` is
|
|
20
|
+
The length check in `constantTimeEqual` is not constant-time, because array length is non-secret in all standard protocols. If your use case treats length as secret, pad to equal length before comparing.
|
|
21
21
|
|
|
22
22
|
**`wipe`** zeroes a typed array in-place. Call it on keys, plaintext buffers, and any other sensitive data as soon as you are done with them. JavaScript's garbage collector does not guarantee timely or complete erasure of memory.
|
|
23
23
|
|
|
@@ -35,7 +35,7 @@ The encoding functions (`hexToBytes`, `bytesToHex`, `utf8ToBytes`, `bytesToUtf8`
|
|
|
35
35
|
hexToBytes(hex: string): Uint8Array
|
|
36
36
|
```
|
|
37
37
|
|
|
38
|
-
Converts a hex string to a `Uint8Array`. Accepts lowercase or uppercase characters. An optional `0x` or `0X` prefix is stripped automatically.
|
|
38
|
+
Converts a hex string to a `Uint8Array`. Accepts lowercase or uppercase characters. An optional `0x` or `0X` prefix is stripped automatically. Throws `RangeError` on odd-length input.
|
|
39
39
|
|
|
40
40
|
---
|
|
41
41
|
|
|
@@ -75,11 +75,7 @@ Decodes UTF-8 bytes to a JavaScript string using the platform `TextDecoder`.
|
|
|
75
75
|
base64ToBytes(b64: string): Uint8Array | undefined
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
-
Decodes a base64 or base64url string to a `Uint8Array`.
|
|
79
|
-
|
|
80
|
-
> [!NOTE]
|
|
81
|
-
> Valid base64 characters are `A-Z`, `a-z`, `0-9`, `+`, `/`, and `=`.
|
|
82
|
-
> Any other character causes the function to return `undefined`.
|
|
78
|
+
Decodes a base64 or base64url string to a `Uint8Array`. Handles padded, unpadded, and legacy `%3d` padding. Unpadded base64url input is accepted (RFC 4648 §5). Returns `undefined` if the input is not valid base64 (illegal characters or `rem=1` length).
|
|
83
79
|
|
|
84
80
|
---
|
|
85
81
|
|
|
@@ -89,7 +85,7 @@ Decodes a base64 or base64url string to a `Uint8Array`. Base64url characters (`-
|
|
|
89
85
|
bytesToBase64(bytes: Uint8Array, url?: boolean): string
|
|
90
86
|
```
|
|
91
87
|
|
|
92
|
-
Encodes a `Uint8Array` to a base64 string. Pass `url = true`
|
|
88
|
+
Encodes a `Uint8Array` to a base64 string. Pass `url = true` for base64url (RFC 4648 §5), which uses `-` and `_` instead of `+` and `/` with no padding characters. Defaults to standard base64.
|
|
93
89
|
|
|
94
90
|
---
|
|
95
91
|
|
|
@@ -99,7 +95,40 @@ Encodes a `Uint8Array` to a base64 string. Pass `url = true` to get base64url en
|
|
|
99
95
|
constantTimeEqual(a: Uint8Array, b: Uint8Array): boolean
|
|
100
96
|
```
|
|
101
97
|
|
|
102
|
-
Returns `true` if `a` and `b` contain identical bytes.
|
|
98
|
+
Returns `true` if `a` and `b` contain identical bytes. Returns `false` immediately if the arrays differ in length (length is non-secret in all standard protocols).
|
|
99
|
+
|
|
100
|
+
When WebAssembly SIMD is available the comparison runs inside a WASM module, removing the JS JIT compiler from the timing picture. Speculative optimisation and branch prediction inside the engine cannot short-circuit the loop. On runtimes without SIMD support the function falls back to an XOR-accumulate loop in JavaScript, which is best-effort but not a hardware-level guarantee. The overall posture is best-available constant-time, not a cryptographic proof of timing safety.
|
|
101
|
+
|
|
102
|
+
Maximum input size is [`CT_MAX_BYTES`](#ct_max_bytes) (32768 bytes) per side. Throws `RangeError` if either array exceeds this limit.
|
|
103
|
+
|
|
104
|
+
Use this function when working with lower-level unauthenticated primitives or building custom authenticated protocols on top of the hashing and KDF APIs. Three common cases:
|
|
105
|
+
|
|
106
|
+
**Encrypt-then-MAC with `SerpentCbc` or `SerpentCtr`.** If you use the `dangerUnauthenticated` primitive directly and compute your own HMAC-SHA256 tag, compare that tag with `constantTimeEqual`. See the [example below](#encrypt-then-mac-with-serpentcbc).
|
|
107
|
+
|
|
108
|
+
**Argon2id key verification.** When re-deriving an Argon2id hash to verify a passphrase, the final comparison must be constant-time. See [argon2id.md](./argon2id.md#password-hashing-and-verification) for the full example.
|
|
109
|
+
|
|
110
|
+
**Custom HMAC protocols.** Any protocol where you derive a MAC with `HMAC_SHA256` or `HMAC_SHA512` and compare it against a received value. See [examples.md](./examples.md#hmac-sha256-message-authentication) for a complete example.
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
### CT_MAX_BYTES
|
|
115
|
+
|
|
116
|
+
```typescript
|
|
117
|
+
const CT_MAX_BYTES: 32768
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Maximum input size accepted by [`constantTimeEqual`](#constanttimeequal) per side, in bytes. Reflects the physical layout of the WASM comparison module: one 64 KiB page of linear memory split equally between the two input buffers (32 KiB each).
|
|
121
|
+
|
|
122
|
+
In practice the largest comparison performed anywhere in this library is a 32-byte HMAC-SHA-256 tag. This limit only matters for custom protocols that compare unusually large values. Use this constant to guard your own inputs rather than hardcoding the magic number:
|
|
123
|
+
|
|
124
|
+
```typescript
|
|
125
|
+
import { constantTimeEqual, CT_MAX_BYTES } from 'leviathan-crypto'
|
|
126
|
+
|
|
127
|
+
if (a.length > CT_MAX_BYTES || b.length > CT_MAX_BYTES) {
|
|
128
|
+
throw new RangeError(`comparison input exceeds CT_MAX_BYTES (${CT_MAX_BYTES})`)
|
|
129
|
+
}
|
|
130
|
+
const match = constantTimeEqual(a, b)
|
|
131
|
+
```
|
|
103
132
|
|
|
104
133
|
---
|
|
105
134
|
|
|
@@ -119,17 +148,17 @@ Zeroes a typed array in-place by calling `fill(0)`. Use this to clear keys, plai
|
|
|
119
148
|
xor(a: Uint8Array, b: Uint8Array): Uint8Array
|
|
120
149
|
```
|
|
121
150
|
|
|
122
|
-
Returns a new `Uint8Array` where each byte is `a[i] ^ b[i]`. Both arrays must have the same length
|
|
151
|
+
Returns a new `Uint8Array` where each byte is `a[i] ^ b[i]`. Both arrays must have the same length. Throws `RangeError` if they differ.
|
|
123
152
|
|
|
124
153
|
---
|
|
125
154
|
|
|
126
155
|
### concat
|
|
127
156
|
|
|
128
157
|
```typescript
|
|
129
|
-
concat(
|
|
158
|
+
concat(...arrays: Uint8Array[]): Uint8Array
|
|
130
159
|
```
|
|
131
160
|
|
|
132
|
-
|
|
161
|
+
Concatenates one or more `Uint8Array`s into a new array.
|
|
133
162
|
|
|
134
163
|
---
|
|
135
164
|
|
|
@@ -153,10 +182,10 @@ Returns `true` if the current runtime supports WebAssembly SIMD (the `v128`
|
|
|
153
182
|
type and associated operations). The result is computed once on first call by
|
|
154
183
|
validating a minimal v128 WASM module, then cached for subsequent calls.
|
|
155
184
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
185
|
+
`SerpentCtr.encryptChunk`, `SerpentCbc.decrypt`, and `ChaCha20.encryptChunk`
|
|
186
|
+
call this internally to select the fast SIMD path at runtime. It is exported
|
|
187
|
+
for informational purposes. You do not need to call it yourself. SIMD dispatch
|
|
188
|
+
is fully automatic.
|
|
160
189
|
|
|
161
190
|
Supported in all modern browsers and Node.js 16+. Returns `false` in older
|
|
162
191
|
environments, which fall back silently to the scalar path.
|
|
@@ -194,9 +223,9 @@ const data = utf8ToBytes('leviathan-crypto')
|
|
|
194
223
|
const b64 = bytesToBase64(data)
|
|
195
224
|
console.log(b64) // "bGV2aWF0aGFuLWNyeXB0bw=="
|
|
196
225
|
|
|
197
|
-
// base64url variant (safe for URLs and filenames)
|
|
226
|
+
// base64url variant (safe for URLs and filenames, no padding)
|
|
198
227
|
const b64url = bytesToBase64(data, true)
|
|
199
|
-
console.log(b64url) // "bGV2aWF0aGFuLWNyeXB0bw
|
|
228
|
+
console.log(b64url) // "bGV2aWF0aGFuLWNyeXB0bw"
|
|
200
229
|
|
|
201
230
|
// Decoding (accepts both standard and url variants)
|
|
202
231
|
const decoded = base64ToBytes(b64)
|
|
@@ -205,21 +234,62 @@ if (decoded) console.log(bytesToUtf8(decoded)) // "leviathan-crypto"
|
|
|
205
234
|
|
|
206
235
|
---
|
|
207
236
|
|
|
208
|
-
###
|
|
237
|
+
### Encrypt-then-MAC with SerpentCbc
|
|
238
|
+
|
|
239
|
+
If you use `SerpentCbc` or `SerpentCtr` directly with `{ dangerUnauthenticated: true }`, you are responsible for authentication. The correct pattern is Encrypt-then-MAC: encrypt first, then compute HMAC-SHA256 over the ciphertext, and use `constantTimeEqual` to verify on decrypt.
|
|
209
240
|
|
|
210
241
|
```typescript
|
|
211
|
-
import {
|
|
242
|
+
import {
|
|
243
|
+
init, SerpentCbc, HMAC_SHA256,
|
|
244
|
+
constantTimeEqual, randomBytes, wipe, concat,
|
|
245
|
+
} from 'leviathan-crypto'
|
|
246
|
+
import { serpentWasm } from 'leviathan-crypto/serpent/embedded'
|
|
247
|
+
import { sha2Wasm } from 'leviathan-crypto/sha2/embedded'
|
|
248
|
+
|
|
249
|
+
await init({ serpent: serpentWasm, sha2: sha2Wasm })
|
|
250
|
+
|
|
251
|
+
const encKey = randomBytes(32)
|
|
252
|
+
const macKey = randomBytes(32)
|
|
253
|
+
const iv = randomBytes(16)
|
|
212
254
|
|
|
213
|
-
//
|
|
214
|
-
// NEVER use === or .every() for this -- timing leaks enable forgery attacks.
|
|
215
|
-
const computedMac: Uint8Array = hmac.hash(key, message)
|
|
216
|
-
const receivedMac: Uint8Array = getTagFromNetwork()
|
|
255
|
+
// ── Encrypt ──────────────────────────────────────────────────────────────────
|
|
217
256
|
|
|
218
|
-
|
|
219
|
-
|
|
257
|
+
const cbc = new SerpentCbc({ dangerUnauthenticated: true })
|
|
258
|
+
const ct = cbc.encrypt(encKey, iv, plaintext)
|
|
259
|
+
cbc.dispose()
|
|
260
|
+
|
|
261
|
+
// MAC covers iv || ct so the IV is authenticated too
|
|
262
|
+
const hmac = new HMAC_SHA256()
|
|
263
|
+
const tag = hmac.hash(macKey, concat(iv, ct))
|
|
264
|
+
hmac.dispose()
|
|
265
|
+
|
|
266
|
+
const envelope = concat(iv, ct, tag) // store or transmit this
|
|
267
|
+
|
|
268
|
+
// ── Decrypt ──────────────────────────────────────────────────────────────────
|
|
269
|
+
|
|
270
|
+
const receivedIv = envelope.subarray(0, 16)
|
|
271
|
+
const receivedCt = envelope.subarray(16, envelope.length - 32)
|
|
272
|
+
const receivedTag = envelope.subarray(envelope.length - 32)
|
|
273
|
+
|
|
274
|
+
const hmac2 = new HMAC_SHA256()
|
|
275
|
+
const expectedTag = hmac2.hash(macKey, concat(receivedIv, receivedCt))
|
|
276
|
+
hmac2.dispose()
|
|
277
|
+
|
|
278
|
+
// Always verify before decrypting — never decrypt unauthenticated ciphertext
|
|
279
|
+
if (!constantTimeEqual(expectedTag, receivedTag)) {
|
|
280
|
+
wipe(expectedTag)
|
|
281
|
+
throw new Error('Authentication failed')
|
|
220
282
|
}
|
|
283
|
+
|
|
284
|
+
const cbc2 = new SerpentCbc({ dangerUnauthenticated: true })
|
|
285
|
+
const pt = cbc2.decrypt(encKey, receivedIv, receivedCt)
|
|
286
|
+
cbc2.dispose()
|
|
287
|
+
wipe(expectedTag)
|
|
221
288
|
```
|
|
222
289
|
|
|
290
|
+
> [!NOTE]
|
|
291
|
+
> `Seal` with `SerpentCipher` does all of this for you — key derivation, IV handling, Encrypt-then-MAC, and constant-time verification — with no manual steps. The pattern above is only relevant if you need direct access to the raw `SerpentCbc` primitive.
|
|
292
|
+
|
|
223
293
|
---
|
|
224
294
|
|
|
225
295
|
### Generating random keys and nonces
|
|
@@ -227,9 +297,9 @@ if (!constantTimeEqual(computedMac, receivedMac)) {
|
|
|
227
297
|
```typescript
|
|
228
298
|
import { randomBytes } from 'leviathan-crypto'
|
|
229
299
|
|
|
230
|
-
const key
|
|
231
|
-
const nonce = randomBytes(24)
|
|
232
|
-
const iv
|
|
300
|
+
const key = randomBytes(32) // 256-bit symmetric key
|
|
301
|
+
const nonce = randomBytes(24) // 192-bit nonce for XChaCha20
|
|
302
|
+
const iv = randomBytes(16) // 128-bit IV for Serpent-CBC
|
|
233
303
|
```
|
|
234
304
|
|
|
235
305
|
---
|
|
@@ -272,10 +342,11 @@ console.log(combined.length) // 32
|
|
|
272
342
|
|
|
273
343
|
| Function | Condition | Behavior |
|
|
274
344
|
|---|---|---|
|
|
275
|
-
| `hexToBytes` | Odd-length string |
|
|
345
|
+
| `hexToBytes` | Odd-length string | Throws `RangeError` |
|
|
276
346
|
| `hexToBytes` | Invalid hex characters | Bytes decode as `NaN` -> `0` |
|
|
277
347
|
| `base64ToBytes` | Invalid length or characters | Returns `undefined` |
|
|
278
348
|
| `constantTimeEqual` | Arrays differ in length | Returns `false` immediately |
|
|
349
|
+
| `constantTimeEqual` | Either array exceeds `CT_MAX_BYTES` | Throws `RangeError` |
|
|
279
350
|
| `xor` | Arrays differ in length | Throws `RangeError` |
|
|
280
351
|
| `randomBytes` | `crypto` not available | Throws (runtime-dependent) |
|
|
281
352
|
| `hasSIMD` | `WebAssembly` not available | Returns `false` |
|
|
@@ -290,5 +361,7 @@ console.log(combined.length) // 32
|
|
|
290
361
|
> - [chacha20](./chacha20.md) — ChaCha20/Poly1305 classes use `randomBytes` for nonce generation
|
|
291
362
|
> - [sha2](./sha2.md) — SHA-2 and HMAC classes; output often converted with `bytesToHex`
|
|
292
363
|
> - [sha3](./sha3.md) — SHA-3 and SHAKE classes; output often converted with `bytesToHex`
|
|
364
|
+
> - [argon2id](./argon2id.md) — passphrase-based encryption; uses `constantTimeEqual` for hash verification
|
|
365
|
+
> - [examples](./examples.md) — full HMAC-SHA256 custom protocol example using `constantTimeEqual`
|
|
293
366
|
> - [types](./types.md) — public interfaces whose implementations rely on these utilities
|
|
294
367
|
> - [test-suite](./test-suite.md) — test suite structure and vector corpus
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const WASM_BASE64 = "AGFzbQEAAAABEQRgAAF/YAAAYAF/AX9gAX8AAyYlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDAQECAgEBAwICAQMBAQUEAQEDAwegBSQLZ2V0TW9kdWxlSWQAAAxnZXRLZXlPZmZzZXQAARRnZXRDaGFjaGFOb25jZU9mZnNldAACEmdldENoYWNoYUN0ck9mZnNldAADFGdldENoYWNoYUJsb2NrT2Zmc2V0AAQUZ2V0Q2hhY2hhU3RhdGVPZmZzZXQABRBnZXRDaHVua1B0T2Zmc2V0AAYQZ2V0Q2h1bmtDdE9mZnNldAAHDGdldENodW5rU2l6ZQAIEGdldFBvbHlLZXlPZmZzZXQACRBnZXRQb2x5TXNnT2Zmc2V0AAoQZ2V0UG9seUJ1Zk9mZnNldAALE2dldFBvbHlCdWZMZW5PZmZzZXQADBBnZXRQb2x5VGFnT2Zmc2V0AA0OZ2V0UG9seUhPZmZzZXQADg5nZXRQb2x5Uk9mZnNldAAPD2dldFBvbHlSc09mZnNldAAQDmdldFBvbHlTT2Zmc2V0ABEVZ2V0WENoYUNoYU5vbmNlT2Zmc2V0ABIWZ2V0WENoYUNoYVN1YmtleU9mZnNldAATF2dldENoYWNoYVNpbWRXb3JrT2Zmc2V0ABQOZ2V0TWVtb3J5UGFnZXMAFQ1jaGFjaGFMb2FkS2V5ABYQY2hhY2hhU2V0Q291bnRlcgAXEmNoYWNoYVJlc2V0Q291bnRlcgAYEmNoYWNoYUVuY3J5cHRDaHVuawAaEmNoYWNoYURlY3J5cHRDaHVuawAbEGNoYWNoYUdlblBvbHlLZXkAHAloY2hhY2hhMjAAHRdjaGFjaGFFbmNyeXB0Q2h1bmtfc2ltZAAfF2NoYWNoYURlY3J5cHRDaHVua19zaW1kACAIcG9seUluaXQAIQpwb2x5VXBkYXRlACIJcG9seUZpbmFsACMLd2lwZUJ1ZmZlcnMAJAZtZW1vcnkCAArmRiUEAEEBCwQAQQALBABBIAsEAEEsCwQAQTALBQBB8AALBQBBsAELBgBBsIEECwYAQYCABAsGAEGwgQgLBgBB0IEICwYAQZCCCAsGAEGggggLBgBBpIIICwYAQbSCCAsGAEHcgggLBgBBhIMICwYAQaSDCAsGAEG0gwgLBgBBzIMICwYAQfCDCAsEAD8AC4sBAQJ/QfAA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B0IaiHwhCUG0ggggASADfiAEIAt+fCAGIAx+fCAIIA1+fCACQfyCCCkDAH58IAlCGoh8IgFCGohCBX4gCkL///8fg3wiAkL///8fgzcDAEG8ggggBUL///8fgyACQhqIfDcDAEHEggggB0L///8fgzcDAEHMggggCUL///8fgzcDAEHUggggAUL///8fgzcDAEGggghBADYCACAQQdCBCGohDiAAIBBrIQALA0AgAEEQTgRAQdyCCCkDACIBQbSCCCkDACAONQIAQv///x+DfCICfkHUgggpAwAgDjUCDEIIiEKAgIAIhHwiA0GEgwgpAwB+fEHMgggpAwAgDjUCCUIGiEL///8fg3wiBEGMgwgpAwAiBX58QcSCCCkDACAONQIGQgSIQv///x+DfCIGQZSDCCkDACIHfnxBvIIIKQMAIA41AgNCAohC////H4N8IghBnIMIKQMAIgl+fCEKIAEgCH5B5IIIKQMAIgsgAn58IAMgBX58IAQgB358IAYgCX58IApCGoh8IQUgASAGfiAIIAt+fEHsgggpAwAiDCACfnwgAyAHfnwgBCAJfnwgBUIaiHwhByABIAR+IAYgC358IAggDH58QfSCCCkDACINIAJ+fCADIAl+fCAHQhqIfCEJQbSCCCABIAN+IAQgC358IAYgDH58IAggDX58IAJB/IIIKQMAfnwgCUIaiHwiAUIaiEIFfiAKQv///x+DfCICQv///x+DNwMAQbyCCCAFQv///x+DIAJCGoh8NwMAQcSCCCAHQv///x+DNwMAQcyCCCAJQv///x+DNwMAQdSCCCABQv///x+DNwMAIA5BEGohDiAAQRBrIQAMAQsLIABBAEoEQEGQggggDiAA/AoAAEGgggggADYCAAsLwwYCDX4Cf0GggggoAgAiDUEASgRAIA1BkIIIaiIOQQBBECANa/wLACAOQQE6AABB3IIIKQMAIgJBtIIIKQMAQZCCCDUCAEL///8fg3wiA35B1IIIKQMAQZyCCDUCAEIIiHwiBEGEgwgpAwB+fEHMgggpAwBBmYIINQIAQgaIQv///x+DfCIFQYyDCCkDACIAfnxBxIIIKQMAQZaCCDUCAEIEiEL///8fg3wiBkGUgwgpAwAiB358QbyCCCkDAEGTggg1AgBCAohC////H4N8IghBnIMIKQMAIgl+fCEKIAIgCH5B5IIIKQMAIgsgA358IAAgBH58IAUgB358IAYgCX58IApCGoh8IQAgAiAGfiAIIAt+fEHsgggpAwAiASADfnwgBCAHfnwgBSAJfnwgAEIaiHwhByACIAV+IAYgC358IAEgCH58QfSCCCkDACIMIAN+fCAEIAl+fCAHQhqIfCEJQbSCCCACIAR+IAUgC358IAEgBn58IAggDH58IANB/IIIKQMAfnwgCUIaiHwiAUIaiEIFfiAKQv///x+DfCICQv///x+DNwMAQbyCCCAAQv///x+DIAJCGoh8NwMAQcSCCCAHQv///x+DNwMAQcyCCCAJQv///x+DNwMAQdSCCCABQv///x+DNwMAC0G0gggpAwBB1IIIKQMAIgBCGohCBX58IgFC////H4MhAkG8gggpAwAgAUIaiHwiAUL///8fgyEDQcSCCCkDACABQhqIfCIBQv///x+DIgRCAEHMgggpAwAgAUIaiHwiAUL///8fgyIFIAJCBXwiBkIaiCADfCIHQhqIIAR8IgRCGoh8IghCGoggAEL///8fgyABQhqIfCIAfCIBQhqIfSIJQn+FIgqDIARC////H4MgCYOEIQQgAiAKgyAGQv///x+DIAmDhCADIAqDIAdC////H4MgCYOEQhqGhCAEQv8fg0I0hoQiAkGkgwg1AgBBqIMINQIAQiCGhHwiAyACVK0gBSAKgyAIQv///x+DIAmDhEIOhiAEQgyIhCAAIAqDIAEgCYNC////H4OEQiiGhEGsgwg1AgBBsIMINQIAQiCGhHx8IQBBpIIIIAM3AwBBrIIIIAA3AwALzQEAQQBBAEEg/AsAQSBBAEEM/AsAQSxBADYAAEEwQQBBwAD8CwBB8ABBAEHAAPwLAEGwAUEAQYCABPwLAEGwgQRBAEGAgAT8CwBBsIEIQQBBIPwLAEHQgQhBAEHAAPwLAEGQgghBAEEQ/AsAQaCCCEEANgAAQaSCCEEAQRD8CwBBtIIIQQBBKPwLAEHcgghBAEEo/AsAQYSDCEEAQSD8CwBBpIMIQQBBEPwLAEG0gwhBAEEY/AsAQcyDCEEAQSD8CwBB8IMIQQBBgAL8CwALACUQc291cmNlTWFwcGluZ1VSTBMuL2NoYWNoYTIwLndhc20ubWFw";
|
|
1
|
+
export declare const WASM_GZ_BASE64 = "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";
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
// Generated by scripts/embed-wasm.ts — do not edit
|
|
2
|
-
export const WASM_BASE64 = 'AGFzbQEAAAABEQRgAAF/YAAAYAF/AX9gAX8AAyYlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDAQECAgEBAwICAQMBAQUEAQEDAwegBSQLZ2V0TW9kdWxlSWQAAAxnZXRLZXlPZmZzZXQAARRnZXRDaGFjaGFOb25jZU9mZnNldAACEmdldENoYWNoYUN0ck9mZnNldAADFGdldENoYWNoYUJsb2NrT2Zmc2V0AAQUZ2V0Q2hhY2hhU3RhdGVPZmZzZXQABRBnZXRDaHVua1B0T2Zmc2V0AAYQZ2V0Q2h1bmtDdE9mZnNldAAHDGdldENodW5rU2l6ZQAIEGdldFBvbHlLZXlPZmZzZXQACRBnZXRQb2x5TXNnT2Zmc2V0AAoQZ2V0UG9seUJ1Zk9mZnNldAALE2dldFBvbHlCdWZMZW5PZmZzZXQADBBnZXRQb2x5VGFnT2Zmc2V0AA0OZ2V0UG9seUhPZmZzZXQADg5nZXRQb2x5Uk9mZnNldAAPD2dldFBvbHlSc09mZnNldAAQDmdldFBvbHlTT2Zmc2V0ABEVZ2V0WENoYUNoYU5vbmNlT2Zmc2V0ABIWZ2V0WENoYUNoYVN1YmtleU9mZnNldAATF2dldENoYWNoYVNpbWRXb3JrT2Zmc2V0ABQOZ2V0TWVtb3J5UGFnZXMAFQ1jaGFjaGFMb2FkS2V5ABYQY2hhY2hhU2V0Q291bnRlcgAXEmNoYWNoYVJlc2V0Q291bnRlcgAYEmNoYWNoYUVuY3J5cHRDaHVuawAaEmNoYWNoYURlY3J5cHRDaHVuawAbEGNoYWNoYUdlblBvbHlLZXkAHAloY2hhY2hhMjAAHRdjaGFjaGFFbmNyeXB0Q2h1bmtfc2ltZAAfF2NoYWNoYURlY3J5cHRDaHVua19zaW1kACAIcG9seUluaXQAIQpwb2x5VXBkYXRlACIJcG9seUZpbmFsACMLd2lwZUJ1ZmZlcnMAJAZtZW1vcnkCAArmRiUEAEEBCwQAQQALBABBIAsEAEEsCwQAQTALBQBB8AALBQBBsAELBgBBsIEECwYAQYCABAsGAEGwgQgLBgBB0IEICwYAQZCCCAsGAEGggggLBgBBpIIICwYAQbSCCAsGAEHcgggLBgBBhIMICwYAQaSDCAsGAEG0gwgLBgBBzIMICwYAQfCDCAsEAD8AC4sBAQJ/QfAA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B0IaiHwhCUG0ggggASADfiAEIAt+fCAGIAx+fCAIIA1+fCACQfyCCCkDAH58IAlCGoh8IgFCGohCBX4gCkL///8fg3wiAkL///8fgzcDAEG8ggggBUL///8fgyACQhqIfDcDAEHEggggB0L///8fgzcDAEHMggggCUL///8fgzcDAEHUggggAUL///8fgzcDAEGggghBADYCACAQQdCBCGohDiAAIBBrIQALA0AgAEEQTgRAQdyCCCkDACIBQbSCCCkDACAONQIAQv///x+DfCICfkHUgggpAwAgDjUCDEIIiEKAgIAIhHwiA0GEgwgpAwB+fEHMgggpAwAgDjUCCUIGiEL///8fg3wiBEGMgwgpAwAiBX58QcSCCCkDACAONQIGQgSIQv///x+DfCIGQZSDCCkDACIHfnxBvIIIKQMAIA41AgNCAohC////H4N8IghBnIMIKQMAIgl+fCEKIAEgCH5B5IIIKQMAIgsgAn58IAMgBX58IAQgB358IAYgCX58IApCGoh8IQUgASAGfiAIIAt+fEHsgggpAwAiDCACfnwgAyAHfnwgBCAJfnwgBUIaiHwhByABIAR+IAYgC358IAggDH58QfSCCCkDACINIAJ+fCADIAl+fCAHQhqIfCEJQbSCCCABIAN+IAQgC358IAYgDH58IAggDX58IAJB/IIIKQMAfnwgCUIaiHwiAUIaiEIFfiAKQv///x+DfCICQv///x+DNwMAQbyCCCAFQv///x+DIAJCGoh8NwMAQcSCCCAHQv///x+DNwMAQcyCCCAJQv///x+DNwMAQdSCCCABQv///x+DNwMAIA5BEGohDiAAQRBrIQAMAQsLIABBAEoEQEGQggggDiAA/AoAAEGgggggADYCAAsLwwYCDX4Cf0GggggoAgAiDUEASgRAIA1BkIIIaiIOQQBBECANa/wLACAOQQE6AABB3IIIKQMAIgJBtIIIKQMAQZCCCDUCAEL///8fg3wiA35B1IIIKQMAQZyCCDUCAEIIiHwiBEGEgwgpAwB+fEHMgggpAwBBmYIINQIAQgaIQv///x+DfCIFQYyDCCkDACIAfnxBxIIIKQMAQZaCCDUCAEIEiEL///8fg3wiBkGUgwgpAwAiB358QbyCCCkDAEGTggg1AgBCAohC////H4N8IghBnIMIKQMAIgl+fCEKIAIgCH5B5IIIKQMAIgsgA358IAAgBH58IAUgB358IAYgCX58IApCGoh8IQAgAiAGfiAIIAt+fEHsgggpAwAiASADfnwgBCAHfnwgBSAJfnwgAEIaiHwhByACIAV+IAYgC358IAEgCH58QfSCCCkDACIMIAN+fCAEIAl+fCAHQhqIfCEJQbSCCCACIAR+IAUgC358IAEgBn58IAggDH58IANB/IIIKQMAfnwgCUIaiHwiAUIaiEIFfiAKQv///x+DfCICQv///x+DNwMAQbyCCCAAQv///x+DIAJCGoh8NwMAQcSCCCAHQv///x+DNwMAQcyCCCAJQv///x+DNwMAQdSCCCABQv///x+DNwMAC0G0gggpAwBB1IIIKQMAIgBCGohCBX58IgFC////H4MhAkG8gggpAwAgAUIaiHwiAUL///8fgyEDQcSCCCkDACABQhqIfCIBQv///x+DIgRCAEHMgggpAwAgAUIaiHwiAUL///8fgyIFIAJCBXwiBkIaiCADfCIHQhqIIAR8IgRCGoh8IghCGoggAEL///8fgyABQhqIfCIAfCIBQhqIfSIJQn+FIgqDIARC////H4MgCYOEIQQgAiAKgyAGQv///x+DIAmDhCADIAqDIAdC////H4MgCYOEQhqGhCAEQv8fg0I0hoQiAkGkgwg1AgBBqIMINQIAQiCGhHwiAyACVK0gBSAKgyAIQv///x+DIAmDhEIOhiAEQgyIhCAAIAqDIAEgCYNC////H4OEQiiGhEGsgwg1AgBBsIMINQIAQiCGhHx8IQBBpIIIIAM3AwBBrIIIIAA3AwALzQEAQQBBAEEg/AsAQSBBAEEM/AsAQSxBADYAAEEwQQBBwAD8CwBB8ABBAEHAAPwLAEGwAUEAQYCABPwLAEGwgQRBAEGAgAT8CwBBsIEIQQBBIPwLAEHQgQhBAEHAAPwLAEGQgghBAEEQ/AsAQaCCCEEANgAAQaSCCEEAQRD8CwBBtIIIQQBBKPwLAEHcgghBAEEo/AsAQYSDCEEAQSD8CwBBpIMIQQBBEPwLAEG0gwhBAEEY/AsAQcyDCEEAQSD8CwBB8IMIQQBBgAL8CwALACUQc291cmNlTWFwcGluZ1VSTBMuL2NoYWNoYTIwLndhc20ubWFw';
|
|
2
|
+
// gzip-compressed WASM binary, base64-encoded. Decoded and decompressed by loadEmbedded().
|
|
3
|
+
export const WASM_GZ_BASE64 = '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';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const WASM_GZ_BASE64 = "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";
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
// Generated by scripts/embed-wasm.ts — do not edit
|
|
2
|
+
// gzip-compressed WASM binary, base64-encoded. Decoded and decompressed by loadEmbedded().
|
|
3
|
+
export const WASM_GZ_BASE64 = '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';
|