wasm-pqc-subtle 0.1.0 → 0.1.2
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/package.json +9 -1
- package/wasm_pqc_subtle.d.ts +18 -21
- package/wasm_pqc_subtle.js +251 -127
- package/wasm_pqc_subtle_bg.wasm +0 -0
package/package.json
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wasm-pqc-subtle",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"
|
|
4
|
+
"collaborators": [
|
|
5
|
+
"github.com/geoffsee"
|
|
6
|
+
],
|
|
7
|
+
"description": "Library for post-quantum encryption",
|
|
8
|
+
"version": "0.1.2",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "https://github.com/geoffsee/wasm-pqc-subtle"
|
|
12
|
+
},
|
|
5
13
|
"files": [
|
|
6
14
|
"wasm_pqc_subtle_bg.wasm",
|
|
7
15
|
"wasm_pqc_subtle.js",
|
package/wasm_pqc_subtle.d.ts
CHANGED
|
@@ -39,28 +39,25 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
|
|
|
39
39
|
|
|
40
40
|
export interface InitOutput {
|
|
41
41
|
readonly memory: WebAssembly.Memory;
|
|
42
|
-
readonly __wbg_kemkeypair_free: (a: number, b: number) => void;
|
|
43
|
-
readonly kemkeypair_public_key: (a: number) => [number, number];
|
|
44
|
-
readonly kemkeypair_secret_key: (a: number) => [number, number];
|
|
45
42
|
readonly __wbg_ciphertextandsharedsecret_free: (a: number, b: number) => void;
|
|
46
|
-
readonly ciphertextandsharedsecret_ciphertext: (a: number) =>
|
|
47
|
-
readonly ciphertextandsharedsecret_shared_secret: (a: number) =>
|
|
48
|
-
readonly ml_kem_1024_generate_keypair: () =>
|
|
49
|
-
readonly ml_kem_1024_encapsulate: (a: number, b: number
|
|
50
|
-
readonly ml_kem_1024_decapsulate: (a: number, b: number, c: number, d: number
|
|
51
|
-
readonly kem_generate_keypair: () =>
|
|
52
|
-
readonly kem_encapsulate: (a: number, b: number
|
|
53
|
-
readonly kem_decapsulate: (a: number, b: number, c: number, d: number
|
|
54
|
-
readonly
|
|
55
|
-
readonly
|
|
56
|
-
readonly ml_kem_768_generate_keypair: () =>
|
|
57
|
-
readonly
|
|
58
|
-
readonly
|
|
59
|
-
readonly
|
|
60
|
-
readonly
|
|
61
|
-
readonly
|
|
62
|
-
readonly
|
|
63
|
-
readonly
|
|
43
|
+
readonly ciphertextandsharedsecret_ciphertext: (a: number, b: number) => void;
|
|
44
|
+
readonly ciphertextandsharedsecret_shared_secret: (a: number, b: number) => void;
|
|
45
|
+
readonly ml_kem_1024_generate_keypair: (a: number) => void;
|
|
46
|
+
readonly ml_kem_1024_encapsulate: (a: number, b: number, c: number) => void;
|
|
47
|
+
readonly ml_kem_1024_decapsulate: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
48
|
+
readonly kem_generate_keypair: (a: number) => void;
|
|
49
|
+
readonly kem_encapsulate: (a: number, b: number, c: number) => void;
|
|
50
|
+
readonly kem_decapsulate: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
51
|
+
readonly ml_kem_768_decapsulate: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
52
|
+
readonly ml_kem_768_encapsulate: (a: number, b: number, c: number) => void;
|
|
53
|
+
readonly ml_kem_768_generate_keypair: (a: number) => void;
|
|
54
|
+
readonly kemkeypair_secret_key: (a: number, b: number) => void;
|
|
55
|
+
readonly kemkeypair_public_key: (a: number, b: number) => void;
|
|
56
|
+
readonly __wbg_kemkeypair_free: (a: number, b: number) => void;
|
|
57
|
+
readonly __wbindgen_export: (a: number) => void;
|
|
58
|
+
readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
|
|
59
|
+
readonly __wbindgen_export2: (a: number, b: number, c: number) => void;
|
|
60
|
+
readonly __wbindgen_export3: (a: number, b: number) => number;
|
|
64
61
|
}
|
|
65
62
|
|
|
66
63
|
export type SyncInitInput = BufferSource | WebAssembly.Module;
|
package/wasm_pqc_subtle.js
CHANGED
|
@@ -22,19 +22,33 @@ export class CiphertextAndSharedSecret {
|
|
|
22
22
|
* @returns {Uint8Array}
|
|
23
23
|
*/
|
|
24
24
|
get ciphertext() {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
try {
|
|
26
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
27
|
+
wasm.ciphertextandsharedsecret_ciphertext(retptr, this.__wbg_ptr);
|
|
28
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
29
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
30
|
+
var v1 = getArrayU8FromWasm0(r0, r1).slice();
|
|
31
|
+
wasm.__wbindgen_export2(r0, r1 * 1, 1);
|
|
32
|
+
return v1;
|
|
33
|
+
} finally {
|
|
34
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
35
|
+
}
|
|
29
36
|
}
|
|
30
37
|
/**
|
|
31
38
|
* @returns {Uint8Array}
|
|
32
39
|
*/
|
|
33
40
|
get shared_secret() {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
41
|
+
try {
|
|
42
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
43
|
+
wasm.ciphertextandsharedsecret_shared_secret(retptr, this.__wbg_ptr);
|
|
44
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
45
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
46
|
+
var v1 = getArrayU8FromWasm0(r0, r1).slice();
|
|
47
|
+
wasm.__wbindgen_export2(r0, r1 * 1, 1);
|
|
48
|
+
return v1;
|
|
49
|
+
} finally {
|
|
50
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
51
|
+
}
|
|
38
52
|
}
|
|
39
53
|
}
|
|
40
54
|
if (Symbol.dispose) CiphertextAndSharedSecret.prototype[Symbol.dispose] = CiphertextAndSharedSecret.prototype.free;
|
|
@@ -61,19 +75,33 @@ export class KemKeyPair {
|
|
|
61
75
|
* @returns {Uint8Array}
|
|
62
76
|
*/
|
|
63
77
|
get public_key() {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
78
|
+
try {
|
|
79
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
80
|
+
wasm.ciphertextandsharedsecret_ciphertext(retptr, this.__wbg_ptr);
|
|
81
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
82
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
83
|
+
var v1 = getArrayU8FromWasm0(r0, r1).slice();
|
|
84
|
+
wasm.__wbindgen_export2(r0, r1 * 1, 1);
|
|
85
|
+
return v1;
|
|
86
|
+
} finally {
|
|
87
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
88
|
+
}
|
|
68
89
|
}
|
|
69
90
|
/**
|
|
70
91
|
* @returns {Uint8Array}
|
|
71
92
|
*/
|
|
72
93
|
get secret_key() {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
94
|
+
try {
|
|
95
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
96
|
+
wasm.ciphertextandsharedsecret_shared_secret(retptr, this.__wbg_ptr);
|
|
97
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
98
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
99
|
+
var v1 = getArrayU8FromWasm0(r0, r1).slice();
|
|
100
|
+
wasm.__wbindgen_export2(r0, r1 * 1, 1);
|
|
101
|
+
return v1;
|
|
102
|
+
} finally {
|
|
103
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
104
|
+
}
|
|
77
105
|
}
|
|
78
106
|
}
|
|
79
107
|
if (Symbol.dispose) KemKeyPair.prototype[Symbol.dispose] = KemKeyPair.prototype.free;
|
|
@@ -84,17 +112,26 @@ if (Symbol.dispose) KemKeyPair.prototype[Symbol.dispose] = KemKeyPair.prototype.
|
|
|
84
112
|
* @returns {Uint8Array}
|
|
85
113
|
*/
|
|
86
114
|
export function kem_decapsulate(secret_key_bytes, ciphertext_bytes) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
115
|
+
try {
|
|
116
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
117
|
+
const ptr0 = passArray8ToWasm0(secret_key_bytes, wasm.__wbindgen_export3);
|
|
118
|
+
const len0 = WASM_VECTOR_LEN;
|
|
119
|
+
const ptr1 = passArray8ToWasm0(ciphertext_bytes, wasm.__wbindgen_export3);
|
|
120
|
+
const len1 = WASM_VECTOR_LEN;
|
|
121
|
+
wasm.kem_decapsulate(retptr, ptr0, len0, ptr1, len1);
|
|
122
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
123
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
124
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
125
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
126
|
+
if (r3) {
|
|
127
|
+
throw takeObject(r2);
|
|
128
|
+
}
|
|
129
|
+
var v3 = getArrayU8FromWasm0(r0, r1).slice();
|
|
130
|
+
wasm.__wbindgen_export2(r0, r1 * 1, 1);
|
|
131
|
+
return v3;
|
|
132
|
+
} finally {
|
|
133
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
94
134
|
}
|
|
95
|
-
var v3 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
96
|
-
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
97
|
-
return v3;
|
|
98
135
|
}
|
|
99
136
|
|
|
100
137
|
/**
|
|
@@ -102,24 +139,40 @@ export function kem_decapsulate(secret_key_bytes, ciphertext_bytes) {
|
|
|
102
139
|
* @returns {CiphertextAndSharedSecret}
|
|
103
140
|
*/
|
|
104
141
|
export function kem_encapsulate(public_key_bytes) {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
142
|
+
try {
|
|
143
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
144
|
+
const ptr0 = passArray8ToWasm0(public_key_bytes, wasm.__wbindgen_export3);
|
|
145
|
+
const len0 = WASM_VECTOR_LEN;
|
|
146
|
+
wasm.kem_encapsulate(retptr, ptr0, len0);
|
|
147
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
148
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
149
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
150
|
+
if (r2) {
|
|
151
|
+
throw takeObject(r1);
|
|
152
|
+
}
|
|
153
|
+
return CiphertextAndSharedSecret.__wrap(r0);
|
|
154
|
+
} finally {
|
|
155
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
110
156
|
}
|
|
111
|
-
return CiphertextAndSharedSecret.__wrap(ret[0]);
|
|
112
157
|
}
|
|
113
158
|
|
|
114
159
|
/**
|
|
115
160
|
* @returns {KemKeyPair}
|
|
116
161
|
*/
|
|
117
162
|
export function kem_generate_keypair() {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
163
|
+
try {
|
|
164
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
165
|
+
wasm.kem_generate_keypair(retptr);
|
|
166
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
167
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
168
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
169
|
+
if (r2) {
|
|
170
|
+
throw takeObject(r1);
|
|
171
|
+
}
|
|
172
|
+
return KemKeyPair.__wrap(r0);
|
|
173
|
+
} finally {
|
|
174
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
121
175
|
}
|
|
122
|
-
return KemKeyPair.__wrap(ret[0]);
|
|
123
176
|
}
|
|
124
177
|
|
|
125
178
|
/**
|
|
@@ -128,17 +181,26 @@ export function kem_generate_keypair() {
|
|
|
128
181
|
* @returns {Uint8Array}
|
|
129
182
|
*/
|
|
130
183
|
export function ml_kem_1024_decapsulate(secret_key_bytes, ciphertext_bytes) {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
184
|
+
try {
|
|
185
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
186
|
+
const ptr0 = passArray8ToWasm0(secret_key_bytes, wasm.__wbindgen_export3);
|
|
187
|
+
const len0 = WASM_VECTOR_LEN;
|
|
188
|
+
const ptr1 = passArray8ToWasm0(ciphertext_bytes, wasm.__wbindgen_export3);
|
|
189
|
+
const len1 = WASM_VECTOR_LEN;
|
|
190
|
+
wasm.ml_kem_1024_decapsulate(retptr, ptr0, len0, ptr1, len1);
|
|
191
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
192
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
193
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
194
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
195
|
+
if (r3) {
|
|
196
|
+
throw takeObject(r2);
|
|
197
|
+
}
|
|
198
|
+
var v3 = getArrayU8FromWasm0(r0, r1).slice();
|
|
199
|
+
wasm.__wbindgen_export2(r0, r1 * 1, 1);
|
|
200
|
+
return v3;
|
|
201
|
+
} finally {
|
|
202
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
138
203
|
}
|
|
139
|
-
var v3 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
140
|
-
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
141
|
-
return v3;
|
|
142
204
|
}
|
|
143
205
|
|
|
144
206
|
/**
|
|
@@ -146,24 +208,40 @@ export function ml_kem_1024_decapsulate(secret_key_bytes, ciphertext_bytes) {
|
|
|
146
208
|
* @returns {CiphertextAndSharedSecret}
|
|
147
209
|
*/
|
|
148
210
|
export function ml_kem_1024_encapsulate(public_key_bytes) {
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
211
|
+
try {
|
|
212
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
213
|
+
const ptr0 = passArray8ToWasm0(public_key_bytes, wasm.__wbindgen_export3);
|
|
214
|
+
const len0 = WASM_VECTOR_LEN;
|
|
215
|
+
wasm.ml_kem_1024_encapsulate(retptr, ptr0, len0);
|
|
216
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
217
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
218
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
219
|
+
if (r2) {
|
|
220
|
+
throw takeObject(r1);
|
|
221
|
+
}
|
|
222
|
+
return CiphertextAndSharedSecret.__wrap(r0);
|
|
223
|
+
} finally {
|
|
224
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
154
225
|
}
|
|
155
|
-
return CiphertextAndSharedSecret.__wrap(ret[0]);
|
|
156
226
|
}
|
|
157
227
|
|
|
158
228
|
/**
|
|
159
229
|
* @returns {KemKeyPair}
|
|
160
230
|
*/
|
|
161
231
|
export function ml_kem_1024_generate_keypair() {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
232
|
+
try {
|
|
233
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
234
|
+
wasm.ml_kem_1024_generate_keypair(retptr);
|
|
235
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
236
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
237
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
238
|
+
if (r2) {
|
|
239
|
+
throw takeObject(r1);
|
|
240
|
+
}
|
|
241
|
+
return KemKeyPair.__wrap(r0);
|
|
242
|
+
} finally {
|
|
243
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
165
244
|
}
|
|
166
|
-
return KemKeyPair.__wrap(ret[0]);
|
|
167
245
|
}
|
|
168
246
|
|
|
169
247
|
/**
|
|
@@ -172,17 +250,26 @@ export function ml_kem_1024_generate_keypair() {
|
|
|
172
250
|
* @returns {Uint8Array}
|
|
173
251
|
*/
|
|
174
252
|
export function ml_kem_768_decapsulate(secret_key_bytes, ciphertext_bytes) {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
253
|
+
try {
|
|
254
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
255
|
+
const ptr0 = passArray8ToWasm0(secret_key_bytes, wasm.__wbindgen_export3);
|
|
256
|
+
const len0 = WASM_VECTOR_LEN;
|
|
257
|
+
const ptr1 = passArray8ToWasm0(ciphertext_bytes, wasm.__wbindgen_export3);
|
|
258
|
+
const len1 = WASM_VECTOR_LEN;
|
|
259
|
+
wasm.kem_decapsulate(retptr, ptr0, len0, ptr1, len1);
|
|
260
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
261
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
262
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
263
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
264
|
+
if (r3) {
|
|
265
|
+
throw takeObject(r2);
|
|
266
|
+
}
|
|
267
|
+
var v3 = getArrayU8FromWasm0(r0, r1).slice();
|
|
268
|
+
wasm.__wbindgen_export2(r0, r1 * 1, 1);
|
|
269
|
+
return v3;
|
|
270
|
+
} finally {
|
|
271
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
182
272
|
}
|
|
183
|
-
var v3 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
184
|
-
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
185
|
-
return v3;
|
|
186
273
|
}
|
|
187
274
|
|
|
188
275
|
/**
|
|
@@ -190,140 +277,154 @@ export function ml_kem_768_decapsulate(secret_key_bytes, ciphertext_bytes) {
|
|
|
190
277
|
* @returns {CiphertextAndSharedSecret}
|
|
191
278
|
*/
|
|
192
279
|
export function ml_kem_768_encapsulate(public_key_bytes) {
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
280
|
+
try {
|
|
281
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
282
|
+
const ptr0 = passArray8ToWasm0(public_key_bytes, wasm.__wbindgen_export3);
|
|
283
|
+
const len0 = WASM_VECTOR_LEN;
|
|
284
|
+
wasm.kem_encapsulate(retptr, ptr0, len0);
|
|
285
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
286
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
287
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
288
|
+
if (r2) {
|
|
289
|
+
throw takeObject(r1);
|
|
290
|
+
}
|
|
291
|
+
return CiphertextAndSharedSecret.__wrap(r0);
|
|
292
|
+
} finally {
|
|
293
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
198
294
|
}
|
|
199
|
-
return CiphertextAndSharedSecret.__wrap(ret[0]);
|
|
200
295
|
}
|
|
201
296
|
|
|
202
297
|
/**
|
|
203
298
|
* @returns {KemKeyPair}
|
|
204
299
|
*/
|
|
205
300
|
export function ml_kem_768_generate_keypair() {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
301
|
+
try {
|
|
302
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
303
|
+
wasm.kem_generate_keypair(retptr);
|
|
304
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
305
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
306
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
307
|
+
if (r2) {
|
|
308
|
+
throw takeObject(r1);
|
|
309
|
+
}
|
|
310
|
+
return KemKeyPair.__wrap(r0);
|
|
311
|
+
} finally {
|
|
312
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
209
313
|
}
|
|
210
|
-
return KemKeyPair.__wrap(ret[0]);
|
|
211
314
|
}
|
|
212
315
|
|
|
213
316
|
function __wbg_get_imports() {
|
|
214
317
|
const import0 = {
|
|
215
318
|
__proto__: null,
|
|
216
319
|
__wbg___wbindgen_is_function_0095a73b8b156f76: function(arg0) {
|
|
217
|
-
const ret = typeof(arg0) === 'function';
|
|
320
|
+
const ret = typeof(getObject(arg0)) === 'function';
|
|
218
321
|
return ret;
|
|
219
322
|
},
|
|
220
323
|
__wbg___wbindgen_is_object_5ae8e5880f2c1fbd: function(arg0) {
|
|
221
|
-
const val = arg0;
|
|
324
|
+
const val = getObject(arg0);
|
|
222
325
|
const ret = typeof(val) === 'object' && val !== null;
|
|
223
326
|
return ret;
|
|
224
327
|
},
|
|
225
328
|
__wbg___wbindgen_is_string_cd444516edc5b180: function(arg0) {
|
|
226
|
-
const ret = typeof(arg0) === 'string';
|
|
329
|
+
const ret = typeof(getObject(arg0)) === 'string';
|
|
227
330
|
return ret;
|
|
228
331
|
},
|
|
229
332
|
__wbg___wbindgen_is_undefined_9e4d92534c42d778: function(arg0) {
|
|
230
|
-
const ret = arg0 === undefined;
|
|
333
|
+
const ret = getObject(arg0) === undefined;
|
|
231
334
|
return ret;
|
|
232
335
|
},
|
|
233
336
|
__wbg___wbindgen_throw_be289d5034ed271b: function(arg0, arg1) {
|
|
234
337
|
throw new Error(getStringFromWasm0(arg0, arg1));
|
|
235
338
|
},
|
|
236
339
|
__wbg_call_389efe28435a9388: function() { return handleError(function (arg0, arg1) {
|
|
237
|
-
const ret = arg0.call(arg1);
|
|
238
|
-
return ret;
|
|
340
|
+
const ret = getObject(arg0).call(getObject(arg1));
|
|
341
|
+
return addHeapObject(ret);
|
|
239
342
|
}, arguments); },
|
|
240
343
|
__wbg_call_4708e0c13bdc8e95: function() { return handleError(function (arg0, arg1, arg2) {
|
|
241
|
-
const ret = arg0.call(arg1, arg2);
|
|
242
|
-
return ret;
|
|
344
|
+
const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));
|
|
345
|
+
return addHeapObject(ret);
|
|
243
346
|
}, arguments); },
|
|
244
347
|
__wbg_crypto_86f2631e91b51511: function(arg0) {
|
|
245
|
-
const ret = arg0.crypto;
|
|
246
|
-
return ret;
|
|
348
|
+
const ret = getObject(arg0).crypto;
|
|
349
|
+
return addHeapObject(ret);
|
|
247
350
|
},
|
|
248
351
|
__wbg_getRandomValues_b3f15fcbfabb0f8b: function() { return handleError(function (arg0, arg1) {
|
|
249
|
-
arg0.getRandomValues(arg1);
|
|
352
|
+
getObject(arg0).getRandomValues(getObject(arg1));
|
|
250
353
|
}, arguments); },
|
|
251
354
|
__wbg_length_32ed9a279acd054c: function(arg0) {
|
|
252
|
-
const ret = arg0.length;
|
|
355
|
+
const ret = getObject(arg0).length;
|
|
253
356
|
return ret;
|
|
254
357
|
},
|
|
255
358
|
__wbg_msCrypto_d562bbe83e0d4b91: function(arg0) {
|
|
256
|
-
const ret = arg0.msCrypto;
|
|
257
|
-
return ret;
|
|
359
|
+
const ret = getObject(arg0).msCrypto;
|
|
360
|
+
return addHeapObject(ret);
|
|
258
361
|
},
|
|
259
362
|
__wbg_new_no_args_1c7c842f08d00ebb: function(arg0, arg1) {
|
|
260
363
|
const ret = new Function(getStringFromWasm0(arg0, arg1));
|
|
261
|
-
return ret;
|
|
364
|
+
return addHeapObject(ret);
|
|
262
365
|
},
|
|
263
366
|
__wbg_new_with_length_a2c39cbe88fd8ff1: function(arg0) {
|
|
264
367
|
const ret = new Uint8Array(arg0 >>> 0);
|
|
265
|
-
return ret;
|
|
368
|
+
return addHeapObject(ret);
|
|
266
369
|
},
|
|
267
370
|
__wbg_node_e1f24f89a7336c2e: function(arg0) {
|
|
268
|
-
const ret = arg0.node;
|
|
269
|
-
return ret;
|
|
371
|
+
const ret = getObject(arg0).node;
|
|
372
|
+
return addHeapObject(ret);
|
|
270
373
|
},
|
|
271
374
|
__wbg_process_3975fd6c72f520aa: function(arg0) {
|
|
272
|
-
const ret = arg0.process;
|
|
273
|
-
return ret;
|
|
375
|
+
const ret = getObject(arg0).process;
|
|
376
|
+
return addHeapObject(ret);
|
|
274
377
|
},
|
|
275
378
|
__wbg_prototypesetcall_bdcdcc5842e4d77d: function(arg0, arg1, arg2) {
|
|
276
|
-
Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), arg2);
|
|
379
|
+
Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), getObject(arg2));
|
|
277
380
|
},
|
|
278
381
|
__wbg_randomFillSync_f8c153b79f285817: function() { return handleError(function (arg0, arg1) {
|
|
279
|
-
arg0.randomFillSync(arg1);
|
|
382
|
+
getObject(arg0).randomFillSync(takeObject(arg1));
|
|
280
383
|
}, arguments); },
|
|
281
384
|
__wbg_require_b74f47fc2d022fd6: function() { return handleError(function () {
|
|
282
385
|
const ret = module.require;
|
|
283
|
-
return ret;
|
|
386
|
+
return addHeapObject(ret);
|
|
284
387
|
}, arguments); },
|
|
285
388
|
__wbg_static_accessor_GLOBAL_12837167ad935116: function() {
|
|
286
389
|
const ret = typeof global === 'undefined' ? null : global;
|
|
287
|
-
return isLikeNone(ret) ? 0 :
|
|
390
|
+
return isLikeNone(ret) ? 0 : addHeapObject(ret);
|
|
288
391
|
},
|
|
289
392
|
__wbg_static_accessor_GLOBAL_THIS_e628e89ab3b1c95f: function() {
|
|
290
393
|
const ret = typeof globalThis === 'undefined' ? null : globalThis;
|
|
291
|
-
return isLikeNone(ret) ? 0 :
|
|
394
|
+
return isLikeNone(ret) ? 0 : addHeapObject(ret);
|
|
292
395
|
},
|
|
293
396
|
__wbg_static_accessor_SELF_a621d3dfbb60d0ce: function() {
|
|
294
397
|
const ret = typeof self === 'undefined' ? null : self;
|
|
295
|
-
return isLikeNone(ret) ? 0 :
|
|
398
|
+
return isLikeNone(ret) ? 0 : addHeapObject(ret);
|
|
296
399
|
},
|
|
297
400
|
__wbg_static_accessor_WINDOW_f8727f0cf888e0bd: function() {
|
|
298
401
|
const ret = typeof window === 'undefined' ? null : window;
|
|
299
|
-
return isLikeNone(ret) ? 0 :
|
|
402
|
+
return isLikeNone(ret) ? 0 : addHeapObject(ret);
|
|
300
403
|
},
|
|
301
404
|
__wbg_subarray_a96e1fef17ed23cb: function(arg0, arg1, arg2) {
|
|
302
|
-
const ret = arg0.subarray(arg1 >>> 0, arg2 >>> 0);
|
|
303
|
-
return ret;
|
|
405
|
+
const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0);
|
|
406
|
+
return addHeapObject(ret);
|
|
304
407
|
},
|
|
305
408
|
__wbg_versions_4e31226f5e8dc909: function(arg0) {
|
|
306
|
-
const ret = arg0.versions;
|
|
307
|
-
return ret;
|
|
409
|
+
const ret = getObject(arg0).versions;
|
|
410
|
+
return addHeapObject(ret);
|
|
308
411
|
},
|
|
309
412
|
__wbindgen_cast_0000000000000001: function(arg0, arg1) {
|
|
310
413
|
// Cast intrinsic for `Ref(Slice(U8)) -> NamedExternref("Uint8Array")`.
|
|
311
414
|
const ret = getArrayU8FromWasm0(arg0, arg1);
|
|
312
|
-
return ret;
|
|
415
|
+
return addHeapObject(ret);
|
|
313
416
|
},
|
|
314
417
|
__wbindgen_cast_0000000000000002: function(arg0, arg1) {
|
|
315
418
|
// Cast intrinsic for `Ref(String) -> Externref`.
|
|
316
419
|
const ret = getStringFromWasm0(arg0, arg1);
|
|
317
|
-
return ret;
|
|
420
|
+
return addHeapObject(ret);
|
|
421
|
+
},
|
|
422
|
+
__wbindgen_object_clone_ref: function(arg0) {
|
|
423
|
+
const ret = getObject(arg0);
|
|
424
|
+
return addHeapObject(ret);
|
|
318
425
|
},
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
const offset = table.grow(4);
|
|
322
|
-
table.set(0, undefined);
|
|
323
|
-
table.set(offset + 0, undefined);
|
|
324
|
-
table.set(offset + 1, null);
|
|
325
|
-
table.set(offset + 2, true);
|
|
326
|
-
table.set(offset + 3, false);
|
|
426
|
+
__wbindgen_object_drop_ref: function(arg0) {
|
|
427
|
+
takeObject(arg0);
|
|
327
428
|
},
|
|
328
429
|
};
|
|
329
430
|
return {
|
|
@@ -339,17 +440,34 @@ const KemKeyPairFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
|
339
440
|
? { register: () => {}, unregister: () => {} }
|
|
340
441
|
: new FinalizationRegistry(ptr => wasm.__wbg_kemkeypair_free(ptr >>> 0, 1));
|
|
341
442
|
|
|
342
|
-
function
|
|
343
|
-
|
|
344
|
-
|
|
443
|
+
function addHeapObject(obj) {
|
|
444
|
+
if (heap_next === heap.length) heap.push(heap.length + 1);
|
|
445
|
+
const idx = heap_next;
|
|
446
|
+
heap_next = heap[idx];
|
|
447
|
+
|
|
448
|
+
heap[idx] = obj;
|
|
345
449
|
return idx;
|
|
346
450
|
}
|
|
347
451
|
|
|
452
|
+
function dropObject(idx) {
|
|
453
|
+
if (idx < 132) return;
|
|
454
|
+
heap[idx] = heap_next;
|
|
455
|
+
heap_next = idx;
|
|
456
|
+
}
|
|
457
|
+
|
|
348
458
|
function getArrayU8FromWasm0(ptr, len) {
|
|
349
459
|
ptr = ptr >>> 0;
|
|
350
460
|
return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
|
|
351
461
|
}
|
|
352
462
|
|
|
463
|
+
let cachedDataViewMemory0 = null;
|
|
464
|
+
function getDataViewMemory0() {
|
|
465
|
+
if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
|
|
466
|
+
cachedDataViewMemory0 = new DataView(wasm.memory.buffer);
|
|
467
|
+
}
|
|
468
|
+
return cachedDataViewMemory0;
|
|
469
|
+
}
|
|
470
|
+
|
|
353
471
|
function getStringFromWasm0(ptr, len) {
|
|
354
472
|
ptr = ptr >>> 0;
|
|
355
473
|
return decodeText(ptr, len);
|
|
@@ -363,15 +481,21 @@ function getUint8ArrayMemory0() {
|
|
|
363
481
|
return cachedUint8ArrayMemory0;
|
|
364
482
|
}
|
|
365
483
|
|
|
484
|
+
function getObject(idx) { return heap[idx]; }
|
|
485
|
+
|
|
366
486
|
function handleError(f, args) {
|
|
367
487
|
try {
|
|
368
488
|
return f.apply(this, args);
|
|
369
489
|
} catch (e) {
|
|
370
|
-
|
|
371
|
-
wasm.__wbindgen_exn_store(idx);
|
|
490
|
+
wasm.__wbindgen_export(addHeapObject(e));
|
|
372
491
|
}
|
|
373
492
|
}
|
|
374
493
|
|
|
494
|
+
let heap = new Array(128).fill(undefined);
|
|
495
|
+
heap.push(undefined, null, true, false);
|
|
496
|
+
|
|
497
|
+
let heap_next = heap.length;
|
|
498
|
+
|
|
375
499
|
function isLikeNone(x) {
|
|
376
500
|
return x === undefined || x === null;
|
|
377
501
|
}
|
|
@@ -383,10 +507,10 @@ function passArray8ToWasm0(arg, malloc) {
|
|
|
383
507
|
return ptr;
|
|
384
508
|
}
|
|
385
509
|
|
|
386
|
-
function
|
|
387
|
-
const
|
|
388
|
-
|
|
389
|
-
return
|
|
510
|
+
function takeObject(idx) {
|
|
511
|
+
const ret = getObject(idx);
|
|
512
|
+
dropObject(idx);
|
|
513
|
+
return ret;
|
|
390
514
|
}
|
|
391
515
|
|
|
392
516
|
let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
|
|
@@ -409,8 +533,8 @@ let wasmModule, wasm;
|
|
|
409
533
|
function __wbg_finalize_init(instance, module) {
|
|
410
534
|
wasm = instance.exports;
|
|
411
535
|
wasmModule = module;
|
|
536
|
+
cachedDataViewMemory0 = null;
|
|
412
537
|
cachedUint8ArrayMemory0 = null;
|
|
413
|
-
wasm.__wbindgen_start();
|
|
414
538
|
return wasm;
|
|
415
539
|
}
|
|
416
540
|
|
package/wasm_pqc_subtle_bg.wasm
CHANGED
|
Binary file
|