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.
Files changed (158) hide show
  1. package/README.md +9 -5
  2. package/dist/asymmetric-crypto.d.mts.map +1 -1
  3. package/dist/asymmetric-crypto.d.ts.map +1 -1
  4. package/dist/asymmetric-crypto.js +12 -2
  5. package/dist/asymmetric-crypto.js.map +1 -1
  6. package/dist/asymmetric-crypto.mjs +12 -2
  7. package/dist/asymmetric-crypto.mjs.map +1 -1
  8. package/dist/{email-crypto-_Wcbvr_n.mjs → email-crypto-CoRbTphp.mjs} +73 -106
  9. package/dist/email-crypto-CoRbTphp.mjs.map +1 -0
  10. package/dist/{email-crypto-CPL8ept8.js → email-crypto-DJb-I1wm.js} +90 -117
  11. package/dist/email-crypto-DJb-I1wm.js.map +1 -0
  12. package/dist/email-crypto.d.mts +33 -27
  13. package/dist/email-crypto.d.mts.map +1 -1
  14. package/dist/email-crypto.d.ts +33 -27
  15. package/dist/email-crypto.d.ts.map +1 -1
  16. package/dist/email-crypto.js +4 -3
  17. package/dist/email-crypto.mjs +2 -2
  18. package/dist/index.d.mts +3 -3
  19. package/dist/index.d.ts +3 -3
  20. package/dist/index.js +2 -3
  21. package/dist/index.mjs +2 -2
  22. package/dist/keystore-crypto.d.mts +1 -1
  23. package/dist/keystore-crypto.d.ts +1 -1
  24. package/dist/react-native/asymmetric-crypto.d.mts +21 -0
  25. package/dist/react-native/asymmetric-crypto.d.mts.map +1 -0
  26. package/dist/react-native/asymmetric-crypto.d.ts +21 -0
  27. package/dist/react-native/asymmetric-crypto.d.ts.map +1 -0
  28. package/dist/react-native/asymmetric-crypto.js +31 -0
  29. package/dist/react-native/asymmetric-crypto.js.map +1 -0
  30. package/dist/react-native/asymmetric-crypto.mjs +28 -0
  31. package/dist/react-native/asymmetric-crypto.mjs.map +1 -0
  32. package/dist/react-native/chunk-CfYAbeIz.mjs +13 -0
  33. package/dist/react-native/chunk-DskHE4z1.js +43 -0
  34. package/dist/react-native/constants.d.mts +27 -0
  35. package/dist/react-native/constants.d.mts.map +1 -0
  36. package/dist/react-native/constants.d.ts +27 -0
  37. package/dist/react-native/constants.d.ts.map +1 -0
  38. package/dist/react-native/constants.js +51 -0
  39. package/dist/react-native/constants.js.map +1 -0
  40. package/dist/react-native/constants.mjs +28 -0
  41. package/dist/react-native/constants.mjs.map +1 -0
  42. package/dist/react-native/derive-key.d.mts +32 -0
  43. package/dist/react-native/derive-key.d.mts.map +1 -0
  44. package/dist/react-native/derive-key.d.ts +32 -0
  45. package/dist/react-native/derive-key.d.ts.map +1 -0
  46. package/dist/react-native/derive-key.js +51 -0
  47. package/dist/react-native/derive-key.js.map +1 -0
  48. package/dist/react-native/derive-key.mjs +47 -0
  49. package/dist/react-native/derive-key.mjs.map +1 -0
  50. package/dist/react-native/derive-password-Bb3R3nyh.mjs +68 -0
  51. package/dist/react-native/derive-password-Bb3R3nyh.mjs.map +1 -0
  52. package/dist/react-native/derive-password-DIPrE8Mz.js +86 -0
  53. package/dist/react-native/derive-password-DIPrE8Mz.js.map +1 -0
  54. package/dist/react-native/derive-password.d.mts +28 -0
  55. package/dist/react-native/derive-password.d.mts.map +1 -0
  56. package/dist/react-native/derive-password.d.ts +28 -0
  57. package/dist/react-native/derive-password.d.ts.map +1 -0
  58. package/dist/react-native/derive-password.js +5 -0
  59. package/dist/react-native/derive-password.mjs +2 -0
  60. package/dist/react-native/email-crypto-C3ka3aAj.js +700 -0
  61. package/dist/react-native/email-crypto-C3ka3aAj.js.map +1 -0
  62. package/dist/react-native/email-crypto-CDM4iPK8.mjs +490 -0
  63. package/dist/react-native/email-crypto-CDM4iPK8.mjs.map +1 -0
  64. package/dist/react-native/email-crypto.d.mts +253 -0
  65. package/dist/react-native/email-crypto.d.mts.map +1 -0
  66. package/dist/react-native/email-crypto.d.ts +253 -0
  67. package/dist/react-native/email-crypto.d.ts.map +1 -0
  68. package/dist/react-native/email-crypto.js +35 -0
  69. package/dist/react-native/email-crypto.mjs +2 -0
  70. package/dist/react-native/hash.d.mts +50 -0
  71. package/dist/react-native/hash.d.mts.map +1 -0
  72. package/dist/react-native/hash.d.ts +50 -0
  73. package/dist/react-native/hash.d.ts.map +1 -0
  74. package/dist/react-native/hash.js +89 -0
  75. package/dist/react-native/hash.js.map +1 -0
  76. package/dist/react-native/hash.mjs +82 -0
  77. package/dist/react-native/hash.mjs.map +1 -0
  78. package/dist/react-native/index.d.mts +32 -0
  79. package/dist/react-native/index.d.mts.map +1 -0
  80. package/dist/react-native/index.d.ts +32 -0
  81. package/dist/react-native/index.d.ts.map +1 -0
  82. package/dist/react-native/index.js +106 -0
  83. package/dist/react-native/index.mjs +12 -0
  84. package/dist/react-native/keystore-crypto-BXPEVvzq.js +238 -0
  85. package/dist/react-native/keystore-crypto-BXPEVvzq.js.map +1 -0
  86. package/dist/react-native/keystore-crypto-C6F-NQdX.mjs +185 -0
  87. package/dist/react-native/keystore-crypto-C6F-NQdX.mjs.map +1 -0
  88. package/dist/react-native/keystore-crypto.d.mts +71 -0
  89. package/dist/react-native/keystore-crypto.d.mts.map +1 -0
  90. package/dist/react-native/keystore-crypto.d.ts +71 -0
  91. package/dist/react-native/keystore-crypto.d.ts.map +1 -0
  92. package/dist/react-native/keystore-crypto.js +11 -0
  93. package/dist/react-native/keystore-crypto.mjs +2 -0
  94. package/dist/react-native/post-quantum-crypto.d.mts +32 -0
  95. package/dist/react-native/post-quantum-crypto.d.mts.map +1 -0
  96. package/dist/react-native/post-quantum-crypto.d.ts +32 -0
  97. package/dist/react-native/post-quantum-crypto.d.ts.map +1 -0
  98. package/dist/react-native/post-quantum-crypto.js +50 -0
  99. package/dist/react-native/post-quantum-crypto.js.map +1 -0
  100. package/dist/react-native/post-quantum-crypto.mjs +46 -0
  101. package/dist/react-native/post-quantum-crypto.mjs.map +1 -0
  102. package/dist/react-native/storage-service.d.mts +47 -0
  103. package/dist/react-native/storage-service.d.mts.map +1 -0
  104. package/dist/react-native/storage-service.d.ts +47 -0
  105. package/dist/react-native/storage-service.d.ts.map +1 -0
  106. package/dist/react-native/storage-service.js +66 -0
  107. package/dist/react-native/storage-service.js.map +1 -0
  108. package/dist/react-native/storage-service.mjs +54 -0
  109. package/dist/react-native/storage-service.mjs.map +1 -0
  110. package/dist/react-native/symmetric-crypto.d.mts +28 -0
  111. package/dist/react-native/symmetric-crypto.d.mts.map +1 -0
  112. package/dist/react-native/symmetric-crypto.d.ts +28 -0
  113. package/dist/react-native/symmetric-crypto.d.ts.map +1 -0
  114. package/dist/react-native/symmetric-crypto.js +52 -0
  115. package/dist/react-native/symmetric-crypto.js.map +1 -0
  116. package/dist/react-native/symmetric-crypto.mjs +48 -0
  117. package/dist/react-native/symmetric-crypto.mjs.map +1 -0
  118. package/dist/{types-fhvOo6Gw.d.ts → react-native/types-D1R4_m5r.d.mts} +6 -10
  119. package/dist/react-native/types-D1R4_m5r.d.mts.map +1 -0
  120. package/dist/{types-cEyToM9T.d.mts → react-native/types-Y0wL7HUH.d.ts} +6 -10
  121. package/dist/react-native/types-Y0wL7HUH.d.ts.map +1 -0
  122. package/dist/react-native/types.d.mts +2 -0
  123. package/dist/react-native/types.d.ts +2 -0
  124. package/dist/react-native/types.js +11 -0
  125. package/dist/react-native/types.js.map +1 -0
  126. package/dist/react-native/types.mjs +10 -0
  127. package/dist/react-native/types.mjs.map +1 -0
  128. package/dist/react-native/utils.d.mts +78 -0
  129. package/dist/react-native/utils.d.mts.map +1 -0
  130. package/dist/react-native/utils.d.ts +78 -0
  131. package/dist/react-native/utils.d.ts.map +1 -0
  132. package/dist/react-native/utils.js +123 -0
  133. package/dist/react-native/utils.js.map +1 -0
  134. package/dist/react-native/utils.mjs +109 -0
  135. package/dist/react-native/utils.mjs.map +1 -0
  136. package/dist/react-native/xwing-B34h5e3Z.mjs +15 -0
  137. package/dist/react-native/xwing-B34h5e3Z.mjs.map +1 -0
  138. package/dist/react-native/xwing-CSdiyHAt.js +33 -0
  139. package/dist/react-native/xwing-CSdiyHAt.js.map +1 -0
  140. package/dist/types-D1R4_m5r.d.mts +55 -0
  141. package/dist/types-D1R4_m5r.d.mts.map +1 -0
  142. package/dist/types-Y0wL7HUH.d.ts +55 -0
  143. package/dist/types-Y0wL7HUH.d.ts.map +1 -0
  144. package/dist/types.d.mts +2 -2
  145. package/dist/types.d.ts +2 -2
  146. package/dist/types.js.map +1 -1
  147. package/dist/types.mjs.map +1 -1
  148. package/dist/utils.d.mts.map +1 -1
  149. package/dist/utils.d.ts.map +1 -1
  150. package/dist/utils.js +3 -8
  151. package/dist/utils.js.map +1 -1
  152. package/dist/utils.mjs +3 -8
  153. package/dist/utils.mjs.map +1 -1
  154. package/package.json +4 -1
  155. package/dist/email-crypto-CPL8ept8.js.map +0 -1
  156. package/dist/email-crypto-_Wcbvr_n.mjs.map +0 -1
  157. package/dist/types-cEyToM9T.d.mts.map +0 -1
  158. 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, HybridEncryptedEmailAndSubject as c, PwdProtectedEmail as d, PwdProtectedEmailAndSubject as f, EmailEncrypted as i, HybridKeyPair as l, RecipientWithPublicKey as m, EmailAndSubject as n, HybridEncKey as o, PwdProtectedKey as p, EmailAndSubjectEncrypted as r, HybridEncryptedEmail as s, Email as t, KeystoreType as u };
59
- //# sourceMappingURL=types-fhvOo6Gw.d.ts.map
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"}