@digitaldefiance/secrets 2.0.3

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 (79) hide show
  1. package/LICENSE +8 -0
  2. package/README.md +445 -0
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/browser-types.d.ts +112 -0
  5. package/dist/browser-types.d.ts.map +1 -0
  6. package/dist/browser-types.js +242 -0
  7. package/dist/browser-types.js.map +1 -0
  8. package/dist/errors.d.ts +33 -0
  9. package/dist/errors.d.ts.map +1 -0
  10. package/dist/errors.js +92 -0
  11. package/dist/errors.js.map +1 -0
  12. package/dist/esm/.tsbuildinfo +1 -0
  13. package/dist/esm/browser-types.d.ts +112 -0
  14. package/dist/esm/browser-types.d.ts.map +1 -0
  15. package/dist/esm/browser-types.js +201 -0
  16. package/dist/esm/browser-types.js.map +1 -0
  17. package/dist/esm/errors.d.ts +33 -0
  18. package/dist/esm/errors.d.ts.map +1 -0
  19. package/dist/esm/errors.js +54 -0
  20. package/dist/esm/errors.js.map +1 -0
  21. package/dist/esm/node-types.d.ts +87 -0
  22. package/dist/esm/node-types.d.ts.map +1 -0
  23. package/dist/esm/node-types.js +157 -0
  24. package/dist/esm/node-types.js.map +1 -0
  25. package/dist/esm/secrets.d.ts +262 -0
  26. package/dist/esm/secrets.d.ts.map +1 -0
  27. package/dist/esm/secrets.js +894 -0
  28. package/dist/esm/secrets.js.map +1 -0
  29. package/dist/esm/types.d.ts +249 -0
  30. package/dist/esm/types.d.ts.map +1 -0
  31. package/dist/esm/types.js +61 -0
  32. package/dist/esm/types.js.map +1 -0
  33. package/dist/esm/validation.d.ts +34 -0
  34. package/dist/esm/validation.d.ts.map +1 -0
  35. package/dist/esm/validation.js +72 -0
  36. package/dist/esm/validation.js.map +1 -0
  37. package/dist/node-types.d.ts +87 -0
  38. package/dist/node-types.d.ts.map +1 -0
  39. package/dist/node-types.js +191 -0
  40. package/dist/node-types.js.map +1 -0
  41. package/dist/secrets.d.ts +262 -0
  42. package/dist/secrets.d.ts.map +1 -0
  43. package/dist/secrets.js +897 -0
  44. package/dist/secrets.js.map +1 -0
  45. package/dist/types.d.ts +249 -0
  46. package/dist/types.d.ts.map +1 -0
  47. package/dist/types.js +67 -0
  48. package/dist/types.js.map +1 -0
  49. package/dist/umd/.tsbuildinfo +1 -0
  50. package/dist/umd/browser-types.d.ts +112 -0
  51. package/dist/umd/browser-types.d.ts.map +1 -0
  52. package/dist/umd/browser-types.js +252 -0
  53. package/dist/umd/browser-types.js.map +1 -0
  54. package/dist/umd/errors.d.ts +33 -0
  55. package/dist/umd/errors.d.ts.map +1 -0
  56. package/dist/umd/errors.js +102 -0
  57. package/dist/umd/errors.js.map +1 -0
  58. package/dist/umd/node-types.d.ts +87 -0
  59. package/dist/umd/node-types.d.ts.map +1 -0
  60. package/dist/umd/node-types.js +201 -0
  61. package/dist/umd/node-types.js.map +1 -0
  62. package/dist/umd/secrets.d.ts +262 -0
  63. package/dist/umd/secrets.d.ts.map +1 -0
  64. package/dist/umd/secrets.js +907 -0
  65. package/dist/umd/secrets.js.map +1 -0
  66. package/dist/umd/secrets.min.js +2 -0
  67. package/dist/umd/types.d.ts +249 -0
  68. package/dist/umd/types.d.ts.map +1 -0
  69. package/dist/umd/types.js +77 -0
  70. package/dist/umd/types.js.map +1 -0
  71. package/dist/umd/validation.d.ts +34 -0
  72. package/dist/umd/validation.d.ts.map +1 -0
  73. package/dist/umd/validation.js +92 -0
  74. package/dist/umd/validation.js.map +1 -0
  75. package/dist/validation.d.ts +34 -0
  76. package/dist/validation.d.ts.map +1 -0
  77. package/dist/validation.js +82 -0
  78. package/dist/validation.js.map +1 -0
  79. package/package.json +181 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../src/secrets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ /*! @digitaldefiance/secrets 2026-01-13 */
2
+ (e=>{"object"==typeof module&&"object"==typeof module.exports?e(require,exports):"function"==typeof define&&define.amd&&define(["require","exports"],e)})(function(i,e){var f,b,n,o,s,a;function h(){f={bits:8,radix:16,minBits:3,maxBits:20,bytesPerChar:2,maxBytesPerChar:6,primitivePolynomials:[null,null,1,3,3,5,3,3,29,17,9,5,83,27,43,3,45,9,39,39,9,5,3,33,27,9,71,39,9,5,83]},b={},n=new Array(1024).join("0"),o=!0,a=[];for(var e=0;e<=255;e++){var t=e.toString(16);1===t.length&&(t="0"+t),a.push(t)}s=["nodeCryptoRandomBytes","browserCryptoGetRandomValues","testRandom"]}function u(){return!(!b||!b.rng||"function"!=typeof b.rng)}function m(e,t){var r;if(0===t||1===t)return e;if(t&&1024<t)throw new Error("Padding must be multiples of no larger than 1024 bits.");t=t||b.bits;return(r=e?e.length%t:r)?(n+e).slice(-(t-r+e.length)):e}function p(e){for(var t,r="",n=e.length-1;0<=n;n--){if(t=parseInt(e[n],16),isNaN(t))throw new Error("Invalid hex character.");r=m(t.toString(2),4)+r}return r}function g(e){for(var t,r="",n=(e=m(e,4)).length;4<=n;n-=4){if(t=parseInt(e.slice(n-4,n),2),isNaN(t))throw new Error("Invalid binary character.");r=t.toString(16)+r}return r}function l(e){for(var t="",r=0;r<e.length;r++)t+=a[e[r]];return t}function c(){var e="undefined"!=typeof window&&window.crypto||global.crypto;return!(!e||"object"!=typeof e||"function"!=typeof e.getRandomValues&&"object"!=typeof e.getRandomValues||"function"!=typeof Uint32Array&&"object"!=typeof Uint32Array)}function d(){var e;try{e=i("crypto")}catch(e){return!1}return"object"==typeof e&&"function"==typeof e.randomBytes}function w(e){function o(e,t,r,n){var i,o=0,a="";for(t&&(i=t.length-1);o<i||a.length<e;)a+=m(Math.abs(parseInt(t[o],r)).toString(2),n),o++;return((a=a.substr(-e)).match(/0/g)||[]).length===a.length?null:a}function t(e){for(var t=null,r=Math.ceil(e/8),n=i("crypto");null===t;)t=o(e,l(n.randomBytes(r)),16,4);return t}function r(e){for(var t=null,r=Math.ceil(e/32),n="undefined"!=typeof window&&window.crypto||global.crypto;null===t;)t=o(e,n.getRandomValues(new Uint32Array(r)),10,32);return t}return e&&"testRandom"===e?(b.typeCSPRNG=e,function(e){for(var t=null,r=Math.ceil(e/32),n=new Uint32Array(r),i=0;i<n.length;i++)n[i]=123456789;for(;null===t;)t=o(e,n,10,32);return t}):e&&"nodeCryptoRandomBytes"===e?(b.typeCSPRNG=e,t):e&&"browserCryptoGetRandomValues"===e?(b.typeCSPRNG=e,r):d()?(b.typeCSPRNG="nodeCryptoRandomBytes",t):c()?(b.typeCSPRNG="browserCryptoGetRandomValues",r):void 0}function y(e,t){for(var r=[],n=(e=t?m(e,t):e).length;n>b.bits;n-=b.bits)r.push(parseInt(e.slice(n-b.bits,n),2));return r.push(parseInt(e.slice(0,n),2)),r}function x(e,t){for(var r=b.logs[e],n=0,i=t.length-1;0<=i;i--)n=0!==n?b.exps[(r+b.logs[n])%b.maxShares]^t[i]:t[i];return n}function v(e,t,r){for(var n=0,i=t.length,o=0;o<i;o++)if(r[o]){for(var a=b.logs[r[o]],s=0;s<i;s++)if(o!==s){if(e===t[s]){a=-1;break}a=(a+b.logs[e^t[s]]-b.logs[t[o]^t[s]]+b.maxShares)%b.maxShares}n=-1===a?n:n^b.exps[a]}return n}function S(e,t,r){for(var n=[],i=[e],o=1;o<r;o++)i[o]=parseInt(b.rng(b.bits),2);for(var o=1,a=t+1;o<a;o++)n[o-1]={x:o,y:x(o,i)};return n}function N(e,t,r){var e="string"==typeof e?parseInt(e,10):e,n=e.toString(36).toUpperCase(),e=Math.pow(2,e)-1,t="number"==typeof t?t:"string"==typeof t?parseInt(t,10):NaN;if("number"!=typeof t||t%1!=0||t<1||e<t||isNaN(t))throw new Error("Share id must be an integer between 1 and "+e+", inclusive.");e=e.toString(b.radix).length;return n+m(t.toString(b.radix),e)+r}Object.defineProperty(e,"__esModule",{value:!0}),e.newShare=e.share=e.random=e.hex2str=e.str2hex=e.setRNG=e.extractShareComponents=e.getConfig=e.combine=e.init=void 0;var t={init:function(e,t){var r=[],n=[],i=1;if(h(),e&&("number"!=typeof e||e%1!=0||e<f.minBits||e>f.maxBits))throw new Error("Number of bits must be an integer between "+f.minBits+" and "+f.maxBits+", inclusive.");if(t&&-1===s.indexOf(t))throw new Error("Invalid RNG type argument : '"+t+"'");b.radix=f.radix,b.bits=e||f.bits,b.size=Math.pow(2,b.bits),b.maxShares=b.size-1;for(var o=f.primitivePolynomials[b.bits],a=0;a<b.size;a++)r[n[a]=i]=a,(i<<=1)>=b.size&&(i=(i^=o)&b.maxShares);if(b.logs=r,b.exps=n,t&&this.setRNG(t),u()||this.setRNG(),!(u()&&b.bits&&b.size&&b.maxShares&&b.logs&&b.exps&&b.logs.length===b.size&&b.exps.length===b.size))throw new Error("Initialization failed.")},combine:function(e,t){var r,n,i=[],o=[],a="";t=t||0;for(var s=0,h=e.length;s<h;s++){if(n=this.extractShareComponents(e[s]),void 0===r)r=n.bits;else if(n.bits!==r)throw new Error("Mismatched shares: Different bit settings.");if(b.bits!==r&&this.init(r),-1===i.indexOf(n.id)){i.push(n.id);for(var f,u=0,l=(f=y(p(n.data))).length;u<l;u++)o[u]=o[u]||[],o[u][i.length-1]=f[u]}}for(s=0,h=o.length;s<h;s++)a=m(v(t,i,o[s]).toString(2))+a;return g(1<=t?a:a.slice(a.indexOf("1")+1))},getConfig:function(){return{radix:b.radix,bits:b.bits,maxShares:b.maxShares,hasCSPRNG:u(),typeCSPRNG:b.typeCSPRNG}},extractShareComponents:function(e){var t,r,n,i=parseInt(e.substr(0,1),36);if(i&&("number"!=typeof i||i%1!=0||i<f.minBits||i>f.maxBits))throw new Error("Invalid share : Number of bits must be an integer between "+f.minBits+" and "+f.maxBits+", inclusive.");if(r=Math.pow(2,i)-1,n=(Math.pow(2,i)-1).toString(b.radix).length,"number"!=typeof(t=(n=new RegExp("^([a-kA-K3-9]{1})([a-fA-F0-9]{"+n+"})([a-fA-F0-9]+)$").exec(e))?parseInt(n[2],b.radix):t)||t%1!=0||t<1||r<t)throw new Error("Invalid share : Share id must be an integer between 1 and "+b.maxShares+", inclusive.");if(n&&n[3])return{bits:i,id:t,data:n[3]};throw new Error("The share data provided is invalid : "+e)},setRNG:function(e){var t="Random number generator is invalid ",r=" Supply an CSPRNG of the form function(bits){} that returns a string containing 'bits' number of random 1's and 0's.";if(e&&"string"==typeof e&&-1===s.indexOf(e))throw new Error("Invalid RNG type argument : '"+e+"'");if(e=e?"string"==typeof e?w(e):e:w(),o&&e){if("function"!=typeof e)throw new Error(t+"(Not a function)."+r);if("string"!=typeof e(b.bits))throw new Error(t+"(Output is not a string)."+r);if(!parseInt(e(b.bits),2))throw new Error(t+"(Binary string output not parseable to an Integer)."+r);if(e(b.bits).length>b.bits)throw new Error(t+"(Output length is greater than config.bits)."+r);if(e(b.bits).length<b.bits)throw new Error(t+"(Output length is less than config.bits)."+r)}return b.rng=e,!0},str2hex:function(e,t){var r,n,i="";if("string"!=typeof e)throw new Error("Input must be a character string.");if("number"!=typeof(t=t||f.bytesPerChar)||t<1||t>f.maxBytesPerChar||t%1!=0)throw new Error("Bytes per character must be an integer between 1 and "+f.maxBytesPerChar+", inclusive.");for(var o=2*t,a=Math.pow(16,o)-1,s=0,h=e.length;s<h;s++){if(n=e[s].charCodeAt(0),isNaN(n))throw new Error("Invalid character: "+e[s]);if(a<n)throw r=Math.ceil(Math.log(n+1)/Math.log(256)),new Error("Invalid character code ("+n+"). Maximum allowable is 256^bytes-1 ("+a+"). To convert this character, use at least "+r+" bytes.");i=m(n.toString(16),o)+i}return i},hex2str:function(e,t){var r="";if("string"!=typeof e)throw new Error("Input must be a hexadecimal string.");if("number"!=typeof(t=t||f.bytesPerChar)||t%1!=0||t<1||t>f.maxBytesPerChar)throw new Error("Bytes per character must be an integer between 1 and "+f.maxBytesPerChar+", inclusive.");for(var n,i=0,o=(e=m(e,n=2*t)).length;i<o;i+=n)r=String.fromCharCode(parseInt(e.slice(i,i+n),16))+r;return r},random:function(e){if("number"!=typeof e||e%1!=0||e<2||65536<e)throw new Error("Number of bits must be an Integer between 1 and 65536.");return g(b.rng(e))},share:function(e,t,r,n){var i,o=new Array(t),a=new Array(t);if(n=n||128,"string"!=typeof e)throw new Error("Secret must be a string.");if("number"!=typeof t||t%1!=0||t<2)throw new Error("Number of shares must be an integer between 2 and 2^bits-1 ("+b.maxShares+"), inclusive.");if(t>b.maxShares)throw i=Math.ceil(Math.log(t+1)/Math.LN2),new Error("Number of shares must be an integer between 2 and 2^bits-1 ("+b.maxShares+"), inclusive. To create "+t+" shares, use at least "+i+" bits.");if("number"!=typeof r||r%1!=0||r<2)throw new Error("Threshold number of shares must be an integer between 2 and 2^bits-1 ("+b.maxShares+"), inclusive.");if(r>b.maxShares)throw i=Math.ceil(Math.log(r+1)/Math.LN2),new Error("Threshold number of shares must be an integer between 2 and 2^bits-1 ("+b.maxShares+"), inclusive. To use a threshold of "+r+", use at least "+i+" bits.");if(t<r)throw new Error("Threshold number of shares was "+r+" but must be less than or equal to the "+t+" shares specified as the total to generate.");if("number"!=typeof n||n%1!=0||n<0||1024<n)throw new Error("Zero-pad length must be an integer between 0 and 1024 inclusive.");for(var s=y("1"+p(e),n),h=0,f=s.length;h<f;h++)for(var u=S(s[h],t,r),l=0;l<t;l++)o[l]=o[l]||u[l].x,a[l]=m(u[l].y.toString(2))+(a[l]||"");for(h=0;h<t;h++)o[h]=N(b.bits,o[h],g(a[h]));return o},newShare:function(e,t){e="string"==typeof e?parseInt(e,10):"number"==typeof e?Math.floor(e):NaN;if(e&&t&&t[0])return N(this.extractShareComponents(t[0]).bits,e,this.combine(t,e));throw new Error("Invalid 'id' or 'shares' Array argument to newShare().")},_reset:h,_padLeft:m,_hex2bin:p,_bin2hex:g,_bytesToHex:l,_hasCryptoGetRandomValues:c,_hasCryptoRandomBytes:d,_getRNG:w,_isSetRNG:u,_splitNumStringToIntArray:y,_horner:x,_lagrange:v,_getShares:S,_constructPublicShareString:N};t.init(),"undefined"!=typeof module&&module.exports&&(module.exports=t),"undefined"!=typeof window&&(window.secrets=t),e.default=t,e.init=t.init,e.combine=t.combine,e.getConfig=t.getConfig,e.extractShareComponents=t.extractShareComponents,e.setRNG=t.setRNG,e.str2hex=t.str2hex,e.hex2str=t.hex2str,e.random=t.random,e.share=t.share,e.newShare=t.newShare});
@@ -0,0 +1,249 @@
1
+ /**
2
+ * @packageDocumentation
3
+ * Type definitions for @digitaldefiance/secrets - Shamir's Secret Sharing library
4
+ *
5
+ * This library implements Shamir's threshold secret sharing scheme with
6
+ * comprehensive TypeScript type safety. It allows splitting a secret into
7
+ * multiple shares such that a threshold number of shares can reconstruct
8
+ * the original secret, but fewer shares reveal no information.
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * import secrets from '@digitaldefiance/secrets';
13
+ *
14
+ * // Split a secret into 5 shares, requiring 3 to reconstruct
15
+ * const shares = secrets.share('deadbeef', 5, 3);
16
+ *
17
+ * // Reconstruct from any 3 shares
18
+ * const recovered = secrets.combine([shares[0], shares[2], shares[4]]);
19
+ * ```
20
+ */
21
+ /**
22
+ * Configuration object returned by getConfig()
23
+ *
24
+ * Provides information about the current Galois Field configuration
25
+ * and random number generator status.
26
+ *
27
+ * @property radix - The numerical base used for share representation (typically 16 for hex)
28
+ * @property bits - Number of bits in the Galois Field (determines max shares = 2^bits - 1)
29
+ * @property maxShares - Maximum number of shares that can be generated (2^bits - 1)
30
+ * @property hasCSPRNG - Whether a cryptographically secure RNG is configured
31
+ * @property typeCSPRNG - The type of CSPRNG currently in use
32
+ */
33
+ export interface SecretsConfig {
34
+ readonly radix: number;
35
+ readonly bits: number;
36
+ readonly maxShares: number;
37
+ readonly hasCSPRNG: boolean;
38
+ readonly typeCSPRNG: CSPRNGType;
39
+ }
40
+ /**
41
+ * Components extracted from a public share string
42
+ *
43
+ * A share string encodes the bit configuration, share ID, and share data
44
+ * in a compact format. This interface represents the parsed components.
45
+ *
46
+ * @property bits - Number of bits used in the Galois Field for this share
47
+ * @property id - Unique identifier for this share (1 to 2^bits - 1)
48
+ * @property data - The actual share data as a hexadecimal string
49
+ */
50
+ export interface ShareComponents {
51
+ readonly bits: number;
52
+ readonly id: number;
53
+ readonly data: string;
54
+ }
55
+ /**
56
+ * Valid CSPRNG (Cryptographically Secure Pseudo-Random Number Generator) types
57
+ *
58
+ * The library supports multiple CSPRNGs depending on the runtime environment:
59
+ * - `nodeCryptoRandomBytes`: Node.js crypto.randomBytes (server-side)
60
+ * - `browserCryptoGetRandomValues`: Web Crypto API (browser-side)
61
+ * - `testRandom`: Deterministic RNG for testing purposes only (NOT secure)
62
+ */
63
+ export type CSPRNGType = "nodeCryptoRandomBytes" | "browserCryptoGetRandomValues" | "testRandom";
64
+ /**
65
+ * Array of share strings
66
+ *
67
+ * Shares are represented as strings that encode the bit configuration,
68
+ * share ID, and share data. This type ensures immutability of share arrays.
69
+ */
70
+ export type Shares = readonly string[];
71
+ /**
72
+ * Internal share representation with x and y coordinates
73
+ *
74
+ * Represents a point on the polynomial used in Shamir's Secret Sharing.
75
+ * The x coordinate is the share ID, and y is the evaluated polynomial value.
76
+ *
77
+ * @property x - The x-coordinate (share ID)
78
+ * @property y - The y-coordinate (polynomial evaluation at x)
79
+ */
80
+ export interface Share {
81
+ readonly x: number;
82
+ readonly y: number;
83
+ }
84
+ /**
85
+ * Random number generator function signature
86
+ *
87
+ * Custom RNG functions must conform to this signature. They should return
88
+ * a binary string (containing only '0' and '1' characters) of exactly the
89
+ * specified length.
90
+ *
91
+ * @param bits - Number of random bits to generate
92
+ * @returns Binary string of specified length (e.g., "10110101" for 8 bits)
93
+ *
94
+ * @example
95
+ * ```typescript
96
+ * const customRNG: RNGFunction = (bits: number): string => {
97
+ * // Generate and return binary string of specified length
98
+ * return generateRandomBinaryString(bits);
99
+ * };
100
+ * secrets.setRNG(customRNG);
101
+ * ```
102
+ */
103
+ export type RNGFunction = (bits: number) => string;
104
+ /**
105
+ * Node.js crypto module interface
106
+ *
107
+ * Minimal interface for Node.js crypto.randomBytes functionality.
108
+ */
109
+ export interface NodeCrypto {
110
+ /**
111
+ * Generate cryptographically strong pseudo-random data
112
+ * @param size - Number of bytes to generate
113
+ * @returns Buffer containing random bytes
114
+ */
115
+ randomBytes(size: number): Buffer;
116
+ }
117
+ /**
118
+ * Browser Web Crypto API interface
119
+ *
120
+ * Minimal interface for browser crypto.getRandomValues functionality.
121
+ */
122
+ export interface BrowserCrypto {
123
+ /**
124
+ * Fill an array with cryptographically secure random values
125
+ * @param array - Typed array to fill with random values
126
+ * @returns The same array, filled with random values
127
+ */
128
+ getRandomValues<T extends ArrayBufferView>(array: T): T;
129
+ }
130
+ /**
131
+ * Discriminated union for crypto environment detection
132
+ *
133
+ * Represents the different cryptographic environments the library can run in.
134
+ * The type field discriminates between Node.js, browser, and test environments.
135
+ */
136
+ export type CryptoEnvironment = {
137
+ /** Node.js environment with crypto.randomBytes */
138
+ readonly type: 'node';
139
+ readonly crypto: NodeCrypto;
140
+ } | {
141
+ /** Browser environment with crypto.getRandomValues */
142
+ readonly type: 'browser';
143
+ readonly crypto: BrowserCrypto;
144
+ } | {
145
+ /** Test environment with deterministic RNG (NOT secure) */
146
+ readonly type: 'test';
147
+ readonly crypto: null;
148
+ };
149
+ /**
150
+ * Internal configuration state (mutable during initialization)
151
+ *
152
+ * Contains the runtime configuration including Galois Field arithmetic tables.
153
+ * This is internal state and should not be accessed directly by library users.
154
+ *
155
+ * @internal
156
+ */
157
+ export interface InternalConfig {
158
+ radix: number;
159
+ bits: number;
160
+ size: number;
161
+ maxShares: number;
162
+ logs: readonly number[];
163
+ exps: readonly number[];
164
+ rng: RNGFunction;
165
+ typeCSPRNG: CSPRNGType;
166
+ }
167
+ /**
168
+ * Default configuration values
169
+ *
170
+ * Contains the default settings and constraints for the library.
171
+ *
172
+ * @internal
173
+ */
174
+ export interface Defaults {
175
+ readonly bits: number;
176
+ readonly radix: number;
177
+ readonly minBits: number;
178
+ readonly maxBits: number;
179
+ readonly bytesPerChar: number;
180
+ readonly maxBytesPerChar: number;
181
+ readonly primitivePolynomials: readonly (number | null)[];
182
+ }
183
+ /**
184
+ * Type guard to check if a value is a valid secret string (hex)
185
+ *
186
+ * @param value - Value to check
187
+ * @returns True if value is a valid hexadecimal string
188
+ *
189
+ * @example
190
+ * ```typescript
191
+ * if (isValidSecret(userInput)) {
192
+ * const shares = secrets.share(userInput, 5, 3);
193
+ * }
194
+ * ```
195
+ */
196
+ export declare function isValidSecret(value: unknown): value is string;
197
+ /**
198
+ * Type guard to check if a value is a valid shares array
199
+ *
200
+ * @param value - Value to check
201
+ * @returns True if value is a valid array of share strings
202
+ *
203
+ * @example
204
+ * ```typescript
205
+ * if (isValidShares(userShares)) {
206
+ * const secret = secrets.combine(userShares);
207
+ * }
208
+ * ```
209
+ */
210
+ export declare function isValidShares(value: unknown): value is Shares;
211
+ /**
212
+ * Type guard to check if a value is a valid RNG function
213
+ *
214
+ * @param value - Value to check
215
+ * @returns True if value is a function (basic check)
216
+ */
217
+ export declare function isValidRNGFunction(value: unknown): value is RNGFunction;
218
+ /**
219
+ * Type guard to check if a value is a valid CSPRNG type
220
+ *
221
+ * @param value - Value to check
222
+ * @returns True if value is a valid CSPRNG type string
223
+ */
224
+ export declare function isValidCSPRNGType(value: unknown): value is CSPRNGType;
225
+ /**
226
+ * Represents a binary string (string of '0' and '1' characters)
227
+ *
228
+ * Used internally for binary arithmetic operations.
229
+ *
230
+ * @example "10110101"
231
+ */
232
+ export type BinaryString = string;
233
+ /**
234
+ * Represents a hexadecimal string (string of '0-9' and 'a-f' characters)
235
+ *
236
+ * Used for secrets and share data representation.
237
+ *
238
+ * @example "deadbeef"
239
+ */
240
+ export type HexString = string;
241
+ /**
242
+ * Represents a base-36 string (string of '0-9' and 'a-z' characters)
243
+ *
244
+ * Used for encoding bit configuration in share strings.
245
+ *
246
+ * @example "8" (represents 8 bits)
247
+ */
248
+ export type Base36String = string;
249
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ // Enhanced Type Definitions for @digitaldefiance/secrets
2
+ // This file provides comprehensive type safety for the Shamir's Secret Sharing library
3
+ (function (factory) {
4
+ if (typeof module === "object" && typeof module.exports === "object") {
5
+ var v = factory(require, exports);
6
+ if (v !== undefined) module.exports = v;
7
+ }
8
+ else if (typeof define === "function" && define.amd) {
9
+ define(["require", "exports"], factory);
10
+ }
11
+ })(function (require, exports) {
12
+ "use strict";
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.isValidSecret = isValidSecret;
15
+ exports.isValidShares = isValidShares;
16
+ exports.isValidRNGFunction = isValidRNGFunction;
17
+ exports.isValidCSPRNGType = isValidCSPRNGType;
18
+ // ============================================================================
19
+ // Type Guards
20
+ // ============================================================================
21
+ /**
22
+ * Type guard to check if a value is a valid secret string (hex)
23
+ *
24
+ * @param value - Value to check
25
+ * @returns True if value is a valid hexadecimal string
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * if (isValidSecret(userInput)) {
30
+ * const shares = secrets.share(userInput, 5, 3);
31
+ * }
32
+ * ```
33
+ */
34
+ function isValidSecret(value) {
35
+ return typeof value === 'string' && /^[0-9a-fA-F]*$/.test(value);
36
+ }
37
+ /**
38
+ * Type guard to check if a value is a valid shares array
39
+ *
40
+ * @param value - Value to check
41
+ * @returns True if value is a valid array of share strings
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * if (isValidShares(userShares)) {
46
+ * const secret = secrets.combine(userShares);
47
+ * }
48
+ * ```
49
+ */
50
+ function isValidShares(value) {
51
+ return Array.isArray(value) &&
52
+ value.length > 0 &&
53
+ value.every(function (share) { return typeof share === 'string'; });
54
+ }
55
+ /**
56
+ * Type guard to check if a value is a valid RNG function
57
+ *
58
+ * @param value - Value to check
59
+ * @returns True if value is a function (basic check)
60
+ */
61
+ function isValidRNGFunction(value) {
62
+ return typeof value === 'function';
63
+ }
64
+ /**
65
+ * Type guard to check if a value is a valid CSPRNG type
66
+ *
67
+ * @param value - Value to check
68
+ * @returns True if value is a valid CSPRNG type string
69
+ */
70
+ function isValidCSPRNGType(value) {
71
+ return typeof value === 'string' &&
72
+ (value === 'nodeCryptoRandomBytes' ||
73
+ value === 'browserCryptoGetRandomValues' ||
74
+ value === 'testRandom');
75
+ }
76
+ });
77
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,uFAAuF;;;;;;;;;;;;IAuOvF,sCAEC;IAeD,sCAIC;IAQD,gDAEC;IAQD,8CAKC;IA7DD,+EAA+E;IAC/E,cAAc;IACd,+EAA+E;IAE/E;;;;;;;;;;;;OAYG;IACH,SAAgB,aAAa,CAAC,KAAc;QAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,SAAgB,aAAa,CAAC,KAAc;QAC1C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACpB,KAAK,CAAC,MAAM,GAAG,CAAC;YAChB,KAAK,CAAC,KAAK,CAAC,UAAA,KAAK,IAAI,OAAA,OAAO,KAAK,KAAK,QAAQ,EAAzB,CAAyB,CAAC,CAAC;IACzD,CAAC;IAED;;;;;OAKG;IACH,SAAgB,kBAAkB,CAAC,KAAc;QAC/C,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACH,SAAgB,iBAAiB,CAAC,KAAc;QAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,KAAK,KAAK,uBAAuB;gBACjC,KAAK,KAAK,8BAA8B;gBACxC,KAAK,KAAK,YAAY,CAAC,CAAC;IAClC,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type { CSPRNGType, RNGFunction, Shares } from './types';
2
+ /**
3
+ * Type guard to check if a value is a valid secret string (hex)
4
+ */
5
+ export declare function isValidSecret(value: unknown): value is string;
6
+ /**
7
+ * Type guard to check if a value is a valid shares array
8
+ */
9
+ export declare function isValidShares(value: unknown): value is Shares;
10
+ /**
11
+ * Type guard to check if a value is a valid RNG function
12
+ */
13
+ export declare function isValidRNGFunction(value: unknown): value is RNGFunction;
14
+ /**
15
+ * Type guard to check if a value is a valid CSPRNG type
16
+ */
17
+ export declare function isValidCSPRNGType(value: unknown): value is CSPRNGType;
18
+ /**
19
+ * Validates that a number is an integer within a specified range
20
+ */
21
+ export declare function validateInteger(value: unknown, paramName: string, min: number, max: number): asserts value is number;
22
+ /**
23
+ * Validates that a value is a non-empty string
24
+ */
25
+ export declare function validateString(value: unknown, paramName: string): asserts value is string;
26
+ /**
27
+ * Validates that a value is a valid hex string
28
+ */
29
+ export declare function validateHexString(value: unknown, paramName: string): asserts value is string;
30
+ /**
31
+ * Validates that a value is a valid binary string
32
+ */
33
+ export declare function validateBinaryString(value: unknown, paramName: string): asserts value is string;
34
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAE/D;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE7D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAI7D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAEvE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAKrE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,KAAK,IAAI,MAAM,CAgBzB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,KAAK,IAAI,MAAM,CAIzB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,KAAK,IAAI,MAAM,CAUzB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,KAAK,IAAI,MAAM,CAUzB"}
@@ -0,0 +1,92 @@
1
+ // Type guard functions and runtime validation for @digitaldefiance/secrets
2
+ (function (factory) {
3
+ if (typeof module === "object" && typeof module.exports === "object") {
4
+ var v = factory(require, exports);
5
+ if (v !== undefined) module.exports = v;
6
+ }
7
+ else if (typeof define === "function" && define.amd) {
8
+ define(["require", "exports", "./errors"], factory);
9
+ }
10
+ })(function (require, exports) {
11
+ "use strict";
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.isValidSecret = isValidSecret;
14
+ exports.isValidShares = isValidShares;
15
+ exports.isValidRNGFunction = isValidRNGFunction;
16
+ exports.isValidCSPRNGType = isValidCSPRNGType;
17
+ exports.validateInteger = validateInteger;
18
+ exports.validateString = validateString;
19
+ exports.validateHexString = validateHexString;
20
+ exports.validateBinaryString = validateBinaryString;
21
+ var errors_1 = require("./errors");
22
+ /**
23
+ * Type guard to check if a value is a valid secret string (hex)
24
+ */
25
+ function isValidSecret(value) {
26
+ return typeof value === 'string' && /^[0-9a-fA-F]*$/.test(value);
27
+ }
28
+ /**
29
+ * Type guard to check if a value is a valid shares array
30
+ */
31
+ function isValidShares(value) {
32
+ return Array.isArray(value) &&
33
+ value.length > 0 &&
34
+ value.every(function (share) { return typeof share === 'string'; });
35
+ }
36
+ /**
37
+ * Type guard to check if a value is a valid RNG function
38
+ */
39
+ function isValidRNGFunction(value) {
40
+ return typeof value === 'function';
41
+ }
42
+ /**
43
+ * Type guard to check if a value is a valid CSPRNG type
44
+ */
45
+ function isValidCSPRNGType(value) {
46
+ return typeof value === 'string' &&
47
+ (value === 'nodeCryptoRandomBytes' ||
48
+ value === 'browserCryptoGetRandomValues' ||
49
+ value === 'testRandom');
50
+ }
51
+ /**
52
+ * Validates that a number is an integer within a specified range
53
+ */
54
+ function validateInteger(value, paramName, min, max) {
55
+ if (typeof value !== 'number') {
56
+ throw new errors_1.InvalidParameterError(paramName, value, 'number');
57
+ }
58
+ if (value % 1 !== 0) {
59
+ throw new errors_1.InvalidParameterError(paramName, value, 'integer');
60
+ }
61
+ if (value < min || value > max) {
62
+ throw new errors_1.InvalidParameterError(paramName, value, "integer between ".concat(min, " and ").concat(max, ", inclusive"));
63
+ }
64
+ }
65
+ /**
66
+ * Validates that a value is a non-empty string
67
+ */
68
+ function validateString(value, paramName) {
69
+ if (typeof value !== 'string') {
70
+ throw new errors_1.InvalidParameterError(paramName, value, 'string');
71
+ }
72
+ }
73
+ /**
74
+ * Validates that a value is a valid hex string
75
+ */
76
+ function validateHexString(value, paramName) {
77
+ validateString(value, paramName);
78
+ if (!/^[0-9a-fA-F]*$/.test(value)) {
79
+ throw new errors_1.InvalidParameterError(paramName, value, 'hexadecimal string (0-9, a-f, A-F)');
80
+ }
81
+ }
82
+ /**
83
+ * Validates that a value is a valid binary string
84
+ */
85
+ function validateBinaryString(value, paramName) {
86
+ validateString(value, paramName);
87
+ if (!/^[01]*$/.test(value)) {
88
+ throw new errors_1.InvalidParameterError(paramName, value, 'binary string (0 and 1 only)');
89
+ }
90
+ }
91
+ });
92
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"AAAA,2EAA2E;;;;;;;;;;;;IAQ3E,sCAEC;IAKD,sCAIC;IAKD,gDAEC;IAKD,8CAKC;IAKD,0CAqBC;IAKD,wCAOC;IAKD,8CAaC;IAKD,oDAaC;IA5GD,mCAAiD;IAGjD;;OAEG;IACH,SAAgB,aAAa,CAAC,KAAc;QAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACH,SAAgB,aAAa,CAAC,KAAc;QAC1C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACpB,KAAK,CAAC,MAAM,GAAG,CAAC;YAChB,KAAK,CAAC,KAAK,CAAC,UAAA,KAAK,IAAI,OAAA,OAAO,KAAK,KAAK,QAAQ,EAAzB,CAAyB,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,SAAgB,kBAAkB,CAAC,KAAc;QAC/C,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,SAAgB,iBAAiB,CAAC,KAAc;QAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,KAAK,KAAK,uBAAuB;gBACjC,KAAK,KAAK,8BAA8B;gBACxC,KAAK,KAAK,YAAY,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,SAAgB,eAAe,CAC7B,KAAc,EACd,SAAiB,EACjB,GAAW,EACX,GAAW;QAEX,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,8BAAqB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,8BAAqB,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;YAC/B,MAAM,IAAI,8BAAqB,CAC7B,SAAS,EACT,KAAK,EACL,0BAAmB,GAAG,kBAAQ,GAAG,gBAAa,CAC/C,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAgB,cAAc,CAC5B,KAAc,EACd,SAAiB;QAEjB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,8BAAqB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAgB,iBAAiB,CAC/B,KAAc,EACd,SAAiB;QAEjB,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEjC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,8BAAqB,CAC7B,SAAS,EACT,KAAK,EACL,oCAAoC,CACrC,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAgB,oBAAoB,CAClC,KAAc,EACd,SAAiB;QAEjB,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,8BAAqB,CAC7B,SAAS,EACT,KAAK,EACL,8BAA8B,CAC/B,CAAC;QACJ,CAAC;IACH,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type { CSPRNGType, RNGFunction, Shares } from './types';
2
+ /**
3
+ * Type guard to check if a value is a valid secret string (hex)
4
+ */
5
+ export declare function isValidSecret(value: unknown): value is string;
6
+ /**
7
+ * Type guard to check if a value is a valid shares array
8
+ */
9
+ export declare function isValidShares(value: unknown): value is Shares;
10
+ /**
11
+ * Type guard to check if a value is a valid RNG function
12
+ */
13
+ export declare function isValidRNGFunction(value: unknown): value is RNGFunction;
14
+ /**
15
+ * Type guard to check if a value is a valid CSPRNG type
16
+ */
17
+ export declare function isValidCSPRNGType(value: unknown): value is CSPRNGType;
18
+ /**
19
+ * Validates that a number is an integer within a specified range
20
+ */
21
+ export declare function validateInteger(value: unknown, paramName: string, min: number, max: number): asserts value is number;
22
+ /**
23
+ * Validates that a value is a non-empty string
24
+ */
25
+ export declare function validateString(value: unknown, paramName: string): asserts value is string;
26
+ /**
27
+ * Validates that a value is a valid hex string
28
+ */
29
+ export declare function validateHexString(value: unknown, paramName: string): asserts value is string;
30
+ /**
31
+ * Validates that a value is a valid binary string
32
+ */
33
+ export declare function validateBinaryString(value: unknown, paramName: string): asserts value is string;
34
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAE/D;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE7D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAI7D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAEvE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAKrE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,KAAK,IAAI,MAAM,CAgBzB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,KAAK,IAAI,MAAM,CAIzB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,KAAK,IAAI,MAAM,CAUzB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,KAAK,IAAI,MAAM,CAUzB"}