quantum-resistant-rustykey 0.6.0 → 0.6.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.
Files changed (3) hide show
  1. package/README.md +18 -12
  2. package/package.json +25 -8
  3. package/dist/index.mjs +0 -2404
package/README.md CHANGED
@@ -4,8 +4,7 @@ A WebAssembly implementation of ML-KEM for both Node.js and web environments.
4
4
 
5
5
  ## Implementation status
6
6
 
7
- - **ML-KEM-512**, **ML-KEM-768**, and **ML-KEM-1024** all use the same stack: [mlkem-native](https://github.com/pq-code-package/mlkem-native) (C) built with **Emscripten**, plus TypeScript adapted from Dmitry Chestnykh’s [mlkem-wasm](https://github.com/dchest/mlkem-wasm), vendored in this repo (no runtime npm dependency on `mlkem-wasm`).
8
- - **PQClean** and **libsodium** are no longer part of this package’s build or runtime path.
7
+ - **ML-KEM-512**, **ML-KEM-768**, and **ML-KEM-1024** all use the same stack: [mlkem-native](https://github.com/pq-code-package/mlkem-native) (C) built with **Emscripten**.
9
8
 
10
9
  ## Security assurance and verification
11
10
 
@@ -54,12 +53,17 @@ pnpm build:vendor
54
53
 
55
54
  Notes:
56
55
  - The upstream project documents scope/assumptions in `SOUNDNESS.md`; review this when making compliance assertions.
57
- - This package uses ML-KEM-1024 (not "1028").
58
56
 
59
57
  ## Credits
60
58
 
61
- - Core approach adapted from Dmitry Chestnykh's `mlkem-wasm`:
62
- - https://github.com/dchest/mlkem-wasm
59
+ - NIST
60
+ - signature algorithms:
61
+ - FN-DSA (Falcon-512, Falcon-1024)
62
+ - ML-DSA (Dilithium variants)
63
+ - SQISign
64
+ - module-lattice-based key-encapsulation mechanism
65
+ - ML-KEM
66
+ - approach adapted from Dmitry Chestnykh's `mlkem-wasm`: https://github.com/dchest/mlkem-wasm
63
67
 
64
68
  ## Installation
65
69
 
@@ -93,7 +97,7 @@ async function main() {
93
97
  console.log("Private Key:", privateKey);
94
98
 
95
99
  // Encrypt a message
96
- const message = "Hello, this is a secret message!";
100
+ const message = "Rusty keys, the rustier the better!";
97
101
  const encrypt = mlkem.encrypt(keypair.get('public_key'))
98
102
  const sharedSecret = encrypt.get('secret')
99
103
  const encryptedMessage = await mlkem.encryptMessage(message, sharedSecret)
@@ -147,7 +151,7 @@ Security note for web apps:
147
151
 
148
152
  ### Prerequisites
149
153
 
150
- - Node.js >= 22 (LTS)
154
+ - Node.js >= 25.9.0
151
155
  - pnpm (or npm)
152
156
  - Emscripten **or** Docker — only needed if you run `pnpm build:vendor` to regenerate `src/vendor/mlkem*.js`
153
157
 
@@ -198,7 +202,7 @@ See `examples/browser-demo/README.md` for details.
198
202
 
199
203
  ## Project Structure
200
204
 
201
- ML-KEM logic comes from **mlkem-native** (C), compiled with **Emscripten** under `wasm/`, wrapped by TypeScript derived from [mlkem-wasm](https://github.com/dchest/mlkem-wasm) in `mlkem-src/`, then bundled into `src/vendor/mlkem*.js`.
205
+ ML-KEM logic comes from **mlkem-native** (C), compiled with **Emscripten** under `wasm/`, wrapped by TypeScript in `mlkem-src/`, then bundled into `src/vendor/mlkem*.js`.
202
206
 
203
207
  ## Publishing
204
208
 
@@ -224,7 +228,9 @@ This implementation includes patches to withstand side-channel attacks. For more
224
228
 
225
229
  ISC
226
230
 
227
- ## Acknowledgments
228
-
229
- - Based on the NIST post-quantum cryptography project
230
- - Inspired by the implementation approach of [sqlite-wasm](https://github.com/sqlite/sqlite-wasm)
231
+ ## Funding
232
+ This project was generously supported by:
233
+ - University of Quantum Science
234
+ - RustyKey®
235
+ - Customers' Yachts® Advisors
236
+ - BuzzyBee® [buzzybee.ai]
package/package.json CHANGED
@@ -1,8 +1,26 @@
1
1
  {
2
2
  "name": "quantum-resistant-rustykey",
3
- "version": "0.6.0",
4
- "description": "WebAssembly ML-KEM (post-quantum) key encapsulation for Node.js and web.",
3
+ "version": "0.6.1",
4
+ "description": "WebAssembly post-quantum-resistant tools for web",
5
+ "author": "Antony R Mott <a@auditcanary.com> (https://rustykey.app)",
5
6
  "license": "ISC",
7
+ "funding": [
8
+ {
9
+ "type": "github",
10
+ "url": "https://github.com/antonymott"
11
+ }
12
+ ],
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "git+https://github.com/antonymott/quantum-resistant-rustykey.git"
16
+ },
17
+ "homepage": "https://github.com/antonymott/quantum-resistant-rustykey.git#readme",
18
+ "keywords": [
19
+ "NIST",
20
+ "post-quantum",
21
+ "WebAssembly",
22
+ "cryptography"
23
+ ],
6
24
  "type": "module",
7
25
  "sideEffects": false,
8
26
  "main": "./dist/index.js",
@@ -30,12 +48,11 @@
30
48
  "example:browser": "pnpm --filter browser-demo dev"
31
49
  },
32
50
  "devDependencies": {
33
- "@biomejs/biome": "2.4.10",
51
+ "@biomejs/biome": "2.4.11",
34
52
  "@changesets/cli": "2.30.0",
35
- "@types/node": "25.5.0",
36
- "esbuild": "0.27.4",
37
- "tsdown": "0.21.7",
38
- "typescript": "5.9.2",
39
- "vitest": "4.1.2"
53
+ "esbuild": "0.28.0",
54
+ "tsdown": "0.21.8",
55
+ "typescript": "6.0.2",
56
+ "vitest": "4.1.4"
40
57
  }
41
58
  }