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 +13 -1
- package/dist/src/core/bridge.d.ts +3 -1
- package/dist/src/core/bridge.d.ts.map +1 -1
- package/dist/src/core/bridge.js +79 -23
- package/dist/src/core/bridge.js.map +1 -1
- package/dist/src/core/keys.d.ts +60 -4
- package/dist/src/core/keys.d.ts.map +1 -1
- package/dist/src/core/keys.js +101 -28
- package/dist/src/core/keys.js.map +1 -1
- package/package.json +1 -1
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
|
|
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"}
|
package/dist/src/core/bridge.js
CHANGED
|
@@ -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
|
-
|
|
63
|
-
|
|
64
|
-
|
|
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
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
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
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
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
|
|
112
|
-
|
|
113
|
-
|
|
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",
|
|
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
|
|
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",
|
|
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":"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"}
|
package/dist/src/core/keys.d.ts
CHANGED
|
@@ -51,15 +51,62 @@ export declare class Keys {
|
|
|
51
51
|
*/
|
|
52
52
|
static rsaDecrypt(privateKey: string, encryptedHex: string): Promise<string>;
|
|
53
53
|
/**
|
|
54
|
-
*
|
|
55
|
-
*
|
|
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
|
-
*
|
|
60
|
-
*
|
|
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
|
|
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"}
|
package/dist/src/core/keys.js
CHANGED
|
@@ -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
|
-
*
|
|
87
|
-
*
|
|
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
|
|
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
|
|
94
|
-
const
|
|
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
|
|
116
|
-
|
|
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
|
-
*
|
|
133
|
-
*
|
|
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
|
|
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
|
|
141
|
-
const
|
|
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
|
|
163
|
-
|
|
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