xypriss-security 2.1.2 → 2.1.4

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,7 +6,7 @@ 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, and Post-Quantum algorithms (Kyber-768).
9
+ - **Modern Standards**: Native support for 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
11
  - **Zero-Config Installation**: Automatically downloads the exact pre-built binary for your platform during installation (no local Go toolchain required).
12
12
 
@@ -16,7 +16,8 @@ The framework documentation is modularized for clarity and depth.
16
16
 
17
17
  ### Modules
18
18
 
19
- - [Core](docs/modules/core.md) - Foundational primitives (Hash, Random, Password, SecureBuffer).
19
+ - [Core](docs/modules/core.md) - Foundational primitives (Hash, Random, Password, SecureBuffer, XyPrissSecurity).
20
+ - [RSA and Byte Utilities](docs/modules/rsa-and-byte-utils.md) - RSA-PSS signing, RSA-OAEP encryption, key generation, and UTF-8 byte validation.
20
21
  - [Cache](docs/modules/cache.md) - Ultra-fast secure in-memory cache system (UFSIMC).
21
22
  - [Encryption](docs/modules/encryption.md) - High-level data protection services.
22
23
  - [Utilities](docs/modules/utils.md) - Encoding and general helpers.
@@ -82,6 +83,69 @@ const passwords = new pm({
82
83
  // 2. Use everywhere
83
84
  const hash = await passwords.hash("user-password-123");
84
85
  const isValid = await passwords.verify("user-password-123", hash);
86
+
87
+ // 3. Detect if a string is already hashed (useful in upsert flows)
88
+ const alreadyHashed = passwords.isHashed(hash); // true
89
+ const notHashed = passwords.isHashed("plane-text"); // false
90
+ ```
91
+
92
+ ### RSA Asymmetric Cryptography
93
+
94
+ ```typescript
95
+ import {
96
+ generateRSAKeyPair,
97
+ rsaSign,
98
+ rsaVerify,
99
+ rsaEncrypt,
100
+ rsaDecrypt,
101
+ } from "xypriss-security";
102
+
103
+ // Generate a 4096-bit key pair (do this once, persist securely)
104
+ const { publicKey, privateKey } = await generateRSAKeyPair();
105
+
106
+ // Sign a payload with your private key
107
+ const signature = await rsaSign(privateKey, "critical-payload");
108
+
109
+ // Verify on the receiver side
110
+ const isValid = await rsaVerify(publicKey, "critical-payload", signature);
111
+ console.log(isValid); // true
112
+
113
+ // Encrypt small data (e.g., symmetric keys) with a public key
114
+ const encrypted = await rsaEncrypt(publicKey, "short-secret");
115
+ const decrypted = await rsaDecrypt(privateKey, encrypted);
116
+ console.log(decrypted); // "short-secret"
117
+ ```
118
+
119
+ ### Hash Detection
120
+
121
+ ```typescript
122
+ import { pm } from "xypriss-security";
123
+
124
+ const passwords = new pm({ algorithm: "argon2id" });
125
+ const hash = await passwords.hash("user-password");
126
+
127
+ // Check before re-hashing
128
+ if (!passwords.isHashed(rawInput)) {
129
+ const stored = await passwords.hash(rawInput);
130
+ }
131
+ ```
132
+
133
+ ### Byte-Safe Length Validation
134
+
135
+ JavaScript's `.length` counts characters, not bytes. For multi-byte Unicode, this distinction is critical in cryptographic contexts.
136
+
137
+ ```typescript
138
+ import { getByteLength, isValidByteLength } from "xypriss-security";
139
+
140
+ // "caf\u00e9" has 4 characters but 5 bytes in UTF-8
141
+ console.log("cafe\u0301".length); // 5 (chars)
142
+ console.log(getByteLength("cafe\u0301")); // 6 (bytes)
143
+
144
+ // Validate AES-256 key material (must be exactly 32 bytes)
145
+ const keyCandidate = "exactly-32-bytes-long-passphrase";
146
+ if (!isValidByteLength(keyCandidate, 32)) {
147
+ throw new Error("Invalid key length.");
148
+ }
85
149
  ```
86
150
 
87
151
  ### Ultra-Fast Secure Caching (UFSIMC)
@@ -4,6 +4,7 @@
4
4
  export declare const fastStringify: (obj: any) => string;
5
5
  export declare const safeStringify: (obj: any) => string;
6
6
  export declare const XyPriStringify: (obj: any) => string;
7
+ export { XyPriStringify as XStringify };
7
8
  export declare const generateSafeCacheKey: (args: any[], prefix?: string) => string;
8
9
  export declare const debugLog: (label: string, obj: any) => void;
9
10
  export declare const auditStringify: (obj: any) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/serializer/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,eAAO,MAAM,aAAa,GAAI,KAAK,GAAG,KAAG,MAC2B,CAAC;AAGrE,eAAO,MAAM,aAAa,GAAI,KAAK,GAAG,KAAG,MACW,CAAC;AAGrD,eAAO,MAAM,cAAc,GAAI,KAAK,GAAG,KAAG,MACe,CAAC;AAG1D,eAAO,MAAM,oBAAoB,GAAI,MAAM,GAAG,EAAE,EAAE,SAAS,MAAM,KAAG,MACrB,CAAC;AAGhD,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,EAAE,KAAK,GAAG,KAAG,IACd,CAAC;AAGtC,eAAO,MAAM,cAAc,GAAI,KAAK,GAAG,KAAG,MACZ,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/serializer/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,eAAO,MAAM,aAAa,GAAI,KAAK,GAAG,KAAG,MAC2B,CAAC;AAGrE,eAAO,MAAM,aAAa,GAAI,KAAK,GAAG,KAAG,MACW,CAAC;AAGrD,eAAO,MAAM,cAAc,GAAI,KAAK,GAAG,KAAG,MACe,CAAC;AAC1D,OAAO,EAAE,cAAc,IAAI,UAAU,EAAE,CAAC;AAExC,eAAO,MAAM,oBAAoB,GAAI,MAAM,GAAG,EAAE,EAAE,SAAS,MAAM,KAAG,MACrB,CAAC;AAGhD,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,EAAE,KAAK,GAAG,KAAG,IACd,CAAC;AAGtC,eAAO,MAAM,cAAc,GAAI,KAAK,GAAG,KAAG,MACZ,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,cAAc,SAAS,CAAC"}
@@ -17,7 +17,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
17
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.SafeSerializer = exports.auditStringify = exports.debugLog = exports.generateSafeCacheKey = exports.XyPriStringify = exports.safeStringify = exports.fastStringify = void 0;
20
+ exports.SafeSerializer = exports.auditStringify = exports.debugLog = exports.generateSafeCacheKey = exports.XStringify = exports.XyPriStringify = exports.safeStringify = exports.fastStringify = void 0;
21
21
  const safe_serializer_1 = require("./safe-serializer");
22
22
  // Ultra-fast serialization for performance-critical paths
23
23
  const fastStringify = (obj) => safe_serializer_1.SafeSerializer.stringify(obj, { fastMode: true, maxLength: 1000 });
@@ -28,6 +28,7 @@ exports.safeStringify = safeStringify;
28
28
  // XyPriss-safe serialization for req/res objects
29
29
  const XyPriStringify = (obj) => safe_serializer_1.SafeSerializer.XyPriStringify(obj, { fastMode: false });
30
30
  exports.XyPriStringify = XyPriStringify;
31
+ exports.XStringify = exports.XyPriStringify;
31
32
  // Cache key generation
32
33
  const generateSafeCacheKey = (args, prefix) => safe_serializer_1.SafeSerializer.generateCacheKey(args, prefix);
33
34
  exports.generateSafeCacheKey = generateSafeCacheKey;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/serializer/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;AAEH,uDAAmD;AAEnD,0DAA0D;AACnD,MAAM,aAAa,GAAG,CAAC,GAAQ,EAAU,EAAE,CAChD,gCAAc,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AADxD,QAAA,aAAa,iBAC2C;AAErE,yCAAyC;AAClC,MAAM,aAAa,GAAG,CAAC,GAAQ,EAAU,EAAE,CAChD,gCAAc,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AADxC,QAAA,aAAa,iBAC2B;AAErD,iDAAiD;AAC1C,MAAM,cAAc,GAAG,CAAC,GAAQ,EAAU,EAAE,CACjD,gCAAc,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AAD7C,QAAA,cAAc,kBAC+B;AAE1D,uBAAuB;AAChB,MAAM,oBAAoB,GAAG,CAAC,IAAW,EAAE,MAAe,EAAU,EAAE,CAC3E,gCAAc,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AADnC,QAAA,oBAAoB,wBACe;AAEhD,gBAAgB;AACT,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,GAAQ,EAAQ,EAAE,CACxD,gCAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AADzB,QAAA,QAAQ,YACiB;AAEtC,gBAAgB;AACT,MAAM,cAAc,GAAG,CAAC,GAAQ,EAAU,EAAE,CACjD,gCAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AADlB,QAAA,cAAc,kBACI;AAE/B,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AAEvB,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/serializer/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;AAEH,uDAAmD;AAEnD,0DAA0D;AACnD,MAAM,aAAa,GAAG,CAAC,GAAQ,EAAU,EAAE,CAChD,gCAAc,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AADxD,QAAA,aAAa,iBAC2C;AAErE,yCAAyC;AAClC,MAAM,aAAa,GAAG,CAAC,GAAQ,EAAU,EAAE,CAChD,gCAAc,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AADxC,QAAA,aAAa,iBAC2B;AAErD,iDAAiD;AAC1C,MAAM,cAAc,GAAG,CAAC,GAAQ,EAAU,EAAE,CACjD,gCAAc,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AAD7C,QAAA,cAAc,kBAC+B;AAC/B,qBAFd,sBAAc,CAEU;AACrC,uBAAuB;AAChB,MAAM,oBAAoB,GAAG,CAAC,IAAW,EAAE,MAAe,EAAU,EAAE,CAC3E,gCAAc,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AADnC,QAAA,oBAAoB,wBACe;AAEhD,gBAAgB;AACT,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,GAAQ,EAAQ,EAAE,CACxD,gCAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AADzB,QAAA,QAAQ,YACiB;AAEtC,gBAAgB;AACT,MAAM,cAAc,GAAG,CAAC,GAAQ,EAAU,EAAE,CACjD,gCAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AADlB,QAAA,cAAc,kBACI;AAE/B,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AAEvB,0CAAwB"}
@@ -4,12 +4,13 @@
4
4
  import { Bridge } from "./bridge";
5
5
  import { SecureBuffer } from "./SecureBuffer";
6
6
  import { SecureTokenOptions } from "../types";
7
+ import { Keys } from "./keys";
7
8
  /**
8
9
  * ### Random Class
9
10
  *
10
11
  * Cryptographically secure random number and token generation.
11
12
  */
12
- export declare class Random {
13
+ export declare class Random extends Keys {
13
14
  /**
14
15
  * Generates a readable secure random token with specified constraints.
15
16
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Random.d.ts","sourceRoot":"","sources":["../../../src/core/Random.ts"],"names":[],"mappings":"AAAA;;8EAE8E;AAE9E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAG9C;;;;GAIG;AACH,qBAAa,MAAM;IACjB;;;;;;OAMG;WACW,aAAa,CACzB,MAAM,GAAE,MAAW,EACnB,OAAO,GAAE,kBAAuB,GAC/B,YAAY;IA2Bf;;OAEG;WACW,WAAW,CAAC,MAAM,GAAE,MAAU,GAAG,MAAM;IAMrD;;OAEG;WACW,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAI/C;;;;;OAKG;WACW,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAK1D;;;;;;OAMG;WACW,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM;IAUzD;;OAEG;WACW,KAAK,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,cAAc,CAAC;IAIrE;;OAEG;WACW,GAAG,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,WAAW,CAAC;IAIhE;;OAEG;WACW,mBAAmB,CAC/B,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,aAAa,CAAC;CAInD"}
1
+ {"version":3,"file":"Random.d.ts","sourceRoot":"","sources":["../../../src/core/Random.ts"],"names":[],"mappings":"AAAA;;8EAE8E;AAE9E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B;;;;GAIG;AACH,qBAAa,MAAO,SAAQ,IAAI;IAC9B;;;;;;OAMG;WACW,aAAa,CACzB,MAAM,GAAE,MAAW,EACnB,OAAO,GAAE,kBAAuB,GAC/B,YAAY;IA2Bf;;OAEG;WACW,WAAW,CAAC,MAAM,GAAE,MAAU,GAAG,MAAM;IAMrD;;OAEG;WACW,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAI/C;;;;;OAKG;WACW,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAK1D;;;;;;OAMG;WACW,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM;IAUzD;;OAEG;WACW,KAAK,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,cAAc,CAAC;IAIrE;;OAEG;WACW,GAAG,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,WAAW,CAAC;IAIhE;;OAEG;WACW,mBAAmB,CAC/B,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,aAAa,CAAC;CAInD"}
@@ -7,12 +7,13 @@ exports.Random = void 0;
7
7
  const bridge_1 = require("./bridge");
8
8
  const SecureBuffer_1 = require("./SecureBuffer");
9
9
  const utils_1 = require("../utils");
10
+ const keys_1 = require("./keys");
10
11
  /**
11
12
  * ### Random Class
12
13
  *
13
14
  * Cryptographically secure random number and token generation.
14
15
  */
15
- class Random {
16
+ class Random extends keys_1.Keys {
16
17
  /**
17
18
  * Generates a readable secure random token with specified constraints.
18
19
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Random.js","sourceRoot":"","sources":["../../../src/core/Random.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Random.js","sourceRoot":"","sources":["../../../src/core/Random.ts"],"names":[],"mappings":"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"}
@@ -19,5 +19,21 @@ export declare class XyPrissSecurity {
19
19
  * Performs an environment security check to ensure integrity.
20
20
  */
21
21
  static verifyRuntimeSecurity(): boolean;
22
+ /**
23
+ * Returns the actual byte length of a string (UTF-8 encoded).
24
+ * Useful for strict buffer checks where character count differs from byte count.
25
+ *
26
+ * @param str - The string to measure.
27
+ * @returns The number of bytes in the string.
28
+ */
29
+ static getByteLength(str: string): number;
30
+ /**
31
+ * Verifies if a string has exactly the expected byte length.
32
+ *
33
+ * @param str - The string to check.
34
+ * @param expectedLength - The expected number of bytes.
35
+ * @returns True if the string byte length matches expectedLength.
36
+ */
37
+ static isValidByteLength(str: string, expectedLength: number): boolean;
22
38
  }
23
39
  //# sourceMappingURL=XyPrissSecurity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"XyPrissSecurity.d.ts","sourceRoot":"","sources":["../../../src/core/XyPrissSecurity.ts"],"names":[],"mappings":"AAAA;;8EAE8E;AAG9E,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;;;GAIG;AACH,qBAAa,eAAe;IAC1B;;;;;OAKG;WACW,cAAc,CAAC,OAAO,GAAE,aAAkB,GAAG,MAAM;IAyBjE;;OAEG;WACW,qBAAqB,IAAI,OAAO;CAG/C"}
1
+ {"version":3,"file":"XyPrissSecurity.d.ts","sourceRoot":"","sources":["../../../src/core/XyPrissSecurity.ts"],"names":[],"mappings":"AAAA;;8EAE8E;AAG9E,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;;;GAIG;AACH,qBAAa,eAAe;IAC1B;;;;;OAKG;WACW,cAAc,CAAC,OAAO,GAAE,aAAkB,GAAG,MAAM;IAyBjE;;OAEG;WACW,qBAAqB,IAAI,OAAO;IAI9C;;;;;;OAMG;WACW,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIhD;;;;;;OAMG;WACW,iBAAiB,CAC7B,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,MAAM,GACrB,OAAO;CAGX"}
@@ -39,6 +39,26 @@ class XyPrissSecurity {
39
39
  static verifyRuntimeSecurity() {
40
40
  return true;
41
41
  }
42
+ /**
43
+ * Returns the actual byte length of a string (UTF-8 encoded).
44
+ * Useful for strict buffer checks where character count differs from byte count.
45
+ *
46
+ * @param str - The string to measure.
47
+ * @returns The number of bytes in the string.
48
+ */
49
+ static getByteLength(str) {
50
+ return bridge_1.Bridge.getByteLength(str);
51
+ }
52
+ /**
53
+ * Verifies if a string has exactly the expected byte length.
54
+ *
55
+ * @param str - The string to check.
56
+ * @param expectedLength - The expected number of bytes.
57
+ * @returns True if the string byte length matches expectedLength.
58
+ */
59
+ static isValidByteLength(str, expectedLength) {
60
+ return bridge_1.Bridge.isValidByteLength(str, expectedLength);
61
+ }
42
62
  }
43
63
  exports.XyPrissSecurity = XyPrissSecurity;
44
64
  //# sourceMappingURL=XyPrissSecurity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"XyPrissSecurity.js","sourceRoot":"","sources":["../../../src/core/XyPrissSecurity.ts"],"names":[],"mappings":";AAAA;;8EAE8E;;;AAE9E,qCAAkC;AAGlC;;;;GAIG;AACH,MAAa,eAAe;IAC1B;;;;;OAKG;IACI,MAAM,CAAC,cAAc,CAAC,UAAyB,EAAE;QACtD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;QACtC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,GAAG,CAAC;QAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;QACpD,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,KAAK,KAAK,CAAC;QAE5D,MAAM,MAAM,GAAG,eAAM,CAAC,gBAAgB,CACpC,YAAY,EACZ,gEAAgE,CACjE,CAAC;QAEF,IAAI,GAAG,GAAG,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAAC;QAE3C,IAAI,gBAAgB,EAAE,CAAC;YACrB,GAAG,GAAG,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAAC;QAClE,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAChE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7B,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,qBAAqB;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAtCD,0CAsCC"}
1
+ {"version":3,"file":"XyPrissSecurity.js","sourceRoot":"","sources":["../../../src/core/XyPrissSecurity.ts"],"names":[],"mappings":";AAAA;;8EAE8E;;;AAE9E,qCAAkC;AAGlC;;;;GAIG;AACH,MAAa,eAAe;IAC1B;;;;;OAKG;IACI,MAAM,CAAC,cAAc,CAAC,UAAyB,EAAE;QACtD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;QACtC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,GAAG,CAAC;QAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;QACpD,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,KAAK,KAAK,CAAC;QAE5D,MAAM,MAAM,GAAG,eAAM,CAAC,gBAAgB,CACpC,YAAY,EACZ,gEAAgE,CACjE,CAAC;QAEF,IAAI,GAAG,GAAG,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAAC;QAE3C,IAAI,gBAAgB,EAAE,CAAC;YACrB,GAAG,GAAG,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAAC;QAClE,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAChE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7B,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,qBAAqB;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,aAAa,CAAC,GAAW;QACrC,OAAO,eAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,iBAAiB,CAC7B,GAAW,EACX,cAAsB;QAEtB,OAAO,eAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IACvD,CAAC;CACF;AA/DD,0CA+DC"}
@@ -31,5 +31,12 @@ export declare const Bridge: {
31
31
  generateX25519KeyPair: () => string;
32
32
  deriveSharedSecretX25519: (priv: string, pub: string) => string;
33
33
  sampleLWEError: () => number;
34
+ getByteLength: (str: string) => number;
35
+ isValidByteLength: (str: string, length: number) => boolean;
36
+ generateRSAKeyJSON: () => any;
37
+ rsaSign: (privateKey: string, data: string) => string;
38
+ rsaVerify: (publicKey: string, data: string, signature: string) => boolean;
39
+ rsaEncrypt: (publicKey: string, data: string) => string;
40
+ rsaDecrypt: (privateKey: string, encryptedHex: string) => string;
34
41
  };
35
42
  //# 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;;CAGrD,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;;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;CAEtD,CAAC"}
@@ -143,5 +143,12 @@ exports.Bridge = {
143
143
  generateX25519KeyPair: () => exports.Bridge._call("generate-x25519-key-pair"),
144
144
  deriveSharedSecretX25519: (priv, pub) => exports.Bridge._call("derive-shared-secret-x25519", priv, pub),
145
145
  sampleLWEError: () => Number(exports.Bridge._call("sample-lwe-error")),
146
+ getByteLength: (str) => Number(exports.Bridge._call("get-byte-length", str)),
147
+ isValidByteLength: (str, length) => exports.Bridge._call("is-valid-byte-length", str, length) === "1",
148
+ generateRSAKeyJSON: () => JSON.parse(exports.Bridge._call("generate-rsa-key-json")),
149
+ rsaSign: (privateKey, data) => exports.Bridge._call("rsa-sign", privateKey, data),
150
+ rsaVerify: (publicKey, data, signature) => exports.Bridge._call("rsa-verify", publicKey, data, signature) === "1",
151
+ rsaEncrypt: (publicKey, data) => exports.Bridge._call("rsa-encrypt", publicKey, data),
152
+ rsaDecrypt: (privateKey, encryptedHex) => exports.Bridge._call("rsa-decrypt", privateKey, encryptedHex),
146
153
  };
147
154
  //# 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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"}
@@ -13,8 +13,42 @@ export declare class Keys {
13
13
  * @returns A Promise resolving to the derived key (hex format for PBKDF2/HKDF, signed for others).
14
14
  */
15
15
  static deriveKey(input: string | Uint8Array, options?: KeyDerivationOptions): Promise<string>;
16
- static getMetrics(): object;
17
- static getEnvironmentInfo(): object;
18
- static getRecommendedAlgorithm(): string;
16
+ /**
17
+ * Generates a new RSA key pair in JSON format.
18
+ * @returns A Promise resolving to an object containing publicKey and privateKey.
19
+ */
20
+ static generateRSAKeyPair(): Promise<{
21
+ publicKey: string;
22
+ privateKey: string;
23
+ }>;
24
+ /**
25
+ * Signs data using RSA-PSS.
26
+ * @param privateKey - The PEM-encoded RSA private key.
27
+ * @param data - The data to sign.
28
+ * @returns The signature in hex format.
29
+ */
30
+ static rsaSign(privateKey: string, data: string): Promise<string>;
31
+ /**
32
+ * Verifies an RSA-PSS signature.
33
+ * @param publicKey - The PEM-encoded RSA public key.
34
+ * @param data - The original data.
35
+ * @param signature - The hex-encoded signature.
36
+ * @returns True if the signature is valid.
37
+ */
38
+ static rsaVerify(publicKey: string, data: string, signature: string): Promise<boolean>;
39
+ /**
40
+ * Encrypts data using RSA-OAEP.
41
+ * @param publicKey - The PEM-encoded RSA public key.
42
+ * @param data - The data to encrypt.
43
+ * @returns The encrypted data in hex format.
44
+ */
45
+ static rsaEncrypt(publicKey: string, data: string): Promise<string>;
46
+ /**
47
+ * Decrypts RSA-OAEP encrypted data.
48
+ * @param privateKey - The PEM-encoded RSA private key.
49
+ * @param encryptedHex - The hex-encoded encrypted data.
50
+ * @returns The decrypted plaintext.
51
+ */
52
+ static rsaDecrypt(privateKey: string, encryptedHex: string): Promise<string>;
19
53
  }
20
54
  //# sourceMappingURL=keys.d.ts.map
@@ -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;WAuCJ,UAAU,IAAI,MAAM;WAIpB,kBAAkB,IAAI,MAAM;WAO5B,uBAAuB,IAAI,MAAM;CAGhD"}
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;IAyClB;;;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;CAGnB"}
@@ -38,17 +38,49 @@ class Keys {
38
38
  // Default to Argon2id/Scrypt via Password module
39
39
  return Password_1.Password.hash(strInput, options);
40
40
  }
41
- static getMetrics() {
42
- return { derivationTimeMs: 0, memoryUsedMb: 0, operationsCount: 0 };
41
+ /**
42
+ * Generates a new RSA key pair in JSON format.
43
+ * @returns A Promise resolving to an object containing publicKey and privateKey.
44
+ */
45
+ static async generateRSAKeyPair() {
46
+ return bridge_1.Bridge.generateRSAKeyJSON();
47
+ }
48
+ /**
49
+ * Signs data using RSA-PSS.
50
+ * @param privateKey - The PEM-encoded RSA private key.
51
+ * @param data - The data to sign.
52
+ * @returns The signature in hex format.
53
+ */
54
+ static async rsaSign(privateKey, data) {
55
+ return bridge_1.Bridge.rsaSign(privateKey, data);
56
+ }
57
+ /**
58
+ * Verifies an RSA-PSS signature.
59
+ * @param publicKey - The PEM-encoded RSA public key.
60
+ * @param data - The original data.
61
+ * @param signature - The hex-encoded signature.
62
+ * @returns True if the signature is valid.
63
+ */
64
+ static async rsaVerify(publicKey, data, signature) {
65
+ return bridge_1.Bridge.rsaVerify(publicKey, data, signature);
43
66
  }
44
- static getEnvironmentInfo() {
45
- return {
46
- platform: "XyPriss-GCo",
47
- cryptoSupport: ["argon2id", "scrypt", "kyber"],
48
- };
67
+ /**
68
+ * Encrypts data using RSA-OAEP.
69
+ * @param publicKey - The PEM-encoded RSA public key.
70
+ * @param data - The data to encrypt.
71
+ * @returns The encrypted data in hex format.
72
+ */
73
+ static async rsaEncrypt(publicKey, data) {
74
+ return bridge_1.Bridge.rsaEncrypt(publicKey, data);
49
75
  }
50
- static getRecommendedAlgorithm() {
51
- return "argon2id";
76
+ /**
77
+ * Decrypts RSA-OAEP encrypted data.
78
+ * @param privateKey - The PEM-encoded RSA private key.
79
+ * @param encryptedHex - The hex-encoded encrypted data.
80
+ * @returns The decrypted plaintext.
81
+ */
82
+ static async rsaDecrypt(privateKey, encryptedHex) {
83
+ return bridge_1.Bridge.rsaDecrypt(privateKey, encryptedHex);
52
84
  }
53
85
  }
54
86
  exports.Keys = Keys;
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/core/keys.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,yCAAsC;AACtC,qCAAkC;AAClC,qCAAkC;AAElC,MAAa,IAAI;IACf;;;;;;;OAOG;IACI,MAAM,CAAC,KAAK,CAAC,SAAS,CAC3B,KAA0B,EAC1B,UAAgC,EAAE;QAElC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7D,MAAM,QAAQ,GACZ,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEtE,wCAAwC;QACxC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,eAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC;YACtE,MAAM,SAAS,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACtE,OAAO,eAAM,CAAC,MAAM,CAClB,QAAQ,EACR,SAAS,EACT,OAAO,CAAC,UAAU,IAAI,MAAM,EAC5B,OAAO,CAAC,SAAS,IAAI,EAAE,EACvB,OAAO,CAAC,MAAM,IAAI,QAAQ,CAC3B,CAAC;QACJ,CAAC;QAED,4BAA4B;QAC5B,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,MAAM,UAAU,GACd,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACtE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,SAAS,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACtE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,SAAS,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAEtE,OAAO,eAAM,CAAC,IAAI,CAChB,UAAU,EACV,SAAS,EACT,SAAS,EACT,OAAO,CAAC,SAAS,IAAI,EAAE,CACxB,CAAC;QACJ,CAAC;QAED,iDAAiD;QACjD,OAAO,mBAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAEM,MAAM,CAAC,UAAU;QACtB,OAAO,EAAE,gBAAgB,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC;IACtE,CAAC;IAEM,MAAM,CAAC,kBAAkB;QAC9B,OAAO;YACL,QAAQ,EAAE,aAAa;YACvB,aAAa,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC;SAC/C,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,uBAAuB;QACnC,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AAjED,oBAiEC"}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/core/keys.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  * @license Nehonix Open Source License (NOSL)
6
6
  ****************************************************************************/
7
7
  export * from "./encoding";
8
+ import { Keys, XyPrissSecurity } from "../core";
8
9
  /**
9
10
  * High-performance cryptographic hashing utility.
10
11
  * Leverages the Go-backed core engine for extreme throughput and security.
@@ -15,7 +16,7 @@ export * from "./encoding";
15
16
  * @example
16
17
  * const hash = Utils.hash("sensitive data");
17
18
  */
18
- export declare const hash: (data: string | Uint8Array, options?: any) => string | import("..").SecureBuffer;
19
+ export declare const hash: (data: string | Uint8Array, options?: any) => string | import("../core").SecureBuffer;
19
20
  /**
20
21
  * Generates cryptographically secure random bytes.
21
22
  * Utilizing Go's native `crypto/rand` module, it ensures true randomness
@@ -26,7 +27,7 @@ export declare const hash: (data: string | Uint8Array, options?: any) => string
26
27
  * @example
27
28
  * const salt = Utils.getRandomBytes(16)
28
29
  */
29
- export declare const getRandomBytes: (length: number) => import("..").SecureBuffer;
30
+ export declare const getRandomBytes: (length: number) => import("../core").SecureBuffer;
30
31
  /**
31
32
  * Military-grade string encryption utilizing AES-256-GCM or ChaCha20-Poly1305.
32
33
  * Designed for maximum performance with atomic Go FFI calls.
@@ -49,9 +50,72 @@ export declare const encrypt: (data: string, key: string, algo?: string) => stri
49
50
  */
50
51
  export declare const decrypt: (encrypted: string, key: string, algo?: string) => string;
51
52
  export declare const Utils: {
52
- hash: (data: string | Uint8Array, options?: any) => string | import("..").SecureBuffer;
53
- getRandomBytes: (length: number) => import("..").SecureBuffer;
53
+ hash: (data: string | Uint8Array, options?: any) => string | import("../core").SecureBuffer;
54
+ getRandomBytes: (length: number) => import("../core").SecureBuffer;
54
55
  encrypt: (data: string, key: string, algo?: string) => string;
55
56
  decrypt: (encrypted: string, key: string, algo?: string) => string;
56
57
  };
58
+ /**
59
+ * Generates a high-entropy 4096-bit RSA key pair.
60
+ *
61
+ * @returns A promise resolving to an object containing PEM-encoded publicKey and privateKey.
62
+ */
63
+ export declare const generateRSAKeyPair: typeof Keys.generateRSAKeyPair;
64
+ /**
65
+ * Signs data using RSA-PSS with SHA-256.
66
+ *
67
+ * @param privateKey - The PEM-encoded RSA private key.
68
+ * @param data - The data string to sign.
69
+ * @returns A promise resolving to the hex-encoded signature.
70
+ */
71
+ export declare const rsaSign: typeof Keys.rsaSign;
72
+ /**
73
+ * Verifies an RSA-PSS signature.
74
+ *
75
+ * @param publicKey - The PEM-encoded RSA public key.
76
+ * @param data - The original data string that was signed.
77
+ * @param signature - The hex-encoded signature to verify.
78
+ * @returns A promise resolving to true if valid, false otherwise.
79
+ */
80
+ export declare const rsaVerify: typeof Keys.rsaVerify;
81
+ /**
82
+ * Encrypts data using RSA-OAEP with SHA-256.
83
+ *
84
+ * @param publicKey - The PEM-encoded RSA public key.
85
+ * @param data - The plaintext data string to encrypt.
86
+ * @returns A promise resolving to the hex-encoded ciphertext.
87
+ */
88
+ export declare const rsaEncrypt: typeof Keys.rsaEncrypt;
89
+ /**
90
+ * Decrypts data using RSA-OAEP with SHA-256.
91
+ *
92
+ * @param privateKey - The PEM-encoded RSA private key.
93
+ * @param encryptedHex - The hex-encoded ciphertext to decrypt.
94
+ * @returns A promise resolving to the decrypted plaintext string.
95
+ */
96
+ export declare const rsaDecrypt: typeof Keys.rsaDecrypt;
97
+ /**
98
+ * Derives a cryptographically strong key from an input secret.
99
+ * Supports multiple algorithms including Argon2id, PBKDF2, and HKDF.
100
+ *
101
+ * @param input - The base secret or password.
102
+ * @param options - Configuration for the derivation process.
103
+ * @returns A promise resolving to the derived key.
104
+ */
105
+ export declare const deriveKey: typeof Keys.deriveKey;
106
+ /**
107
+ * Verifies if a string has exactly the expected byte length (UTF-8).
108
+ *
109
+ * @param str - The string to check.
110
+ * @param length - The expected number of bytes.
111
+ * @returns True if the byte length matches, false otherwise.
112
+ */
113
+ export declare const isValidByteLength: typeof XyPrissSecurity.isValidByteLength;
114
+ /**
115
+ * Returns the actual byte length of a string (UTF-8).
116
+ *
117
+ * @param str - The string to measure.
118
+ * @returns The number of bytes.
119
+ */
120
+ export declare const getByteLength: typeof XyPrissSecurity.getByteLength;
57
121
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;8EAK8E;AAE9E,cAAc,YAAY,CAAC;AAO3B;;;;;;;;;GASG;AACH,eAAO,MAAM,IAAI,GAAI,MAAM,MAAM,GAAG,UAAU,EAAE,UAAU,GAAG,uCACjC,CAAC;AAE7B;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,8BAE5C,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,EAAE,KAAK,MAAM,EAAE,OAAM,MAAc,WACtC,CAAC;AAElC;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,GAAI,WAAW,MAAM,EAAE,KAAK,MAAM,EAAE,OAAM,MAAc,WACtC,CAAC;AAEvC,eAAO,MAAM,KAAK;iBA1CS,MAAM,GAAG,UAAU,YAAY,GAAG;6BAatB,MAAM;oBAcf,MAAM,OAAO,MAAM,SAAQ,MAAM;yBAY5B,MAAM,OAAO,MAAM,SAAQ,MAAM;CAQnE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;8EAK8E;AAE9E,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAMhD;;;;;;;;;GASG;AACH,eAAO,MAAM,IAAI,GAAI,MAAM,MAAM,GAAG,UAAU,EAAE,UAAU,GAAG,4CACjC,CAAC;AAE7B;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,mCAE5C,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,EAAE,KAAK,MAAM,EAAE,OAAM,MAAc,WACtC,CAAC;AAElC;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,GAAI,WAAW,MAAM,EAAE,KAAK,MAAM,EAAE,OAAM,MAAc,WACtC,CAAC;AAEvC,eAAO,MAAM,KAAK;iBA1CS,MAAM,GAAG,UAAU,YAAY,GAAG;6BAatB,MAAM;oBAcf,MAAM,OAAO,MAAM,SAAQ,MAAM;yBAY5B,MAAM,OAAO,MAAM,SAAQ,MAAM;CAQnE,CAAC;AAEF;;;;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;AAExC;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,0CAAoC,CAAC;AAEnE;;;;;GAKG;AACH,eAAO,MAAM,aAAa,sCAAgC,CAAC"}
@@ -20,8 +20,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
20
20
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
21
  };
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.Utils = exports.decrypt = exports.encrypt = exports.getRandomBytes = exports.hash = void 0;
23
+ exports.getByteLength = exports.isValidByteLength = exports.deriveKey = exports.rsaDecrypt = exports.rsaEncrypt = exports.rsaVerify = exports.rsaSign = exports.generateRSAKeyPair = exports.Utils = exports.decrypt = exports.encrypt = exports.getRandomBytes = exports.hash = void 0;
24
24
  __exportStar(require("./encoding"), exports);
25
+ const core_1 = require("../core");
25
26
  const Hash_1 = require("../core/Hash");
26
27
  const Random_1 = require("../core/Random");
27
28
  const bridge_1 = require("../core/bridge");
@@ -80,4 +81,67 @@ exports.Utils = {
80
81
  encrypt: exports.encrypt,
81
82
  decrypt: exports.decrypt,
82
83
  };
84
+ /**
85
+ * Generates a high-entropy 4096-bit RSA key pair.
86
+ *
87
+ * @returns A promise resolving to an object containing PEM-encoded publicKey and privateKey.
88
+ */
89
+ exports.generateRSAKeyPair = core_1.Keys.generateRSAKeyPair;
90
+ /**
91
+ * Signs data using RSA-PSS with SHA-256.
92
+ *
93
+ * @param privateKey - The PEM-encoded RSA private key.
94
+ * @param data - The data string to sign.
95
+ * @returns A promise resolving to the hex-encoded signature.
96
+ */
97
+ exports.rsaSign = core_1.Keys.rsaSign;
98
+ /**
99
+ * Verifies an RSA-PSS signature.
100
+ *
101
+ * @param publicKey - The PEM-encoded RSA public key.
102
+ * @param data - The original data string that was signed.
103
+ * @param signature - The hex-encoded signature to verify.
104
+ * @returns A promise resolving to true if valid, false otherwise.
105
+ */
106
+ exports.rsaVerify = core_1.Keys.rsaVerify;
107
+ /**
108
+ * Encrypts data using RSA-OAEP with SHA-256.
109
+ *
110
+ * @param publicKey - The PEM-encoded RSA public key.
111
+ * @param data - The plaintext data string to encrypt.
112
+ * @returns A promise resolving to the hex-encoded ciphertext.
113
+ */
114
+ exports.rsaEncrypt = core_1.Keys.rsaEncrypt;
115
+ /**
116
+ * Decrypts data using RSA-OAEP with SHA-256.
117
+ *
118
+ * @param privateKey - The PEM-encoded RSA private key.
119
+ * @param encryptedHex - The hex-encoded ciphertext to decrypt.
120
+ * @returns A promise resolving to the decrypted plaintext string.
121
+ */
122
+ exports.rsaDecrypt = core_1.Keys.rsaDecrypt;
123
+ /**
124
+ * Derives a cryptographically strong key from an input secret.
125
+ * Supports multiple algorithms including Argon2id, PBKDF2, and HKDF.
126
+ *
127
+ * @param input - The base secret or password.
128
+ * @param options - Configuration for the derivation process.
129
+ * @returns A promise resolving to the derived key.
130
+ */
131
+ exports.deriveKey = core_1.Keys.deriveKey;
132
+ /**
133
+ * Verifies if a string has exactly the expected byte length (UTF-8).
134
+ *
135
+ * @param str - The string to check.
136
+ * @param length - The expected number of bytes.
137
+ * @returns True if the byte length matches, false otherwise.
138
+ */
139
+ exports.isValidByteLength = core_1.XyPrissSecurity.isValidByteLength;
140
+ /**
141
+ * Returns the actual byte length of a string (UTF-8).
142
+ *
143
+ * @param str - The string to measure.
144
+ * @returns The number of bytes.
145
+ */
146
+ exports.getByteLength = core_1.XyPrissSecurity.getByteLength;
83
147
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";AAAA;;;;;8EAK8E;;;;;;;;;;;;;;;;;AAE9E,6CAA2B;AAE3B,uCAAoC;AACpC,2CAAwC;AAExC,2CAAwC;AAExC;;;;;;;;;GASG;AACI,MAAM,IAAI,GAAG,CAAC,IAAyB,EAAE,OAAa,EAAE,EAAE,CAC/D,WAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AADhB,QAAA,IAAI,QACY;AAE7B;;;;;;;;;GASG;AACI,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,EAAE;IAC/C,OAAO,eAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB;AAEF;;;;;;;;;GASG;AACI,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,GAAW,EAAE,OAAe,KAAK,EAAE,EAAE,CACzE,eAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AADrB,QAAA,OAAO,WACc;AAElC;;;;;;;;GAQG;AACI,MAAM,OAAO,GAAG,CAAC,SAAiB,EAAE,GAAW,EAAE,OAAe,KAAK,EAAE,EAAE,CAC9E,eAAM,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAD1B,QAAA,OAAO,WACmB;AAE1B,QAAA,KAAK,GAAG;IACnB,IAAI,EAAJ,YAAI;IACJ,cAAc,EAAd,sBAAc;IACd,OAAO,EAAP,eAAO;IACP,OAAO,EAAP,eAAO;CACR,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";AAAA;;;;;8EAK8E;;;;;;;;;;;;;;;;;AAE9E,6CAA2B;AAE3B,kCAAgD;AAChD,uCAAoC;AACpC,2CAAwC;AAExC,2CAAwC;AAExC;;;;;;;;;GASG;AACI,MAAM,IAAI,GAAG,CAAC,IAAyB,EAAE,OAAa,EAAE,EAAE,CAC/D,WAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AADhB,QAAA,IAAI,QACY;AAE7B;;;;;;;;;GASG;AACI,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,EAAE;IAC/C,OAAO,eAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB;AAEF;;;;;;;;;GASG;AACI,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,GAAW,EAAE,OAAe,KAAK,EAAE,EAAE,CACzE,eAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AADrB,QAAA,OAAO,WACc;AAElC;;;;;;;;GAQG;AACI,MAAM,OAAO,GAAG,CAAC,SAAiB,EAAE,GAAW,EAAE,OAAe,KAAK,EAAE,EAAE,CAC9E,eAAM,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAD1B,QAAA,OAAO,WACmB;AAE1B,QAAA,KAAK,GAAG;IACnB,IAAI,EAAJ,YAAI;IACJ,cAAc,EAAd,sBAAc;IACd,OAAO,EAAP,eAAO;IACP,OAAO,EAAP,eAAO;CACR,CAAC;AAEF;;;;GAIG;AACU,QAAA,kBAAkB,GAAG,WAAI,CAAC,kBAAkB,CAAC;AAE1D;;;;;;GAMG;AACU,QAAA,OAAO,GAAG,WAAI,CAAC,OAAO,CAAC;AAEpC;;;;;;;GAOG;AACU,QAAA,SAAS,GAAG,WAAI,CAAC,SAAS,CAAC;AAExC;;;;;;GAMG;AACU,QAAA,UAAU,GAAG,WAAI,CAAC,UAAU,CAAC;AAE1C;;;;;;GAMG;AACU,QAAA,UAAU,GAAG,WAAI,CAAC,UAAU,CAAC;AAE1C;;;;;;;GAOG;AACU,QAAA,SAAS,GAAG,WAAI,CAAC,SAAS,CAAC;AAExC;;;;;;GAMG;AACU,QAAA,iBAAiB,GAAG,sBAAe,CAAC,iBAAiB,CAAC;AAEnE;;;;;GAKG;AACU,QAAA,aAAa,GAAG,sBAAe,CAAC,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xypriss-security",
3
- "version": "2.1.2",
3
+ "version": "2.1.4",
4
4
  "description": "Advanced High-Performance Security Framework powered by a Go Core. Military-grade encryption, post-quantum resilience, and fortified data structures.",
5
5
  "author": {
6
6
  "name": "NEHONIX",