@lib-q/utils 0.0.5 → 0.0.7
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 +1 -1
- package/integrity-manifest.json +2 -2
- package/nodejs/README.md +12 -5
- package/nodejs/lib_q_utils_bg.wasm +0 -0
- package/nodejs/package.json +1 -1
- package/package.json +1 -1
- package/web/README.md +12 -5
- package/web/lib_q_utils_bg.wasm +0 -0
- package/web/package.json +1 -1
package/README.md
CHANGED
package/integrity-manifest.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"integrity": {
|
|
3
|
-
"nodejs/lib_q_utils_bg.wasm": "sha384-
|
|
4
|
-
"web/lib_q_utils_bg.wasm": "sha384-
|
|
3
|
+
"nodejs/lib_q_utils_bg.wasm": "sha384-La9YpssB1uWdaOmmdBrLPNntvDxzXK8g09L/bz5kxYSv/IwGHtGKN6G6fRmM9oxt",
|
|
4
|
+
"web/lib_q_utils_bg.wasm": "sha384-La9YpssB1uWdaOmmdBrLPNntvDxzXK8g09L/bz5kxYSv/IwGHtGKN6G6fRmM9oxt"
|
|
5
5
|
}
|
|
6
6
|
}
|
package/nodejs/README.md
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
# lib-Q - Post-Quantum Cryptography Library
|
|
2
2
|
|
|
3
|
+
[](https://deepwiki.com/Enkom-Tech/libQ)
|
|
4
|
+
|
|
3
5
|
A Rust cryptography workspace focused on **NIST-standardized post-quantum** key exchange and signatures, **SHA-3-family** hashes and XOFs, and a **transparent STARK**–based zero-knowledge stack. CI enforces `cargo check --workspace --exclude lib-q-examples --exclude lib-q-sca-test --target wasm32-unknown-unknown` (with the `getrandom` wasm_js cfg) so the **publishable library workspace** compiles for the WebAssembly target; npm bundles are produced for the `@lib-q/*` packages listed below (see [docs/npm-packages.md](docs/npm-packages.md)). For build modes, feature flags, and browser baselines, see [docs/wasm-compilation.md](docs/wasm-compilation.md).
|
|
4
6
|
|
|
5
7
|
## Mission
|
|
6
8
|
|
|
7
|
-
lib-Q provides a coherent Rust API surface over NIST-track post-quantum primitives, SHA-3–family hashing, Saturnin AEAD, HPKE, and optional STARK-based proofs, with the goal of keeping advanced cryptography approachable without hiding residual implementation risk.
|
|
9
|
+
lib-Q provides a coherent Rust API surface over NIST-track post-quantum primitives, SHA-3–family hashing, Saturnin and Rocca-S AEAD, HPKE, and optional STARK-based proofs, with the goal of keeping advanced cryptography approachable without hiding residual implementation risk.
|
|
8
10
|
|
|
9
11
|
## Key features
|
|
10
12
|
|
|
@@ -66,8 +68,9 @@ Publishing to [crates.io](https://crates.io/) is driven by [`.github/workflows/c
|
|
|
66
68
|
| **`lib-q-intrinsics`** | SIMD / intrinsics helpers |
|
|
67
69
|
| **`lib-q-sig`** | Signature façade (ML-DSA, SLH-DSA) |
|
|
68
70
|
| **`lib-q-hash`** | Hash façade (SHAKE, KMAC, TupleHash, etc.) |
|
|
69
|
-
| **`lib-q-aead`** | AEAD façade (Saturnin, Romulus, duplex, tweak) |
|
|
71
|
+
| **`lib-q-aead`** | AEAD façade (Saturnin, Rocca-S, Romulus, duplex, tweak) |
|
|
70
72
|
| **`lib-q-saturnin`** | Saturnin suite |
|
|
73
|
+
| **`lib-q-rocca-s`** | Rocca-S AEAD (AES-accelerated; IETF draft-nakano-rocca-s) |
|
|
71
74
|
| **`lib-q-duplex-aead`** | Duplex-sponge AEAD |
|
|
72
75
|
| **`lib-q-tweak-aead`** | Tweakable CTR AEAD over Keccak |
|
|
73
76
|
| **`lib-q-romulus`** | Romulus AEAD (Skinny-based) |
|
|
@@ -119,7 +122,7 @@ Publishing to [crates.io](https://crates.io/) is driven by [`.github/workflows/c
|
|
|
119
122
|
- **`@lib-q/fn-dsa`** — FN-DSA (FIPS 206)
|
|
120
123
|
- **`@lib-q/hash`** — SHA-3–family hash façade
|
|
121
124
|
- **`@lib-q/utils`** — Utilities
|
|
122
|
-
- **`@lib-q/aead`** — Post-quantum AEAD (Saturnin, Romulus, duplex-sponge)
|
|
125
|
+
- **`@lib-q/aead`** — Post-quantum AEAD (Saturnin, Rocca-S, Romulus, duplex-sponge)
|
|
123
126
|
- **`@lib-q/hpke`** — Post-quantum HPKE (RFC 9180)
|
|
124
127
|
- **`@lib-q/zkp`** — ZKP / STARK proofs (high-level JSON API)
|
|
125
128
|
- **`@lib-q/random`** — Secure random bytes (`getrandom` / wasm_js)
|
|
@@ -208,6 +211,10 @@ npm install @lib-q/aead @lib-q/hpke @lib-q/zkp @lib-q/random @lib-q/hqc @lib-q/s
|
|
|
208
211
|
|
|
209
212
|
### Authenticated encryption
|
|
210
213
|
- **Saturnin** (post-quantum symmetric suite: AEAD, block cipher, hash, and stream modes)
|
|
214
|
+
- **Rocca-S** (AES-accelerated 256-bit AEAD; IETF draft-nakano-rocca-s; 128-bit nonce, 256-bit tag)
|
|
215
|
+
- **Romulus** (NIST-submitted Skinny-based AEAD)
|
|
216
|
+
- **Duplex-sponge AEAD** (Keccak-duplex construction)
|
|
217
|
+
- **Tweak-AEAD** (tweakable CTR AEAD over Keccak)
|
|
211
218
|
|
|
212
219
|
### Hybrid public-key encryption (HPKE)
|
|
213
220
|
- **Tier 1: Ultra-Secure** (Pure post-quantum with SHAKE256-based AEAD)
|
|
@@ -236,7 +243,7 @@ lib-Q/ (repository root)
|
|
|
236
243
|
├── lib-q-lattice-zkp/ # Module-lattice ZKP research (sigma, commitments)
|
|
237
244
|
├── lib-q-sca-test/ # SCA screening tooling
|
|
238
245
|
├── lib-q-hash/, lib-q-sha3/, lib-q-keccak/, lib-q-k12/
|
|
239
|
-
├── lib-q-aead/, lib-q-saturnin/
|
|
246
|
+
├── lib-q-aead/, lib-q-saturnin/, lib-q-rocca-s/
|
|
240
247
|
├── lib-q-hpke/
|
|
241
248
|
├── lib-q-zkp/, lib-q-stark*/, lib-q-plonky*/
|
|
242
249
|
├── lib-q-utils/, lib-q-random/, lib-q-platform/, …
|
|
@@ -264,7 +271,7 @@ The table above is the authoritative crate list; the `[workspace].members` table
|
|
|
264
271
|
- **ML-KEM** (FIPS 203; levels 1, 3, and 5)
|
|
265
272
|
- **CB-KEM** (Classic McEliece–family; five parameter sets, feature-selected)
|
|
266
273
|
- **HQC** (HQC-128, HQC-192, HQC-256)
|
|
267
|
-
- **Saturnin** (AEAD, block, hash, stream modes)
|
|
274
|
+
- **Saturnin** (AEAD, block, hash, stream modes) and **Rocca-S** (AES-accelerated 256-bit AEAD)
|
|
268
275
|
- **HPKE** (RFC 9180) with post-quantum KEM and AEAD options
|
|
269
276
|
- **Hash and XOF suite** (SHA-3 family, including SHAKE and cSHAKE, as exposed by workspace crates)
|
|
270
277
|
- **ZKP / STARK stack** (`lib-q-zkp` and supporting `lib-q-stark*` / `lib-q-plonky*` crates)
|
|
Binary file
|
package/nodejs/package.json
CHANGED
package/package.json
CHANGED
package/web/README.md
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
# lib-Q - Post-Quantum Cryptography Library
|
|
2
2
|
|
|
3
|
+
[](https://deepwiki.com/Enkom-Tech/libQ)
|
|
4
|
+
|
|
3
5
|
A Rust cryptography workspace focused on **NIST-standardized post-quantum** key exchange and signatures, **SHA-3-family** hashes and XOFs, and a **transparent STARK**–based zero-knowledge stack. CI enforces `cargo check --workspace --exclude lib-q-examples --exclude lib-q-sca-test --target wasm32-unknown-unknown` (with the `getrandom` wasm_js cfg) so the **publishable library workspace** compiles for the WebAssembly target; npm bundles are produced for the `@lib-q/*` packages listed below (see [docs/npm-packages.md](docs/npm-packages.md)). For build modes, feature flags, and browser baselines, see [docs/wasm-compilation.md](docs/wasm-compilation.md).
|
|
4
6
|
|
|
5
7
|
## Mission
|
|
6
8
|
|
|
7
|
-
lib-Q provides a coherent Rust API surface over NIST-track post-quantum primitives, SHA-3–family hashing, Saturnin AEAD, HPKE, and optional STARK-based proofs, with the goal of keeping advanced cryptography approachable without hiding residual implementation risk.
|
|
9
|
+
lib-Q provides a coherent Rust API surface over NIST-track post-quantum primitives, SHA-3–family hashing, Saturnin and Rocca-S AEAD, HPKE, and optional STARK-based proofs, with the goal of keeping advanced cryptography approachable without hiding residual implementation risk.
|
|
8
10
|
|
|
9
11
|
## Key features
|
|
10
12
|
|
|
@@ -66,8 +68,9 @@ Publishing to [crates.io](https://crates.io/) is driven by [`.github/workflows/c
|
|
|
66
68
|
| **`lib-q-intrinsics`** | SIMD / intrinsics helpers |
|
|
67
69
|
| **`lib-q-sig`** | Signature façade (ML-DSA, SLH-DSA) |
|
|
68
70
|
| **`lib-q-hash`** | Hash façade (SHAKE, KMAC, TupleHash, etc.) |
|
|
69
|
-
| **`lib-q-aead`** | AEAD façade (Saturnin, Romulus, duplex, tweak) |
|
|
71
|
+
| **`lib-q-aead`** | AEAD façade (Saturnin, Rocca-S, Romulus, duplex, tweak) |
|
|
70
72
|
| **`lib-q-saturnin`** | Saturnin suite |
|
|
73
|
+
| **`lib-q-rocca-s`** | Rocca-S AEAD (AES-accelerated; IETF draft-nakano-rocca-s) |
|
|
71
74
|
| **`lib-q-duplex-aead`** | Duplex-sponge AEAD |
|
|
72
75
|
| **`lib-q-tweak-aead`** | Tweakable CTR AEAD over Keccak |
|
|
73
76
|
| **`lib-q-romulus`** | Romulus AEAD (Skinny-based) |
|
|
@@ -119,7 +122,7 @@ Publishing to [crates.io](https://crates.io/) is driven by [`.github/workflows/c
|
|
|
119
122
|
- **`@lib-q/fn-dsa`** — FN-DSA (FIPS 206)
|
|
120
123
|
- **`@lib-q/hash`** — SHA-3–family hash façade
|
|
121
124
|
- **`@lib-q/utils`** — Utilities
|
|
122
|
-
- **`@lib-q/aead`** — Post-quantum AEAD (Saturnin, Romulus, duplex-sponge)
|
|
125
|
+
- **`@lib-q/aead`** — Post-quantum AEAD (Saturnin, Rocca-S, Romulus, duplex-sponge)
|
|
123
126
|
- **`@lib-q/hpke`** — Post-quantum HPKE (RFC 9180)
|
|
124
127
|
- **`@lib-q/zkp`** — ZKP / STARK proofs (high-level JSON API)
|
|
125
128
|
- **`@lib-q/random`** — Secure random bytes (`getrandom` / wasm_js)
|
|
@@ -208,6 +211,10 @@ npm install @lib-q/aead @lib-q/hpke @lib-q/zkp @lib-q/random @lib-q/hqc @lib-q/s
|
|
|
208
211
|
|
|
209
212
|
### Authenticated encryption
|
|
210
213
|
- **Saturnin** (post-quantum symmetric suite: AEAD, block cipher, hash, and stream modes)
|
|
214
|
+
- **Rocca-S** (AES-accelerated 256-bit AEAD; IETF draft-nakano-rocca-s; 128-bit nonce, 256-bit tag)
|
|
215
|
+
- **Romulus** (NIST-submitted Skinny-based AEAD)
|
|
216
|
+
- **Duplex-sponge AEAD** (Keccak-duplex construction)
|
|
217
|
+
- **Tweak-AEAD** (tweakable CTR AEAD over Keccak)
|
|
211
218
|
|
|
212
219
|
### Hybrid public-key encryption (HPKE)
|
|
213
220
|
- **Tier 1: Ultra-Secure** (Pure post-quantum with SHAKE256-based AEAD)
|
|
@@ -236,7 +243,7 @@ lib-Q/ (repository root)
|
|
|
236
243
|
├── lib-q-lattice-zkp/ # Module-lattice ZKP research (sigma, commitments)
|
|
237
244
|
├── lib-q-sca-test/ # SCA screening tooling
|
|
238
245
|
├── lib-q-hash/, lib-q-sha3/, lib-q-keccak/, lib-q-k12/
|
|
239
|
-
├── lib-q-aead/, lib-q-saturnin/
|
|
246
|
+
├── lib-q-aead/, lib-q-saturnin/, lib-q-rocca-s/
|
|
240
247
|
├── lib-q-hpke/
|
|
241
248
|
├── lib-q-zkp/, lib-q-stark*/, lib-q-plonky*/
|
|
242
249
|
├── lib-q-utils/, lib-q-random/, lib-q-platform/, …
|
|
@@ -264,7 +271,7 @@ The table above is the authoritative crate list; the `[workspace].members` table
|
|
|
264
271
|
- **ML-KEM** (FIPS 203; levels 1, 3, and 5)
|
|
265
272
|
- **CB-KEM** (Classic McEliece–family; five parameter sets, feature-selected)
|
|
266
273
|
- **HQC** (HQC-128, HQC-192, HQC-256)
|
|
267
|
-
- **Saturnin** (AEAD, block, hash, stream modes)
|
|
274
|
+
- **Saturnin** (AEAD, block, hash, stream modes) and **Rocca-S** (AES-accelerated 256-bit AEAD)
|
|
268
275
|
- **HPKE** (RFC 9180) with post-quantum KEM and AEAD options
|
|
269
276
|
- **Hash and XOF suite** (SHA-3 family, including SHAKE and cSHAKE, as exposed by workspace crates)
|
|
270
277
|
- **ZKP / STARK stack** (`lib-q-zkp` and supporting `lib-q-stark*` / `lib-q-plonky*` crates)
|
package/web/lib_q_utils_bg.wasm
CHANGED
|
Binary file
|