internxt-crypto 1.5.0 → 1.6.1
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 +9 -5
- package/dist/asymmetric-crypto.d.mts.map +1 -1
- package/dist/asymmetric-crypto.d.ts.map +1 -1
- package/dist/asymmetric-crypto.js +12 -2
- package/dist/asymmetric-crypto.js.map +1 -1
- package/dist/asymmetric-crypto.mjs +12 -2
- package/dist/asymmetric-crypto.mjs.map +1 -1
- package/dist/{email-crypto-_Wcbvr_n.mjs → email-crypto-CoRbTphp.mjs} +73 -106
- package/dist/email-crypto-CoRbTphp.mjs.map +1 -0
- package/dist/{email-crypto-CPL8ept8.js → email-crypto-DJb-I1wm.js} +90 -117
- package/dist/email-crypto-DJb-I1wm.js.map +1 -0
- package/dist/email-crypto.d.mts +33 -27
- package/dist/email-crypto.d.mts.map +1 -1
- package/dist/email-crypto.d.ts +33 -27
- package/dist/email-crypto.d.ts.map +1 -1
- package/dist/email-crypto.js +4 -3
- package/dist/email-crypto.mjs +2 -2
- package/dist/index.d.mts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -3
- package/dist/index.mjs +2 -2
- package/dist/keystore-crypto.d.mts +1 -1
- package/dist/keystore-crypto.d.ts +1 -1
- package/dist/react-native/asymmetric-crypto.d.mts +21 -0
- package/dist/react-native/asymmetric-crypto.d.mts.map +1 -0
- package/dist/react-native/asymmetric-crypto.d.ts +21 -0
- package/dist/react-native/asymmetric-crypto.d.ts.map +1 -0
- package/dist/react-native/asymmetric-crypto.js +31 -0
- package/dist/react-native/asymmetric-crypto.js.map +1 -0
- package/dist/react-native/asymmetric-crypto.mjs +28 -0
- package/dist/react-native/asymmetric-crypto.mjs.map +1 -0
- package/dist/react-native/chunk-CfYAbeIz.mjs +13 -0
- package/dist/react-native/chunk-DskHE4z1.js +43 -0
- package/dist/react-native/constants.d.mts +27 -0
- package/dist/react-native/constants.d.mts.map +1 -0
- package/dist/react-native/constants.d.ts +27 -0
- package/dist/react-native/constants.d.ts.map +1 -0
- package/dist/react-native/constants.js +51 -0
- package/dist/react-native/constants.js.map +1 -0
- package/dist/react-native/constants.mjs +28 -0
- package/dist/react-native/constants.mjs.map +1 -0
- package/dist/react-native/derive-key.d.mts +32 -0
- package/dist/react-native/derive-key.d.mts.map +1 -0
- package/dist/react-native/derive-key.d.ts +32 -0
- package/dist/react-native/derive-key.d.ts.map +1 -0
- package/dist/react-native/derive-key.js +51 -0
- package/dist/react-native/derive-key.js.map +1 -0
- package/dist/react-native/derive-key.mjs +47 -0
- package/dist/react-native/derive-key.mjs.map +1 -0
- package/dist/react-native/derive-password-Bb3R3nyh.mjs +68 -0
- package/dist/react-native/derive-password-Bb3R3nyh.mjs.map +1 -0
- package/dist/react-native/derive-password-DIPrE8Mz.js +86 -0
- package/dist/react-native/derive-password-DIPrE8Mz.js.map +1 -0
- package/dist/react-native/derive-password.d.mts +28 -0
- package/dist/react-native/derive-password.d.mts.map +1 -0
- package/dist/react-native/derive-password.d.ts +28 -0
- package/dist/react-native/derive-password.d.ts.map +1 -0
- package/dist/react-native/derive-password.js +5 -0
- package/dist/react-native/derive-password.mjs +2 -0
- package/dist/react-native/email-crypto-C3ka3aAj.js +700 -0
- package/dist/react-native/email-crypto-C3ka3aAj.js.map +1 -0
- package/dist/react-native/email-crypto-CDM4iPK8.mjs +490 -0
- package/dist/react-native/email-crypto-CDM4iPK8.mjs.map +1 -0
- package/dist/react-native/email-crypto.d.mts +253 -0
- package/dist/react-native/email-crypto.d.mts.map +1 -0
- package/dist/react-native/email-crypto.d.ts +253 -0
- package/dist/react-native/email-crypto.d.ts.map +1 -0
- package/dist/react-native/email-crypto.js +35 -0
- package/dist/react-native/email-crypto.mjs +2 -0
- package/dist/react-native/hash.d.mts +50 -0
- package/dist/react-native/hash.d.mts.map +1 -0
- package/dist/react-native/hash.d.ts +50 -0
- package/dist/react-native/hash.d.ts.map +1 -0
- package/dist/react-native/hash.js +89 -0
- package/dist/react-native/hash.js.map +1 -0
- package/dist/react-native/hash.mjs +82 -0
- package/dist/react-native/hash.mjs.map +1 -0
- package/dist/react-native/index.d.mts +32 -0
- package/dist/react-native/index.d.mts.map +1 -0
- package/dist/react-native/index.d.ts +32 -0
- package/dist/react-native/index.d.ts.map +1 -0
- package/dist/react-native/index.js +106 -0
- package/dist/react-native/index.mjs +12 -0
- package/dist/react-native/keystore-crypto-BXPEVvzq.js +238 -0
- package/dist/react-native/keystore-crypto-BXPEVvzq.js.map +1 -0
- package/dist/react-native/keystore-crypto-C6F-NQdX.mjs +185 -0
- package/dist/react-native/keystore-crypto-C6F-NQdX.mjs.map +1 -0
- package/dist/react-native/keystore-crypto.d.mts +71 -0
- package/dist/react-native/keystore-crypto.d.mts.map +1 -0
- package/dist/react-native/keystore-crypto.d.ts +71 -0
- package/dist/react-native/keystore-crypto.d.ts.map +1 -0
- package/dist/react-native/keystore-crypto.js +11 -0
- package/dist/react-native/keystore-crypto.mjs +2 -0
- package/dist/react-native/post-quantum-crypto.d.mts +32 -0
- package/dist/react-native/post-quantum-crypto.d.mts.map +1 -0
- package/dist/react-native/post-quantum-crypto.d.ts +32 -0
- package/dist/react-native/post-quantum-crypto.d.ts.map +1 -0
- package/dist/react-native/post-quantum-crypto.js +50 -0
- package/dist/react-native/post-quantum-crypto.js.map +1 -0
- package/dist/react-native/post-quantum-crypto.mjs +46 -0
- package/dist/react-native/post-quantum-crypto.mjs.map +1 -0
- package/dist/react-native/storage-service.d.mts +47 -0
- package/dist/react-native/storage-service.d.mts.map +1 -0
- package/dist/react-native/storage-service.d.ts +47 -0
- package/dist/react-native/storage-service.d.ts.map +1 -0
- package/dist/react-native/storage-service.js +66 -0
- package/dist/react-native/storage-service.js.map +1 -0
- package/dist/react-native/storage-service.mjs +54 -0
- package/dist/react-native/storage-service.mjs.map +1 -0
- package/dist/react-native/symmetric-crypto.d.mts +28 -0
- package/dist/react-native/symmetric-crypto.d.mts.map +1 -0
- package/dist/react-native/symmetric-crypto.d.ts +28 -0
- package/dist/react-native/symmetric-crypto.d.ts.map +1 -0
- package/dist/react-native/symmetric-crypto.js +52 -0
- package/dist/react-native/symmetric-crypto.js.map +1 -0
- package/dist/react-native/symmetric-crypto.mjs +48 -0
- package/dist/react-native/symmetric-crypto.mjs.map +1 -0
- package/dist/{types-fhvOo6Gw.d.ts → react-native/types-D1R4_m5r.d.mts} +6 -10
- package/dist/react-native/types-D1R4_m5r.d.mts.map +1 -0
- package/dist/{types-cEyToM9T.d.mts → react-native/types-Y0wL7HUH.d.ts} +6 -10
- package/dist/react-native/types-Y0wL7HUH.d.ts.map +1 -0
- package/dist/react-native/types.d.mts +2 -0
- package/dist/react-native/types.d.ts +2 -0
- package/dist/react-native/types.js +11 -0
- package/dist/react-native/types.js.map +1 -0
- package/dist/react-native/types.mjs +10 -0
- package/dist/react-native/types.mjs.map +1 -0
- package/dist/react-native/utils.d.mts +78 -0
- package/dist/react-native/utils.d.mts.map +1 -0
- package/dist/react-native/utils.d.ts +78 -0
- package/dist/react-native/utils.d.ts.map +1 -0
- package/dist/react-native/utils.js +123 -0
- package/dist/react-native/utils.js.map +1 -0
- package/dist/react-native/utils.mjs +109 -0
- package/dist/react-native/utils.mjs.map +1 -0
- package/dist/react-native/xwing-B34h5e3Z.mjs +15 -0
- package/dist/react-native/xwing-B34h5e3Z.mjs.map +1 -0
- package/dist/react-native/xwing-CSdiyHAt.js +33 -0
- package/dist/react-native/xwing-CSdiyHAt.js.map +1 -0
- package/dist/types-D1R4_m5r.d.mts +55 -0
- package/dist/types-D1R4_m5r.d.mts.map +1 -0
- package/dist/types-Y0wL7HUH.d.ts +55 -0
- package/dist/types-Y0wL7HUH.d.ts.map +1 -0
- package/dist/types.d.mts +2 -2
- package/dist/types.d.ts +2 -2
- package/dist/types.js.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/dist/utils.d.mts.map +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +3 -8
- package/dist/utils.js.map +1 -1
- package/dist/utils.mjs +3 -8
- package/dist/utils.mjs.map +1 -1
- package/package.json +4 -1
- package/dist/email-crypto-CPL8ept8.js.map +0 -1
- package/dist/email-crypto-_Wcbvr_n.mjs.map +0 -1
- package/dist/types-cEyToM9T.d.mts.map +0 -1
- package/dist/types-fhvOo6Gw.d.ts.map +0 -1
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
//#region src/post-quantum-crypto/kyber768.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Generates public and secret Kyber keys
|
|
4
|
+
*
|
|
5
|
+
* @param seed - The optional seed
|
|
6
|
+
* @returns The generated Kyber key pair.
|
|
7
|
+
*/
|
|
8
|
+
declare function generateKyberKeys(seed?: Uint8Array): {
|
|
9
|
+
publicKey: Uint8Array;
|
|
10
|
+
secretKey: Uint8Array;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Generates a shared secret of 256-bits and encapsulates it to the given public key using Kyber algorithms
|
|
14
|
+
*
|
|
15
|
+
* @param publicKey - The public Kyber key
|
|
16
|
+
* @returns The resulting encapsulation and the generated shared secret.
|
|
17
|
+
*/
|
|
18
|
+
declare function encapsulateKyber(publicKey: Uint8Array): {
|
|
19
|
+
cipherText: Uint8Array;
|
|
20
|
+
sharedSecret: Uint8Array;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Decapsulates the encapsulated shared secret using Kyber algorithms
|
|
24
|
+
*
|
|
25
|
+
* @param cipherText - The encapsulated key
|
|
26
|
+
* @param secretKey - The private Kyber key
|
|
27
|
+
* @returns The resulting decapsulated shared secret.
|
|
28
|
+
*/
|
|
29
|
+
declare function decapsulateKyber(cipherText: Uint8Array, secretKey: Uint8Array): Uint8Array;
|
|
30
|
+
//#endregion
|
|
31
|
+
export { decapsulateKyber, encapsulateKyber, generateKyberKeys };
|
|
32
|
+
//# sourceMappingURL=post-quantum-crypto.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-quantum-crypto.d.mts","names":[],"sources":["../../src/post-quantum-crypto/kyber768.ts"],"mappings":";;AAQA;;;;;iBAAgB,iBAAA,CAAkB,IAAA,GAAO,UAAA;EACvC,SAAA,EAAW,UAAA;EACX,SAAA,EAAW,UAAA;AAAA;;;;;;;iBAeG,gBAAA,CAAiB,SAAA,EAAW,UAAA;EAC1C,UAAA,EAAY,UAAA;EACZ,YAAA,EAAc,UAAA;AAAA;;;;;;;;iBAgBA,gBAAA,CAAiB,UAAA,EAAY,UAAA,EAAY,SAAA,EAAW,UAAA,GAAa,UAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
//#region src/post-quantum-crypto/kyber768.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Generates public and secret Kyber keys
|
|
4
|
+
*
|
|
5
|
+
* @param seed - The optional seed
|
|
6
|
+
* @returns The generated Kyber key pair.
|
|
7
|
+
*/
|
|
8
|
+
declare function generateKyberKeys(seed?: Uint8Array): {
|
|
9
|
+
publicKey: Uint8Array;
|
|
10
|
+
secretKey: Uint8Array;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Generates a shared secret of 256-bits and encapsulates it to the given public key using Kyber algorithms
|
|
14
|
+
*
|
|
15
|
+
* @param publicKey - The public Kyber key
|
|
16
|
+
* @returns The resulting encapsulation and the generated shared secret.
|
|
17
|
+
*/
|
|
18
|
+
declare function encapsulateKyber(publicKey: Uint8Array): {
|
|
19
|
+
cipherText: Uint8Array;
|
|
20
|
+
sharedSecret: Uint8Array;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Decapsulates the encapsulated shared secret using Kyber algorithms
|
|
24
|
+
*
|
|
25
|
+
* @param cipherText - The encapsulated key
|
|
26
|
+
* @param secretKey - The private Kyber key
|
|
27
|
+
* @returns The resulting decapsulated shared secret.
|
|
28
|
+
*/
|
|
29
|
+
declare function decapsulateKyber(cipherText: Uint8Array, secretKey: Uint8Array): Uint8Array;
|
|
30
|
+
//#endregion
|
|
31
|
+
export { decapsulateKyber, encapsulateKyber, generateKyberKeys };
|
|
32
|
+
//# sourceMappingURL=post-quantum-crypto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-quantum-crypto.d.ts","names":[],"sources":["../../src/post-quantum-crypto/kyber768.ts"],"mappings":";;AAQA;;;;;iBAAgB,iBAAA,CAAkB,IAAA,GAAO,UAAA;EACvC,SAAA,EAAW,UAAA;EACX,SAAA,EAAW,UAAA;AAAA;;;;;;;iBAeG,gBAAA,CAAiB,SAAA,EAAW,UAAA;EAC1C,UAAA,EAAY,UAAA;EACZ,YAAA,EAAc,UAAA;AAAA;;;;;;;;iBAgBA,gBAAA,CAAiB,UAAA,EAAY,UAAA,EAAY,SAAA,EAAW,UAAA,GAAa,UAAA"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
require("./chunk-DskHE4z1.js");
|
|
3
|
+
let _noble_post_quantum_ml_kem_js = require("@noble/post-quantum/ml-kem.js");
|
|
4
|
+
//#region src/post-quantum-crypto/kyber768.ts
|
|
5
|
+
/**
|
|
6
|
+
* Generates public and secret Kyber keys
|
|
7
|
+
*
|
|
8
|
+
* @param seed - The optional seed
|
|
9
|
+
* @returns The generated Kyber key pair.
|
|
10
|
+
*/
|
|
11
|
+
function generateKyberKeys(seed) {
|
|
12
|
+
try {
|
|
13
|
+
return _noble_post_quantum_ml_kem_js.ml_kem768.keygen(seed);
|
|
14
|
+
} catch (error) {
|
|
15
|
+
throw new Error("Failed to generate Kyber keys", { cause: error });
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Generates a shared secret of 256-bits and encapsulates it to the given public key using Kyber algorithms
|
|
20
|
+
*
|
|
21
|
+
* @param publicKey - The public Kyber key
|
|
22
|
+
* @returns The resulting encapsulation and the generated shared secret.
|
|
23
|
+
*/
|
|
24
|
+
function encapsulateKyber(publicKey) {
|
|
25
|
+
try {
|
|
26
|
+
return _noble_post_quantum_ml_kem_js.ml_kem768.encapsulate(publicKey);
|
|
27
|
+
} catch (error) {
|
|
28
|
+
throw new Error("Failed to encapsulate", { cause: error });
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Decapsulates the encapsulated shared secret using Kyber algorithms
|
|
33
|
+
*
|
|
34
|
+
* @param cipherText - The encapsulated key
|
|
35
|
+
* @param secretKey - The private Kyber key
|
|
36
|
+
* @returns The resulting decapsulated shared secret.
|
|
37
|
+
*/
|
|
38
|
+
function decapsulateKyber(cipherText, secretKey) {
|
|
39
|
+
try {
|
|
40
|
+
return _noble_post_quantum_ml_kem_js.ml_kem768.decapsulate(cipherText, secretKey);
|
|
41
|
+
} catch (error) {
|
|
42
|
+
throw new Error("Failed to decapsulate", { cause: error });
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//#endregion
|
|
46
|
+
exports.decapsulateKyber = decapsulateKyber;
|
|
47
|
+
exports.encapsulateKyber = encapsulateKyber;
|
|
48
|
+
exports.generateKyberKeys = generateKyberKeys;
|
|
49
|
+
|
|
50
|
+
//# sourceMappingURL=post-quantum-crypto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-quantum-crypto.js","names":["kyber"],"sources":["../../src/post-quantum-crypto/kyber768.ts"],"sourcesContent":["import { ml_kem768 as kyber } from '@noble/post-quantum/ml-kem.js';\n\n/**\n * Generates public and secret Kyber keys\n *\n * @param seed - The optional seed\n * @returns The generated Kyber key pair.\n */\nexport function generateKyberKeys(seed?: Uint8Array): {\n publicKey: Uint8Array;\n secretKey: Uint8Array;\n} {\n try {\n return kyber.keygen(seed);\n } catch (error) {\n throw new Error('Failed to generate Kyber keys', { cause: error });\n }\n}\n\n/**\n * Generates a shared secret of 256-bits and encapsulates it to the given public key using Kyber algorithms\n *\n * @param publicKey - The public Kyber key\n * @returns The resulting encapsulation and the generated shared secret.\n */\nexport function encapsulateKyber(publicKey: Uint8Array): {\n cipherText: Uint8Array;\n sharedSecret: Uint8Array;\n} {\n try {\n return kyber.encapsulate(publicKey);\n } catch (error) {\n throw new Error('Failed to encapsulate', { cause: error });\n }\n}\n\n/**\n * Decapsulates the encapsulated shared secret using Kyber algorithms\n *\n * @param cipherText - The encapsulated key\n * @param secretKey - The private Kyber key\n * @returns The resulting decapsulated shared secret.\n */\nexport function decapsulateKyber(cipherText: Uint8Array, secretKey: Uint8Array): Uint8Array {\n try {\n return kyber.decapsulate(cipherText, secretKey);\n } catch (error) {\n throw new Error('Failed to decapsulate', { cause: error });\n }\n}\n"],"mappings":";;;;;;;;;;AAQA,SAAgB,kBAAkB,MAGhC;AACA,KAAI;AACF,SAAOA,8BAAAA,UAAM,OAAO,KAAK;UAClB,OAAO;AACd,QAAM,IAAI,MAAM,iCAAiC,EAAE,OAAO,OAAO,CAAC;;;;;;;;;AAUtE,SAAgB,iBAAiB,WAG/B;AACA,KAAI;AACF,SAAOA,8BAAAA,UAAM,YAAY,UAAU;UAC5B,OAAO;AACd,QAAM,IAAI,MAAM,yBAAyB,EAAE,OAAO,OAAO,CAAC;;;;;;;;;;AAW9D,SAAgB,iBAAiB,YAAwB,WAAmC;AAC1F,KAAI;AACF,SAAOA,8BAAAA,UAAM,YAAY,YAAY,UAAU;UACxC,OAAO;AACd,QAAM,IAAI,MAAM,yBAAyB,EAAE,OAAO,OAAO,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { ml_kem768 } from "@noble/post-quantum/ml-kem.js";
|
|
2
|
+
//#region src/post-quantum-crypto/kyber768.ts
|
|
3
|
+
/**
|
|
4
|
+
* Generates public and secret Kyber keys
|
|
5
|
+
*
|
|
6
|
+
* @param seed - The optional seed
|
|
7
|
+
* @returns The generated Kyber key pair.
|
|
8
|
+
*/
|
|
9
|
+
function generateKyberKeys(seed) {
|
|
10
|
+
try {
|
|
11
|
+
return ml_kem768.keygen(seed);
|
|
12
|
+
} catch (error) {
|
|
13
|
+
throw new Error("Failed to generate Kyber keys", { cause: error });
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Generates a shared secret of 256-bits and encapsulates it to the given public key using Kyber algorithms
|
|
18
|
+
*
|
|
19
|
+
* @param publicKey - The public Kyber key
|
|
20
|
+
* @returns The resulting encapsulation and the generated shared secret.
|
|
21
|
+
*/
|
|
22
|
+
function encapsulateKyber(publicKey) {
|
|
23
|
+
try {
|
|
24
|
+
return ml_kem768.encapsulate(publicKey);
|
|
25
|
+
} catch (error) {
|
|
26
|
+
throw new Error("Failed to encapsulate", { cause: error });
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Decapsulates the encapsulated shared secret using Kyber algorithms
|
|
31
|
+
*
|
|
32
|
+
* @param cipherText - The encapsulated key
|
|
33
|
+
* @param secretKey - The private Kyber key
|
|
34
|
+
* @returns The resulting decapsulated shared secret.
|
|
35
|
+
*/
|
|
36
|
+
function decapsulateKyber(cipherText, secretKey) {
|
|
37
|
+
try {
|
|
38
|
+
return ml_kem768.decapsulate(cipherText, secretKey);
|
|
39
|
+
} catch (error) {
|
|
40
|
+
throw new Error("Failed to decapsulate", { cause: error });
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//#endregion
|
|
44
|
+
export { decapsulateKyber, encapsulateKyber, generateKyberKeys };
|
|
45
|
+
|
|
46
|
+
//# sourceMappingURL=post-quantum-crypto.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-quantum-crypto.mjs","names":["kyber"],"sources":["../../src/post-quantum-crypto/kyber768.ts"],"sourcesContent":["import { ml_kem768 as kyber } from '@noble/post-quantum/ml-kem.js';\n\n/**\n * Generates public and secret Kyber keys\n *\n * @param seed - The optional seed\n * @returns The generated Kyber key pair.\n */\nexport function generateKyberKeys(seed?: Uint8Array): {\n publicKey: Uint8Array;\n secretKey: Uint8Array;\n} {\n try {\n return kyber.keygen(seed);\n } catch (error) {\n throw new Error('Failed to generate Kyber keys', { cause: error });\n }\n}\n\n/**\n * Generates a shared secret of 256-bits and encapsulates it to the given public key using Kyber algorithms\n *\n * @param publicKey - The public Kyber key\n * @returns The resulting encapsulation and the generated shared secret.\n */\nexport function encapsulateKyber(publicKey: Uint8Array): {\n cipherText: Uint8Array;\n sharedSecret: Uint8Array;\n} {\n try {\n return kyber.encapsulate(publicKey);\n } catch (error) {\n throw new Error('Failed to encapsulate', { cause: error });\n }\n}\n\n/**\n * Decapsulates the encapsulated shared secret using Kyber algorithms\n *\n * @param cipherText - The encapsulated key\n * @param secretKey - The private Kyber key\n * @returns The resulting decapsulated shared secret.\n */\nexport function decapsulateKyber(cipherText: Uint8Array, secretKey: Uint8Array): Uint8Array {\n try {\n return kyber.decapsulate(cipherText, secretKey);\n } catch (error) {\n throw new Error('Failed to decapsulate', { cause: error });\n }\n}\n"],"mappings":";;;;;;;;AAQA,SAAgB,kBAAkB,MAGhC;AACA,KAAI;AACF,SAAOA,UAAM,OAAO,KAAK;UAClB,OAAO;AACd,QAAM,IAAI,MAAM,iCAAiC,EAAE,OAAO,OAAO,CAAC;;;;;;;;;AAUtE,SAAgB,iBAAiB,WAG/B;AACA,KAAI;AACF,SAAOA,UAAM,YAAY,UAAU;UAC5B,OAAO;AACd,QAAM,IAAI,MAAM,yBAAyB,EAAE,OAAO,OAAO,CAAC;;;;;;;;;;AAW9D,SAAgB,iBAAiB,YAAwB,WAAmC;AAC1F,KAAI;AACF,SAAOA,UAAM,YAAY,YAAY,UAAU;UACxC,OAAO;AACd,QAAM,IAAI,MAAM,yBAAyB,EAAE,OAAO,OAAO,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
declare namespace localStorageService_d_exports {
|
|
2
|
+
export { LocalStorageService, localStorageService as default };
|
|
3
|
+
}
|
|
4
|
+
declare function get$1(key: string): string | null;
|
|
5
|
+
declare function set$1(key: string, value: string): void;
|
|
6
|
+
declare function removeItem$1(key: string): void;
|
|
7
|
+
declare function exists$1(key: string): boolean;
|
|
8
|
+
declare function clear$1(): void;
|
|
9
|
+
declare const localStorageService: {
|
|
10
|
+
set: typeof set$1;
|
|
11
|
+
get: typeof get$1;
|
|
12
|
+
removeItem: typeof removeItem$1;
|
|
13
|
+
exists: typeof exists$1;
|
|
14
|
+
clear: typeof clear$1;
|
|
15
|
+
};
|
|
16
|
+
interface LocalStorageService {
|
|
17
|
+
set: (key: string, value: string) => void;
|
|
18
|
+
get: (key: string) => string | null;
|
|
19
|
+
removeItem: (key: string) => void;
|
|
20
|
+
exists: (key: string) => boolean;
|
|
21
|
+
clear: () => void;
|
|
22
|
+
}
|
|
23
|
+
declare namespace sessionStorageService_d_exports {
|
|
24
|
+
export { SessionStorageService, sessionStorageService as default };
|
|
25
|
+
}
|
|
26
|
+
declare function get(key: string): string | null;
|
|
27
|
+
declare function set(key: string, value: string): void;
|
|
28
|
+
declare function removeItem(key: string): void;
|
|
29
|
+
declare function exists(key: string): boolean;
|
|
30
|
+
declare function clear(): void;
|
|
31
|
+
declare const sessionStorageService: {
|
|
32
|
+
set: typeof set;
|
|
33
|
+
get: typeof get;
|
|
34
|
+
removeItem: typeof removeItem;
|
|
35
|
+
exists: typeof exists;
|
|
36
|
+
clear: typeof clear;
|
|
37
|
+
};
|
|
38
|
+
interface SessionStorageService {
|
|
39
|
+
set: (key: string, value: string) => void;
|
|
40
|
+
get: (key: string) => string | null;
|
|
41
|
+
removeItem: (key: string) => void;
|
|
42
|
+
exists: (key: string) => boolean;
|
|
43
|
+
clear: () => void;
|
|
44
|
+
}
|
|
45
|
+
//#endregion
|
|
46
|
+
export { localStorageService_d_exports as localStorageService, sessionStorageService_d_exports as sessionStorageService };
|
|
47
|
+
//# sourceMappingURL=storage-service.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-service.d.mts","names":[],"sources":["../../src/storage-service/localStorageService.ts","../../src/storage-service/sessionStorageService.ts"],"mappings":";;;iBAAS,KAAA,CAAI,GAAA;AAAA,iBAIJ,KAAA,CAAI,GAAA,UAAa,KAAA;AAAA,iBAIjB,YAAA,CAAW,GAAA;AAAA,iBAIX,QAAA,CAAO,GAAA;AAAA,iBAIP,OAAA,CAAA;AAAA,cAIH,mBAAA;;;;;;;UAUW,mBAAA;EACf,GAAA,GAAM,GAAA,UAAa,KAAA;EACnB,GAAA,GAAM,GAAA;EACN,UAAA,GAAa,GAAA;EACb,MAAA,GAAS,GAAA;EACT,KAAA;AAAA;AAAA;;;iBCnCO,GAAA,CAAI,GAAA;AAAA,iBAIJ,GAAA,CAAI,GAAA,UAAa,KAAA;AAAA,iBAIjB,UAAA,CAAW,GAAA;AAAA,iBAIX,MAAA,CAAO,GAAA;AAAA,iBAIP,KAAA,CAAA;AAAA,cAIH,qBAAA;;;;;;;UAUW,qBAAA;EACf,GAAA,GAAM,GAAA,UAAa,KAAA;EACnB,GAAA,GAAM,GAAA;EACN,UAAA,GAAa,GAAA;EACb,MAAA,GAAS,GAAA;EACT,KAAA;AAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
declare namespace localStorageService_d_exports {
|
|
2
|
+
export { LocalStorageService, localStorageService as default };
|
|
3
|
+
}
|
|
4
|
+
declare function get$1(key: string): string | null;
|
|
5
|
+
declare function set$1(key: string, value: string): void;
|
|
6
|
+
declare function removeItem$1(key: string): void;
|
|
7
|
+
declare function exists$1(key: string): boolean;
|
|
8
|
+
declare function clear$1(): void;
|
|
9
|
+
declare const localStorageService: {
|
|
10
|
+
set: typeof set$1;
|
|
11
|
+
get: typeof get$1;
|
|
12
|
+
removeItem: typeof removeItem$1;
|
|
13
|
+
exists: typeof exists$1;
|
|
14
|
+
clear: typeof clear$1;
|
|
15
|
+
};
|
|
16
|
+
interface LocalStorageService {
|
|
17
|
+
set: (key: string, value: string) => void;
|
|
18
|
+
get: (key: string) => string | null;
|
|
19
|
+
removeItem: (key: string) => void;
|
|
20
|
+
exists: (key: string) => boolean;
|
|
21
|
+
clear: () => void;
|
|
22
|
+
}
|
|
23
|
+
declare namespace sessionStorageService_d_exports {
|
|
24
|
+
export { SessionStorageService, sessionStorageService as default };
|
|
25
|
+
}
|
|
26
|
+
declare function get(key: string): string | null;
|
|
27
|
+
declare function set(key: string, value: string): void;
|
|
28
|
+
declare function removeItem(key: string): void;
|
|
29
|
+
declare function exists(key: string): boolean;
|
|
30
|
+
declare function clear(): void;
|
|
31
|
+
declare const sessionStorageService: {
|
|
32
|
+
set: typeof set;
|
|
33
|
+
get: typeof get;
|
|
34
|
+
removeItem: typeof removeItem;
|
|
35
|
+
exists: typeof exists;
|
|
36
|
+
clear: typeof clear;
|
|
37
|
+
};
|
|
38
|
+
interface SessionStorageService {
|
|
39
|
+
set: (key: string, value: string) => void;
|
|
40
|
+
get: (key: string) => string | null;
|
|
41
|
+
removeItem: (key: string) => void;
|
|
42
|
+
exists: (key: string) => boolean;
|
|
43
|
+
clear: () => void;
|
|
44
|
+
}
|
|
45
|
+
//#endregion
|
|
46
|
+
export { localStorageService_d_exports as localStorageService, sessionStorageService_d_exports as sessionStorageService };
|
|
47
|
+
//# sourceMappingURL=storage-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-service.d.ts","names":[],"sources":["../../src/storage-service/localStorageService.ts","../../src/storage-service/sessionStorageService.ts"],"mappings":";;;iBAAS,KAAA,CAAI,GAAA;AAAA,iBAIJ,KAAA,CAAI,GAAA,UAAa,KAAA;AAAA,iBAIjB,YAAA,CAAW,GAAA;AAAA,iBAIX,QAAA,CAAO,GAAA;AAAA,iBAIP,OAAA,CAAA;AAAA,cAIH,mBAAA;;;;;;;UAUW,mBAAA;EACf,GAAA,GAAM,GAAA,UAAa,KAAA;EACnB,GAAA,GAAM,GAAA;EACN,UAAA,GAAa,GAAA;EACb,MAAA,GAAS,GAAA;EACT,KAAA;AAAA;AAAA;;;iBCnCO,GAAA,CAAI,GAAA;AAAA,iBAIJ,GAAA,CAAI,GAAA,UAAa,KAAA;AAAA,iBAIjB,UAAA,CAAW,GAAA;AAAA,iBAIX,MAAA,CAAO,GAAA;AAAA,iBAIP,KAAA,CAAA;AAAA,cAIH,qBAAA;;;;;;;UAUW,qBAAA;EACf,GAAA,GAAM,GAAA,UAAa,KAAA;EACnB,GAAA,GAAM,GAAA;EACN,UAAA,GAAa,GAAA;EACb,MAAA,GAAS,GAAA;EACT,KAAA;AAAA"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_chunk = require("./chunk-DskHE4z1.js");
|
|
3
|
+
//#region src/storage-service/localStorageService.ts
|
|
4
|
+
var localStorageService_exports = /* @__PURE__ */ require_chunk.__exportAll({ default: () => localStorageService });
|
|
5
|
+
function get$1(key) {
|
|
6
|
+
return localStorage.getItem(key);
|
|
7
|
+
}
|
|
8
|
+
function set$1(key, value) {
|
|
9
|
+
return localStorage.setItem(key, value);
|
|
10
|
+
}
|
|
11
|
+
function removeItem$1(key) {
|
|
12
|
+
localStorage.removeItem(key);
|
|
13
|
+
}
|
|
14
|
+
function exists$1(key) {
|
|
15
|
+
return !!localStorage.getItem(key);
|
|
16
|
+
}
|
|
17
|
+
function clear$1() {
|
|
18
|
+
localStorage.clear();
|
|
19
|
+
}
|
|
20
|
+
const localStorageService = {
|
|
21
|
+
set: set$1,
|
|
22
|
+
get: get$1,
|
|
23
|
+
removeItem: removeItem$1,
|
|
24
|
+
exists: exists$1,
|
|
25
|
+
clear: clear$1
|
|
26
|
+
};
|
|
27
|
+
//#endregion
|
|
28
|
+
//#region src/storage-service/sessionStorageService.ts
|
|
29
|
+
var sessionStorageService_exports = /* @__PURE__ */ require_chunk.__exportAll({ default: () => sessionStorageService });
|
|
30
|
+
function get(key) {
|
|
31
|
+
return sessionStorage.getItem(key);
|
|
32
|
+
}
|
|
33
|
+
function set(key, value) {
|
|
34
|
+
return sessionStorage.setItem(key, value);
|
|
35
|
+
}
|
|
36
|
+
function removeItem(key) {
|
|
37
|
+
sessionStorage.removeItem(key);
|
|
38
|
+
}
|
|
39
|
+
function exists(key) {
|
|
40
|
+
return !!sessionStorage.getItem(key);
|
|
41
|
+
}
|
|
42
|
+
function clear() {
|
|
43
|
+
sessionStorage.clear();
|
|
44
|
+
}
|
|
45
|
+
const sessionStorageService = {
|
|
46
|
+
set,
|
|
47
|
+
get,
|
|
48
|
+
removeItem,
|
|
49
|
+
exists,
|
|
50
|
+
clear
|
|
51
|
+
};
|
|
52
|
+
//#endregion
|
|
53
|
+
Object.defineProperty(exports, "localStorageService", {
|
|
54
|
+
enumerable: true,
|
|
55
|
+
get: function() {
|
|
56
|
+
return localStorageService_exports;
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
Object.defineProperty(exports, "sessionStorageService", {
|
|
60
|
+
enumerable: true,
|
|
61
|
+
get: function() {
|
|
62
|
+
return sessionStorageService_exports;
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
//# sourceMappingURL=storage-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-service.js","names":["get","set","removeItem","exists","clear"],"sources":["../../src/storage-service/localStorageService.ts","../../src/storage-service/sessionStorageService.ts"],"sourcesContent":["function get(key: string): string | null {\n return localStorage.getItem(key);\n}\n\nfunction set(key: string, value: string): void {\n return localStorage.setItem(key, value);\n}\n\nfunction removeItem(key: string): void {\n localStorage.removeItem(key);\n}\n\nfunction exists(key: string): boolean {\n return !!localStorage.getItem(key);\n}\n\nfunction clear(): void {\n localStorage.clear();\n}\n\nconst localStorageService = {\n set,\n get,\n removeItem,\n exists,\n clear,\n};\n\nexport default localStorageService;\n\nexport interface LocalStorageService {\n set: (key: string, value: string) => void;\n get: (key: string) => string | null;\n removeItem: (key: string) => void;\n exists: (key: string) => boolean;\n clear: () => void;\n}\n","function get(key: string): string | null {\n return sessionStorage.getItem(key);\n}\n\nfunction set(key: string, value: string): void {\n return sessionStorage.setItem(key, value);\n}\n\nfunction removeItem(key: string): void {\n sessionStorage.removeItem(key);\n}\n\nfunction exists(key: string): boolean {\n return !!sessionStorage.getItem(key);\n}\n\nfunction clear(): void {\n sessionStorage.clear();\n}\n\nconst sessionStorageService = {\n set,\n get,\n removeItem,\n exists,\n clear,\n};\n\nexport default sessionStorageService;\n\nexport interface SessionStorageService {\n set: (key: string, value: string) => void;\n get: (key: string) => string | null;\n removeItem: (key: string) => void;\n exists: (key: string) => boolean;\n clear: () => void;\n}\n"],"mappings":";;;;AAAA,SAASA,MAAI,KAA4B;AACvC,QAAO,aAAa,QAAQ,IAAI;;AAGlC,SAASC,MAAI,KAAa,OAAqB;AAC7C,QAAO,aAAa,QAAQ,KAAK,MAAM;;AAGzC,SAASC,aAAW,KAAmB;AACrC,cAAa,WAAW,IAAI;;AAG9B,SAASC,SAAO,KAAsB;AACpC,QAAO,CAAC,CAAC,aAAa,QAAQ,IAAI;;AAGpC,SAASC,UAAc;AACrB,cAAa,OAAO;;AAGtB,MAAM,sBAAsB;CAC1B,KAAA;CACA,KAAA;CACA,YAAA;CACA,QAAA;CACA,OAAA;CACD;;;;AC1BD,SAAS,IAAI,KAA4B;AACvC,QAAO,eAAe,QAAQ,IAAI;;AAGpC,SAAS,IAAI,KAAa,OAAqB;AAC7C,QAAO,eAAe,QAAQ,KAAK,MAAM;;AAG3C,SAAS,WAAW,KAAmB;AACrC,gBAAe,WAAW,IAAI;;AAGhC,SAAS,OAAO,KAAsB;AACpC,QAAO,CAAC,CAAC,eAAe,QAAQ,IAAI;;AAGtC,SAAS,QAAc;AACrB,gBAAe,OAAO;;AAGxB,MAAM,wBAAwB;CAC5B;CACA;CACA;CACA;CACA;CACD"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { t as __exportAll } from "./chunk-CfYAbeIz.mjs";
|
|
2
|
+
//#region src/storage-service/localStorageService.ts
|
|
3
|
+
var localStorageService_exports = /* @__PURE__ */ __exportAll({ default: () => localStorageService });
|
|
4
|
+
function get$1(key) {
|
|
5
|
+
return localStorage.getItem(key);
|
|
6
|
+
}
|
|
7
|
+
function set$1(key, value) {
|
|
8
|
+
return localStorage.setItem(key, value);
|
|
9
|
+
}
|
|
10
|
+
function removeItem$1(key) {
|
|
11
|
+
localStorage.removeItem(key);
|
|
12
|
+
}
|
|
13
|
+
function exists$1(key) {
|
|
14
|
+
return !!localStorage.getItem(key);
|
|
15
|
+
}
|
|
16
|
+
function clear$1() {
|
|
17
|
+
localStorage.clear();
|
|
18
|
+
}
|
|
19
|
+
const localStorageService = {
|
|
20
|
+
set: set$1,
|
|
21
|
+
get: get$1,
|
|
22
|
+
removeItem: removeItem$1,
|
|
23
|
+
exists: exists$1,
|
|
24
|
+
clear: clear$1
|
|
25
|
+
};
|
|
26
|
+
//#endregion
|
|
27
|
+
//#region src/storage-service/sessionStorageService.ts
|
|
28
|
+
var sessionStorageService_exports = /* @__PURE__ */ __exportAll({ default: () => sessionStorageService });
|
|
29
|
+
function get(key) {
|
|
30
|
+
return sessionStorage.getItem(key);
|
|
31
|
+
}
|
|
32
|
+
function set(key, value) {
|
|
33
|
+
return sessionStorage.setItem(key, value);
|
|
34
|
+
}
|
|
35
|
+
function removeItem(key) {
|
|
36
|
+
sessionStorage.removeItem(key);
|
|
37
|
+
}
|
|
38
|
+
function exists(key) {
|
|
39
|
+
return !!sessionStorage.getItem(key);
|
|
40
|
+
}
|
|
41
|
+
function clear() {
|
|
42
|
+
sessionStorage.clear();
|
|
43
|
+
}
|
|
44
|
+
const sessionStorageService = {
|
|
45
|
+
set,
|
|
46
|
+
get,
|
|
47
|
+
removeItem,
|
|
48
|
+
exists,
|
|
49
|
+
clear
|
|
50
|
+
};
|
|
51
|
+
//#endregion
|
|
52
|
+
export { localStorageService_exports as localStorageService, sessionStorageService_exports as sessionStorageService };
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=storage-service.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-service.mjs","names":["get","set","removeItem","exists","clear"],"sources":["../../src/storage-service/localStorageService.ts","../../src/storage-service/sessionStorageService.ts"],"sourcesContent":["function get(key: string): string | null {\n return localStorage.getItem(key);\n}\n\nfunction set(key: string, value: string): void {\n return localStorage.setItem(key, value);\n}\n\nfunction removeItem(key: string): void {\n localStorage.removeItem(key);\n}\n\nfunction exists(key: string): boolean {\n return !!localStorage.getItem(key);\n}\n\nfunction clear(): void {\n localStorage.clear();\n}\n\nconst localStorageService = {\n set,\n get,\n removeItem,\n exists,\n clear,\n};\n\nexport default localStorageService;\n\nexport interface LocalStorageService {\n set: (key: string, value: string) => void;\n get: (key: string) => string | null;\n removeItem: (key: string) => void;\n exists: (key: string) => boolean;\n clear: () => void;\n}\n","function get(key: string): string | null {\n return sessionStorage.getItem(key);\n}\n\nfunction set(key: string, value: string): void {\n return sessionStorage.setItem(key, value);\n}\n\nfunction removeItem(key: string): void {\n sessionStorage.removeItem(key);\n}\n\nfunction exists(key: string): boolean {\n return !!sessionStorage.getItem(key);\n}\n\nfunction clear(): void {\n sessionStorage.clear();\n}\n\nconst sessionStorageService = {\n set,\n get,\n removeItem,\n exists,\n clear,\n};\n\nexport default sessionStorageService;\n\nexport interface SessionStorageService {\n set: (key: string, value: string) => void;\n get: (key: string) => string | null;\n removeItem: (key: string) => void;\n exists: (key: string) => boolean;\n clear: () => void;\n}\n"],"mappings":";;;AAAA,SAASA,MAAI,KAA4B;AACvC,QAAO,aAAa,QAAQ,IAAI;;AAGlC,SAASC,MAAI,KAAa,OAAqB;AAC7C,QAAO,aAAa,QAAQ,KAAK,MAAM;;AAGzC,SAASC,aAAW,KAAmB;AACrC,cAAa,WAAW,IAAI;;AAG9B,SAASC,SAAO,KAAsB;AACpC,QAAO,CAAC,CAAC,aAAa,QAAQ,IAAI;;AAGpC,SAASC,UAAc;AACrB,cAAa,OAAO;;AAGtB,MAAM,sBAAsB;CAC1B,KAAA;CACA,KAAA;CACA,YAAA;CACA,QAAA;CACA,OAAA;CACD;;;;AC1BD,SAAS,IAAI,KAA4B;AACvC,QAAO,eAAe,QAAQ,IAAI;;AAGpC,SAAS,IAAI,KAAa,OAAqB;AAC7C,QAAO,eAAe,QAAQ,KAAK,MAAM;;AAG3C,SAAS,WAAW,KAAmB;AACrC,gBAAe,WAAW,IAAI;;AAGhC,SAAS,OAAO,KAAsB;AACpC,QAAO,CAAC,CAAC,eAAe,QAAQ,IAAI;;AAGtC,SAAS,QAAc;AACrB,gBAAe,OAAO;;AAGxB,MAAM,wBAAwB;CAC5B;CACA;CACA;CACA;CACA;CACD"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
//#region src/symmetric-crypto/aes.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Symmetrically encrypts the message
|
|
4
|
+
*
|
|
5
|
+
* @param encryptionKey - The symmetric key used for message encryption
|
|
6
|
+
* @param message - The message to encrypt
|
|
7
|
+
* @param aux - The auxilary string (e.g., context string or timestamp) for AEAD.
|
|
8
|
+
* @returns The resulting ciphertext.
|
|
9
|
+
*/
|
|
10
|
+
declare function encryptSymmetrically(encryptionKey: Uint8Array, message: Uint8Array, aux?: Uint8Array): Promise<Uint8Array>;
|
|
11
|
+
/**
|
|
12
|
+
* Decryps symmetrically encrypted message
|
|
13
|
+
*
|
|
14
|
+
* @param encryptionKey - The symmetric key used for message encryption
|
|
15
|
+
* @param encryptedMessage - The ciphertext
|
|
16
|
+
* @param aux - The auxilary string (e.g., context string or timestamp) for AEAD.
|
|
17
|
+
* @returns The resulting ciphertext.
|
|
18
|
+
*/
|
|
19
|
+
declare function decryptSymmetrically(encryptionKey: Uint8Array, encryptedMessage: Uint8Array, aux?: Uint8Array): Promise<Uint8Array>;
|
|
20
|
+
/**
|
|
21
|
+
* Generates symmetric key as Uint8Array
|
|
22
|
+
*
|
|
23
|
+
* @returns The generated Uint8Array.
|
|
24
|
+
*/
|
|
25
|
+
declare function genSymmetricKey(): Uint8Array;
|
|
26
|
+
//#endregion
|
|
27
|
+
export { decryptSymmetrically, encryptSymmetrically, genSymmetricKey };
|
|
28
|
+
//# sourceMappingURL=symmetric-crypto.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symmetric-crypto.d.mts","names":[],"sources":["../../src/symmetric-crypto/aes.ts"],"mappings":";;AAYA;;;;;;;iBAAsB,oBAAA,CACpB,aAAA,EAAe,UAAA,EACf,OAAA,EAAS,UAAA,EACT,GAAA,GAAM,UAAA,GACL,OAAA,CAAQ,UAAA;;;;;;;;;iBAkBW,oBAAA,CACpB,aAAA,EAAe,UAAA,EACf,gBAAA,EAAkB,UAAA,EAClB,GAAA,GAAM,UAAA,GACL,OAAA,CAAQ,UAAA;;;;AAJX;;iBAoBgB,eAAA,CAAA,GAAmB,UAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
//#region src/symmetric-crypto/aes.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Symmetrically encrypts the message
|
|
4
|
+
*
|
|
5
|
+
* @param encryptionKey - The symmetric key used for message encryption
|
|
6
|
+
* @param message - The message to encrypt
|
|
7
|
+
* @param aux - The auxilary string (e.g., context string or timestamp) for AEAD.
|
|
8
|
+
* @returns The resulting ciphertext.
|
|
9
|
+
*/
|
|
10
|
+
declare function encryptSymmetrically(encryptionKey: Uint8Array, message: Uint8Array, aux?: Uint8Array): Promise<Uint8Array>;
|
|
11
|
+
/**
|
|
12
|
+
* Decryps symmetrically encrypted message
|
|
13
|
+
*
|
|
14
|
+
* @param encryptionKey - The symmetric key used for message encryption
|
|
15
|
+
* @param encryptedMessage - The ciphertext
|
|
16
|
+
* @param aux - The auxilary string (e.g., context string or timestamp) for AEAD.
|
|
17
|
+
* @returns The resulting ciphertext.
|
|
18
|
+
*/
|
|
19
|
+
declare function decryptSymmetrically(encryptionKey: Uint8Array, encryptedMessage: Uint8Array, aux?: Uint8Array): Promise<Uint8Array>;
|
|
20
|
+
/**
|
|
21
|
+
* Generates symmetric key as Uint8Array
|
|
22
|
+
*
|
|
23
|
+
* @returns The generated Uint8Array.
|
|
24
|
+
*/
|
|
25
|
+
declare function genSymmetricKey(): Uint8Array;
|
|
26
|
+
//#endregion
|
|
27
|
+
export { decryptSymmetrically, encryptSymmetrically, genSymmetricKey };
|
|
28
|
+
//# sourceMappingURL=symmetric-crypto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symmetric-crypto.d.ts","names":[],"sources":["../../src/symmetric-crypto/aes.ts"],"mappings":";;AAYA;;;;;;;iBAAsB,oBAAA,CACpB,aAAA,EAAe,UAAA,EACf,OAAA,EAAS,UAAA,EACT,GAAA,GAAM,UAAA,GACL,OAAA,CAAQ,UAAA;;;;;;;;;iBAkBW,oBAAA,CACpB,aAAA,EAAe,UAAA,EACf,gBAAA,EAAkB,UAAA,EAClB,GAAA,GAAM,UAAA,GACL,OAAA,CAAQ,UAAA;;;;AAJX;;iBAoBgB,eAAA,CAAA,GAAmB,UAAA"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
require("./chunk-DskHE4z1.js");
|
|
3
|
+
require("./constants.js");
|
|
4
|
+
let _noble_hashes_utils_js = require("@noble/hashes/utils.js");
|
|
5
|
+
let _noble_ciphers_aes_js = require("@noble/ciphers/aes.js");
|
|
6
|
+
//#region src/symmetric-crypto/aes.native.ts
|
|
7
|
+
/**
|
|
8
|
+
* Symmetrically encrypts the message
|
|
9
|
+
*
|
|
10
|
+
* @param encryptionKey - The symmetric key used for message encryption
|
|
11
|
+
* @param message - The message to encrypt
|
|
12
|
+
* @param aux - The auxilary string (e.g., context string or timestamp) for AEAD.
|
|
13
|
+
* @returns The resulting ciphertext.
|
|
14
|
+
*/
|
|
15
|
+
async function encryptSymmetrically(encryptionKey, message, aux) {
|
|
16
|
+
try {
|
|
17
|
+
const iv = (0, _noble_hashes_utils_js.randomBytes)(12);
|
|
18
|
+
return (0, _noble_hashes_utils_js.concatBytes)((0, _noble_ciphers_aes_js.gcm)(encryptionKey, iv, aux).encrypt(message), iv);
|
|
19
|
+
} catch (error) {
|
|
20
|
+
throw new Error("Failed to encrypt symmetrically", { cause: error });
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Decryps symmetrically encrypted message
|
|
25
|
+
*
|
|
26
|
+
* @param encryptionKey - The symmetric key used for message encryption
|
|
27
|
+
* @param encryptedMessage - The ciphertext
|
|
28
|
+
* @param aux - The auxilary string (e.g., context string or timestamp) for AEAD.
|
|
29
|
+
* @returns The resulting ciphertext.
|
|
30
|
+
*/
|
|
31
|
+
async function decryptSymmetrically(encryptionKey, encryptedMessage, aux) {
|
|
32
|
+
try {
|
|
33
|
+
const ciphertext = encryptedMessage.slice(0, encryptedMessage.length - 12);
|
|
34
|
+
return (0, _noble_ciphers_aes_js.gcm)(encryptionKey, encryptedMessage.slice(encryptedMessage.length - 12), aux).decrypt(ciphertext);
|
|
35
|
+
} catch (error) {
|
|
36
|
+
throw new Error("Failed to decrypt symmetrically", { cause: error });
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Generates symmetric key as Uint8Array
|
|
41
|
+
*
|
|
42
|
+
* @returns The generated Uint8Array.
|
|
43
|
+
*/
|
|
44
|
+
function genSymmetricKey() {
|
|
45
|
+
return (0, _noble_hashes_utils_js.randomBytes)(32);
|
|
46
|
+
}
|
|
47
|
+
//#endregion
|
|
48
|
+
exports.decryptSymmetrically = decryptSymmetrically;
|
|
49
|
+
exports.encryptSymmetrically = encryptSymmetrically;
|
|
50
|
+
exports.genSymmetricKey = genSymmetricKey;
|
|
51
|
+
|
|
52
|
+
//# sourceMappingURL=symmetric-crypto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symmetric-crypto.js","names":[],"sources":["../../src/symmetric-crypto/aes.native.ts"],"sourcesContent":["import { concatBytes, randomBytes } from '@noble/hashes/utils.js';\nimport { IV_LEN_BYTES, AES_KEY_BYTE_LENGTH } from '../constants';\nimport { gcm as aeadCipher } from '@noble/ciphers/aes.js';\n\n/**\n * Symmetrically encrypts the message\n *\n * @param encryptionKey - The symmetric key used for message encryption\n * @param message - The message to encrypt\n * @param aux - The auxilary string (e.g., context string or timestamp) for AEAD.\n * @returns The resulting ciphertext.\n */\nexport async function encryptSymmetrically(\n encryptionKey: Uint8Array,\n message: Uint8Array,\n aux?: Uint8Array,\n): Promise<Uint8Array> {\n try {\n const iv = randomBytes(IV_LEN_BYTES);\n const ciphertext = aeadCipher(encryptionKey, iv, aux).encrypt(message);\n return concatBytes(ciphertext, iv);\n } catch (error) {\n throw new Error('Failed to encrypt symmetrically', { cause: error });\n }\n}\n\n/**\n * Decryps symmetrically encrypted message\n *\n * @param encryptionKey - The symmetric key used for message encryption\n * @param encryptedMessage - The ciphertext\n * @param aux - The auxilary string (e.g., context string or timestamp) for AEAD.\n * @returns The resulting ciphertext.\n */\nexport async function decryptSymmetrically(\n encryptionKey: Uint8Array,\n encryptedMessage: Uint8Array,\n aux?: Uint8Array,\n): Promise<Uint8Array> {\n try {\n const ciphertext = encryptedMessage.slice(0, encryptedMessage.length - IV_LEN_BYTES);\n const iv = encryptedMessage.slice(encryptedMessage.length - IV_LEN_BYTES);\n const result = aeadCipher(encryptionKey, iv, aux).decrypt(ciphertext);\n return result;\n } catch (error) {\n throw new Error('Failed to decrypt symmetrically', { cause: error });\n }\n}\n\n/**\n * Generates symmetric key as Uint8Array\n *\n * @returns The generated Uint8Array.\n */\nexport function genSymmetricKey(): Uint8Array {\n return randomBytes(AES_KEY_BYTE_LENGTH);\n}\n"],"mappings":";;;;;;;;;;;;;;AAYA,eAAsB,qBACpB,eACA,SACA,KACqB;AACrB,KAAI;EACF,MAAM,MAAA,GAAA,uBAAA,aAAA,GAA8B;AAEpC,UAAA,GAAA,uBAAA,cAAA,GAAA,sBAAA,KAD8B,eAAe,IAAI,IAAI,CAAC,QAAQ,QACjC,EAAE,GAAG;UAC3B,OAAO;AACd,QAAM,IAAI,MAAM,mCAAmC,EAAE,OAAO,OAAO,CAAC;;;;;;;;;;;AAYxE,eAAsB,qBACpB,eACA,kBACA,KACqB;AACrB,KAAI;EACF,MAAM,aAAa,iBAAiB,MAAM,GAAG,iBAAiB,SAAA,GAAsB;AAGpF,UAAA,GAAA,sBAAA,KAD0B,eADf,iBAAiB,MAAM,iBAAiB,SAAA,GACR,EAAE,IAAI,CAAC,QAAQ,WAC7C;UACN,OAAO;AACd,QAAM,IAAI,MAAM,mCAAmC,EAAE,OAAO,OAAO,CAAC;;;;;;;;AASxE,SAAgB,kBAA8B;AAC5C,SAAA,GAAA,uBAAA,aAAA,GAAuC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import "./constants.mjs";
|
|
2
|
+
import { concatBytes, randomBytes } from "@noble/hashes/utils.js";
|
|
3
|
+
import { gcm } from "@noble/ciphers/aes.js";
|
|
4
|
+
//#region src/symmetric-crypto/aes.native.ts
|
|
5
|
+
/**
|
|
6
|
+
* Symmetrically encrypts the message
|
|
7
|
+
*
|
|
8
|
+
* @param encryptionKey - The symmetric key used for message encryption
|
|
9
|
+
* @param message - The message to encrypt
|
|
10
|
+
* @param aux - The auxilary string (e.g., context string or timestamp) for AEAD.
|
|
11
|
+
* @returns The resulting ciphertext.
|
|
12
|
+
*/
|
|
13
|
+
async function encryptSymmetrically(encryptionKey, message, aux) {
|
|
14
|
+
try {
|
|
15
|
+
const iv = randomBytes(12);
|
|
16
|
+
return concatBytes(gcm(encryptionKey, iv, aux).encrypt(message), iv);
|
|
17
|
+
} catch (error) {
|
|
18
|
+
throw new Error("Failed to encrypt symmetrically", { cause: error });
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Decryps symmetrically encrypted message
|
|
23
|
+
*
|
|
24
|
+
* @param encryptionKey - The symmetric key used for message encryption
|
|
25
|
+
* @param encryptedMessage - The ciphertext
|
|
26
|
+
* @param aux - The auxilary string (e.g., context string or timestamp) for AEAD.
|
|
27
|
+
* @returns The resulting ciphertext.
|
|
28
|
+
*/
|
|
29
|
+
async function decryptSymmetrically(encryptionKey, encryptedMessage, aux) {
|
|
30
|
+
try {
|
|
31
|
+
const ciphertext = encryptedMessage.slice(0, encryptedMessage.length - 12);
|
|
32
|
+
return gcm(encryptionKey, encryptedMessage.slice(encryptedMessage.length - 12), aux).decrypt(ciphertext);
|
|
33
|
+
} catch (error) {
|
|
34
|
+
throw new Error("Failed to decrypt symmetrically", { cause: error });
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Generates symmetric key as Uint8Array
|
|
39
|
+
*
|
|
40
|
+
* @returns The generated Uint8Array.
|
|
41
|
+
*/
|
|
42
|
+
function genSymmetricKey() {
|
|
43
|
+
return randomBytes(32);
|
|
44
|
+
}
|
|
45
|
+
//#endregion
|
|
46
|
+
export { decryptSymmetrically, encryptSymmetrically, genSymmetricKey };
|
|
47
|
+
|
|
48
|
+
//# sourceMappingURL=symmetric-crypto.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symmetric-crypto.mjs","names":["aeadCipher"],"sources":["../../src/symmetric-crypto/aes.native.ts"],"sourcesContent":["import { concatBytes, randomBytes } from '@noble/hashes/utils.js';\nimport { IV_LEN_BYTES, AES_KEY_BYTE_LENGTH } from '../constants';\nimport { gcm as aeadCipher } from '@noble/ciphers/aes.js';\n\n/**\n * Symmetrically encrypts the message\n *\n * @param encryptionKey - The symmetric key used for message encryption\n * @param message - The message to encrypt\n * @param aux - The auxilary string (e.g., context string or timestamp) for AEAD.\n * @returns The resulting ciphertext.\n */\nexport async function encryptSymmetrically(\n encryptionKey: Uint8Array,\n message: Uint8Array,\n aux?: Uint8Array,\n): Promise<Uint8Array> {\n try {\n const iv = randomBytes(IV_LEN_BYTES);\n const ciphertext = aeadCipher(encryptionKey, iv, aux).encrypt(message);\n return concatBytes(ciphertext, iv);\n } catch (error) {\n throw new Error('Failed to encrypt symmetrically', { cause: error });\n }\n}\n\n/**\n * Decryps symmetrically encrypted message\n *\n * @param encryptionKey - The symmetric key used for message encryption\n * @param encryptedMessage - The ciphertext\n * @param aux - The auxilary string (e.g., context string or timestamp) for AEAD.\n * @returns The resulting ciphertext.\n */\nexport async function decryptSymmetrically(\n encryptionKey: Uint8Array,\n encryptedMessage: Uint8Array,\n aux?: Uint8Array,\n): Promise<Uint8Array> {\n try {\n const ciphertext = encryptedMessage.slice(0, encryptedMessage.length - IV_LEN_BYTES);\n const iv = encryptedMessage.slice(encryptedMessage.length - IV_LEN_BYTES);\n const result = aeadCipher(encryptionKey, iv, aux).decrypt(ciphertext);\n return result;\n } catch (error) {\n throw new Error('Failed to decrypt symmetrically', { cause: error });\n }\n}\n\n/**\n * Generates symmetric key as Uint8Array\n *\n * @returns The generated Uint8Array.\n */\nexport function genSymmetricKey(): Uint8Array {\n return randomBytes(AES_KEY_BYTE_LENGTH);\n}\n"],"mappings":";;;;;;;;;;;;AAYA,eAAsB,qBACpB,eACA,SACA,KACqB;AACrB,KAAI;EACF,MAAM,KAAK,YAAA,GAAyB;AAEpC,SAAO,YADYA,IAAW,eAAe,IAAI,IAAI,CAAC,QAAQ,QACjC,EAAE,GAAG;UAC3B,OAAO;AACd,QAAM,IAAI,MAAM,mCAAmC,EAAE,OAAO,OAAO,CAAC;;;;;;;;;;;AAYxE,eAAsB,qBACpB,eACA,kBACA,KACqB;AACrB,KAAI;EACF,MAAM,aAAa,iBAAiB,MAAM,GAAG,iBAAiB,SAAA,GAAsB;AAGpF,SADeA,IAAW,eADf,iBAAiB,MAAM,iBAAiB,SAAA,GACR,EAAE,IAAI,CAAC,QAAQ,WAC7C;UACN,OAAO;AACd,QAAM,IAAI,MAAM,mCAAmC,EAAE,OAAO,OAAO,CAAC;;;;;;;;AASxE,SAAgB,kBAA8B;AAC5C,QAAO,YAAA,GAAgC"}
|
|
@@ -13,14 +13,6 @@ type HybridKeyPair = {
|
|
|
13
13
|
publicKey: Uint8Array;
|
|
14
14
|
secretKey: Uint8Array;
|
|
15
15
|
};
|
|
16
|
-
type HybridEncryptedEmail = {
|
|
17
|
-
encryptedKey: HybridEncKey;
|
|
18
|
-
encEmail: EmailEncrypted;
|
|
19
|
-
};
|
|
20
|
-
type HybridEncryptedEmailAndSubject = {
|
|
21
|
-
encryptedKey: HybridEncKey;
|
|
22
|
-
encEmail: EmailAndSubjectEncrypted;
|
|
23
|
-
};
|
|
24
16
|
type PwdProtectedEmail = {
|
|
25
17
|
encryptedKey: PwdProtectedKey;
|
|
26
18
|
encEmail: EmailEncrypted;
|
|
@@ -40,12 +32,16 @@ type PwdProtectedKey = {
|
|
|
40
32
|
};
|
|
41
33
|
type EmailEncrypted = {
|
|
42
34
|
encText: string;
|
|
35
|
+
encPreview: string;
|
|
36
|
+
encAttachmentsSessionKey: string;
|
|
43
37
|
};
|
|
44
38
|
type EmailAndSubjectEncrypted = EmailEncrypted & {
|
|
45
39
|
encSubject: string;
|
|
46
40
|
};
|
|
47
41
|
type Email = {
|
|
48
42
|
text: string;
|
|
43
|
+
preview: string;
|
|
44
|
+
attachmentsSessionKey: Uint8Array;
|
|
49
45
|
};
|
|
50
46
|
type EmailAndSubject = Email & {
|
|
51
47
|
subject: string;
|
|
@@ -55,5 +51,5 @@ declare enum KeystoreType {
|
|
|
55
51
|
RECOVERY = "Recovery"
|
|
56
52
|
}
|
|
57
53
|
//#endregion
|
|
58
|
-
export { EncryptedKeystore as a,
|
|
59
|
-
//# sourceMappingURL=types-
|
|
54
|
+
export { EncryptedKeystore as a, KeystoreType as c, PwdProtectedKey as d, RecipientWithPublicKey as f, EmailEncrypted as i, PwdProtectedEmail as l, EmailAndSubject as n, HybridEncKey as o, EmailAndSubjectEncrypted as r, HybridKeyPair as s, Email as t, PwdProtectedEmailAndSubject as u };
|
|
55
|
+
//# sourceMappingURL=types-D1R4_m5r.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-D1R4_m5r.d.mts","names":[],"sources":["../../src/types.ts"],"mappings":";KAAY,iBAAA;EACV,SAAA;EACA,IAAA,EAAM,YAAA;EACN,SAAA;EACA,mBAAA;AAAA;AAAA,KAGU,sBAAA;EACV,KAAA;EACA,eAAA,EAAiB,UAAA;AAAA;AAAA,KAGP,aAAA;EACV,SAAA,EAAW,UAAA;EACX,SAAA,EAAW,UAAA;AAAA;AAAA,KAGD,iBAAA;EACV,YAAA,EAAc,eAAA;EACd,QAAA,EAAU,cAAA;AAAA;AAAA,KAGA,2BAAA;EACV,YAAA,EAAc,eAAA;EACd,QAAA,EAAU,wBAAA;AAAA;AAAA,KAGA,YAAA;EACV,gBAAA;EACA,YAAA;EACA,iBAAA;AAAA;AAAA,KAGU,eAAA;EACV,YAAA;EACA,IAAA;AAAA;AAAA,KAGU,cAAA;EACV,OAAA;EACA,UAAA;EACA,wBAAA;AAAA;AAAA,KAGU,wBAAA,GAA2B,cAAA;EACrC,UAAA;AAAA;AAAA,KAGU,KAAA;EACV,IAAA;EACA,OAAA;EACA,qBAAA,EAAuB,UAAA;AAAA;AAAA,KAGb,eAAA,GAAkB,KAAA;EAC5B,OAAA;AAAA;AAAA,aAGU,YAAA;EACV,UAAA;EACA,QAAA;AAAA"}
|