@digitaldefiance/secrets 2.0.3 → 2.0.5
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/.tsbuildinfo +1 -1
- package/dist/esm/.tsbuildinfo +1 -1
- package/dist/esm/secrets.d.ts +2 -1
- package/dist/esm/secrets.d.ts.map +1 -1
- package/dist/esm/secrets.js +51 -44
- package/dist/esm/secrets.js.map +1 -1
- package/dist/secrets.d.ts +2 -1
- package/dist/secrets.d.ts.map +1 -1
- package/dist/secrets.js +50 -43
- package/dist/secrets.js.map +1 -1
- package/dist/umd/.tsbuildinfo +1 -1
- package/dist/umd/secrets.d.ts +2 -1
- package/dist/umd/secrets.d.ts.map +1 -1
- package/dist/umd/secrets.js +50 -43
- package/dist/umd/secrets.js.map +1 -1
- package/package.json +1 -1
package/dist/esm/secrets.js
CHANGED
|
@@ -22,9 +22,38 @@ function reset() {
|
|
|
22
22
|
bytesPerChar: 2,
|
|
23
23
|
maxBytesPerChar: 6,
|
|
24
24
|
primitivePolynomials: [
|
|
25
|
-
null,
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
null,
|
|
26
|
+
null,
|
|
27
|
+
1,
|
|
28
|
+
3,
|
|
29
|
+
3,
|
|
30
|
+
5,
|
|
31
|
+
3,
|
|
32
|
+
3,
|
|
33
|
+
29,
|
|
34
|
+
17,
|
|
35
|
+
9,
|
|
36
|
+
5,
|
|
37
|
+
83,
|
|
38
|
+
27,
|
|
39
|
+
43,
|
|
40
|
+
3,
|
|
41
|
+
45,
|
|
42
|
+
9,
|
|
43
|
+
39,
|
|
44
|
+
39,
|
|
45
|
+
9,
|
|
46
|
+
5,
|
|
47
|
+
3,
|
|
48
|
+
33,
|
|
49
|
+
27,
|
|
50
|
+
9,
|
|
51
|
+
71,
|
|
52
|
+
39,
|
|
53
|
+
9,
|
|
54
|
+
5,
|
|
55
|
+
83,
|
|
56
|
+
],
|
|
28
57
|
};
|
|
29
58
|
config = {};
|
|
30
59
|
preGenPadding = new Array(1024).join("0");
|
|
@@ -37,11 +66,7 @@ function reset() {
|
|
|
37
66
|
}
|
|
38
67
|
byteToHex.push(hexOctet);
|
|
39
68
|
}
|
|
40
|
-
CSPRNGTypes = [
|
|
41
|
-
"nodeCryptoRandomBytes",
|
|
42
|
-
"browserCryptoGetRandomValues",
|
|
43
|
-
"testRandom"
|
|
44
|
-
];
|
|
69
|
+
CSPRNGTypes = ["nodeCryptoRandomBytes", "browserCryptoGetRandomValues", "testRandom"];
|
|
45
70
|
}
|
|
46
71
|
function isSetRNG() {
|
|
47
72
|
if (config && config.rng && typeof config.rng === "function") {
|
|
@@ -105,11 +130,10 @@ function bytesToHex(bytes) {
|
|
|
105
130
|
// Crypto Environment Detection
|
|
106
131
|
// ============================================================================
|
|
107
132
|
function hasCryptoGetRandomValues() {
|
|
108
|
-
const crypto = (typeof window !==
|
|
133
|
+
const crypto = (typeof window !== "undefined" && window.crypto) || global.crypto;
|
|
109
134
|
if (crypto &&
|
|
110
135
|
typeof crypto === "object" &&
|
|
111
|
-
(typeof crypto.getRandomValues === "function" ||
|
|
112
|
-
typeof crypto.getRandomValues === "object") &&
|
|
136
|
+
(typeof crypto.getRandomValues === "function" || typeof crypto.getRandomValues === "object") &&
|
|
113
137
|
(typeof Uint32Array === "function" || typeof Uint32Array === "object")) {
|
|
114
138
|
return true;
|
|
115
139
|
}
|
|
@@ -168,7 +192,7 @@ function getRNG(type) {
|
|
|
168
192
|
const size = 32;
|
|
169
193
|
let str = null;
|
|
170
194
|
elems = Math.ceil(bits / 32);
|
|
171
|
-
const crypto = (typeof window !==
|
|
195
|
+
const crypto = (typeof window !== "undefined" && window.crypto) || global.crypto;
|
|
172
196
|
while (str === null) {
|
|
173
197
|
str = construct(bits, crypto.getRandomValues(new Uint32Array(elems)), radix, size);
|
|
174
198
|
}
|
|
@@ -255,10 +279,7 @@ function lagrange(at, x, y) {
|
|
|
255
279
|
break;
|
|
256
280
|
}
|
|
257
281
|
product =
|
|
258
|
-
(product +
|
|
259
|
-
config.logs[at ^ x[j]] -
|
|
260
|
-
config.logs[x[i] ^ x[j]] +
|
|
261
|
-
config.maxShares) %
|
|
282
|
+
(product + config.logs[at ^ x[j]] - config.logs[x[i] ^ x[j]] + config.maxShares) %
|
|
262
283
|
config.maxShares;
|
|
263
284
|
}
|
|
264
285
|
}
|
|
@@ -276,13 +297,13 @@ function getShares(secret, numShares, threshold) {
|
|
|
276
297
|
for (let i = 1, len = numShares + 1; i < len; i++) {
|
|
277
298
|
shares[i - 1] = {
|
|
278
299
|
x: i,
|
|
279
|
-
y: horner(i, coeffs)
|
|
300
|
+
y: horner(i, coeffs),
|
|
280
301
|
};
|
|
281
302
|
}
|
|
282
303
|
return shares;
|
|
283
304
|
}
|
|
284
305
|
function constructPublicShareString(bits, id, data) {
|
|
285
|
-
const bitsNum = typeof bits ===
|
|
306
|
+
const bitsNum = typeof bits === "string" ? parseInt(bits, 10) : bits;
|
|
286
307
|
const bitsBase36 = bitsNum.toString(36).toUpperCase();
|
|
287
308
|
const idMax = Math.pow(2, bitsNum) - 1;
|
|
288
309
|
let numericId;
|
|
@@ -468,7 +489,7 @@ const SecretsLibrary = {
|
|
|
468
489
|
bits: config.bits,
|
|
469
490
|
maxShares: config.maxShares,
|
|
470
491
|
hasCSPRNG: isSetRNG(),
|
|
471
|
-
typeCSPRNG: config.typeCSPRNG
|
|
492
|
+
typeCSPRNG: config.typeCSPRNG,
|
|
472
493
|
};
|
|
473
494
|
return obj;
|
|
474
495
|
},
|
|
@@ -527,7 +548,7 @@ const SecretsLibrary = {
|
|
|
527
548
|
return {
|
|
528
549
|
bits: bits,
|
|
529
550
|
id: id,
|
|
530
|
-
data: shareComponents[3]
|
|
551
|
+
data: shareComponents[3],
|
|
531
552
|
};
|
|
532
553
|
}
|
|
533
554
|
throw new Error("The share data provided is invalid : " + share);
|
|
@@ -560,9 +581,7 @@ const SecretsLibrary = {
|
|
|
560
581
|
setRNG(rng) {
|
|
561
582
|
const errPrefix = "Random number generator is invalid ";
|
|
562
583
|
const errSuffix = " Supply an CSPRNG of the form function(bits){} that returns a string containing 'bits' number of random 1's and 0's.";
|
|
563
|
-
if (rng &&
|
|
564
|
-
typeof rng === "string" &&
|
|
565
|
-
CSPRNGTypes.indexOf(rng) === -1) {
|
|
584
|
+
if (rng && typeof rng === "string" && CSPRNGTypes.indexOf(rng) === -1) {
|
|
566
585
|
throw new Error("Invalid RNG type argument : '" + rng + "'");
|
|
567
586
|
}
|
|
568
587
|
let rngFunc;
|
|
@@ -583,9 +602,7 @@ const SecretsLibrary = {
|
|
|
583
602
|
throw new Error(errPrefix + "(Output is not a string)." + errSuffix);
|
|
584
603
|
}
|
|
585
604
|
if (!parseInt(rngFunc(config.bits), 2)) {
|
|
586
|
-
throw new Error(errPrefix +
|
|
587
|
-
"(Binary string output not parseable to an Integer)." +
|
|
588
|
-
errSuffix);
|
|
605
|
+
throw new Error(errPrefix + "(Binary string output not parseable to an Integer)." + errSuffix);
|
|
589
606
|
}
|
|
590
607
|
if (rngFunc(config.bits).length > config.bits) {
|
|
591
608
|
throw new Error(errPrefix + "(Output length is greater than config.bits)." + errSuffix);
|
|
@@ -717,10 +734,7 @@ const SecretsLibrary = {
|
|
|
717
734
|
* ```
|
|
718
735
|
*/
|
|
719
736
|
random(bits) {
|
|
720
|
-
if (typeof bits !== "number" ||
|
|
721
|
-
bits % 1 !== 0 ||
|
|
722
|
-
bits < 2 ||
|
|
723
|
-
bits > 65536) {
|
|
737
|
+
if (typeof bits !== "number" || bits % 1 !== 0 || bits < 2 || bits > 65536) {
|
|
724
738
|
throw new Error("Number of bits must be an Integer between 1 and 65536.");
|
|
725
739
|
}
|
|
726
740
|
return bin2hex(config.rng(bits));
|
|
@@ -761,9 +775,7 @@ const SecretsLibrary = {
|
|
|
761
775
|
if (typeof secret !== "string") {
|
|
762
776
|
throw new Error("Secret must be a string.");
|
|
763
777
|
}
|
|
764
|
-
if (typeof numShares !== "number" ||
|
|
765
|
-
numShares % 1 !== 0 ||
|
|
766
|
-
numShares < 2) {
|
|
778
|
+
if (typeof numShares !== "number" || numShares % 1 !== 0 || numShares < 2) {
|
|
767
779
|
throw new Error("Number of shares must be an integer between 2 and 2^bits-1 (" +
|
|
768
780
|
config.maxShares +
|
|
769
781
|
"), inclusive.");
|
|
@@ -778,9 +790,7 @@ const SecretsLibrary = {
|
|
|
778
790
|
neededBits +
|
|
779
791
|
" bits.");
|
|
780
792
|
}
|
|
781
|
-
if (typeof threshold !== "number" ||
|
|
782
|
-
threshold % 1 !== 0 ||
|
|
783
|
-
threshold < 2) {
|
|
793
|
+
if (typeof threshold !== "number" || threshold % 1 !== 0 || threshold < 2) {
|
|
784
794
|
throw new Error("Threshold number of shares must be an integer between 2 and 2^bits-1 (" +
|
|
785
795
|
config.maxShares +
|
|
786
796
|
"), inclusive.");
|
|
@@ -802,10 +812,7 @@ const SecretsLibrary = {
|
|
|
802
812
|
numShares +
|
|
803
813
|
" shares specified as the total to generate.");
|
|
804
814
|
}
|
|
805
|
-
if (typeof padLength !== "number" ||
|
|
806
|
-
padLength % 1 !== 0 ||
|
|
807
|
-
padLength < 0 ||
|
|
808
|
-
padLength > 1024) {
|
|
815
|
+
if (typeof padLength !== "number" || padLength % 1 !== 0 || padLength < 0 || padLength > 1024) {
|
|
809
816
|
throw new Error("Zero-pad length must be an integer between 0 and 1024 inclusive.");
|
|
810
817
|
}
|
|
811
818
|
let secretBin = "1" + hex2bin(secret);
|
|
@@ -874,21 +881,21 @@ const SecretsLibrary = {
|
|
|
874
881
|
_horner: horner,
|
|
875
882
|
_lagrange: lagrange,
|
|
876
883
|
_getShares: getShares,
|
|
877
|
-
_constructPublicShareString: constructPublicShareString
|
|
884
|
+
_constructPublicShareString: constructPublicShareString,
|
|
878
885
|
};
|
|
879
886
|
// Initialize with default settings
|
|
880
887
|
SecretsLibrary.init();
|
|
881
888
|
// Export for different module systems
|
|
882
889
|
// For CommonJS/Node.js
|
|
883
|
-
if (typeof module !==
|
|
890
|
+
if (typeof module !== "undefined" && module.exports) {
|
|
884
891
|
module.exports = SecretsLibrary;
|
|
885
892
|
}
|
|
886
893
|
// For browser globals (UMD)
|
|
887
|
-
if (typeof window !==
|
|
894
|
+
if (typeof window !== "undefined") {
|
|
888
895
|
window.secrets = SecretsLibrary;
|
|
889
896
|
}
|
|
890
897
|
// For ES Modules
|
|
891
898
|
export default SecretsLibrary;
|
|
892
899
|
// Named exports for ES Modules
|
|
893
|
-
export const { init, combine, getConfig, extractShareComponents, setRNG, str2hex, hex2str, random, share, newShare } = SecretsLibrary;
|
|
900
|
+
export const { init, combine, getConfig, extractShareComponents, setRNG, str2hex, hex2str, random, share, newShare, } = SecretsLibrary;
|
|
894
901
|
//# sourceMappingURL=secrets.js.map
|
package/dist/esm/secrets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../src/secrets.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../src/secrets.ts"],"names":[],"mappings":"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"}
|
package/dist/secrets.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BinaryString, CSPRNGType, HexString, RNGFunction, SecretsConfig, Share, ShareComponents, Shares } from
|
|
1
|
+
import type { BinaryString, CSPRNGType, HexString, RNGFunction, SecretsConfig, Share, ShareComponents, Shares } from "./types";
|
|
2
2
|
declare global {
|
|
3
3
|
interface Window {
|
|
4
4
|
secrets: typeof SecretsLibrary;
|
|
@@ -259,4 +259,5 @@ declare const SecretsLibrary: {
|
|
|
259
259
|
};
|
|
260
260
|
export default SecretsLibrary;
|
|
261
261
|
export declare const init: (bits?: number, rngType?: CSPRNGType) => void, combine: (shares: Shares | string[], at?: number) => string, getConfig: () => SecretsConfig, extractShareComponents: (share: string) => ShareComponents, setRNG: (rng?: CSPRNGType | RNGFunction) => boolean, str2hex: (str: string, bytesPerChar?: number) => HexString, hex2str: (str: string, bytesPerChar?: number) => string, random: (bits: number) => HexString, share: (secret: string, numShares: number, threshold: number, padLength?: number) => string[], newShare: (id: number | string, shares: Shares | string[]) => string;
|
|
262
|
+
export type { Base36String, BinaryString, CSPRNGType, HexString, RNGFunction, SecretsConfig, Share, ShareComponents, Shares, } from "./types";
|
|
262
263
|
//# sourceMappingURL=secrets.d.ts.map
|
package/dist/secrets.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../src/secrets.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../src/secrets.ts"],"names":[],"mappings":"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"}
|
package/dist/secrets.js
CHANGED
|
@@ -25,9 +25,38 @@ function reset() {
|
|
|
25
25
|
bytesPerChar: 2,
|
|
26
26
|
maxBytesPerChar: 6,
|
|
27
27
|
primitivePolynomials: [
|
|
28
|
-
null,
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
null,
|
|
29
|
+
null,
|
|
30
|
+
1,
|
|
31
|
+
3,
|
|
32
|
+
3,
|
|
33
|
+
5,
|
|
34
|
+
3,
|
|
35
|
+
3,
|
|
36
|
+
29,
|
|
37
|
+
17,
|
|
38
|
+
9,
|
|
39
|
+
5,
|
|
40
|
+
83,
|
|
41
|
+
27,
|
|
42
|
+
43,
|
|
43
|
+
3,
|
|
44
|
+
45,
|
|
45
|
+
9,
|
|
46
|
+
39,
|
|
47
|
+
39,
|
|
48
|
+
9,
|
|
49
|
+
5,
|
|
50
|
+
3,
|
|
51
|
+
33,
|
|
52
|
+
27,
|
|
53
|
+
9,
|
|
54
|
+
71,
|
|
55
|
+
39,
|
|
56
|
+
9,
|
|
57
|
+
5,
|
|
58
|
+
83,
|
|
59
|
+
],
|
|
31
60
|
};
|
|
32
61
|
config = {};
|
|
33
62
|
preGenPadding = new Array(1024).join("0");
|
|
@@ -40,11 +69,7 @@ function reset() {
|
|
|
40
69
|
}
|
|
41
70
|
byteToHex.push(hexOctet);
|
|
42
71
|
}
|
|
43
|
-
CSPRNGTypes = [
|
|
44
|
-
"nodeCryptoRandomBytes",
|
|
45
|
-
"browserCryptoGetRandomValues",
|
|
46
|
-
"testRandom"
|
|
47
|
-
];
|
|
72
|
+
CSPRNGTypes = ["nodeCryptoRandomBytes", "browserCryptoGetRandomValues", "testRandom"];
|
|
48
73
|
}
|
|
49
74
|
function isSetRNG() {
|
|
50
75
|
if (config && config.rng && typeof config.rng === "function") {
|
|
@@ -108,11 +133,10 @@ function bytesToHex(bytes) {
|
|
|
108
133
|
// Crypto Environment Detection
|
|
109
134
|
// ============================================================================
|
|
110
135
|
function hasCryptoGetRandomValues() {
|
|
111
|
-
var crypto = (typeof window !==
|
|
136
|
+
var crypto = (typeof window !== "undefined" && window.crypto) || global.crypto;
|
|
112
137
|
if (crypto &&
|
|
113
138
|
typeof crypto === "object" &&
|
|
114
|
-
(typeof crypto.getRandomValues === "function" ||
|
|
115
|
-
typeof crypto.getRandomValues === "object") &&
|
|
139
|
+
(typeof crypto.getRandomValues === "function" || typeof crypto.getRandomValues === "object") &&
|
|
116
140
|
(typeof Uint32Array === "function" || typeof Uint32Array === "object")) {
|
|
117
141
|
return true;
|
|
118
142
|
}
|
|
@@ -171,7 +195,7 @@ function getRNG(type) {
|
|
|
171
195
|
var size = 32;
|
|
172
196
|
var str = null;
|
|
173
197
|
elems = Math.ceil(bits / 32);
|
|
174
|
-
var crypto = (typeof window !==
|
|
198
|
+
var crypto = (typeof window !== "undefined" && window.crypto) || global.crypto;
|
|
175
199
|
while (str === null) {
|
|
176
200
|
str = construct(bits, crypto.getRandomValues(new Uint32Array(elems)), radix, size);
|
|
177
201
|
}
|
|
@@ -258,10 +282,7 @@ function lagrange(at, x, y) {
|
|
|
258
282
|
break;
|
|
259
283
|
}
|
|
260
284
|
product =
|
|
261
|
-
(product +
|
|
262
|
-
config.logs[at ^ x[j]] -
|
|
263
|
-
config.logs[x[i] ^ x[j]] +
|
|
264
|
-
config.maxShares) %
|
|
285
|
+
(product + config.logs[at ^ x[j]] - config.logs[x[i] ^ x[j]] + config.maxShares) %
|
|
265
286
|
config.maxShares;
|
|
266
287
|
}
|
|
267
288
|
}
|
|
@@ -279,13 +300,13 @@ function getShares(secret, numShares, threshold) {
|
|
|
279
300
|
for (var i = 1, len = numShares + 1; i < len; i++) {
|
|
280
301
|
shares[i - 1] = {
|
|
281
302
|
x: i,
|
|
282
|
-
y: horner(i, coeffs)
|
|
303
|
+
y: horner(i, coeffs),
|
|
283
304
|
};
|
|
284
305
|
}
|
|
285
306
|
return shares;
|
|
286
307
|
}
|
|
287
308
|
function constructPublicShareString(bits, id, data) {
|
|
288
|
-
var bitsNum = typeof bits ===
|
|
309
|
+
var bitsNum = typeof bits === "string" ? parseInt(bits, 10) : bits;
|
|
289
310
|
var bitsBase36 = bitsNum.toString(36).toUpperCase();
|
|
290
311
|
var idMax = Math.pow(2, bitsNum) - 1;
|
|
291
312
|
var numericId;
|
|
@@ -471,7 +492,7 @@ var SecretsLibrary = {
|
|
|
471
492
|
bits: config.bits,
|
|
472
493
|
maxShares: config.maxShares,
|
|
473
494
|
hasCSPRNG: isSetRNG(),
|
|
474
|
-
typeCSPRNG: config.typeCSPRNG
|
|
495
|
+
typeCSPRNG: config.typeCSPRNG,
|
|
475
496
|
};
|
|
476
497
|
return obj;
|
|
477
498
|
},
|
|
@@ -530,7 +551,7 @@ var SecretsLibrary = {
|
|
|
530
551
|
return {
|
|
531
552
|
bits: bits,
|
|
532
553
|
id: id,
|
|
533
|
-
data: shareComponents[3]
|
|
554
|
+
data: shareComponents[3],
|
|
534
555
|
};
|
|
535
556
|
}
|
|
536
557
|
throw new Error("The share data provided is invalid : " + share);
|
|
@@ -563,9 +584,7 @@ var SecretsLibrary = {
|
|
|
563
584
|
setRNG: function (rng) {
|
|
564
585
|
var errPrefix = "Random number generator is invalid ";
|
|
565
586
|
var errSuffix = " Supply an CSPRNG of the form function(bits){} that returns a string containing 'bits' number of random 1's and 0's.";
|
|
566
|
-
if (rng &&
|
|
567
|
-
typeof rng === "string" &&
|
|
568
|
-
CSPRNGTypes.indexOf(rng) === -1) {
|
|
587
|
+
if (rng && typeof rng === "string" && CSPRNGTypes.indexOf(rng) === -1) {
|
|
569
588
|
throw new Error("Invalid RNG type argument : '" + rng + "'");
|
|
570
589
|
}
|
|
571
590
|
var rngFunc;
|
|
@@ -586,9 +605,7 @@ var SecretsLibrary = {
|
|
|
586
605
|
throw new Error(errPrefix + "(Output is not a string)." + errSuffix);
|
|
587
606
|
}
|
|
588
607
|
if (!parseInt(rngFunc(config.bits), 2)) {
|
|
589
|
-
throw new Error(errPrefix +
|
|
590
|
-
"(Binary string output not parseable to an Integer)." +
|
|
591
|
-
errSuffix);
|
|
608
|
+
throw new Error(errPrefix + "(Binary string output not parseable to an Integer)." + errSuffix);
|
|
592
609
|
}
|
|
593
610
|
if (rngFunc(config.bits).length > config.bits) {
|
|
594
611
|
throw new Error(errPrefix + "(Output length is greater than config.bits)." + errSuffix);
|
|
@@ -720,10 +737,7 @@ var SecretsLibrary = {
|
|
|
720
737
|
* ```
|
|
721
738
|
*/
|
|
722
739
|
random: function (bits) {
|
|
723
|
-
if (typeof bits !== "number" ||
|
|
724
|
-
bits % 1 !== 0 ||
|
|
725
|
-
bits < 2 ||
|
|
726
|
-
bits > 65536) {
|
|
740
|
+
if (typeof bits !== "number" || bits % 1 !== 0 || bits < 2 || bits > 65536) {
|
|
727
741
|
throw new Error("Number of bits must be an Integer between 1 and 65536.");
|
|
728
742
|
}
|
|
729
743
|
return bin2hex(config.rng(bits));
|
|
@@ -764,9 +778,7 @@ var SecretsLibrary = {
|
|
|
764
778
|
if (typeof secret !== "string") {
|
|
765
779
|
throw new Error("Secret must be a string.");
|
|
766
780
|
}
|
|
767
|
-
if (typeof numShares !== "number" ||
|
|
768
|
-
numShares % 1 !== 0 ||
|
|
769
|
-
numShares < 2) {
|
|
781
|
+
if (typeof numShares !== "number" || numShares % 1 !== 0 || numShares < 2) {
|
|
770
782
|
throw new Error("Number of shares must be an integer between 2 and 2^bits-1 (" +
|
|
771
783
|
config.maxShares +
|
|
772
784
|
"), inclusive.");
|
|
@@ -781,9 +793,7 @@ var SecretsLibrary = {
|
|
|
781
793
|
neededBits +
|
|
782
794
|
" bits.");
|
|
783
795
|
}
|
|
784
|
-
if (typeof threshold !== "number" ||
|
|
785
|
-
threshold % 1 !== 0 ||
|
|
786
|
-
threshold < 2) {
|
|
796
|
+
if (typeof threshold !== "number" || threshold % 1 !== 0 || threshold < 2) {
|
|
787
797
|
throw new Error("Threshold number of shares must be an integer between 2 and 2^bits-1 (" +
|
|
788
798
|
config.maxShares +
|
|
789
799
|
"), inclusive.");
|
|
@@ -805,10 +815,7 @@ var SecretsLibrary = {
|
|
|
805
815
|
numShares +
|
|
806
816
|
" shares specified as the total to generate.");
|
|
807
817
|
}
|
|
808
|
-
if (typeof padLength !== "number" ||
|
|
809
|
-
padLength % 1 !== 0 ||
|
|
810
|
-
padLength < 0 ||
|
|
811
|
-
padLength > 1024) {
|
|
818
|
+
if (typeof padLength !== "number" || padLength % 1 !== 0 || padLength < 0 || padLength > 1024) {
|
|
812
819
|
throw new Error("Zero-pad length must be an integer between 0 and 1024 inclusive.");
|
|
813
820
|
}
|
|
814
821
|
var secretBin = "1" + hex2bin(secret);
|
|
@@ -877,17 +884,17 @@ var SecretsLibrary = {
|
|
|
877
884
|
_horner: horner,
|
|
878
885
|
_lagrange: lagrange,
|
|
879
886
|
_getShares: getShares,
|
|
880
|
-
_constructPublicShareString: constructPublicShareString
|
|
887
|
+
_constructPublicShareString: constructPublicShareString,
|
|
881
888
|
};
|
|
882
889
|
// Initialize with default settings
|
|
883
890
|
SecretsLibrary.init();
|
|
884
891
|
// Export for different module systems
|
|
885
892
|
// For CommonJS/Node.js
|
|
886
|
-
if (typeof module !==
|
|
893
|
+
if (typeof module !== "undefined" && module.exports) {
|
|
887
894
|
module.exports = SecretsLibrary;
|
|
888
895
|
}
|
|
889
896
|
// For browser globals (UMD)
|
|
890
|
-
if (typeof window !==
|
|
897
|
+
if (typeof window !== "undefined") {
|
|
891
898
|
window.secrets = SecretsLibrary;
|
|
892
899
|
}
|
|
893
900
|
// For ES Modules
|