@hpke/hybridkem-x-wing 0.1.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.
Files changed (97) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +264 -0
  3. package/esm/_dnt.test_shims.d.ts.map +1 -0
  4. package/esm/deps/jsr.io/@std/assert/1.0.0/almost_equals.d.ts.map +1 -0
  5. package/esm/deps/jsr.io/@std/assert/1.0.0/array_includes.d.ts.map +1 -0
  6. package/esm/deps/jsr.io/@std/assert/1.0.0/assert.d.ts.map +1 -0
  7. package/esm/deps/jsr.io/@std/assert/1.0.0/assertion_error.d.ts.map +1 -0
  8. package/esm/deps/jsr.io/@std/assert/1.0.0/equal.d.ts.map +1 -0
  9. package/esm/deps/jsr.io/@std/assert/1.0.0/equals.d.ts.map +1 -0
  10. package/esm/deps/jsr.io/@std/assert/1.0.0/exists.d.ts.map +1 -0
  11. package/esm/deps/jsr.io/@std/assert/1.0.0/fail.d.ts.map +1 -0
  12. package/esm/deps/jsr.io/@std/assert/1.0.0/false.d.ts.map +1 -0
  13. package/esm/deps/jsr.io/@std/assert/1.0.0/greater.d.ts.map +1 -0
  14. package/esm/deps/jsr.io/@std/assert/1.0.0/greater_or_equal.d.ts.map +1 -0
  15. package/esm/deps/jsr.io/@std/assert/1.0.0/instance_of.d.ts.map +1 -0
  16. package/esm/deps/jsr.io/@std/assert/1.0.0/is_error.d.ts.map +1 -0
  17. package/esm/deps/jsr.io/@std/assert/1.0.0/less.d.ts.map +1 -0
  18. package/esm/deps/jsr.io/@std/assert/1.0.0/less_or_equal.d.ts.map +1 -0
  19. package/esm/deps/jsr.io/@std/assert/1.0.0/match.d.ts.map +1 -0
  20. package/esm/deps/jsr.io/@std/assert/1.0.0/mod.d.ts.map +1 -0
  21. package/esm/deps/jsr.io/@std/assert/1.0.0/not_equals.d.ts.map +1 -0
  22. package/esm/deps/jsr.io/@std/assert/1.0.0/not_instance_of.d.ts.map +1 -0
  23. package/esm/deps/jsr.io/@std/assert/1.0.0/not_match.d.ts.map +1 -0
  24. package/esm/deps/jsr.io/@std/assert/1.0.0/not_strict_equals.d.ts.map +1 -0
  25. package/esm/deps/jsr.io/@std/assert/1.0.0/object_match.d.ts.map +1 -0
  26. package/esm/deps/jsr.io/@std/assert/1.0.0/rejects.d.ts.map +1 -0
  27. package/esm/deps/jsr.io/@std/assert/1.0.0/strict_equals.d.ts.map +1 -0
  28. package/esm/deps/jsr.io/@std/assert/1.0.0/string_includes.d.ts.map +1 -0
  29. package/esm/deps/jsr.io/@std/assert/1.0.0/throws.d.ts.map +1 -0
  30. package/esm/deps/jsr.io/@std/assert/1.0.0/unimplemented.d.ts.map +1 -0
  31. package/esm/deps/jsr.io/@std/assert/1.0.0/unreachable.d.ts.map +1 -0
  32. package/esm/deps/jsr.io/@std/internal/1.0.3/build_message.d.ts.map +1 -0
  33. package/esm/deps/jsr.io/@std/internal/1.0.3/diff.d.ts.map +1 -0
  34. package/esm/deps/jsr.io/@std/internal/1.0.3/diff_str.d.ts.map +1 -0
  35. package/esm/deps/jsr.io/@std/internal/1.0.3/format.d.ts.map +1 -0
  36. package/esm/deps/jsr.io/@std/internal/1.0.3/mod.d.ts.map +1 -0
  37. package/esm/deps/jsr.io/@std/internal/1.0.3/styles.d.ts.map +1 -0
  38. package/esm/deps/jsr.io/@std/internal/1.0.3/types.d.ts.map +1 -0
  39. package/esm/deps/jsr.io/@std/testing/1.0.2/_test_suite.d.ts.map +1 -0
  40. package/esm/deps/jsr.io/@std/testing/1.0.2/bdd.d.ts.map +1 -0
  41. package/esm/mod.d.ts +2 -0
  42. package/esm/mod.d.ts.map +1 -0
  43. package/esm/mod.js +1 -0
  44. package/esm/package.json +3 -0
  45. package/esm/src/hybridkemXWing.d.ts +94 -0
  46. package/esm/src/hybridkemXWing.d.ts.map +1 -0
  47. package/esm/src/hybridkemXWing.js +381 -0
  48. package/esm/test/hybridkemXWing.test.d.ts.map +1 -0
  49. package/esm/test/testVectors.d.ts.map +1 -0
  50. package/package.json +55 -0
  51. package/script/_dnt.test_shims.d.ts.map +1 -0
  52. package/script/deps/jsr.io/@std/assert/1.0.0/almost_equals.d.ts.map +1 -0
  53. package/script/deps/jsr.io/@std/assert/1.0.0/array_includes.d.ts.map +1 -0
  54. package/script/deps/jsr.io/@std/assert/1.0.0/assert.d.ts.map +1 -0
  55. package/script/deps/jsr.io/@std/assert/1.0.0/assertion_error.d.ts.map +1 -0
  56. package/script/deps/jsr.io/@std/assert/1.0.0/equal.d.ts.map +1 -0
  57. package/script/deps/jsr.io/@std/assert/1.0.0/equals.d.ts.map +1 -0
  58. package/script/deps/jsr.io/@std/assert/1.0.0/exists.d.ts.map +1 -0
  59. package/script/deps/jsr.io/@std/assert/1.0.0/fail.d.ts.map +1 -0
  60. package/script/deps/jsr.io/@std/assert/1.0.0/false.d.ts.map +1 -0
  61. package/script/deps/jsr.io/@std/assert/1.0.0/greater.d.ts.map +1 -0
  62. package/script/deps/jsr.io/@std/assert/1.0.0/greater_or_equal.d.ts.map +1 -0
  63. package/script/deps/jsr.io/@std/assert/1.0.0/instance_of.d.ts.map +1 -0
  64. package/script/deps/jsr.io/@std/assert/1.0.0/is_error.d.ts.map +1 -0
  65. package/script/deps/jsr.io/@std/assert/1.0.0/less.d.ts.map +1 -0
  66. package/script/deps/jsr.io/@std/assert/1.0.0/less_or_equal.d.ts.map +1 -0
  67. package/script/deps/jsr.io/@std/assert/1.0.0/match.d.ts.map +1 -0
  68. package/script/deps/jsr.io/@std/assert/1.0.0/mod.d.ts.map +1 -0
  69. package/script/deps/jsr.io/@std/assert/1.0.0/not_equals.d.ts.map +1 -0
  70. package/script/deps/jsr.io/@std/assert/1.0.0/not_instance_of.d.ts.map +1 -0
  71. package/script/deps/jsr.io/@std/assert/1.0.0/not_match.d.ts.map +1 -0
  72. package/script/deps/jsr.io/@std/assert/1.0.0/not_strict_equals.d.ts.map +1 -0
  73. package/script/deps/jsr.io/@std/assert/1.0.0/object_match.d.ts.map +1 -0
  74. package/script/deps/jsr.io/@std/assert/1.0.0/rejects.d.ts.map +1 -0
  75. package/script/deps/jsr.io/@std/assert/1.0.0/strict_equals.d.ts.map +1 -0
  76. package/script/deps/jsr.io/@std/assert/1.0.0/string_includes.d.ts.map +1 -0
  77. package/script/deps/jsr.io/@std/assert/1.0.0/throws.d.ts.map +1 -0
  78. package/script/deps/jsr.io/@std/assert/1.0.0/unimplemented.d.ts.map +1 -0
  79. package/script/deps/jsr.io/@std/assert/1.0.0/unreachable.d.ts.map +1 -0
  80. package/script/deps/jsr.io/@std/internal/1.0.3/build_message.d.ts.map +1 -0
  81. package/script/deps/jsr.io/@std/internal/1.0.3/diff.d.ts.map +1 -0
  82. package/script/deps/jsr.io/@std/internal/1.0.3/diff_str.d.ts.map +1 -0
  83. package/script/deps/jsr.io/@std/internal/1.0.3/format.d.ts.map +1 -0
  84. package/script/deps/jsr.io/@std/internal/1.0.3/mod.d.ts.map +1 -0
  85. package/script/deps/jsr.io/@std/internal/1.0.3/styles.d.ts.map +1 -0
  86. package/script/deps/jsr.io/@std/internal/1.0.3/types.d.ts.map +1 -0
  87. package/script/deps/jsr.io/@std/testing/1.0.2/_test_suite.d.ts.map +1 -0
  88. package/script/deps/jsr.io/@std/testing/1.0.2/bdd.d.ts.map +1 -0
  89. package/script/mod.d.ts +2 -0
  90. package/script/mod.d.ts.map +1 -0
  91. package/script/mod.js +15 -0
  92. package/script/package.json +3 -0
  93. package/script/src/hybridkemXWing.d.ts +94 -0
  94. package/script/src/hybridkemXWing.d.ts.map +1 -0
  95. package/script/src/hybridkemXWing.js +395 -0
  96. package/script/test/hybridkemXWing.test.d.ts.map +1 -0
  97. package/script/test/testVectors.d.ts.map +1 -0
@@ -0,0 +1,381 @@
1
+ import { sha3_256, shake256 } from "@noble/hashes/sha3";
2
+ // @ts-ignore: Unreachable code error
3
+ import { MlKem768 } from "mlkem";
4
+ import { concat, DecapError, DeriveKeyPairError, DeserializeError, EncapError, InvalidParamError, isCryptoKeyPair, KemId, loadCrypto, NotSupportedError, SerializeError, XCryptoKey, } from "@hpke/common";
5
+ import { HkdfSha256, X25519 } from "@hpke/dhkem-x25519";
6
+ // deno-fmt-ignore
7
+ const X25519_BASE = new Uint8Array([
8
+ 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
9
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
10
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
11
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
12
+ ]);
13
+ // XWingLabel = concat(
14
+ // "\./",
15
+ // "/^\",
16
+ // );
17
+ // deno-fmt-ignore
18
+ const XWING_LABEL = new Uint8Array([46, 47, 47, 94, 92]);
19
+ function emitNotSupported() {
20
+ return new Promise((_resolve, reject) => {
21
+ reject(new NotSupportedError("Not supported"));
22
+ });
23
+ }
24
+ function combiner(ssM, ssX, ctX, pkX) {
25
+ const ret = new Uint8Array(ssM.length + ssX.length + ctX.length + pkX.length + XWING_LABEL.length);
26
+ ret.set(ssM, 0);
27
+ ret.set(ssX, ssM.length);
28
+ ret.set(ctX, ssM.length + ssX.length);
29
+ ret.set(pkX, ssM.length + ssX.length + ctX.length);
30
+ ret.set(XWING_LABEL, ssM.length + ssX.length + ctX.length + pkX.length);
31
+ return sha3_256.create().update(ret).digest();
32
+ }
33
+ /**
34
+ * The Hybrid Post-Quantum KEM (X25519, Kyber768).
35
+ *
36
+ * This class is implemented using
37
+ * {@link https://github.com/Argyle-Software/kyber | pqc-kyber }.
38
+ *
39
+ * The instance of this class can be specified to the
40
+ * {@link https://jsr.io/@hpke/core/doc/~/CipherSuiteParams | CipherSuiteParams} as follows:
41
+ *
42
+ * @example Use with `@hpke/core`:
43
+ *
44
+ * ```ts
45
+ * import { Aes128Gcm, CipherSuite, HkdfSha256 } from "@hpke/core";
46
+ * import { HybridkemXWing } from "@hpke/hybridkem-x-wing";
47
+ * const suite = new CipherSuite({
48
+ * kem: new HybridkemXWing(),
49
+ * kdf: new HkdfSha256(),
50
+ * aead: new Aes128Gcm(),
51
+ * });
52
+ * ```
53
+ */
54
+ export class HybridkemXWing {
55
+ constructor() {
56
+ Object.defineProperty(this, "id", {
57
+ enumerable: true,
58
+ configurable: true,
59
+ writable: true,
60
+ value: KemId.HybridkemXWing
61
+ });
62
+ Object.defineProperty(this, "name", {
63
+ enumerable: true,
64
+ configurable: true,
65
+ writable: true,
66
+ value: "X-Wing"
67
+ });
68
+ Object.defineProperty(this, "secretSize", {
69
+ enumerable: true,
70
+ configurable: true,
71
+ writable: true,
72
+ value: 32
73
+ });
74
+ Object.defineProperty(this, "encSize", {
75
+ enumerable: true,
76
+ configurable: true,
77
+ writable: true,
78
+ value: 1120
79
+ });
80
+ Object.defineProperty(this, "publicKeySize", {
81
+ enumerable: true,
82
+ configurable: true,
83
+ writable: true,
84
+ value: 1216
85
+ });
86
+ Object.defineProperty(this, "privateKeySize", {
87
+ enumerable: true,
88
+ configurable: true,
89
+ writable: true,
90
+ value: 32
91
+ });
92
+ Object.defineProperty(this, "auth", {
93
+ enumerable: true,
94
+ configurable: true,
95
+ writable: true,
96
+ value: false
97
+ });
98
+ Object.defineProperty(this, "_m", {
99
+ enumerable: true,
100
+ configurable: true,
101
+ writable: true,
102
+ value: void 0
103
+ });
104
+ Object.defineProperty(this, "_x25519", {
105
+ enumerable: true,
106
+ configurable: true,
107
+ writable: true,
108
+ value: void 0
109
+ });
110
+ Object.defineProperty(this, "_api", {
111
+ enumerable: true,
112
+ configurable: true,
113
+ writable: true,
114
+ value: undefined
115
+ });
116
+ this._m = new MlKem768();
117
+ this._x25519 = new X25519(new HkdfSha256());
118
+ }
119
+ async serializePublicKey(key) {
120
+ await this._setup();
121
+ try {
122
+ return await this._serializePublicKey(key);
123
+ }
124
+ catch (e) {
125
+ throw new SerializeError(e);
126
+ }
127
+ }
128
+ async deserializePublicKey(key) {
129
+ await this._setup();
130
+ try {
131
+ return await this._deserializePublicKey(key);
132
+ }
133
+ catch (e) {
134
+ throw new DeserializeError(e);
135
+ }
136
+ }
137
+ async serializePrivateKey(key) {
138
+ await this._setup();
139
+ try {
140
+ return await this._serializePrivateKey(key);
141
+ }
142
+ catch (e) {
143
+ throw new SerializeError(e);
144
+ }
145
+ }
146
+ async deserializePrivateKey(key) {
147
+ await this._setup();
148
+ try {
149
+ return await this._deserializePrivateKey(key);
150
+ }
151
+ catch (e) {
152
+ throw new DeserializeError(e);
153
+ }
154
+ }
155
+ /**
156
+ * Generates a new key pair.
157
+ *
158
+ * @returns {Promise<CryptoKeyPair>} A promise that resolves with a new key pair.
159
+ */
160
+ async generateKeyPair() {
161
+ await this._setup();
162
+ const sk = new Uint8Array(32);
163
+ try {
164
+ this._api.getRandomValues(sk);
165
+ }
166
+ catch (e) {
167
+ throw new NotSupportedError(e);
168
+ }
169
+ try {
170
+ const [_sk, pk] = await this._generateKeyPairDerand(sk);
171
+ const dSk = await this.deserializePrivateKey(sk);
172
+ const dPk = await this.deserializePublicKey(pk);
173
+ return { privateKey: dSk, publicKey: dPk };
174
+ }
175
+ catch (e) {
176
+ throw new DeriveKeyPairError(e);
177
+ }
178
+ }
179
+ /**
180
+ * Generates a key pair from the secret key.
181
+ * @param sk The secret key.
182
+ * @returns {Promise<CryptoKeyPair>} A promise that resolves with a new key pair.
183
+ * @throws {InvalidParamError} Thrown if the length of the secret key is not 32 bytes.
184
+ * @throws {DeriveKeyPairError} Thrown if the key pair cannot be derived.
185
+ */
186
+ async generateKeyPairDerand(sk) {
187
+ if (sk.byteLength !== 32) {
188
+ throw new InvalidParamError("Invalid length of sk");
189
+ }
190
+ try {
191
+ const [_sk, pk] = await this._generateKeyPairDerand(sk);
192
+ const dSk = await this.deserializePrivateKey(sk);
193
+ const dPk = await this.deserializePublicKey(pk);
194
+ return { privateKey: dSk, publicKey: dPk };
195
+ }
196
+ catch (e) {
197
+ throw new DeriveKeyPairError(e);
198
+ }
199
+ }
200
+ /**
201
+ * Derives a key pair from the input keying material.
202
+ *
203
+ * @param {ArrayBuffer} ikm The input keying material.
204
+ * @returns {Promise<CryptoKeyPair>} A promise that resolves with a new key pair.
205
+ * @throws {DeriveKeyPairError} Thrown if the key pair cannot be derived.
206
+ * @throws {InvalidParamError} Thrown if the length of the IKM is not 32 bytes.
207
+ */
208
+ async deriveKeyPair(ikm) {
209
+ await this._setup();
210
+ try {
211
+ const sk = shake256.create({ dkLen: 32 })
212
+ .update(new Uint8Array(ikm))
213
+ .digest();
214
+ const [_sk, pk] = await this._generateKeyPairDerand(sk);
215
+ const dSk = await this.deserializePrivateKey(sk);
216
+ const dPk = await this.deserializePublicKey(pk);
217
+ return { privateKey: dSk, publicKey: dPk };
218
+ }
219
+ catch (e) {
220
+ throw new DeriveKeyPairError(e);
221
+ }
222
+ }
223
+ async importKey(_format, _key, _isPublic = true) {
224
+ return await emitNotSupported();
225
+ // if (format !== "raw") {
226
+ // throw new NotSupportedError("'jwk' is not supported");
227
+ // }
228
+ // if (!(key instanceof ArrayBuffer)) {
229
+ // throw new InvalidParamError("Invalid type of key");
230
+ // }
231
+ // if (isPublic) {
232
+ // return await this.deserializePublicKey(key as ArrayBuffer);
233
+ // }
234
+ // return await this.deserializePrivateKey(key as ArrayBuffer);
235
+ }
236
+ async encap(params) {
237
+ let ekm = undefined;
238
+ if (params.ekm !== undefined && !isCryptoKeyPair(params.ekm)) {
239
+ if (params.ekm.byteLength !== 64) {
240
+ throw new InvalidParamError("ekm must be 64 bytes in length");
241
+ }
242
+ ekm = params.ekm;
243
+ }
244
+ let ekM = undefined;
245
+ let ekX;
246
+ if (ekm !== undefined) {
247
+ const ek = new Uint8Array(ekm);
248
+ ekM = ek.subarray(0, 32);
249
+ ekX = ek.subarray(32, 64);
250
+ }
251
+ else {
252
+ ekX = new Uint8Array(32);
253
+ try {
254
+ this._api.getRandomValues(ekX);
255
+ }
256
+ catch (e) {
257
+ throw new NotSupportedError(e);
258
+ }
259
+ }
260
+ const pk = new Uint8Array(await this.serializePublicKey(params.recipientPublicKey));
261
+ if (pk.byteLength !== 1216) {
262
+ throw new InvalidParamError("Invalid length of recipientPublicKey");
263
+ }
264
+ await this._setup();
265
+ try {
266
+ const pkM = pk.subarray(0, 1184);
267
+ const pkX = pk.subarray(1184, 1216);
268
+ const ctX = await this._x25519.derive(ekX, X25519_BASE);
269
+ const ssX = await this._x25519.derive(ekX, pkX);
270
+ const [ctM, ssM] = await this._m.encap(pkM, ekM);
271
+ return {
272
+ sharedSecret: combiner(ssM, ssX, ctX, pkX),
273
+ enc: concat(ctM, ctX),
274
+ };
275
+ }
276
+ catch (e) {
277
+ throw new EncapError(e);
278
+ }
279
+ }
280
+ async decap(params) {
281
+ const rSk = isCryptoKeyPair(params.recipientKey)
282
+ ? params.recipientKey.privateKey
283
+ : params.recipientKey;
284
+ if (params.enc.byteLength !== 1120) {
285
+ throw new InvalidParamError("Invalid length of enc");
286
+ }
287
+ const sk = new Uint8Array(await this.serializePrivateKey(rSk));
288
+ if (sk.byteLength !== 32) {
289
+ throw new InvalidParamError("Invalid length of recipientKey");
290
+ }
291
+ await this._setup();
292
+ try {
293
+ const [skM, skX, _pkM, pkX] = await this._expandDecapsulationKey(sk);
294
+ const ct = new Uint8Array(params.enc);
295
+ const ctM = ct.subarray(0, 1088);
296
+ const ctX = ct.subarray(1088);
297
+ const ssM = await this._m.decap(ctM, skM);
298
+ const ssX = await this._x25519.derive(skX, ctX);
299
+ return combiner(ssM, ssX, ctX, pkX);
300
+ }
301
+ catch (e) {
302
+ throw new DecapError(e);
303
+ }
304
+ }
305
+ /**
306
+ * Sets up the MlKemBase instance by loading the necessary crypto library.
307
+ * If the crypto library is already loaded, this method does nothing.
308
+ * @returns {Promise<void>} A promise that resolves when the setup is complete.
309
+ */
310
+ async _setup() {
311
+ if (this._api !== undefined) {
312
+ return;
313
+ }
314
+ this._api = await loadCrypto();
315
+ }
316
+ /**
317
+ * Generates a key pair from the secret key.
318
+ * @param sk The secret key.
319
+ * @returns {Promise<[Uint8Array, Uint8Array]>} A promise that resolves with the key pair derived from the secret key.
320
+ */
321
+ async _generateKeyPairDerand(sk) {
322
+ const [_skM, _skX, pkM, pkX] = await this._expandDecapsulationKey(sk);
323
+ return [sk, concat(pkM, pkX)];
324
+ }
325
+ /**
326
+ * Expands the decapsulation key.
327
+ * @param sk The secret key.
328
+ * @returns {Promise<[Uint8Array, Uint8Array, Uint8Array, Uint8Array]>} A promise that resolves with the keys derived by expanding the secret key.
329
+ */
330
+ async _expandDecapsulationKey(sk) {
331
+ const expanded = shake256.create({ dkLen: 96 }).update(sk).digest();
332
+ const [pkM, skM] = await this._m.deriveKeyPair(expanded.subarray(0, 64));
333
+ const skX = expanded.subarray(64, 96);
334
+ const pkX = await this._x25519.derive(skX, X25519_BASE);
335
+ return [skM, skX, pkM, pkX];
336
+ }
337
+ _serializePublicKey(k) {
338
+ return new Promise((resolve, reject) => {
339
+ if (k.type !== "public") {
340
+ reject(new Error("Not public key"));
341
+ }
342
+ if (k.algorithm.name !== this.name) {
343
+ reject(new Error(`Invalid algorithm name: ${k.algorithm.name}`));
344
+ }
345
+ if (k.key.byteLength !== this.publicKeySize) {
346
+ reject(new Error(`Invalid key length: ${k.key.byteLength}`));
347
+ }
348
+ resolve(k.key.buffer);
349
+ });
350
+ }
351
+ _deserializePublicKey(k) {
352
+ return new Promise((resolve, reject) => {
353
+ if (k.byteLength !== this.publicKeySize) {
354
+ reject(new Error(`Invalid key length: ${k.byteLength}`));
355
+ }
356
+ resolve(new XCryptoKey(this.name, new Uint8Array(k), "public"));
357
+ });
358
+ }
359
+ _serializePrivateKey(k) {
360
+ return new Promise((resolve, reject) => {
361
+ if (k.type !== "private") {
362
+ reject(new Error("Not private key"));
363
+ }
364
+ if (k.algorithm.name !== this.name) {
365
+ reject(new Error(`Invalid algorithm name: ${k.algorithm.name}`));
366
+ }
367
+ if (k.key.byteLength !== this.privateKeySize) {
368
+ reject(new Error(`Invalid key length: ${k.key.byteLength}`));
369
+ }
370
+ resolve(k.key.buffer);
371
+ });
372
+ }
373
+ _deserializePrivateKey(k) {
374
+ return new Promise((resolve, reject) => {
375
+ if (k.byteLength !== this.privateKeySize) {
376
+ reject(new Error(`Invalid key length: ${k.byteLength}`));
377
+ }
378
+ resolve(new XCryptoKey(this.name, new Uint8Array(k), "private", ["deriveBits"]));
379
+ });
380
+ }
381
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hybridkemXWing.test.d.ts","sourceRoot":"","sources":["../../src/test/hybridkemXWing.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testVectors.d.ts","sourceRoot":"","sources":["../../src/test/testVectors.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,UAAU,CAY1C,CAAC"}
package/package.json ADDED
@@ -0,0 +1,55 @@
1
+ {
2
+ "name": "@hpke/hybridkem-x-wing",
3
+ "version": "0.1.0",
4
+ "description": "A Hybrid Public Key Encryption (HPKE) module extension for a hybrid post-quantum KEM, X25519Kyber768Draft00",
5
+ "keywords": [
6
+ "hpke",
7
+ "rfc9180",
8
+ "kem",
9
+ "kyber",
10
+ "x25519",
11
+ "post-quantum",
12
+ "security",
13
+ "encryption"
14
+ ],
15
+ "author": "Ajitomi Daisuke",
16
+ "homepage": "https://github.com/dajiaji/hpke-js#readme",
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "git+https://github.com/dajiaji/hpke-js.git"
20
+ },
21
+ "license": "MIT",
22
+ "bugs": {
23
+ "url": "https://github.com/dajiaji/hpke-js/issues"
24
+ },
25
+ "main": "./script/mod.js",
26
+ "module": "./esm/mod.js",
27
+ "types": "./esm/mod.d.ts",
28
+ "exports": {
29
+ ".": {
30
+ "import": "./esm/mod.js",
31
+ "require": "./script/mod.js"
32
+ },
33
+ "./package.json": "./package.json"
34
+ },
35
+ "scripts": {
36
+ "test": "node test_runner.js"
37
+ },
38
+ "sideEffects": false,
39
+ "engines": {
40
+ "node": ">=16.0.0"
41
+ },
42
+ "dependencies": {
43
+ "@hpke/common": "^1.4.3",
44
+ "@hpke/dhkem-x25519": "^1.4.3",
45
+ "@noble/hashes": "^1.4.0",
46
+ "mlkem": "^2.2.0"
47
+ },
48
+ "devDependencies": {
49
+ "@types/node": "^20.9.0",
50
+ "picocolors": "^1.0.0",
51
+ "@hpke/core": "^1.4.3",
52
+ "@deno/shim-deno": "~0.18.0"
53
+ },
54
+ "_generatedBy": "dnt@dev"
55
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_dnt.test_shims.d.ts","sourceRoot":"","sources":["../src/_dnt.test_shims.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAKvC,eAAO,MAAM,aAAa;;CAA2C,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"almost_equals.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/almost_equals.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,GAAG,CAAC,EAAE,MAAM,QAmBb"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array_includes.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/array_includes.ts"],"names":[],"mappings":"AAMA,0FAA0F;AAC1F,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EACzB,GAAG,CAAC,EAAE,MAAM,QAwBb"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/assert.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,SAAK,GAAG,OAAO,CAAC,IAAI,CAI5D"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assertion_error.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/assertion_error.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC;;;;;;;;;;OAUG;gBACS,OAAO,EAAE,MAAM;CAI5B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"equal.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/equal.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CA8FrD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"equals.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/equals.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,MAAM,EAAE,CAAC,EACT,QAAQ,EAAE,CAAC,EACX,GAAG,CAAC,EAAE,MAAM,QAkBb"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exists.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/exists.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,MAAM,EAAE,CAAC,EACT,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC,CAOlC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fail.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/fail.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AACH,wBAAgB,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAGxC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"false.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/false.ts"],"names":[],"mappings":"AAIA,uDAAuD;AACvD,MAAM,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;AAE3D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,SAAK,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,CAI1E"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"greater.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/greater.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,QAMpE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"greater_or_equal.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/greater_or_equal.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,MAAM,EAAE,CAAC,EACT,QAAQ,EAAE,CAAC,EACX,GAAG,CAAC,EAAE,MAAM,QASb"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance_of.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/instance_of.ts"],"names":[],"mappings":"AAIA,sBAAsB;AAEtB,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AACzD,4BAA4B;AAC5B,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,cAAc,IAAI,CAAC,SAC5D,KAAK,GAAG,IAAI,EAAE,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,GAC7B,KAAK,CAAC;AAEV;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,cAAc,EACvD,MAAM,EAAE,OAAO,EACf,YAAY,EAAE,CAAC,EACf,GAAG,SAAK,GACP,OAAO,CAAC,MAAM,IAAI,kBAAkB,CAAC,CAAC,CAAC,CA6BzC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is_error.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/is_error.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EACnD,KAAK,EAAE,OAAO,EAEd,UAAU,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EACtC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAC5B,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,KAAK,IAAI,CAAC,CA8BpB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"less.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/less.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,QAMjE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"less_or_equal.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/less_or_equal.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,MAAM,EAAE,CAAC,EACT,QAAQ,EAAE,CAAC,EACX,GAAG,CAAC,EAAE,MAAM,QASb"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/match.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE,MAAM,QAMb"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/mod.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;GAeG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not_equals.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/not_equals.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,QAUtE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not_instance_of.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/not_instance_of.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EACtC,MAAM,EAAE,CAAC,EAET,cAAc,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EACzC,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAKjC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not_match.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/not_match.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE,MAAM,QAMb"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not_strict_equals.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/not_strict_equals.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EACrC,MAAM,EAAE,CAAC,EACT,QAAQ,EAAE,CAAC,EACX,GAAG,CAAC,EAAE,MAAM,QAYb"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object_match.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/object_match.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAE/B,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,EAChC,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,EACtC,GAAG,CAAC,EAAE,MAAM,GACX,IAAI,CA+EN"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rejects.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/rejects.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,MAAM,WAAW,CAAC,OAAO,CAAC,EAC9B,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAAC;AACpB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EACnD,EAAE,EAAE,MAAM,WAAW,CAAC,OAAO,CAAC,EAE9B,UAAU,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EACrC,WAAW,CAAC,EAAE,MAAM,EACpB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strict_equals.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/strict_equals.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,CAAC,EACX,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,IAAI,CAAC,CA+BrB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string_includes.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/string_includes.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE,MAAM,QAMb"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"throws.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/throws.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAC1B,EAAE,EAAE,MAAM,OAAO,EACjB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC;AACX;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EAClD,EAAE,EAAE,MAAM,OAAO,EAEjB,UAAU,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EACrC,WAAW,CAAC,EAAE,MAAM,EACpB,GAAG,CAAC,EAAE,MAAM,GACX,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unimplemented.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/unimplemented.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAGjD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unreachable.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.0/unreachable.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAG/C"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build_message.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.3/build_message.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,QAAQ;AAClB;;;GAGG;AACH,UAAU,UAAQ,GACjB,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CASvB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CASrD;AAED,4CAA4C;AAC5C,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAC7C,OAAO,GAAE,mBAAwB,GAChC,MAAM,EAAE,CAsBV"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.3/diff.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEvD,2DAA2D;AAC3D,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,CAAC,EAAE,MAAM,CAAC;IACV,2BAA2B;IAC3B,EAAE,EAAE,MAAM,CAAC;CACZ;AAMD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAanD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAWvE;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACzB,CAAC,EAAE,CAAC,EAAE,EACN,CAAC,EAAE,CAAC,EAAE,EACN,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,WAAW,EACnB,kBAAkB,EAAE,MAAM,GACzB,KAAK,CAAC;IACP,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,CAAC,CAAC;CACV,CAAC,CAgCD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,QAAQ,CACtB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,WAAW,EACnB,kBAAkB,EAAE,MAAM,EAC1B,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,aAAa,EACrB,IAAI,CAAC,EAAE,aAAa,GACnB,aAAa,CAsBf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAwEvD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff_str.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.3/diff_str.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAW/C;AAID;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,MAAM,EAAE,CAiBnE;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,EACxB,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,GAC3B,UAAU,CAAC,MAAM,CAAC,EAAE,CAetB;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAkDlE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.3/format.ts"],"names":[],"mappings":"AAuBA,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAezC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.3/mod.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.3/styles.ts"],"names":[],"mappings":"AAqCA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE1C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3C;AAWD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.3/types.ts"],"names":[],"mappings":"AAEA,kDAAkD;AAClD,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,4BAA4B;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,6BAA6B;IAC7B,KAAK,EAAE,CAAC,CAAC;IACT,+BAA+B;IAC/B,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;CAC3B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_test_suite.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/testing/1.0.2/_test_suite.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bdd.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/testing/1.0.2/bdd.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { HybridkemXWing } from "./src/hybridkemXWing.js";
2
+ //# sourceMappingURL=mod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC"}