quantum-resistant-rustykey 0.4.1 → 0.5.4
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 +15 -3
- package/{install → dist}/index.js +1037 -23
- package/dist/index.js.map +1 -0
- package/package.json +24 -38
- package/install/index.d.ts +0 -21
- package/install/index.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,9 +1,21 @@
|
|
|
1
1
|
**Note**: 🚧 WORK IN PROGRESS...do not pnpm install 🚧
|
|
2
2
|
|
|
3
|
+
|
|
3
4
|
# Quantum-Resistant RustyKey®
|
|
4
5
|
|
|
5
6
|
A WebAssembly implementation of ML-KEM (Quantum-Resistant Signatures) for both Node.js and web environments. This is an improved version of the NIST winner's standard implementation, patched to withstand side-channel attacks.
|
|
6
7
|
|
|
8
|
+
## Implementation status
|
|
9
|
+
|
|
10
|
+
- The package now vendors the ML-KEM implementation source derived from Dmitry Chestnykh's `mlkem-wasm` project directly into this repository (no runtime dependency on the `mlkem-wasm` npm package).
|
|
11
|
+
- `loadMlKem768()` is the fully aligned implementation path today.
|
|
12
|
+
- `loadMlKem512()` and `loadMlKem1024()` are compatibility loaders currently routed through the same hardened internals while dedicated per-parameter-set support is being completed.
|
|
13
|
+
|
|
14
|
+
## Credits
|
|
15
|
+
|
|
16
|
+
- Core implementation approach adapted from Dmitry Chestnykh's `mlkem-wasm` project:
|
|
17
|
+
- https://github.com/dchest/mlkem-wasm
|
|
18
|
+
|
|
7
19
|
<!-- > **Note**: 🚧 WORK IN PROGRESS...do not install 🚧 -->
|
|
8
20
|
<p align="center">
|
|
9
21
|
<img src="./kyber.png"/>
|
|
@@ -138,8 +150,7 @@ When using ML-KEM in a web environment, consider the following security best pra
|
|
|
138
150
|
|
|
139
151
|
### Prerequisites
|
|
140
152
|
|
|
141
|
-
- Node.js >=
|
|
142
|
-
- Node.js >= 22 (current LTS)
|
|
153
|
+
- Node.js >= 25.9.0 (optimal)
|
|
143
154
|
- pnpm (pnpm for faster cache, but npm also works fine)
|
|
144
155
|
- Emscripten
|
|
145
156
|
- CMake
|
|
@@ -152,6 +163,7 @@ git clone https://github.com/antonymott/quantum-resistant-rustykey.git
|
|
|
152
163
|
cd quantum-resistant-rustykey
|
|
153
164
|
```
|
|
154
165
|
|
|
166
|
+
|
|
155
167
|
2. Initialize submodules:
|
|
156
168
|
```bash
|
|
157
169
|
git submodule update --init --recursive
|
|
@@ -195,7 +207,7 @@ pnpm build
|
|
|
195
207
|
|
|
196
208
|
## Testing
|
|
197
209
|
|
|
198
|
-
- Tested to work with Node.js
|
|
210
|
+
- Tested to work with Node.js v25.9.0
|
|
199
211
|
- For web testing, open `install/test.html` in a live server and check the console for encryption/decryption results of the three variants
|
|
200
212
|
|
|
201
213
|
## Project Structure
|