leviathan-crypto 2.0.0 → 2.0.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/SECURITY.md +5 -0
- package/dist/chacha20/cipher-suite.js +1 -0
- package/dist/docs/aead.md +3 -0
- package/dist/docs/architecture.md +8 -7
- package/dist/docs/types.md +1 -0
- package/dist/embedded/serpent.d.ts +1 -1
- package/dist/embedded/serpent.js +1 -1
- package/dist/kyber/suite.js +1 -0
- package/dist/serpent/cipher-suite.js +1 -0
- package/dist/serpent/pool-worker.js +8 -2
- package/dist/serpent/serpent-cbc.js +8 -2
- package/dist/serpent.wasm +0 -0
- package/dist/stream/seal-stream-pool.js +9 -0
- package/dist/stream/types.d.ts +1 -0
- package/package.json +1 -1
package/SECURITY.md
CHANGED
|
@@ -32,6 +32,11 @@
|
|
|
32
32
|
> - Pool workers copy result buffers.
|
|
33
33
|
> - Scalar JS `constantTimeEqual` was "best-effort only".
|
|
34
34
|
|
|
35
|
+
> [!WARNING]
|
|
36
|
+
> **v2.0.0 known issue** (addressed in v2.0.1):
|
|
37
|
+
> - `SealStreamPool` with `SerpentCipher` and `chunkSize: 65536` silently
|
|
38
|
+
> produces corrupt plaintext on decrypt for inputs >= 65536 bytes. No
|
|
39
|
+
> authentication error is raised. Upgrade to v2.0.1 immediately.
|
|
35
40
|
|
|
36
41
|
## Security Posture
|
|
37
42
|
|
package/dist/docs/aead.md
CHANGED
|
@@ -231,6 +231,9 @@ pool.destroy()
|
|
|
231
231
|
| `framed` | `boolean` | `false` | Framed mode. |
|
|
232
232
|
| `jobTimeout` | `number` | `30000` | Per-job timeout in ms. |
|
|
233
233
|
|
|
234
|
+
> [!NOTE]
|
|
235
|
+
> For padded ciphers (`SerpentCipher`), `create()` validates at startup that a full plaintext chunk fits in the WASM buffer after PKCS7 padding. If `chunkSize` is too large it throws a `RangeError` with the actual values before any workers are launched. The default `chunkSize: 65536` is valid for both built-in cipher suites.
|
|
236
|
+
|
|
234
237
|
**Failure model.** Any error is fatal. Authentication failure, worker crash, and timeout all terminate every worker, wipe all keys, and mark the pool permanently dead. Pending promises reject. There is no retry and no worker replacement. Create a new pool for the next operation.
|
|
235
238
|
|
|
236
239
|
| Method / Property | Description |
|
|
@@ -752,11 +752,11 @@ Source: `src/asm/serpent/buffers.ts`
|
|
|
752
752
|
| 64 | 16 | `NONCE_BUFFER` — CTR mode nonce |
|
|
753
753
|
| 80 | 16 | `COUNTER_BUFFER` — 128-bit little-endian counter |
|
|
754
754
|
| 96 | 528 | `SUBKEY_BUFFER` — key schedule output (33 rounds × 4 × 4 bytes) |
|
|
755
|
-
| 624 |
|
|
756
|
-
|
|
|
757
|
-
|
|
|
758
|
-
|
|
|
759
|
-
|
|
|
755
|
+
| 624 | 65552 | `CHUNK_PT_BUFFER` — streaming plaintext (CTR/CBC); +16 from 65536 to fit PKCS7 max overhead |
|
|
756
|
+
| 66176 | 65552 | `CHUNK_CT_BUFFER` — streaming ciphertext (CTR/CBC) |
|
|
757
|
+
| 131728 | 20 | `WORK_BUFFER` — 5 × i32 scratch registers (key schedule + S-box/LT rounds) |
|
|
758
|
+
| 131748 | 16 | `CBC_IV_BUFFER` — CBC initialization vector / chaining value |
|
|
759
|
+
| 131856 | — | END |
|
|
760
760
|
|
|
761
761
|
`wipeBuffers()` zeroes all 10 buffers (key, block pt/ct, nonce, counter, subkeys, work, chunk pt/ct, CBC IV).
|
|
762
762
|
|
|
@@ -901,8 +901,9 @@ They are the immutable truth, and must never be modified to make tests pass.
|
|
|
901
901
|
- **Single-threaded WASM per instance**: one WASM instance per binary per thread.
|
|
902
902
|
`SealStreamPool` provides Worker-based parallelism for both cipher families;
|
|
903
903
|
other primitives remain single-threaded.
|
|
904
|
-
- **Max input per WASM call**:
|
|
905
|
-
|
|
904
|
+
- **Max input per WASM call**: CTR accepts at most 65536 bytes per call; CBC
|
|
905
|
+
accepts at most 65552 bytes (65536 + 16 bytes PKCS7 maximum overhead).
|
|
906
|
+
Wrappers handle splitting automatically for larger inputs.
|
|
906
907
|
- **WASM side-channel posture**: WebAssembly implementations offer the best
|
|
907
908
|
available side-channel resistance (branchless, table-free), but lack
|
|
908
909
|
hardware-level constant-time guarantees. For applications where timing
|
package/dist/docs/types.md
CHANGED
|
@@ -210,6 +210,7 @@ Cipher-specific logic injected into `SealStream` and `OpenStream`.
|
|
|
210
210
|
| `kemCtSize` | `number` | KEM ciphertext byte length appended to the header in the preamble. `0` for symmetric suites |
|
|
211
211
|
| `tagSize` | `number` | Authentication tag size in bytes |
|
|
212
212
|
| `padded` | `boolean` | Whether ciphertext includes padding (PKCS7 for CBC) |
|
|
213
|
+
| `wasmChunkSize` | `number` | WASM buffer capacity for one padded chunk. `SealStreamPool.create()` validates `paddedFull ≤ wasmChunkSize` at startup for padded ciphers and throws `RangeError` if the check fails. `SerpentCipher`: 65552. `XChaCha20Cipher`: 65536. `KyberSuite` forwards from its inner cipher. |
|
|
213
214
|
| `wasmModules` | `readonly string[]` | Cipher-specific WASM modules used by pool workers and per-chunk operations (not transitive dependencies such as HKDF-SHA-256 used by `deriveKeys()`) |
|
|
214
215
|
|
|
215
216
|
| Method | Signature | Description |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const WASM_GZ_BASE64 = "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";
|
|
1
|
+
export declare const WASM_GZ_BASE64 = "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";
|
package/dist/embedded/serpent.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// Generated by scripts/embed-wasm.ts — do not edit
|
|
2
2
|
// gzip-compressed WASM binary, base64-encoded. Decoded and decompressed by loadEmbedded().
|
|
3
|
-
export const WASM_GZ_BASE64 = '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';
|
|
3
|
+
export const WASM_GZ_BASE64 = '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';
|
package/dist/kyber/suite.js
CHANGED
|
@@ -52,6 +52,7 @@ export function KyberSuite(kem, inner) {
|
|
|
52
52
|
kemCtSize: p.ctBytes,
|
|
53
53
|
tagSize: inner.tagSize,
|
|
54
54
|
padded: inner.padded,
|
|
55
|
+
wasmChunkSize: inner.wasmChunkSize,
|
|
55
56
|
wasmModules: [...inner.wasmModules, 'kyber', 'sha3'],
|
|
56
57
|
deriveKeys(key, nonce, kemCt) {
|
|
57
58
|
let sharedSecret;
|
|
@@ -85,7 +85,10 @@ function cbcEncrypt(encKey, iv, plaintext) {
|
|
|
85
85
|
mem.set(iv, s.getCbcIvOffset());
|
|
86
86
|
const padded = pkcs7Pad(plaintext);
|
|
87
87
|
mem.set(padded, s.getChunkPtOffset());
|
|
88
|
-
s.cbcEncryptChunk(padded.length);
|
|
88
|
+
const ret = s.cbcEncryptChunk(padded.length);
|
|
89
|
+
if (ret < 0)
|
|
90
|
+
throw new RangeError(`cbcEncryptChunk rejected len=${padded.length}` +
|
|
91
|
+
` (WASM CHUNK_SIZE=${s.getChunkSize()})`);
|
|
89
92
|
return new Uint8Array(s.memory.buffer).slice(s.getChunkCtOffset(), s.getChunkCtOffset() + padded.length);
|
|
90
93
|
}
|
|
91
94
|
function cbcDecrypt(encKey, iv, ct) {
|
|
@@ -95,7 +98,10 @@ function cbcDecrypt(encKey, iv, ct) {
|
|
|
95
98
|
s.loadKey(encKey.length);
|
|
96
99
|
mem.set(iv, s.getCbcIvOffset());
|
|
97
100
|
mem.set(ct, s.getChunkCtOffset());
|
|
98
|
-
s.cbcDecryptChunk(ct.length);
|
|
101
|
+
const ret = s.cbcDecryptChunk(ct.length);
|
|
102
|
+
if (ret < 0)
|
|
103
|
+
throw new RangeError(`cbcDecryptChunk rejected len=${ct.length}` +
|
|
104
|
+
` (WASM CHUNK_SIZE=${s.getChunkSize()})`);
|
|
99
105
|
const raw = new Uint8Array(s.memory.buffer).slice(s.getChunkPtOffset(), s.getChunkPtOffset() + ct.length);
|
|
100
106
|
return pkcs7Strip(raw);
|
|
101
107
|
}
|
|
@@ -93,7 +93,10 @@ export class SerpentCbc {
|
|
|
93
93
|
for (let off = 0; off < padded.length; off += maxChunk) {
|
|
94
94
|
const chunk = padded.subarray(off, Math.min(off + maxChunk, padded.length));
|
|
95
95
|
this.mem.set(chunk, ptOff);
|
|
96
|
-
this.x.cbcEncryptChunk(chunk.length);
|
|
96
|
+
const ret = this.x.cbcEncryptChunk(chunk.length);
|
|
97
|
+
if (ret < 0)
|
|
98
|
+
throw new RangeError(`cbcEncryptChunk rejected len=${chunk.length}` +
|
|
99
|
+
` (WASM CHUNK_SIZE=${this.x.getChunkSize()})`);
|
|
97
100
|
output.set(new Uint8Array(this.x.memory.buffer).subarray(ctOff, ctOff + chunk.length), off);
|
|
98
101
|
}
|
|
99
102
|
return output;
|
|
@@ -114,7 +117,10 @@ export class SerpentCbc {
|
|
|
114
117
|
for (let off = 0; off < ciphertext.length; off += maxChunk) {
|
|
115
118
|
const chunk = ciphertext.subarray(off, Math.min(off + maxChunk, ciphertext.length));
|
|
116
119
|
this.mem.set(chunk, ctOff);
|
|
117
|
-
this.x.cbcDecryptChunk_simd(chunk.length);
|
|
120
|
+
const ret = this.x.cbcDecryptChunk_simd(chunk.length);
|
|
121
|
+
if (ret < 0)
|
|
122
|
+
throw new RangeError(`cbcDecryptChunk_simd rejected len=${chunk.length}` +
|
|
123
|
+
` (WASM CHUNK_SIZE=${this.x.getChunkSize()})`);
|
|
118
124
|
output.set(new Uint8Array(this.x.memory.buffer).subarray(ptOff, ptOff + chunk.length), off);
|
|
119
125
|
}
|
|
120
126
|
return pkcs7Strip(output);
|
package/dist/serpent.wasm
CHANGED
|
Binary file
|
|
@@ -104,6 +104,15 @@ export class SealStreamPool {
|
|
|
104
104
|
throw new Error(`leviathan-crypto: cipher requires ${required.length} WASM modules (${required.join(', ')}) — provide a Record`);
|
|
105
105
|
modules[required[0]] = await compileWasm(opts.wasm);
|
|
106
106
|
}
|
|
107
|
+
// For padded ciphers, validate that a full plaintext chunk fits in the WASM
|
|
108
|
+
// after PKCS7 padding. PKCS7 always adds between 1 and blockSize bytes.
|
|
109
|
+
if (cipher.padded) {
|
|
110
|
+
const paddedFull = chunkSize + 16 - (chunkSize % 16);
|
|
111
|
+
if (paddedFull > cipher.wasmChunkSize)
|
|
112
|
+
throw new RangeError(`leviathan-crypto: chunkSize ${chunkSize} is too large for ${cipher.formatName} ` +
|
|
113
|
+
`(padded full chunk = ${paddedFull}, WASM CHUNK_SIZE = ${cipher.wasmChunkSize}). ` +
|
|
114
|
+
`Use chunkSize \u2264 ${cipher.wasmChunkSize - 1}.`);
|
|
115
|
+
}
|
|
107
116
|
if (key.length !== cipher.keySize)
|
|
108
117
|
throw new RangeError(`key must be ${cipher.keySize} bytes (got ${key.length})`);
|
|
109
118
|
// Generate nonce and derive keys
|
package/dist/stream/types.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export interface CipherSuite {
|
|
|
11
11
|
readonly kemCtSize: number;
|
|
12
12
|
readonly tagSize: number;
|
|
13
13
|
readonly padded: boolean;
|
|
14
|
+
readonly wasmChunkSize: number;
|
|
14
15
|
deriveKeys(key: Uint8Array, nonce: Uint8Array, kemCt?: Uint8Array): DerivedKeys;
|
|
15
16
|
sealChunk(keys: DerivedKeys, counterNonce: Uint8Array, chunk: Uint8Array, aad?: Uint8Array): Uint8Array;
|
|
16
17
|
openChunk(keys: DerivedKeys, counterNonce: Uint8Array, chunk: Uint8Array, aad?: Uint8Array): Uint8Array;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "leviathan-crypto",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"author": "xero (https://x-e.ro)",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Zero-dependency WASM cryptography for TypeScript. Paranoid ciphers, post-quantum key encapsulation, and Fortuna CSPRNG behind a strictly typed API. All computation runs outside the JS JIT on vector-verified primitives.",
|