@smartledger/keys 1.4.0 → 1.5.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.
- package/dist/cjs/browser.d.ts.map +1 -1
- package/dist/cjs/browser.js +4 -2
- package/dist/cjs/browser.js.map +1 -1
- package/dist/esm/browser.d.ts.map +1 -1
- package/dist/esm/browser.js +5 -3
- package/dist/esm/browser.js.map +1 -1
- package/dist/lumen-keys.js +34 -30
- package/dist/lumen-keys.js.map +2 -2
- package/dist/lumen-keys.min.js +3 -3
- package/dist/lumen-keys.min.js.map +3 -3
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/browser.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/browser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGzC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;;GAGG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAoBpD;AAED;;GAEG;;;;AACH,wBAEE"}
|
package/dist/cjs/browser.js
CHANGED
|
@@ -33,10 +33,12 @@ Object.defineProperty(exports, "InMemoryKeyStorage", { enumerable: true, get: fu
|
|
|
33
33
|
async function createKeySDK() {
|
|
34
34
|
const storage = new crypto_1.InMemoryKeyStorage();
|
|
35
35
|
const keyRegistry = new crypto_1.KeyRegistry(storage);
|
|
36
|
-
// Initialize suite registry with
|
|
36
|
+
// Initialize suite registry with ECDSA and all ML-DSA variants
|
|
37
37
|
const suiteRegistry = new crypto_1.SignatureSuiteRegistry();
|
|
38
38
|
suiteRegistry.register(new crypto_1.BsvEcdsaSuite());
|
|
39
|
-
suiteRegistry.register(new crypto_1.
|
|
39
|
+
suiteRegistry.register(new crypto_1.MlDsa44Suite()); // Level 2 (AES-128 equivalent)
|
|
40
|
+
suiteRegistry.register(new crypto_1.MlDsa65Suite()); // Level 3 (AES-192 equivalent) - also 'ml-dsa-65' default
|
|
41
|
+
suiteRegistry.register(new crypto_1.MlDsa87Suite()); // Level 5 (AES-256 equivalent)
|
|
40
42
|
const sdk = new sdk_js_1.DefaultKeySDK({
|
|
41
43
|
keyRegistry,
|
|
42
44
|
suiteRegistry,
|
package/dist/cjs/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/browser.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/browser.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAsBH,oCAoBC;AAxCD,qCAAyC;AACzC,gDAQ6B;AAG7B,wCAAwC;AACxC,6CAA2B;AAC3B,8CAAyD;AAAhD,4GAAA,kBAAkB,OAAA;AAE3B;;;GAGG;AACI,KAAK,UAAU,YAAY;IAChC,MAAM,OAAO,GAAG,IAAI,2BAAkB,EAAE,CAAC;IACzC,MAAM,WAAW,GAAG,IAAI,oBAAW,CAAC,OAAO,CAAC,CAAC;IAE7C,+DAA+D;IAC/D,MAAM,aAAa,GAAG,IAAI,+BAAsB,EAAE,CAAC;IACnD,aAAa,CAAC,QAAQ,CAAC,IAAI,sBAAa,EAAE,CAAC,CAAC;IAC5C,aAAa,CAAC,QAAQ,CAAC,IAAI,qBAAY,EAAE,CAAC,CAAC,CAAC,+BAA+B;IAC3E,aAAa,CAAC,QAAQ,CAAC,IAAI,qBAAY,EAAE,CAAC,CAAC,CAAC,0DAA0D;IACtG,aAAa,CAAC,QAAQ,CAAC,IAAI,qBAAY,EAAE,CAAC,CAAC,CAAC,+BAA+B;IAE3E,MAAM,GAAG,GAAG,IAAI,sBAAa,CAAC;QAC5B,WAAW;QACX,aAAa;KACd,CAAC,CAAC;IAEH,2CAA2C;IAC3C,kEAAkE;IAElE,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,kBAAe;IACb,YAAY;CACb,CAAC;AAEF,8BAA8B;AAC9B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IACjC,MAAc,CAAC,SAAS,GAAG;QAC1B,YAAY;KACb,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/browser.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/browser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGzC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;;GAGG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAoBpD;AAED;;GAEG;;;;AACH,wBAEE"}
|
package/dist/esm/browser.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Includes WASM initialization and browser-compatible exports
|
|
4
4
|
*/
|
|
5
5
|
import { DefaultKeySDK } from './sdk.js';
|
|
6
|
-
import { InMemoryKeyStorage, KeyRegistry, SignatureSuiteRegistry, BsvEcdsaSuite,
|
|
6
|
+
import { InMemoryKeyStorage, KeyRegistry, SignatureSuiteRegistry, BsvEcdsaSuite, MlDsa44Suite, MlDsa65Suite, MlDsa87Suite, } from '@smartledger/crypto';
|
|
7
7
|
// Re-export all types for browser usage
|
|
8
8
|
export * from './types.js';
|
|
9
9
|
export { InMemoryKeyStorage } from '@smartledger/crypto';
|
|
@@ -14,10 +14,12 @@ export { InMemoryKeyStorage } from '@smartledger/crypto';
|
|
|
14
14
|
export async function createKeySDK() {
|
|
15
15
|
const storage = new InMemoryKeyStorage();
|
|
16
16
|
const keyRegistry = new KeyRegistry(storage);
|
|
17
|
-
// Initialize suite registry with
|
|
17
|
+
// Initialize suite registry with ECDSA and all ML-DSA variants
|
|
18
18
|
const suiteRegistry = new SignatureSuiteRegistry();
|
|
19
19
|
suiteRegistry.register(new BsvEcdsaSuite());
|
|
20
|
-
suiteRegistry.register(new
|
|
20
|
+
suiteRegistry.register(new MlDsa44Suite()); // Level 2 (AES-128 equivalent)
|
|
21
|
+
suiteRegistry.register(new MlDsa65Suite()); // Level 3 (AES-192 equivalent) - also 'ml-dsa-65' default
|
|
22
|
+
suiteRegistry.register(new MlDsa87Suite()); // Level 5 (AES-256 equivalent)
|
|
21
23
|
const sdk = new DefaultKeySDK({
|
|
22
24
|
keyRegistry,
|
|
23
25
|
suiteRegistry,
|
package/dist/esm/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/browser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,sBAAsB,EACtB,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/browser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,sBAAsB,EACtB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,GACb,MAAM,qBAAqB,CAAC;AAG7B,wCAAwC;AACxC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,OAAO,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACzC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;IAE7C,+DAA+D;IAC/D,MAAM,aAAa,GAAG,IAAI,sBAAsB,EAAE,CAAC;IACnD,aAAa,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;IAC5C,aAAa,CAAC,QAAQ,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,+BAA+B;IAC3E,aAAa,CAAC,QAAQ,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,0DAA0D;IACtG,aAAa,CAAC,QAAQ,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,+BAA+B;IAE3E,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC;QAC5B,WAAW;QACX,aAAa;KACd,CAAC,CAAC;IAEH,2CAA2C;IAC3C,kEAAkE;IAElE,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,eAAe;IACb,YAAY;CACb,CAAC;AAEF,8BAA8B;AAC9B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IACjC,MAAc,CAAC,SAAS,GAAG;QAC1B,YAAY;KACb,CAAC;AACJ,CAAC"}
|
package/dist/lumen-keys.js
CHANGED
|
@@ -10313,13 +10313,16 @@ zoo`.split("\n");
|
|
|
10313
10313
|
}
|
|
10314
10314
|
return dilithiumLib;
|
|
10315
10315
|
}
|
|
10316
|
-
var
|
|
10316
|
+
var ML_DSA_SIZES = {
|
|
10317
|
+
"ml-dsa-44": { publicKey: 1312, privateKey: 2560, signature: 2420 },
|
|
10318
|
+
"ml-dsa-65": { publicKey: 1952, privateKey: 4032, signature: 3309 },
|
|
10319
|
+
"ml-dsa-87": { publicKey: 2592, privateKey: 4864, signature: 4627 }
|
|
10320
|
+
};
|
|
10321
|
+
var BaseMlDsaSuite = class {
|
|
10317
10322
|
constructor() {
|
|
10318
|
-
__publicField(this, "suiteId", "ml-dsa-87");
|
|
10319
10323
|
__publicField(this, "version", "1.0.0");
|
|
10320
10324
|
__publicField(this, "capabilities", {});
|
|
10321
10325
|
}
|
|
10322
|
-
// No capabilities yet, reserved for future (custom KDF, etc.)
|
|
10323
10326
|
async generateKeypair() {
|
|
10324
10327
|
try {
|
|
10325
10328
|
const dilithium2 = await getDilithium();
|
|
@@ -10329,7 +10332,7 @@ zoo`.split("\n");
|
|
|
10329
10332
|
privateKey: new Uint8Array(keypair.privateKey)
|
|
10330
10333
|
};
|
|
10331
10334
|
} catch (error) {
|
|
10332
|
-
throw new Error(
|
|
10335
|
+
throw new Error(`${this.suiteId} key generation failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
10333
10336
|
}
|
|
10334
10337
|
}
|
|
10335
10338
|
async sign(privateKey, message) {
|
|
@@ -10338,7 +10341,7 @@ zoo`.split("\n");
|
|
|
10338
10341
|
const signature = await dilithium2.signDetached(Buffer.from(message), Buffer.from(privateKey));
|
|
10339
10342
|
return new Uint8Array(signature);
|
|
10340
10343
|
} catch (error) {
|
|
10341
|
-
throw new Error(
|
|
10344
|
+
throw new Error(`${this.suiteId} signing failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
10342
10345
|
}
|
|
10343
10346
|
}
|
|
10344
10347
|
async verify(publicKey, message, signature) {
|
|
@@ -10354,8 +10357,8 @@ zoo`.split("\n");
|
|
|
10354
10357
|
}
|
|
10355
10358
|
importPublicKey(encoded) {
|
|
10356
10359
|
const bytes = hexToBytes(encoded);
|
|
10357
|
-
if (bytes.length !==
|
|
10358
|
-
throw new Error(
|
|
10360
|
+
if (bytes.length !== this.sizes.publicKey) {
|
|
10361
|
+
throw new Error(`${this.suiteId} public key must be ${this.sizes.publicKey} bytes, got ${bytes.length}`);
|
|
10359
10362
|
}
|
|
10360
10363
|
return bytes;
|
|
10361
10364
|
}
|
|
@@ -10364,38 +10367,37 @@ zoo`.split("\n");
|
|
|
10364
10367
|
}
|
|
10365
10368
|
importPrivateKey(encoded) {
|
|
10366
10369
|
const bytes = hexToBytes(encoded);
|
|
10367
|
-
if (bytes.length !==
|
|
10368
|
-
throw new Error(
|
|
10370
|
+
if (bytes.length !== this.sizes.privateKey) {
|
|
10371
|
+
throw new Error(`${this.suiteId} private key must be ${this.sizes.privateKey} bytes, got ${bytes.length}`);
|
|
10369
10372
|
}
|
|
10370
10373
|
return bytes;
|
|
10371
10374
|
}
|
|
10372
10375
|
};
|
|
10373
|
-
var
|
|
10376
|
+
var MlDsa44Suite = class extends BaseMlDsaSuite {
|
|
10374
10377
|
constructor() {
|
|
10375
|
-
|
|
10376
|
-
__publicField(this, "
|
|
10377
|
-
__publicField(this, "impl", new MlDsa87Suite());
|
|
10378
|
-
}
|
|
10379
|
-
async generateKeypair() {
|
|
10380
|
-
return this.impl.generateKeypair();
|
|
10378
|
+
super(...arguments);
|
|
10379
|
+
__publicField(this, "suiteId", "ml-dsa-44");
|
|
10381
10380
|
}
|
|
10382
|
-
|
|
10383
|
-
return
|
|
10381
|
+
get sizes() {
|
|
10382
|
+
return ML_DSA_SIZES["ml-dsa-44"];
|
|
10384
10383
|
}
|
|
10385
|
-
|
|
10386
|
-
|
|
10387
|
-
|
|
10388
|
-
|
|
10389
|
-
|
|
10384
|
+
};
|
|
10385
|
+
var MlDsa65Suite = class extends BaseMlDsaSuite {
|
|
10386
|
+
constructor() {
|
|
10387
|
+
super(...arguments);
|
|
10388
|
+
__publicField(this, "suiteId", "ml-dsa-65");
|
|
10390
10389
|
}
|
|
10391
|
-
|
|
10392
|
-
return
|
|
10390
|
+
get sizes() {
|
|
10391
|
+
return ML_DSA_SIZES["ml-dsa-65"];
|
|
10393
10392
|
}
|
|
10394
|
-
|
|
10395
|
-
|
|
10393
|
+
};
|
|
10394
|
+
var MlDsa87Suite = class extends BaseMlDsaSuite {
|
|
10395
|
+
constructor() {
|
|
10396
|
+
super(...arguments);
|
|
10397
|
+
__publicField(this, "suiteId", "ml-dsa-87");
|
|
10396
10398
|
}
|
|
10397
|
-
|
|
10398
|
-
return
|
|
10399
|
+
get sizes() {
|
|
10400
|
+
return ML_DSA_SIZES["ml-dsa-87"];
|
|
10399
10401
|
}
|
|
10400
10402
|
};
|
|
10401
10403
|
|
|
@@ -10787,7 +10789,9 @@ Consider using one of these suites or remove the derivationContext option.` : `N
|
|
|
10787
10789
|
const keyRegistry = new KeyRegistry(storage);
|
|
10788
10790
|
const suiteRegistry = new SignatureSuiteRegistry();
|
|
10789
10791
|
suiteRegistry.register(new BsvEcdsaSuite());
|
|
10790
|
-
suiteRegistry.register(new
|
|
10792
|
+
suiteRegistry.register(new MlDsa44Suite());
|
|
10793
|
+
suiteRegistry.register(new MlDsa65Suite());
|
|
10794
|
+
suiteRegistry.register(new MlDsa87Suite());
|
|
10791
10795
|
const sdk = new DefaultKeySDK({
|
|
10792
10796
|
keyRegistry,
|
|
10793
10797
|
suiteRegistry
|