leviathan-crypto 2.0.1 → 3.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 +88 -281
- package/LICENSE +4 -0
- package/README.md +275 -87
- package/dist/aes/aes-cbc.d.ts +40 -0
- package/dist/aes/aes-cbc.js +158 -0
- package/dist/aes/aes-ctr.d.ts +50 -0
- package/dist/aes/aes-ctr.js +141 -0
- package/dist/aes/aes-gcm-siv.d.ts +67 -0
- package/dist/aes/aes-gcm-siv.js +217 -0
- package/dist/aes/aes-gcm.d.ts +61 -0
- package/dist/aes/aes-gcm.js +226 -0
- package/dist/aes/cipher-suite.d.ts +21 -0
- package/dist/aes/cipher-suite.js +179 -0
- package/dist/aes/embedded.d.ts +1 -0
- package/dist/aes/embedded.js +26 -0
- package/dist/aes/generator.d.ts +14 -0
- package/dist/aes/generator.js +103 -0
- package/dist/aes/index.d.ts +58 -0
- package/dist/aes/index.js +125 -0
- package/dist/aes/ops.d.ts +60 -0
- package/dist/aes/ops.js +164 -0
- package/dist/aes/pool-worker.d.ts +1 -0
- package/dist/aes/pool-worker.js +92 -0
- package/dist/aes/types.d.ts +1 -0
- package/dist/aes/types.js +23 -0
- package/dist/aes.wasm +0 -0
- package/dist/blake3/embedded.d.ts +1 -0
- package/dist/blake3/embedded.js +26 -0
- package/dist/blake3/index.d.ts +143 -0
- package/dist/blake3/index.js +620 -0
- package/dist/blake3/types.d.ts +102 -0
- package/dist/blake3/types.js +31 -0
- package/dist/blake3/validate.d.ts +29 -0
- package/dist/blake3/validate.js +80 -0
- package/dist/blake3.wasm +0 -0
- package/dist/chacha20/cipher-suite.d.ts +10 -0
- package/dist/chacha20/cipher-suite.js +98 -13
- package/dist/chacha20/generator.d.ts +12 -0
- package/dist/chacha20/generator.js +91 -0
- package/dist/chacha20/index.d.ts +100 -3
- package/dist/chacha20/index.js +169 -35
- package/dist/chacha20/ops.d.ts +57 -6
- package/dist/chacha20/ops.js +107 -27
- package/dist/chacha20/pool-worker.js +14 -0
- package/dist/chacha20/types.d.ts +1 -32
- package/dist/cte-wasm.d.ts +1 -0
- package/dist/cte-wasm.js +3 -0
- package/dist/cte.wasm +0 -0
- package/dist/curve25519.wasm +0 -0
- package/dist/ecdsa/der.d.ts +23 -0
- package/dist/ecdsa/der.js +192 -0
- package/dist/ecdsa/ecprivatekey-der.d.ts +32 -0
- package/dist/ecdsa/ecprivatekey-der.js +230 -0
- package/dist/ecdsa/embedded.d.ts +1 -0
- package/dist/ecdsa/embedded.js +25 -0
- package/dist/ecdsa/index.d.ts +124 -0
- package/dist/ecdsa/index.js +366 -0
- package/dist/ecdsa/types.d.ts +31 -0
- package/dist/ecdsa/types.js +28 -0
- package/dist/ecdsa/validate.d.ts +18 -0
- package/dist/ecdsa/validate.js +92 -0
- package/dist/ed25519/embedded.d.ts +1 -0
- package/dist/ed25519/embedded.js +31 -0
- package/dist/ed25519/index.d.ts +70 -0
- package/dist/ed25519/index.js +308 -0
- package/dist/ed25519/types.d.ts +27 -0
- package/dist/ed25519/types.js +27 -0
- package/dist/ed25519/validate.d.ts +7 -0
- package/dist/ed25519/validate.js +77 -0
- package/dist/embedded/aes-pool-worker.d.ts +1 -0
- package/dist/embedded/aes-pool-worker.js +5 -0
- package/dist/embedded/aes.d.ts +1 -0
- package/dist/embedded/aes.js +3 -0
- package/dist/embedded/blake3.d.ts +1 -0
- package/dist/embedded/blake3.js +3 -0
- package/dist/embedded/chacha20-pool-worker.d.ts +1 -0
- package/dist/embedded/chacha20-pool-worker.js +5 -0
- package/dist/embedded/chacha20.d.ts +1 -1
- package/dist/embedded/chacha20.js +2 -2
- package/dist/embedded/curve25519.d.ts +1 -0
- package/dist/embedded/curve25519.js +3 -0
- package/dist/embedded/mldsa.d.ts +1 -0
- package/dist/embedded/mldsa.js +3 -0
- package/dist/embedded/mlkem.d.ts +1 -0
- package/dist/embedded/mlkem.js +3 -0
- package/dist/embedded/p256.d.ts +1 -0
- package/dist/embedded/p256.js +3 -0
- package/dist/embedded/serpent-pool-worker.d.ts +1 -0
- package/dist/embedded/serpent-pool-worker.js +5 -0
- package/dist/embedded/serpent.d.ts +1 -1
- package/dist/embedded/serpent.js +2 -2
- package/dist/embedded/sha2.d.ts +1 -1
- package/dist/embedded/sha2.js +2 -2
- package/dist/embedded/sha3.d.ts +1 -1
- package/dist/embedded/sha3.js +2 -2
- package/dist/embedded/slhdsa.d.ts +1 -0
- package/dist/embedded/slhdsa.js +3 -0
- package/dist/errors.d.ts +92 -1
- package/dist/errors.js +111 -1
- package/dist/fortuna.d.ts +18 -12
- package/dist/fortuna.js +166 -99
- package/dist/index.d.ts +42 -11
- package/dist/index.js +65 -20
- package/dist/init.d.ts +1 -3
- package/dist/init.js +73 -7
- package/dist/keccak/embedded.js +1 -1
- package/dist/keccak/index.d.ts +2 -0
- package/dist/keccak/index.js +4 -2
- package/dist/loader.d.ts +1 -19
- package/dist/loader.js +26 -32
- package/dist/merkle/blake3-tree.d.ts +35 -0
- package/dist/merkle/blake3-tree.js +187 -0
- package/dist/merkle/checkpoint.d.ts +58 -0
- package/dist/merkle/checkpoint.js +217 -0
- package/dist/merkle/index.d.ts +19 -0
- package/dist/merkle/index.js +37 -0
- package/dist/merkle/merkle-log.d.ts +130 -0
- package/dist/merkle/merkle-log.js +207 -0
- package/dist/merkle/merkle-verifier.d.ts +126 -0
- package/dist/merkle/merkle-verifier.js +296 -0
- package/dist/merkle/proof.d.ts +70 -0
- package/dist/merkle/proof.js +300 -0
- package/dist/merkle/sha256-tree.d.ts +33 -0
- package/dist/merkle/sha256-tree.js +145 -0
- package/dist/merkle/signed-log.d.ts +156 -0
- package/dist/merkle/signed-log.js +356 -0
- package/dist/merkle/signed-note.d.ts +309 -0
- package/dist/merkle/signed-note.js +648 -0
- package/dist/merkle/sth.d.ts +31 -0
- package/dist/merkle/sth.js +31 -0
- package/dist/merkle/storage.d.ts +40 -0
- package/dist/merkle/storage.js +71 -0
- package/dist/merkle/tree.d.ts +68 -0
- package/dist/merkle/tree.js +94 -0
- package/dist/mldsa/embedded.d.ts +1 -0
- package/dist/{kyber → mldsa}/embedded.js +5 -5
- package/dist/mldsa/expand.d.ts +53 -0
- package/dist/mldsa/expand.js +188 -0
- package/dist/mldsa/format.d.ts +16 -0
- package/dist/mldsa/format.js +68 -0
- package/dist/mldsa/hashvariant.d.ts +32 -0
- package/dist/mldsa/hashvariant.js +248 -0
- package/dist/mldsa/index.d.ts +142 -0
- package/dist/mldsa/index.js +463 -0
- package/dist/mldsa/keygen.d.ts +16 -0
- package/dist/mldsa/keygen.js +232 -0
- package/dist/mldsa/params.d.ts +21 -0
- package/dist/mldsa/params.js +55 -0
- package/dist/mldsa/sha3-helpers.d.ts +30 -0
- package/dist/mldsa/sha3-helpers.js +124 -0
- package/dist/mldsa/sign.d.ts +36 -0
- package/dist/mldsa/sign.js +380 -0
- package/dist/mldsa/types.d.ts +91 -0
- package/dist/mldsa/types.js +25 -0
- package/dist/mldsa/validate.d.ts +55 -0
- package/dist/mldsa/validate.js +125 -0
- package/dist/mldsa/verify.d.ts +29 -0
- package/dist/mldsa/verify.js +269 -0
- package/dist/mldsa.wasm +0 -0
- package/dist/mlkem/embedded.d.ts +1 -0
- package/dist/mlkem/embedded.js +27 -0
- package/dist/mlkem/indcpa.d.ts +49 -0
- package/dist/{kyber → mlkem}/indcpa.js +48 -48
- package/dist/mlkem/index.d.ts +37 -0
- package/dist/{kyber → mlkem}/index.js +41 -31
- package/dist/mlkem/kem.d.ts +21 -0
- package/dist/{kyber → mlkem}/kem.js +48 -13
- package/dist/{kyber → mlkem}/params.d.ts +4 -4
- package/dist/{kyber → mlkem}/params.js +2 -2
- package/dist/mlkem/suite.d.ts +12 -0
- package/dist/{kyber → mlkem}/suite.js +17 -12
- package/dist/{kyber → mlkem}/types.d.ts +4 -3
- package/dist/{kyber → mlkem}/types.js +1 -1
- package/dist/mlkem/validate.d.ts +23 -0
- package/dist/{kyber → mlkem}/validate.js +24 -20
- package/dist/{kyber.wasm → mlkem.wasm} +0 -0
- package/dist/p256.wasm +0 -0
- package/dist/ratchet/index.d.ts +8 -0
- package/dist/ratchet/index.js +38 -0
- package/dist/ratchet/kdf-chain.d.ts +13 -0
- package/dist/ratchet/kdf-chain.js +85 -0
- package/dist/ratchet/ratchet-keypair.d.ts +9 -0
- package/dist/ratchet/ratchet-keypair.js +61 -0
- package/dist/ratchet/root-kdf.d.ts +4 -0
- package/dist/ratchet/root-kdf.js +124 -0
- package/dist/ratchet/skipped-key-store.d.ts +14 -0
- package/dist/ratchet/skipped-key-store.js +154 -0
- package/dist/ratchet/types.d.ts +36 -0
- package/dist/ratchet/types.js +26 -0
- package/dist/serpent/cipher-suite.d.ts +10 -0
- package/dist/serpent/cipher-suite.js +144 -56
- package/dist/serpent/generator.d.ts +12 -0
- package/dist/serpent/generator.js +97 -0
- package/dist/serpent/index.d.ts +62 -1
- package/dist/serpent/index.js +97 -21
- package/dist/serpent/pool-worker.js +28 -102
- package/dist/serpent/serpent-cbc.d.ts +16 -6
- package/dist/serpent/serpent-cbc.js +58 -37
- package/dist/serpent/shared-ops.d.ts +63 -0
- package/dist/serpent/shared-ops.js +178 -0
- package/dist/serpent/types.d.ts +1 -5
- package/dist/serpent.wasm +0 -0
- package/dist/sha2/hash.d.ts +2 -0
- package/dist/sha2/hash.js +53 -0
- package/dist/sha2/hkdf.js +5 -5
- package/dist/sha2/index.d.ts +22 -1
- package/dist/sha2/index.js +80 -11
- package/dist/sha2/types.d.ts +41 -2
- package/dist/sha2.wasm +0 -0
- package/dist/sha3/hash.d.ts +2 -0
- package/dist/sha3/hash.js +53 -0
- package/dist/sha3/index.d.ts +87 -3
- package/dist/sha3/index.js +317 -19
- package/dist/sha3/kmac.d.ts +121 -0
- package/dist/sha3/kmac.js +800 -0
- package/dist/sha3.wasm +0 -0
- package/dist/shared/pkcs7.d.ts +22 -0
- package/dist/shared/pkcs7.js +84 -0
- package/dist/sign/ctx.d.ts +41 -0
- package/dist/sign/ctx.js +102 -0
- package/dist/sign/envelope.d.ts +45 -0
- package/dist/sign/envelope.js +152 -0
- package/dist/sign/hasher.d.ts +9 -0
- package/dist/sign/hasher.js +132 -0
- package/dist/sign/index.d.ts +11 -0
- package/dist/sign/index.js +34 -0
- package/dist/sign/sign-stream.d.ts +25 -0
- package/dist/sign/sign-stream.js +112 -0
- package/dist/sign/suites/ecdsa-p256.d.ts +2 -0
- package/dist/sign/suites/ecdsa-p256.js +120 -0
- package/dist/sign/suites/ed25519.d.ts +3 -0
- package/dist/sign/suites/ed25519.js +165 -0
- package/dist/sign/suites/hybrid-classical.d.ts +23 -0
- package/dist/sign/suites/hybrid-classical.js +526 -0
- package/dist/sign/suites/hybrid-pq.d.ts +4 -0
- package/dist/sign/suites/hybrid-pq.js +234 -0
- package/dist/sign/suites/mldsa.d.ts +7 -0
- package/dist/sign/suites/mldsa.js +161 -0
- package/dist/sign/suites/slhdsa.d.ts +7 -0
- package/dist/sign/suites/slhdsa.js +176 -0
- package/dist/sign/types.d.ts +106 -0
- package/dist/sign/types.js +28 -0
- package/dist/sign/verify-stream.d.ts +30 -0
- package/dist/sign/verify-stream.js +227 -0
- package/dist/slhdsa/embedded.d.ts +1 -0
- package/dist/slhdsa/embedded.js +26 -0
- package/dist/slhdsa/index.d.ts +149 -0
- package/dist/slhdsa/index.js +493 -0
- package/dist/slhdsa/params.d.ts +26 -0
- package/dist/slhdsa/params.js +70 -0
- package/dist/slhdsa/prehash.d.ts +68 -0
- package/dist/slhdsa/prehash.js +307 -0
- package/dist/slhdsa/sign.d.ts +39 -0
- package/dist/slhdsa/sign.js +116 -0
- package/dist/slhdsa/types.d.ts +129 -0
- package/dist/slhdsa/types.js +27 -0
- package/dist/slhdsa/validate.d.ts +60 -0
- package/dist/slhdsa/validate.js +127 -0
- package/dist/slhdsa/verify.d.ts +32 -0
- package/dist/slhdsa/verify.js +107 -0
- package/dist/slhdsa.wasm +0 -0
- package/dist/stream/header.js +8 -8
- package/dist/stream/index.d.ts +1 -0
- package/dist/stream/index.js +1 -0
- package/dist/stream/open-stream.js +65 -22
- package/dist/stream/seal-stream-pool.d.ts +2 -0
- package/dist/stream/seal-stream-pool.js +100 -33
- package/dist/stream/seal-stream.d.ts +1 -1
- package/dist/stream/seal-stream.js +48 -19
- package/dist/stream/seal.js +6 -6
- package/dist/stream/types.d.ts +3 -1
- package/dist/stream/types.js +1 -1
- package/dist/types.d.ts +22 -1
- package/dist/types.js +1 -1
- package/dist/utils.d.ts +9 -10
- package/dist/utils.js +84 -59
- package/dist/wasm-source.d.ts +9 -8
- package/dist/wasm-source.js +1 -1
- package/dist/x25519/embedded.d.ts +1 -0
- package/dist/x25519/embedded.js +31 -0
- package/dist/x25519/index.d.ts +43 -0
- package/dist/x25519/index.js +159 -0
- package/dist/x25519/types.d.ts +25 -0
- package/dist/x25519/types.js +27 -0
- package/dist/x25519/validate.d.ts +2 -0
- package/dist/x25519/validate.js +39 -0
- package/package.json +123 -64
- package/SECURITY.md +0 -276
- package/dist/ct-wasm.d.ts +0 -1
- package/dist/ct-wasm.js +0 -3
- package/dist/ct.wasm +0 -0
- package/dist/docs/aead.md +0 -323
- package/dist/docs/architecture.md +0 -932
- package/dist/docs/argon2id.md +0 -302
- package/dist/docs/chacha20.md +0 -674
- package/dist/docs/exports.md +0 -241
- package/dist/docs/fortuna.md +0 -313
- package/dist/docs/init.md +0 -302
- package/dist/docs/loader.md +0 -161
- package/dist/docs/serpent.md +0 -519
- package/dist/docs/sha2.md +0 -613
- package/dist/docs/sha3.md +0 -546
- package/dist/docs/types.md +0 -276
- package/dist/docs/utils.md +0 -367
- package/dist/embedded/kyber.d.ts +0 -1
- package/dist/embedded/kyber.js +0 -3
- package/dist/kyber/embedded.d.ts +0 -1
- package/dist/kyber/indcpa.d.ts +0 -49
- package/dist/kyber/index.d.ts +0 -38
- package/dist/kyber/kem.d.ts +0 -21
- package/dist/kyber/suite.d.ts +0 -13
- package/dist/kyber/validate.d.ts +0 -19
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { isInitialized } from '../init.js';
|
|
2
|
+
import type { WasmSource } from '../wasm-source.js';
|
|
3
|
+
import type { HashFn } from '../types.js';
|
|
4
|
+
import type { Blake3Exports } from './types.js';
|
|
5
|
+
export type { WasmSource };
|
|
6
|
+
export type { Blake3Exports };
|
|
7
|
+
export { isInitialized };
|
|
8
|
+
export declare function blake3Init(source: WasmSource): Promise<void>;
|
|
9
|
+
/**
|
|
10
|
+
* BLAKE3 default-mode hash (BLAKE3 §2.3 Modes — `hash`).
|
|
11
|
+
*
|
|
12
|
+
* One-shot: `hash(msg, outLen?)` runs the full chunk / tree / root
|
|
13
|
+
* pipeline and returns `outLen` (default 32) bytes of XOF output.
|
|
14
|
+
* Module exclusivity is acquired and released per call.
|
|
15
|
+
*/
|
|
16
|
+
export declare class BLAKE3 {
|
|
17
|
+
private readonly x;
|
|
18
|
+
constructor();
|
|
19
|
+
hash(msg: Uint8Array, outLen?: number): Uint8Array;
|
|
20
|
+
dispose(): void;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* BLAKE3 keyed_hash (BLAKE3 §2.3 Modes — `keyed_hash`).
|
|
24
|
+
*
|
|
25
|
+
* The 32-byte key seeds the chunk machine in place of the BLAKE3 IV and
|
|
26
|
+
* every compress carries the KEYED_HASH flag. Use cases include MACs and
|
|
27
|
+
* keyed-pseudorandom generation; the construction is a PRF when the key
|
|
28
|
+
* is uniform and secret.
|
|
29
|
+
*/
|
|
30
|
+
export declare class BLAKE3KeyedHash {
|
|
31
|
+
private readonly x;
|
|
32
|
+
constructor();
|
|
33
|
+
hash(key: Uint8Array, msg: Uint8Array, outLen?: number): Uint8Array;
|
|
34
|
+
dispose(): void;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* BLAKE3 derive_key (BLAKE3 §2.3 Modes — `derive_key`).
|
|
38
|
+
*
|
|
39
|
+
* Two-pass KDF: pass 1 hashes the context string with the
|
|
40
|
+
* DERIVE_KEY_CONTEXT flag, pass 2 hashes the key material with the
|
|
41
|
+
* DERIVE_KEY_MATERIAL flag using the pass-1 output as its starting CV.
|
|
42
|
+
* Context strings are conventionally hardcoded UTF-8 application
|
|
43
|
+
* constants; empty contexts are rejected by `validateContext`.
|
|
44
|
+
*/
|
|
45
|
+
export declare class BLAKE3DeriveKey {
|
|
46
|
+
private readonly x;
|
|
47
|
+
constructor();
|
|
48
|
+
derive(context: string | Uint8Array, material: Uint8Array, outLen?: number): Uint8Array;
|
|
49
|
+
dispose(): void;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Streaming BLAKE3 default-mode hash (BLAKE3 §2.3 Modes — `hash`).
|
|
53
|
+
*
|
|
54
|
+
* `update()` accepts chunks of any size; `finalize()` returns the
|
|
55
|
+
* `outLen`-byte (default 32) digest and disposes the instance. Holds
|
|
56
|
+
* exclusive access to the `blake3` WASM module from construction until
|
|
57
|
+
* `dispose()` or `finalize()` / `finalizeXof()`.
|
|
58
|
+
*/
|
|
59
|
+
export declare class BLAKE3Stream {
|
|
60
|
+
private readonly x;
|
|
61
|
+
private _tok;
|
|
62
|
+
private readonly _state;
|
|
63
|
+
constructor();
|
|
64
|
+
update(chunk: Uint8Array): this;
|
|
65
|
+
finalize(outLen?: number): Uint8Array;
|
|
66
|
+
finalizeXof(): BLAKE3OutputReader;
|
|
67
|
+
dispose(): void;
|
|
68
|
+
private _checkLive;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Streaming BLAKE3 keyed_hash (BLAKE3 §2.3 Modes). Key is bound at construction
|
|
72
|
+
* time. Same lifecycle as `BLAKE3Stream`.
|
|
73
|
+
*/
|
|
74
|
+
export declare class BLAKE3KeyedHashStream {
|
|
75
|
+
private readonly x;
|
|
76
|
+
private _tok;
|
|
77
|
+
private readonly _state;
|
|
78
|
+
private readonly _key;
|
|
79
|
+
constructor(key: Uint8Array);
|
|
80
|
+
update(chunk: Uint8Array): this;
|
|
81
|
+
finalize(outLen?: number): Uint8Array;
|
|
82
|
+
finalizeXof(): BLAKE3OutputReader;
|
|
83
|
+
dispose(): void;
|
|
84
|
+
private _checkLive;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Streaming BLAKE3 derive_key (BLAKE3 §2.3 Modes). Context is bound at
|
|
88
|
+
* construction time; updates stream the material; finalize derives.
|
|
89
|
+
* Same lifecycle as `BLAKE3Stream`.
|
|
90
|
+
*/
|
|
91
|
+
export declare class BLAKE3DeriveKeyStream {
|
|
92
|
+
private readonly x;
|
|
93
|
+
private _tok;
|
|
94
|
+
private readonly _state;
|
|
95
|
+
private readonly _ctxBytes;
|
|
96
|
+
constructor(context: string | Uint8Array);
|
|
97
|
+
update(chunk: Uint8Array): this;
|
|
98
|
+
finalize(outLen?: number): Uint8Array;
|
|
99
|
+
finalizeXof(): BLAKE3OutputReader;
|
|
100
|
+
dispose(): void;
|
|
101
|
+
private _checkLive;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* BLAKE3 XOF reader (BLAKE3 §2.6 Extendable Output).
|
|
105
|
+
*
|
|
106
|
+
* Sequential `read(nBytes)` calls squeeze the next bytes of XOF output.
|
|
107
|
+
* Constructed via `finalizeXof()` on a streaming class. Holds module
|
|
108
|
+
* exclusivity until `dispose()`.
|
|
109
|
+
*
|
|
110
|
+
* Implementation: the first `read()` runs the underlying hash entry once
|
|
111
|
+
* to populate the WASM-side root-compress snapshot (ROOT_STATE_*), then
|
|
112
|
+
* caches the first 64-byte XOF block. Subsequent reads pump
|
|
113
|
+
* `squeezeXofBlock` on the WASM module with an incrementing counter to
|
|
114
|
+
* lift additional 64-byte blocks off the snapshot. The reader's lifetime
|
|
115
|
+
* coincides with its hold on the module token, so `ROOT_STATE_*` stays
|
|
116
|
+
* intact between read calls (no other consumer can fire a hash that
|
|
117
|
+
* would clobber it).
|
|
118
|
+
*/
|
|
119
|
+
export declare class BLAKE3OutputReader {
|
|
120
|
+
private readonly x;
|
|
121
|
+
private _tok;
|
|
122
|
+
private readonly _mode;
|
|
123
|
+
private readonly _input;
|
|
124
|
+
private readonly _key;
|
|
125
|
+
private readonly _ctx;
|
|
126
|
+
private readonly _blockBuf;
|
|
127
|
+
private _blockPos;
|
|
128
|
+
private _nextCounter;
|
|
129
|
+
private _populated;
|
|
130
|
+
read(nBytes: number): Uint8Array;
|
|
131
|
+
dispose(): void;
|
|
132
|
+
private _populate;
|
|
133
|
+
private _squeezeNextBlock;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Stateless BLAKE3-256 HashFn. Shape mirrors `SHA256Hash` in
|
|
137
|
+
* `src/ts/sha2/hash.ts`: 32-byte output, single WASM module dependency,
|
|
138
|
+
* `digest(msg)` runs a one-shot hash with default `outLen`.
|
|
139
|
+
*
|
|
140
|
+
* Usable as a Fortuna accumulator / reseed hash when paired with a
|
|
141
|
+
* matching 32-byte-key Generator.
|
|
142
|
+
*/
|
|
143
|
+
export declare const BLAKE3Hash: HashFn;
|