xypriss-security 2.1.12 → 2.1.16

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/README.md CHANGED
@@ -6,8 +6,9 @@ XyPriss Security is an enterprise-grade cryptographic framework for TypeScript /
6
6
 
7
7
  - **Performance**: Optimized execution using lightweight process spawning, bypassing the overhead of standard JavaScript cryptographic implementations without the complexity of CGO.
8
8
  - **Universal Portability**: Zero native compilation required. Statically linked pure Go binaries run flawlessly on Linux, Windows, and macOS (amd64/arm64) via a unified interface.
9
- - **Modern Standards**: Native support for AES-256-GCM, Argon2id, PBKDF2, HKDF, RSA-OAEP, RSA-PSS, and Post-Quantum algorithms (Kyber-768).
9
+ - **Modern Standards**: Native support for Ed25519, AES-256-GCM, Argon2id, PBKDF2, HKDF, RSA-OAEP, RSA-PSS, and Post-Quantum algorithms (Kyber-768).
10
10
  - **Security by Default**: Automatic memory sanitization and secure key derivation patterns.
11
+ - **High-Payload Optimization**: Transparent `stdin` piping for large buffers to bypass OS-level `E2BIG` limitations.
11
12
  - **Zero-Config Installation**: Automatically downloads the exact pre-built binary for your platform during installation (no local Go toolchain required).
12
13
 
13
14
  ## Documentation
@@ -17,6 +18,7 @@ The framework documentation is modularized for clarity and depth.
17
18
  ### Modules
18
19
 
19
20
  - [Core](docs/modules/core.md) - Foundational primitives (Hash, Random, Password, SecureBuffer, XyPrissSecurity).
21
+ - [Ed25519](docs/modules/ed25519.md) - High-performance EdDSA signature verification.
20
22
  - [RSA and Byte Utilities](docs/modules/rsa-and-byte-utils.md) - RSA-PSS signing, RSA-OAEP encryption, key generation, and UTF-8 byte validation.
21
23
  - [Cache](docs/modules/cache.md) - Ultra-fast secure in-memory cache system (UFSIMC).
22
24
  - [Encryption](docs/modules/encryption.md) - High-level data protection services.
@@ -116,6 +118,16 @@ const decrypted = await rsaDecrypt(privateKey, encrypted);
116
118
  console.log(decrypted); // "short-secret"
117
119
  ```
118
120
 
121
+ ### Ed25519 Signatures
122
+
123
+ Optimized verification for high-speed integrity checks.
124
+
125
+ ```typescript
126
+ import { ed25519Verify } from "xypriss-security";
127
+
128
+ const valid = ed25519Verify(authorPubKeyHex, dataContent, signatureBase64);
129
+ ```
130
+
119
131
  ### Hash Detection
120
132
 
121
133
  ```typescript
@@ -7,7 +7,8 @@
7
7
  */
8
8
  export declare const Bridge: {
9
9
  /**
10
- * Internal helper to call the Go binary
10
+ * Internal helper to call the Go binary.
11
+ * Supports passing data via stdin by passing an object { __stdin: true, data: ... } as an argument.
11
12
  */
12
13
  _call: (command: string, ...args: any[]) => string;
13
14
  hashPassword: (pass: string, algo?: string, iterations?: number, memory?: number, parallelism?: number) => string;
@@ -40,5 +41,6 @@ export declare const Bridge: {
40
41
  rsaDecrypt: (privateKey: string, encryptedHex: string) => string;
41
42
  encryptFile: (inPath: string, outPath: string, key: Uint8Array, algo?: string) => string;
42
43
  decryptFile: (inPath: string, outPath: string, key: Uint8Array) => string;
44
+ ed25519Verify: (publicKey: string | Uint8Array, data: string | Uint8Array, signature: string | Uint8Array) => boolean;
43
45
  };
44
46
  //# sourceMappingURL=bridge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../../src/core/bridge.ts"],"names":[],"mappings":"AAAA;;;8EAG8E;AA4D9E;;GAEG;AACH,eAAO,MAAM,MAAM;IACjB;;OAEG;qBACc,MAAM,WAAW,GAAG,EAAE,KAAG,MAAM;yBAoBxC,MAAM,SACN,MAAM,eACA,MAAM,WACV,MAAM,gBACD,MAAM;2BAIE,MAAM,QAAQ,MAAM;qBAG1B,MAAM,SAAS,MAAM;4BAGd,MAAM,YAAW,MAAM;0BAGzB,MAAM;wBAMR,MAAM;0BAKJ,MAAM;iBAEf,MAAM,GAAG,UAAU,SAAQ,MAAM;mBAQ/B,MAAM,GAAG,UAAU;gBAS3B,MAAM,GAAG,UAAU,QAClB,MAAM,GAAG,UAAU,SACnB,MAAM;gBAcP,MAAM,GAAG,UAAU,QAClB,MAAM,GAAG,UAAU,QACnB,MAAM,GAAG,UAAU,OACpB,MAAM;mBAkBL,MAAM,QACN,UAAU,cACJ,MAAM,UACV,MAAM,SACR,MAAM;6BAMW,UAAU,KAAK,UAAU;oBAMlC,MAAM,OAAO,MAAM,SAAQ,MAAM;yBAG5B,MAAM,OAAO,MAAM,SAAQ,MAAM;uBAGnC,UAAU,OAAO,UAAU,SAAQ,MAAM;+BAMjC,MAAM,OAAO,UAAU,SAAQ,MAAM;;;qCAO/B,MAAM,OAAO,MAAM;;yBAG/B,MAAM;6BACF,MAAM,UAAU,MAAM;;0BAIzB,MAAM,QAAQ,MAAM;2BAEnB,MAAM,QAAQ,MAAM,aAAa,MAAM;4BAEtC,MAAM,QAAQ,MAAM;6BAEnB,MAAM,gBAAgB,MAAM;0BAI3C,MAAM,WACL,MAAM,OACV,UAAU,SACT,MAAM;0BAMQ,MAAM,WAAW,MAAM,OAAO,UAAU;CAI/D,CAAC"}
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../../src/core/bridge.ts"],"names":[],"mappings":"AAAA;;;8EAG8E;AA4D9E;;GAEG;AACH,eAAO,MAAM,MAAM;IACjB;;;OAGG;qBACc,MAAM,WAAW,GAAG,EAAE,KAAG,MAAM;yBA+BxC,MAAM,SACN,MAAM,eACA,MAAM,WACV,MAAM,gBACD,MAAM;2BAIE,MAAM,QAAQ,MAAM;qBAG1B,MAAM,SAAS,MAAM;4BAGd,MAAM,YAAW,MAAM;0BAGzB,MAAM;wBAMR,MAAM;0BAKJ,MAAM;iBAEf,MAAM,GAAG,UAAU,SAAQ,MAAM;mBAe/B,MAAM,GAAG,UAAU;gBAgB3B,MAAM,GAAG,UAAU,QAClB,MAAM,GAAG,UAAU,SACnB,MAAM;gBAsBP,MAAM,GAAG,UAAU,QAClB,MAAM,GAAG,UAAU,QACnB,MAAM,GAAG,UAAU,OACpB,MAAM;mBAwBL,MAAM,QACN,UAAU,cACJ,MAAM,UACV,MAAM,SACR,MAAM;6BAQW,UAAU,KAAK,UAAU;oBAMlC,MAAM,OAAO,MAAM,SAAQ,MAAM;yBAG5B,MAAM,OAAO,MAAM,SAAQ,MAAM;uBAGnC,UAAU,OAAO,UAAU,SAAQ,MAAM;+BASjC,MAAM,OAAO,UAAU,SAAQ,MAAM;;;qCAO/B,MAAM,OAAO,MAAM;;yBAG/B,MAAM;6BACF,MAAM,UAAU,MAAM;;0BAIzB,MAAM,QAAQ,MAAM;2BAEnB,MAAM,QAAQ,MAAM,aAAa,MAAM;4BAEtC,MAAM,QAAQ,MAAM;6BAEnB,MAAM,gBAAgB,MAAM;0BAI3C,MAAM,WACL,MAAM,OACV,UAAU,SACT,MAAM;0BAMQ,MAAM,WAAW,MAAM,OAAO,UAAU;+BAMjD,MAAM,GAAG,UAAU,QACxB,MAAM,GAAG,UAAU,aACd,MAAM,GAAG,UAAU;CAyBjC,CAAC"}
@@ -56,14 +56,23 @@ const libPath = getBinaryPath();
56
56
  */
57
57
  exports.Bridge = {
58
58
  /**
59
- * Internal helper to call the Go binary
59
+ * Internal helper to call the Go binary.
60
+ * Supports passing data via stdin by passing an object { __stdin: true, data: ... } as an argument.
60
61
  */
61
62
  _call: (command, ...args) => {
62
- const result = (0, child_process_1.spawnSync)(libPath, [
63
- command,
64
- ...args.map((a) => (a === null || a === undefined ? "" : String(a))),
65
- ]);
63
+ let input;
64
+ const finalArgs = args.map((a) => {
65
+ if (a && typeof a === "object" && a.__stdin) {
66
+ input = a.data;
67
+ return "-";
68
+ }
69
+ return a === null || a === undefined ? "" : String(a);
70
+ });
71
+ const result = (0, child_process_1.spawnSync)(libPath, [command, ...finalArgs], { input });
66
72
  if (result.error) {
73
+ if (result.error.code === "E2BIG") {
74
+ throw new Error(`Failed to execute security core: E2BIG (Argument list too long). Data must be passed via stdin.`);
75
+ }
67
76
  throw new Error(`Failed to execute security core: ${result.error.message}`);
68
77
  }
69
78
  const out = result.stdout.toString();
@@ -87,30 +96,54 @@ exports.Bridge = {
87
96
  },
88
97
  generateOTP: (digits) => exports.Bridge._call("generate-otp", digits),
89
98
  hash: (data, algo = "sha256") => {
90
- const hexData = typeof data === "string"
91
- ? Buffer.from(data).toString("hex")
92
- : Buffer.from(data).toString("hex");
93
- return exports.Bridge._call("get-hash", hexData, algo);
99
+ const isLarge = (typeof data === "string" ? data.length : data.length) > 32768;
100
+ const arg = isLarge
101
+ ? {
102
+ __stdin: true,
103
+ data: typeof data === "string" ? data : Buffer.from(data),
104
+ }
105
+ : typeof data === "string"
106
+ ? Buffer.from(data).toString("hex")
107
+ : Buffer.from(data).toString("hex");
108
+ return exports.Bridge._call("get-hash", arg, algo);
94
109
  },
95
110
  sha256: (data) => {
96
- const hexData = typeof data === "string"
97
- ? Buffer.from(data).toString("hex")
98
- : Buffer.from(data).toString("hex");
99
- return exports.Bridge._call("get-sha256", hexData);
111
+ const isLarge = (typeof data === "string" ? data.length : data.length) > 32768;
112
+ const arg = isLarge
113
+ ? {
114
+ __stdin: true,
115
+ data: typeof data === "string" ? data : Buffer.from(data),
116
+ }
117
+ : typeof data === "string"
118
+ ? Buffer.from(data).toString("hex")
119
+ : Buffer.from(data).toString("hex");
120
+ return exports.Bridge._call("get-sha256", arg);
100
121
  },
101
122
  hmac: (key, data, algo = "sha256") => {
102
123
  const hexKey = typeof key === "string"
103
124
  ? Buffer.from(key).toString("hex")
104
125
  : Buffer.from(key).toString("hex");
105
- const hexData = typeof data === "string"
106
- ? Buffer.from(data).toString("hex")
107
- : Buffer.from(data).toString("hex");
108
- return exports.Bridge._call("get-hmac", hexKey, hexData, algo);
126
+ const isLarge = (typeof data === "string" ? data.length : data.length) > 32768;
127
+ const argData = isLarge
128
+ ? {
129
+ __stdin: true,
130
+ data: typeof data === "string" ? data : Buffer.from(data),
131
+ }
132
+ : typeof data === "string"
133
+ ? Buffer.from(data).toString("hex")
134
+ : Buffer.from(data).toString("hex");
135
+ return exports.Bridge._call("get-hmac", hexKey, argData, algo);
109
136
  },
110
137
  hkdf: (ikm, salt, info, len) => {
111
- const hexIkm = typeof ikm === "string"
112
- ? Buffer.from(ikm).toString("hex")
113
- : Buffer.from(ikm).toString("hex");
138
+ const isLarge = (typeof ikm === "string" ? ikm.length : ikm.length) > 32768;
139
+ const hexIkm = isLarge
140
+ ? {
141
+ __stdin: true,
142
+ data: typeof ikm === "string" ? ikm : Buffer.from(ikm),
143
+ }
144
+ : typeof ikm === "string"
145
+ ? Buffer.from(ikm).toString("hex")
146
+ : Buffer.from(ikm).toString("hex");
114
147
  const hexSalt = typeof salt === "string"
115
148
  ? Buffer.from(salt).toString("hex")
116
149
  : Buffer.from(salt).toString("hex");
@@ -120,8 +153,10 @@ exports.Bridge = {
120
153
  return exports.Bridge._call("hkdf", hexIkm, hexSalt, hexInfo, len);
121
154
  },
122
155
  pbkdf2: (pass, salt, iterations, keyLen, algo = "sha256") => {
156
+ const isLarge = pass.length > 32768;
157
+ const argPass = isLarge ? { __stdin: true, data: pass } : pass;
123
158
  const hexSalt = Buffer.from(salt).toString("hex");
124
- return exports.Bridge._call("pbkdf2", pass, hexSalt, iterations, keyLen, algo);
159
+ return exports.Bridge._call("pbkdf2", argPass, hexSalt, iterations, keyLen, algo);
125
160
  },
126
161
  constantTimeCompare: (a, b) => {
127
162
  const hexA = Buffer.from(a).toString("hex");
@@ -131,9 +166,12 @@ exports.Bridge = {
131
166
  encrypt: (data, key, algo = "aes") => exports.Bridge._call("encrypt", data, key, algo),
132
167
  decrypt: (encrypted, key, algo = "aes") => exports.Bridge._call("decrypt", encrypted, key, algo),
133
168
  encryptRaw: (data, key, algo = "aes") => {
134
- const hexData = Buffer.from(data).toString("hex");
169
+ const isLarge = data.length > 32768;
170
+ const argData = isLarge
171
+ ? { __stdin: true, data: Buffer.from(data) }
172
+ : Buffer.from(data).toString("hex");
135
173
  const hexKey = Buffer.from(key).toString("hex");
136
- return exports.Bridge._call("encrypt-raw", hexData, hexKey, algo);
174
+ return exports.Bridge._call("encrypt-raw", argData, hexKey, algo);
137
175
  },
138
176
  decryptRaw: (encryptedHex, key, algo = "aes") => {
139
177
  const hexKey = Buffer.from(key).toString("hex");
@@ -158,5 +196,23 @@ exports.Bridge = {
158
196
  const hexKey = Buffer.from(key).toString("hex");
159
197
  return exports.Bridge._call("decrypt-file", inPath, outPath, hexKey);
160
198
  },
199
+ ed25519Verify: (publicKey, data, signature) => {
200
+ const hexPub = typeof publicKey === "string"
201
+ ? publicKey
202
+ : Buffer.from(publicKey).toString("hex");
203
+ const isLarge = (typeof data === "string" ? data.length : data.length) > 32768;
204
+ const argData = isLarge
205
+ ? {
206
+ __stdin: true,
207
+ data: typeof data === "string" ? data : Buffer.from(data),
208
+ }
209
+ : typeof data === "string"
210
+ ? Buffer.from(data).toString("hex")
211
+ : Buffer.from(data).toString("hex");
212
+ const b64Sig = typeof signature === "string"
213
+ ? signature
214
+ : Buffer.from(signature).toString("base64");
215
+ return exports.Bridge._call("ed25519-verify", hexPub, argData, b64Sig) === "1";
216
+ },
161
217
  };
162
218
  //# sourceMappingURL=bridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../src/core/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../src/core/bridge.ts"],"names":[],"mappings":";AAAA;;;8EAG8E;;;AAE9E,+BAA4B;AAC5B,iDAA0C;AAE1C,uBAAuB;AACvB,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AAE7D;;;;GAIG;AACH;;;;GAIG;AACH,MAAM,aAAa,GAAG,GAAG,EAAE;IACzB,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,MAAM,UAAU,GAAG,kBAAkB,SAAS,EAAE,CAAC;IAEjD,MAAM,aAAa,GAAG;QACpB,oFAAoF;QACpF,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC;QACrE,wEAAwE;QACxE,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC;QAC/D,yDAAyD;QACzD,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC;QACvD,wDAAwD;QACxD,IAAA,WAAI,EACF,OAAO,CAAC,GAAG,EAAE,EACb,cAAc,EACd,kBAAkB,EAClB,KAAK,EACL,eAAe,EACf,UAAU,CACX;QACD,yDAAyD;QACzD,IAAA,WAAI,EAAC,SAAS,EAAE,UAAU,CAAC;KAC5B,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,oCAAoC;gBACpC,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,KAAK,CAAC,MAAM,EAAE;oBAAE,OAAO,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,yCAAyC;QAC3C,CAAC;IACH,CAAC;IAED,sFAAsF;IACtF,OAAO,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;AACjE,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAEhC;;GAEG;AACU,QAAA,MAAM,GAAG;IACpB;;;OAGG;IACH,KAAK,EAAE,CAAC,OAAe,EAAE,GAAG,IAAW,EAAU,EAAE;QACjD,IAAI,KAAkC,CAAC;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/B,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC5C,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC;gBACf,OAAO,GAAG,CAAC;YACb,CAAC;YACD,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAEtE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,IAAK,MAAM,CAAC,KAAa,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CACb,iGAAiG,CAClG,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CACb,oCAAoC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAC3D,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,YAAY,EAAE,CACZ,IAAY,EACZ,OAAe,UAAU,EACzB,aAAqB,CAAC,EACtB,SAAiB,CAAC,EAClB,cAAsB,CAAC,EACvB,EAAE,CACF,cAAM,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC;IAE5E,cAAc,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE,CAC7C,cAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG;IAErD,QAAQ,EAAE,CAAC,IAAY,EAAE,IAAa,EAAE,EAAE,CACxC,cAAM,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG;IAE/C,gBAAgB,EAAE,CAAC,GAAW,EAAE,UAAkB,EAAE,EAAE,EAAE,CACtD,cAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,EAAE,OAAO,CAAC;IAEjD,cAAc,EAAE,CAAC,GAAW,EAAE,EAAE;QAC9B,MAAM,GAAG,GAAG,cAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC3C,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,YAAY,EAAE,CAAC,GAAW,EAAE,EAAE;QAC5B,MAAM,GAAG,GAAG,cAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;QAChD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,WAAW,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,cAAM,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC;IAErE,IAAI,EAAE,CAAC,IAAyB,EAAE,OAAe,QAAQ,EAAE,EAAE;QAC3D,MAAM,OAAO,GACX,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QACjE,MAAM,GAAG,GAAG,OAAO;YACjB,CAAC,CAAC;gBACE,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;aAC1D;YACH,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ;gBACxB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACnC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAExC,OAAO,cAAM,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,EAAE,CAAC,IAAyB,EAAE,EAAE;QACpC,MAAM,OAAO,GACX,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QACjE,MAAM,GAAG,GAAG,OAAO;YACjB,CAAC,CAAC;gBACE,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;aAC1D;YACH,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ;gBACxB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACnC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAExC,OAAO,cAAM,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,EAAE,CACJ,GAAwB,EACxB,IAAyB,EACzB,OAAe,QAAQ,EACvB,EAAE;QACF,MAAM,MAAM,GACV,OAAO,GAAG,KAAK,QAAQ;YACrB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YAClC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEvC,MAAM,OAAO,GACX,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QACjE,MAAM,OAAO,GAAG,OAAO;YACrB,CAAC,CAAC;gBACE,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;aAC1D;YACH,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ;gBACxB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACnC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAExC,OAAO,cAAM,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,EAAE,CACJ,GAAwB,EACxB,IAAyB,EACzB,IAAyB,EACzB,GAAW,EACX,EAAE;QACF,MAAM,OAAO,GAAG,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QAC5E,MAAM,MAAM,GAAG,OAAO;YACpB,CAAC,CAAC;gBACE,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;aACvD;YACH,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ;gBACvB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAClC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEvC,MAAM,OAAO,GACX,OAAO,IAAI,KAAK,QAAQ;YACtB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YACnC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,OAAO,GACX,OAAO,IAAI,KAAK,QAAQ;YACtB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YACnC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxC,OAAO,cAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,EAAE,CACN,IAAY,EACZ,IAAgB,EAChB,UAAkB,EAClB,MAAc,EACd,OAAe,QAAQ,EACvB,EAAE;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClD,OAAO,cAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5E,CAAC;IAED,mBAAmB,EAAE,CAAC,CAAa,EAAE,CAAa,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO,cAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC;IACnE,CAAC;IAED,OAAO,EAAE,CAAC,IAAY,EAAE,GAAW,EAAE,OAAe,KAAK,EAAE,EAAE,CAC3D,cAAM,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC;IAE1C,OAAO,EAAE,CAAC,SAAiB,EAAE,GAAW,EAAE,OAAe,KAAK,EAAE,EAAE,CAChE,cAAM,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC;IAE/C,UAAU,EAAE,CAAC,IAAgB,EAAE,GAAe,EAAE,OAAe,KAAK,EAAE,EAAE;QACtE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpC,MAAM,OAAO,GAAG,OAAO;YACrB,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC5C,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChD,OAAO,cAAM,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,UAAU,EAAE,CAAC,YAAoB,EAAE,GAAe,EAAE,OAAe,KAAK,EAAE,EAAE;QAC1E,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChD,OAAO,cAAM,CAAC,KAAK,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,oBAAoB,EAAE,GAAG,EAAE,CAAC,cAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC;IACnE,qBAAqB,EAAE,GAAG,EAAE,CAAC,cAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC;IACrE,wBAAwB,EAAE,CAAC,IAAY,EAAE,GAAW,EAAE,EAAE,CACtD,cAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,IAAI,EAAE,GAAG,CAAC;IACxD,cAAc,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,cAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC9D,aAAa,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,MAAM,CAAC,cAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;IAC5E,iBAAiB,EAAE,CAAC,GAAW,EAAE,MAAc,EAAE,EAAE,CACjD,cAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,GAAG;IAE3D,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,cAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3E,OAAO,EAAE,CAAC,UAAkB,EAAE,IAAY,EAAE,EAAE,CAC5C,cAAM,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC;IAC5C,SAAS,EAAE,CAAC,SAAiB,EAAE,IAAY,EAAE,SAAiB,EAAE,EAAE,CAChE,cAAM,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG;IAChE,UAAU,EAAE,CAAC,SAAiB,EAAE,IAAY,EAAE,EAAE,CAC9C,cAAM,CAAC,KAAK,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC;IAC9C,UAAU,EAAE,CAAC,UAAkB,EAAE,YAAoB,EAAE,EAAE,CACvD,cAAM,CAAC,KAAK,CAAC,aAAa,EAAE,UAAU,EAAE,YAAY,CAAC;IAEvD,WAAW,EAAE,CACX,MAAc,EACd,OAAe,EACf,GAAe,EACf,OAAe,KAAK,EACpB,EAAE;QACF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChD,OAAO,cAAM,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;IAED,WAAW,EAAE,CAAC,MAAc,EAAE,OAAe,EAAE,GAAe,EAAE,EAAE;QAChE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChD,OAAO,cAAM,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;IAED,aAAa,EAAE,CACb,SAA8B,EAC9B,IAAyB,EACzB,SAA8B,EAC9B,EAAE;QACF,MAAM,MAAM,GACV,OAAO,SAAS,KAAK,QAAQ;YAC3B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE7C,MAAM,OAAO,GACX,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QACjE,MAAM,OAAO,GAAG,OAAO;YACrB,CAAC,CAAC;gBACE,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;aAC1D;YACH,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ;gBACxB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACnC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAExC,MAAM,MAAM,GACV,OAAO,SAAS,KAAK,QAAQ;YAC3B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEhD,OAAO,cAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC;IACzE,CAAC;CACF,CAAC"}
@@ -51,15 +51,62 @@ export declare class Keys {
51
51
  */
52
52
  static rsaDecrypt(privateKey: string, encryptedHex: string): Promise<string>;
53
53
  /**
54
- * Encrypt a large file using high-performance chunked encryption.
55
- * Atomic operation: writes to a temporary file and renames on success.
54
+ * Verifies an Ed25519 signature.
55
+ * @param publicKey - The public key (hex or Uint8Array).
56
+ * @param data - The data that was signed (string or Uint8Array).
57
+ * @param signature - The signature (base64 or Uint8Array).
58
+ * @returns True if valid.
59
+ */
60
+ static ed25519Verify(publicKey: string | Uint8Array, data: string | Uint8Array, signature: string | Uint8Array): boolean;
61
+ /**
62
+ * Encrypts a large file using high-performance, hardware-accelerated chunking.
63
+ *
64
+ * @description
65
+ * Processes files via a native encryption bridge using derived keys (PBKDF2).
66
+ * Implements a staging strategy to ensure data integrity: ciphertext is
67
+ * finalized with a 32-byte salt header before an atomic move to the target path.
68
+ *
69
+ * @param {string} inputPath - Absolute path to the source file.
70
+ * @param {string} outputPath - Target destination for the encrypted data.
71
+ * @param {string} key - Raw passphrase for cryptographic derivation.
72
+ * @param {object} [options={}] - Encryption parameters.
73
+ * @param {string} [options.algorithm="aes-256-gcm"] - Selection of the cipher suite.
74
+ * @param {number} [options.keyDerivationIterations=100000] - Cost factor for PBKDF2.
75
+ * @param {boolean} [options.quantumSafe=false] - If true, enforces Post-Quantum resistant ciphers.
76
+ *
77
+ * @throws {Error | SystemError} On bridge failure, I/O exhaustion, or permission issues.
78
+ * @returns {Promise<void>}
79
+ *
80
+ * @example
81
+ * await Cipher.crypto.encryptFile('./data.zip', './data.vault', 'secret-key');
56
82
  */
57
83
  static encryptFile(inputPath: string, outputPath: string, key: string, options?: any): Promise<void>;
58
84
  /**
59
- * Decrypt a large file.
60
- * Atomic operation: writes to a temporary file and renames on success.
85
+ * Decrypts a large file using PBKDF2 key derivation and a secure bridge.
86
+ *
87
+ * @description
88
+ * This method extracts a 32-byte salt from the input file header, derives a 256-bit key
89
+ * (100,000 iterations), and performs decryption via temporary staging files to
90
+ * ensure data integrity. The final output is moved atomically.
91
+ *
92
+ * @param {string} inputPath - Absolute path to the encrypted source file.
93
+ * @param {string} outputPath - Destination path for the decrypted plaintext.
94
+ * @param {string} key - The raw passphrase used for key derivation.
95
+ *
96
+ * @throws {Error} If the salt extraction fails or the decryption bridge returns an error.
97
+ * @throws {SystemError} If disk space is insufficient for temp files or if file moves fail.
98
+ *
99
+ * @returns {Promise<void>} Resolves once the file is successfully decrypted and moved to `outputPath`.
100
+ *
101
+ * @example
102
+ * await Cipher.crypto.decryptFile('./vault.enc', './vault.txt', 'super-secret-key');
61
103
  */
62
104
  static decryptFile(inputPath: string, outputPath: string, key: string): Promise<void>;
105
+ /**
106
+ * Moves a file atomically from src to dest.
107
+ * Handles EXDEV errors for cross-partition moves.
108
+ */
109
+ private static moveFileAtomic;
63
110
  }
64
111
  /**
65
112
  * Generates a high-entropy 4096-bit RSA key pair.
@@ -100,6 +147,15 @@ export declare const rsaEncrypt: typeof Keys.rsaEncrypt;
100
147
  * @returns A promise resolving to the decrypted plaintext string.
101
148
  */
102
149
  export declare const rsaDecrypt: typeof Keys.rsaDecrypt;
150
+ /**
151
+ * Verifies an Ed25519 signature.
152
+ *
153
+ * @param publicKey - Public key (hex or Uint8Array).
154
+ * @param data - Original data.
155
+ * @param signature - Signature (base64 or Uint8Array).
156
+ * @returns True if valid.
157
+ */
158
+ export declare const ed25519Verify: typeof Keys.ed25519Verify;
103
159
  /**
104
160
  * Derives a cryptographically strong key from an input secret.
105
161
  * Supports multiple algorithms including Argon2id, PBKDF2, and HKDF.
@@ -1 +1 @@
1
- {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/core/keys.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAKhD,qBAAa,IAAI;IACf;;;;;;;OAOG;WACiB,SAAS,CAC3B,KAAK,EAAE,MAAM,GAAG,UAAU,EAC1B,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,MAAM,CAAC;IAuClB;;;OAGG;WACiB,kBAAkB,IAAI,OAAO,CAAC;QAChD,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IAIF;;;;;OAKG;WACiB,OAAO,CACzB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC;IAIlB;;;;;;OAMG;WACiB,SAAS,CAC3B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC;IAInB;;;;;OAKG;WACiB,UAAU,CAC5B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC;IAIlB;;;;;OAKG;WACiB,UAAU,CAC5B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC;IAIlB;;;OAGG;WACiB,WAAW,CAC7B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,GAAQ,GAChB,OAAO,CAAC,IAAI,CAAC;IA8DhB;;;OAGG;WACiB,WAAW,CAC7B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC;CAmDjB;AAID;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,gCAA0B,CAAC;AAE1D;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,qBAAe,CAAC;AAEpC;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,uBAAiB,CAAC;AAExC;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,wBAAkB,CAAC;AAE1C;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,wBAAkB,CAAC;AAE1C;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,uBAAiB,CAAC"}
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/core/keys.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAKhD,qBAAa,IAAI;IACf;;;;;;;OAOG;WACiB,SAAS,CAC3B,KAAK,EAAE,MAAM,GAAG,UAAU,EAC1B,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,MAAM,CAAC;IAuClB;;;OAGG;WACiB,kBAAkB,IAAI,OAAO,CAAC;QAChD,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IAIF;;;;;OAKG;WACiB,OAAO,CACzB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC;IAIlB;;;;;;OAMG;WACiB,SAAS,CAC3B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC;IAInB;;;;;OAKG;WACiB,UAAU,CAC5B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC;IAIlB;;;;;OAKG;WACiB,UAAU,CAC5B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC;IAIlB;;;;;;OAMG;WACW,aAAa,CACzB,SAAS,EAAE,MAAM,GAAG,UAAU,EAC9B,IAAI,EAAE,MAAM,GAAG,UAAU,EACzB,SAAS,EAAE,MAAM,GAAG,UAAU,GAC7B,OAAO;IAIV;;;;;;;;;;;;;;;;;;;;;OAqBG;WACiB,WAAW,CAC7B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,GAAQ,GAChB,OAAO,CAAC,IAAI,CAAC;IA2DhB;;;;;;;;;;;;;;;;;;;OAmBG;WACiB,WAAW,CAC7B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC;IAkDhB;;;OAGG;mBACkB,cAAc;CAmBpC;AAID;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,gCAA0B,CAAC;AAE1D;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,qBAAe,CAAC;AAEpC;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,uBAAiB,CAAC;AAExC;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,wBAAkB,CAAC;AAE1C;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,wBAAkB,CAAC;AAE1C;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,2BAAqB,CAAC;AAEhD;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,uBAAiB,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * High-performance Go-backed operations
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.deriveKey = exports.rsaDecrypt = exports.rsaEncrypt = exports.rsaVerify = exports.rsaSign = exports.generateRSAKeyPair = exports.Keys = void 0;
7
+ exports.deriveKey = exports.ed25519Verify = exports.rsaDecrypt = exports.rsaEncrypt = exports.rsaVerify = exports.rsaSign = exports.generateRSAKeyPair = exports.Keys = void 0;
8
8
  const Password_1 = require("./Password");
9
9
  const bridge_1 = require("./bridge");
10
10
  const Random_1 = require("./Random");
@@ -83,20 +83,52 @@ class Keys {
83
83
  return bridge_1.Bridge.rsaDecrypt(privateKey, encryptedHex);
84
84
  }
85
85
  /**
86
- * Encrypt a large file using high-performance chunked encryption.
87
- * Atomic operation: writes to a temporary file and renames on success.
86
+ * Verifies an Ed25519 signature.
87
+ * @param publicKey - The public key (hex or Uint8Array).
88
+ * @param data - The data that was signed (string or Uint8Array).
89
+ * @param signature - The signature (base64 or Uint8Array).
90
+ * @returns True if valid.
91
+ */
92
+ static ed25519Verify(publicKey, data, signature) {
93
+ return bridge_1.Bridge.ed25519Verify(publicKey, data, signature);
94
+ }
95
+ /**
96
+ * Encrypts a large file using high-performance, hardware-accelerated chunking.
97
+ *
98
+ * @description
99
+ * Processes files via a native encryption bridge using derived keys (PBKDF2).
100
+ * Implements a staging strategy to ensure data integrity: ciphertext is
101
+ * finalized with a 32-byte salt header before an atomic move to the target path.
102
+ *
103
+ * @param {string} inputPath - Absolute path to the source file.
104
+ * @param {string} outputPath - Target destination for the encrypted data.
105
+ * @param {string} key - Raw passphrase for cryptographic derivation.
106
+ * @param {object} [options={}] - Encryption parameters.
107
+ * @param {string} [options.algorithm="aes-256-gcm"] - Selection of the cipher suite.
108
+ * @param {number} [options.keyDerivationIterations=100000] - Cost factor for PBKDF2.
109
+ * @param {boolean} [options.quantumSafe=false] - If true, enforces Post-Quantum resistant ciphers.
110
+ *
111
+ * @throws {Error | SystemError} On bridge failure, I/O exhaustion, or permission issues.
112
+ * @returns {Promise<void>}
113
+ *
114
+ * @example
115
+ * await Cipher.crypto.encryptFile('./data.zip', './data.vault', 'secret-key');
88
116
  */
89
117
  static async encryptFile(inputPath, outputPath, key, options = {}) {
90
118
  const fs = require("fs");
91
- const { pipeline } = require("stream/promises");
119
+ const os = require("os");
120
+ const path = require("path");
121
+ const { pipeline: pl } = require("stream");
122
+ const { promisify: pr } = require("util");
123
+ const pipelineAsync = pr(pl);
92
124
  const id = Math.random().toString(36).substring(7);
93
- const goTempPath = `${outputPath}.${id}.go.tmp`;
94
- const finalTempPath = `${outputPath}.${id}.out.tmp`;
125
+ const tmpDir = os.tmpdir();
126
+ const goTempPath = path.join(tmpDir, `xy-enc-${id}.go.tmp`);
127
+ const finalTempPath = path.join(tmpDir, `xy-enc-${id}.out.tmp`);
95
128
  try {
96
129
  const { algorithm = "aes-256-gcm", keyDerivationIterations = 100000, quantumSafe = false, } = options;
97
130
  const SALT_LENGTH = 32;
98
131
  const salt = Random_1.Random.getRandomBytes(SALT_LENGTH);
99
- // Derive key
100
132
  const derivedKeyHex = await bridge_1.Bridge.pbkdf2(key, salt.toUint8Array(), keyDerivationIterations, 32, "sha256");
101
133
  const derivedKey = Buffer.from(derivedKeyHex, "hex");
102
134
  const algoTarget = algorithm === "chacha20-poly1305" || quantumSafe ? "chacha20" : "aes";
@@ -105,18 +137,12 @@ class Keys {
105
137
  if (result !== "OK")
106
138
  throw new Error(result);
107
139
  // 2. Combine Salt + Go Output into finalTempPath
108
- const { pipeline: pl } = require("stream");
109
- const { promisify: pr } = require("util");
110
- const pipelineAsync = pr(pl);
111
140
  fs.writeFileSync(finalTempPath, Buffer.from(salt.toUint8Array()));
112
141
  const finalOut = fs.createWriteStream(finalTempPath, { flags: "a" });
113
142
  const goTempIn = fs.createReadStream(goTempPath);
114
143
  await pipelineAsync(goTempIn, finalOut);
115
- // 3. Atomically rename to final output
116
- if (fs.existsSync(outputPath) && inputPath !== outputPath) {
117
- fs.unlinkSync(outputPath);
118
- }
119
- fs.renameSync(finalTempPath, outputPath);
144
+ // 3. Atomically move to final output
145
+ await this.moveFileAtomic(finalTempPath, outputPath);
120
146
  }
121
147
  catch (error) {
122
148
  if (fs.existsSync(finalTempPath))
@@ -129,16 +155,37 @@ class Keys {
129
155
  }
130
156
  }
131
157
  /**
132
- * Decrypt a large file.
133
- * Atomic operation: writes to a temporary file and renames on success.
158
+ * Decrypts a large file using PBKDF2 key derivation and a secure bridge.
159
+ *
160
+ * @description
161
+ * This method extracts a 32-byte salt from the input file header, derives a 256-bit key
162
+ * (100,000 iterations), and performs decryption via temporary staging files to
163
+ * ensure data integrity. The final output is moved atomically.
164
+ *
165
+ * @param {string} inputPath - Absolute path to the encrypted source file.
166
+ * @param {string} outputPath - Destination path for the decrypted plaintext.
167
+ * @param {string} key - The raw passphrase used for key derivation.
168
+ *
169
+ * @throws {Error} If the salt extraction fails or the decryption bridge returns an error.
170
+ * @throws {SystemError} If disk space is insufficient for temp files or if file moves fail.
171
+ *
172
+ * @returns {Promise<void>} Resolves once the file is successfully decrypted and moved to `outputPath`.
173
+ *
174
+ * @example
175
+ * await Cipher.crypto.decryptFile('./vault.enc', './vault.txt', 'super-secret-key');
134
176
  */
135
177
  static async decryptFile(inputPath, outputPath, key) {
136
178
  const fs = require("fs");
137
- const { pipeline } = require("stream/promises");
179
+ const os = require("os");
180
+ const path = require("path");
181
+ const { pipeline: pl2 } = require("stream");
182
+ const { promisify: pr2 } = require("util");
183
+ const pipelineAsync2 = pr2(pl2);
138
184
  const SALT_LENGTH = 32;
139
185
  const id = Math.random().toString(36).substring(7);
140
- const tempInPath = `${inputPath}.${id}.dec.in.tmp`;
141
- const tempOutPath = `${outputPath}.${id}.dec.out.tmp`;
186
+ const tmpDir = os.tmpdir();
187
+ const tempInPath = path.join(tmpDir, `xy-dec-${id}.in.tmp`);
188
+ const tempOutPath = path.join(tmpDir, `xy-dec-${id}.out.tmp`);
142
189
  try {
143
190
  const fd = fs.openSync(inputPath, "r");
144
191
  const salt = Buffer.alloc(SALT_LENGTH);
@@ -147,9 +194,6 @@ class Keys {
147
194
  const derivedKeyHex = await bridge_1.Bridge.pbkdf2(key, salt, 100000, 32, "sha256");
148
195
  const derivedKey = Buffer.from(derivedKeyHex, "hex");
149
196
  // 1. Prepare input for Go (remove salt) into tempInPath
150
- const { pipeline: pl2 } = require("stream");
151
- const { promisify: pr2 } = require("util");
152
- const pipelineAsync2 = pr2(pl2);
153
197
  const finalInStream = fs.createReadStream(inputPath, {
154
198
  start: SALT_LENGTH,
155
199
  });
@@ -159,11 +203,8 @@ class Keys {
159
203
  const result = bridge_1.Bridge.decryptFile(tempInPath, tempOutPath, derivedKey);
160
204
  if (result !== "OK")
161
205
  throw new Error(result);
162
- // 3. Atomically rename to final output
163
- if (fs.existsSync(outputPath) && inputPath !== outputPath) {
164
- fs.unlinkSync(outputPath);
165
- }
166
- fs.renameSync(tempOutPath, outputPath);
206
+ // 3. Atomically move to final output
207
+ await this.moveFileAtomic(tempOutPath, outputPath);
167
208
  }
168
209
  catch (error) {
169
210
  if (fs.existsSync(tempOutPath))
@@ -175,6 +216,29 @@ class Keys {
175
216
  fs.unlinkSync(tempInPath);
176
217
  }
177
218
  }
219
+ /**
220
+ * Moves a file atomically from src to dest.
221
+ * Handles EXDEV errors for cross-partition moves.
222
+ */
223
+ static async moveFileAtomic(src, dest) {
224
+ const fs = require("fs");
225
+ try {
226
+ // Fast path: rename (on same partition)
227
+ if (fs.existsSync(dest) && src !== dest)
228
+ fs.unlinkSync(dest);
229
+ fs.renameSync(src, dest);
230
+ }
231
+ catch (error) {
232
+ // Fallback path: copy + unlink (cross-partition)
233
+ if (error.code === "EXDEV") {
234
+ fs.copyFileSync(src, dest);
235
+ fs.unlinkSync(src);
236
+ }
237
+ else {
238
+ throw error;
239
+ }
240
+ }
241
+ }
178
242
  }
179
243
  exports.Keys = Keys;
180
244
  // =================================== UTILES ==========================
@@ -217,6 +281,15 @@ exports.rsaEncrypt = Keys.rsaEncrypt;
217
281
  * @returns A promise resolving to the decrypted plaintext string.
218
282
  */
219
283
  exports.rsaDecrypt = Keys.rsaDecrypt;
284
+ /**
285
+ * Verifies an Ed25519 signature.
286
+ *
287
+ * @param publicKey - Public key (hex or Uint8Array).
288
+ * @param data - Original data.
289
+ * @param signature - Signature (base64 or Uint8Array).
290
+ * @returns True if valid.
291
+ */
292
+ exports.ed25519Verify = Keys.ed25519Verify;
220
293
  /**
221
294
  * Derives a cryptographically strong key from an input secret.
222
295
  * Supports multiple algorithms including Argon2id, PBKDF2, and HKDF.
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/core/keys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/core/keys.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xypriss-security",
3
- "version": "2.1.12",
3
+ "version": "2.1.16",
4
4
  "description": "Advanced High-Performance Security Framework. Military-grade encryption, post-quantum resilience, and fortified data structures.",
5
5
  "author": {
6
6
  "name": "NEHONIX",