internxt-crypto 0.0.11 → 0.0.14

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 (163) hide show
  1. package/dist/{symmetric-crypto-CrdS1Che.mjs → aes-DCb9dJqb.mjs} +10 -46
  2. package/dist/aes-DCb9dJqb.mjs.map +1 -0
  3. package/dist/{symmetric-crypto-D65zB396.js → aes-DQo1MyCz.js} +13 -54
  4. package/dist/aes-DQo1MyCz.js.map +1 -0
  5. package/dist/asymmetric-crypto.d.mts +1 -4
  6. package/dist/asymmetric-crypto.d.mts.map +1 -0
  7. package/dist/asymmetric-crypto.d.ts +1 -4
  8. package/dist/asymmetric-crypto.d.ts.map +1 -0
  9. package/dist/asymmetric-crypto.js +8 -7
  10. package/dist/asymmetric-crypto.mjs +1 -1
  11. package/dist/{chunk-DWirmd9C.mjs → chunk-DQk6qfdC.mjs} +3 -3
  12. package/dist/{chunk-Dt-PWiN7.js → chunk-EbLFQX5m.js} +3 -3
  13. package/dist/constants.d.mts +5 -5
  14. package/dist/constants.d.mts.map +1 -0
  15. package/dist/constants.d.ts +5 -5
  16. package/dist/constants.d.ts.map +1 -0
  17. package/dist/constants.js +63 -30
  18. package/dist/constants.js.map +1 -0
  19. package/dist/constants.mjs +33 -2
  20. package/dist/constants.mjs.map +1 -0
  21. package/dist/derive-key.d.mts +1 -4
  22. package/dist/derive-key.d.mts.map +1 -0
  23. package/dist/derive-key.d.ts +1 -4
  24. package/dist/derive-key.d.ts.map +1 -0
  25. package/dist/derive-key.js +12 -14
  26. package/dist/derive-key.mjs +1 -4
  27. package/dist/{derive-key-CBf2WxJd.js → deriveKeysFromPassword-BYaiSGKL.js} +26 -52
  28. package/dist/deriveKeysFromPassword-BYaiSGKL.js.map +1 -0
  29. package/dist/{derive-key-Be7hS-cN.mjs → deriveKeysFromPassword-XIwzErlL.mjs} +7 -28
  30. package/dist/deriveKeysFromPassword-XIwzErlL.mjs.map +1 -0
  31. package/dist/email-crypto.d.mts +2 -5
  32. package/dist/email-crypto.d.mts.map +1 -0
  33. package/dist/email-crypto.d.ts +2 -5
  34. package/dist/email-crypto.d.ts.map +1 -0
  35. package/dist/email-crypto.js +12 -16
  36. package/dist/email-crypto.mjs +1 -6
  37. package/dist/email-search.d.mts +20 -23
  38. package/dist/email-search.d.mts.map +1 -0
  39. package/dist/email-search.d.ts +20 -23
  40. package/dist/email-search.d.ts.map +1 -0
  41. package/dist/email-search.js +25 -63
  42. package/dist/email-search.js.map +1 -1
  43. package/dist/email-search.mjs +17 -51
  44. package/dist/email-search.mjs.map +1 -1
  45. package/dist/{keystore-crypto-Bjgriq9h.mjs → emailEncryptionKey-B9xHw1h_.mjs} +12 -21
  46. package/dist/emailEncryptionKey-B9xHw1h_.mjs.map +1 -0
  47. package/dist/{keystore-crypto-B4yCVo9l.js → emailEncryptionKey-CQNe5W_T.js} +25 -40
  48. package/dist/emailEncryptionKey-CQNe5W_T.js.map +1 -0
  49. package/dist/{email-crypto-BrT98taw.js → emailKeys-C0KhtfNP.js} +67 -112
  50. package/dist/emailKeys-C0KhtfNP.js.map +1 -0
  51. package/dist/{email-crypto-DJUEjTxA.mjs → emailKeys-D4lp9NRv.mjs} +29 -75
  52. package/dist/emailKeys-D4lp9NRv.mjs.map +1 -0
  53. package/dist/{utils-DS04iUcX.mjs → genID-3Er5IowC.mjs} +4 -24
  54. package/dist/genID-3Er5IowC.mjs.map +1 -0
  55. package/dist/{utils-CNs3cyDj.js → genID-YJSl3YhL.js} +6 -31
  56. package/dist/genID-YJSl3YhL.js.map +1 -0
  57. package/dist/hash.d.mts +1 -4
  58. package/dist/hash.d.mts.map +1 -0
  59. package/dist/hash.d.ts +1 -4
  60. package/dist/hash.d.ts.map +1 -0
  61. package/dist/hash.js +11 -10
  62. package/dist/hash.mjs +1 -1
  63. package/dist/index.d.mts +19 -39
  64. package/dist/index.d.mts.map +1 -0
  65. package/dist/index.d.ts +19 -39
  66. package/dist/index.d.ts.map +1 -0
  67. package/dist/index.js +97 -88
  68. package/dist/index.mjs +12 -14
  69. package/dist/{asymmetric-crypto-CyXsV4XT.mjs → keys-BfcaiAOv.mjs} +3 -15
  70. package/dist/keys-BfcaiAOv.mjs.map +1 -0
  71. package/dist/{asymmetric-crypto-BORmLhnx.js → keys-CinT7kEY.js} +2 -20
  72. package/dist/keys-CinT7kEY.js.map +1 -0
  73. package/dist/keystore-crypto.d.mts +2 -5
  74. package/dist/keystore-crypto.d.mts.map +1 -0
  75. package/dist/keystore-crypto.d.ts +2 -5
  76. package/dist/keystore-crypto.d.ts.map +1 -0
  77. package/dist/keystore-crypto.js +5 -10
  78. package/dist/keystore-crypto.mjs +1 -7
  79. package/dist/kyber768-SXnIo-Nw.mjs +47 -0
  80. package/dist/kyber768-SXnIo-Nw.mjs.map +1 -0
  81. package/dist/kyber768-WUVc2fIR.js +65 -0
  82. package/dist/kyber768-WUVc2fIR.js.map +1 -0
  83. package/dist/{hash-BoqwNkcd.js → mac-BMb1F0dN.js} +3 -23
  84. package/dist/mac-BMb1F0dN.js.map +1 -0
  85. package/dist/{hash-CXeGAwai.mjs → mac-ZpRlx8Fs.mjs} +3 -18
  86. package/dist/mac-ZpRlx8Fs.mjs.map +1 -0
  87. package/dist/post-quantum-crypto.d.mts +32 -2
  88. package/dist/post-quantum-crypto.d.mts.map +1 -0
  89. package/dist/post-quantum-crypto.d.ts +32 -2
  90. package/dist/post-quantum-crypto.d.ts.map +1 -0
  91. package/dist/post-quantum-crypto.js +5 -16
  92. package/dist/post-quantum-crypto.mjs +2 -2
  93. package/dist/storage-service.d.mts +47 -2
  94. package/dist/storage-service.d.mts.map +1 -0
  95. package/dist/storage-service.d.ts +47 -2
  96. package/dist/storage-service.d.ts.map +1 -0
  97. package/dist/storage-service.js +58 -4
  98. package/dist/storage-service.js.map +1 -0
  99. package/dist/storage-service.mjs +55 -2
  100. package/dist/storage-service.mjs.map +1 -0
  101. package/dist/symmetric-crypto.d.mts +5 -8
  102. package/dist/symmetric-crypto.d.mts.map +1 -0
  103. package/dist/symmetric-crypto.d.ts +5 -8
  104. package/dist/symmetric-crypto.d.ts.map +1 -0
  105. package/dist/symmetric-crypto.js +9 -9
  106. package/dist/symmetric-crypto.mjs +1 -2
  107. package/dist/types.d.mts +108 -2
  108. package/dist/types.d.mts.map +1 -0
  109. package/dist/types.d.ts +108 -2
  110. package/dist/types.d.ts.map +1 -0
  111. package/dist/types.js +11 -2
  112. package/dist/types.js.map +1 -0
  113. package/dist/types.mjs +9 -2
  114. package/dist/types.mjs.map +1 -0
  115. package/dist/utils.d.mts +2 -5
  116. package/dist/utils.d.mts.map +1 -0
  117. package/dist/utils.d.ts +2 -5
  118. package/dist/utils.d.ts.map +1 -0
  119. package/dist/utils.js +16 -15
  120. package/dist/utils.mjs +1 -1
  121. package/package.json +24 -14
  122. package/dist/asymmetric-crypto-BORmLhnx.js.map +0 -1
  123. package/dist/asymmetric-crypto-CyXsV4XT.mjs.map +0 -1
  124. package/dist/constants-Ccp21E03.js +0 -208
  125. package/dist/constants-Ccp21E03.js.map +0 -1
  126. package/dist/constants-kTeX-2T0.mjs +0 -34
  127. package/dist/constants-kTeX-2T0.mjs.map +0 -1
  128. package/dist/derive-key-Be7hS-cN.mjs.map +0 -1
  129. package/dist/derive-key-CBf2WxJd.js.map +0 -1
  130. package/dist/email-crypto-BrT98taw.js.map +0 -1
  131. package/dist/email-crypto-DJUEjTxA.mjs.map +0 -1
  132. package/dist/hash-BoqwNkcd.js.map +0 -1
  133. package/dist/hash-CXeGAwai.mjs.map +0 -1
  134. package/dist/index-CQqgKsbX.d.ts +0 -50
  135. package/dist/index-CintVUbp.d.ts +0 -97
  136. package/dist/index-D5pBU_A5.d.mts +0 -50
  137. package/dist/index-MaOov-ag.d.mts +0 -97
  138. package/dist/keystore-crypto-B4yCVo9l.js.map +0 -1
  139. package/dist/keystore-crypto-Bjgriq9h.mjs.map +0 -1
  140. package/dist/keystore-service.d.mts +0 -48
  141. package/dist/keystore-service.d.ts +0 -48
  142. package/dist/keystore-service.js +0 -122
  143. package/dist/keystore-service.js.map +0 -1
  144. package/dist/keystore-service.mjs +0 -114
  145. package/dist/keystore-service.mjs.map +0 -1
  146. package/dist/post-quantum-crypto-CAi-cEkV.js +0 -189
  147. package/dist/post-quantum-crypto-CAi-cEkV.js.map +0 -1
  148. package/dist/post-quantum-crypto-Vv34t6gX.mjs +0 -154
  149. package/dist/post-quantum-crypto-Vv34t6gX.mjs.map +0 -1
  150. package/dist/storage-service-BgIK2aYZ.js +0 -82
  151. package/dist/storage-service-BgIK2aYZ.js.map +0 -1
  152. package/dist/storage-service-CubCbhY2.mjs +0 -65
  153. package/dist/storage-service-CubCbhY2.mjs.map +0 -1
  154. package/dist/symmetric-crypto-CrdS1Che.mjs.map +0 -1
  155. package/dist/symmetric-crypto-D65zB396.js.map +0 -1
  156. package/dist/types-52g887Zi.js +0 -16
  157. package/dist/types-52g887Zi.js.map +0 -1
  158. package/dist/types-BiEoleqw.mjs +0 -10
  159. package/dist/types-BiEoleqw.mjs.map +0 -1
  160. package/dist/types-Ds3ivE9W.d.ts +0 -104
  161. package/dist/types-DwQJtrTx.d.mts +0 -104
  162. package/dist/utils-CNs3cyDj.js.map +0 -1
  163. package/dist/utils-DS04iUcX.mjs.map +0 -1
@@ -1,82 +0,0 @@
1
- const require_chunk = require('./chunk-Dt-PWiN7.js');
2
-
3
- //#region src/storage-service/localStorageService.ts
4
- var localStorageService_exports = /* @__PURE__ */ require_chunk.__exportAll({ default: () => localStorageService_default });
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
- var localStorageService_default = localStorageService;
28
-
29
- //#endregion
30
- //#region src/storage-service/sessionStorageService.ts
31
- var sessionStorageService_exports = /* @__PURE__ */ require_chunk.__exportAll({ default: () => sessionStorageService_default });
32
- function get(key) {
33
- return sessionStorage.getItem(key);
34
- }
35
- function set(key, value) {
36
- return sessionStorage.setItem(key, value);
37
- }
38
- function removeItem(key) {
39
- sessionStorage.removeItem(key);
40
- }
41
- function exists(key) {
42
- return !!sessionStorage.getItem(key);
43
- }
44
- function clear() {
45
- sessionStorage.clear();
46
- }
47
- const sessionStorageService = {
48
- set,
49
- get,
50
- removeItem,
51
- exists,
52
- clear
53
- };
54
- var sessionStorageService_default = sessionStorageService;
55
-
56
- //#endregion
57
- //#region src/storage-service/index.ts
58
- var storage_service_exports = /* @__PURE__ */ require_chunk.__exportAll({
59
- localStorageService: () => localStorageService_exports,
60
- sessionStorageService: () => sessionStorageService_exports
61
- });
62
-
63
- //#endregion
64
- Object.defineProperty(exports, 'localStorageService_exports', {
65
- enumerable: true,
66
- get: function () {
67
- return localStorageService_exports;
68
- }
69
- });
70
- Object.defineProperty(exports, 'sessionStorageService_exports', {
71
- enumerable: true,
72
- get: function () {
73
- return sessionStorageService_exports;
74
- }
75
- });
76
- Object.defineProperty(exports, 'storage_service_exports', {
77
- enumerable: true,
78
- get: function () {
79
- return storage_service_exports;
80
- }
81
- });
82
- //# sourceMappingURL=storage-service-BgIK2aYZ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage-service-BgIK2aYZ.js","names":["get","set","removeItem","exists","clear"],"sources":["../src/storage-service/localStorageService.ts","../src/storage-service/sessionStorageService.ts","../src/storage-service/index.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","export * as localStorageService from './localStorageService';\nexport * as sessionStorageService from './sessionStorageService';\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;CACA;CACA;CACA;CACA;CACD;AAED,kCAAe;;;;;AC5Bf,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;AAED,oCAAe"}
@@ -1,65 +0,0 @@
1
- import { t as __exportAll } from "./chunk-DWirmd9C.mjs";
2
-
3
- //#region src/storage-service/localStorageService.ts
4
- var localStorageService_exports = /* @__PURE__ */ __exportAll({ default: () => localStorageService_default });
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
- var localStorageService_default = localStorageService;
28
-
29
- //#endregion
30
- //#region src/storage-service/sessionStorageService.ts
31
- var sessionStorageService_exports = /* @__PURE__ */ __exportAll({ default: () => sessionStorageService_default });
32
- function get(key) {
33
- return sessionStorage.getItem(key);
34
- }
35
- function set(key, value) {
36
- return sessionStorage.setItem(key, value);
37
- }
38
- function removeItem(key) {
39
- sessionStorage.removeItem(key);
40
- }
41
- function exists(key) {
42
- return !!sessionStorage.getItem(key);
43
- }
44
- function clear() {
45
- sessionStorage.clear();
46
- }
47
- const sessionStorageService = {
48
- set,
49
- get,
50
- removeItem,
51
- exists,
52
- clear
53
- };
54
- var sessionStorageService_default = sessionStorageService;
55
-
56
- //#endregion
57
- //#region src/storage-service/index.ts
58
- var storage_service_exports = /* @__PURE__ */ __exportAll({
59
- localStorageService: () => localStorageService_exports,
60
- sessionStorageService: () => sessionStorageService_exports
61
- });
62
-
63
- //#endregion
64
- export { sessionStorageService_exports as n, localStorageService_exports as r, storage_service_exports as t };
65
- //# sourceMappingURL=storage-service-CubCbhY2.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage-service-CubCbhY2.mjs","names":["get","set","removeItem","exists","clear"],"sources":["../src/storage-service/localStorageService.ts","../src/storage-service/sessionStorageService.ts","../src/storage-service/index.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","export * as localStorageService from './localStorageService';\nexport * as sessionStorageService from './sessionStorageService';\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;CACA;CACA;CACA;CACA;CACD;AAED,kCAAe;;;;;AC5Bf,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;AAED,oCAAe"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"symmetric-crypto-CrdS1Che.mjs","names":[],"sources":["../src/symmetric-crypto/keys.ts","../src/symmetric-crypto/core.ts","../src/symmetric-crypto/aes.ts","../src/symmetric-crypto/index.ts"],"sourcesContent":["import { AES_ALGORITHM, AES_KEY_BIT_LENGTH, KEY_FORMAT } from '../constants';\nimport { getBytesFromData } from '../hash';\n\n/**\n * Converts Uint8Array into CryptoKey\n *\n * @param keyData - The Uint8Array representation of the symmetric key\n * @returns The resulting symmetric CryptoKey.\n */\nexport async function importSymmetricCryptoKey(keyData: Uint8Array | ArrayBuffer): Promise<CryptoKey> {\n return crypto.subtle.importKey(\n KEY_FORMAT,\n new Uint8Array(keyData),\n {\n name: AES_ALGORITHM,\n length: AES_KEY_BIT_LENGTH,\n },\n true,\n ['encrypt', 'decrypt'],\n );\n}\n\n/**\n * Converts CryptoKey into Uint8Array\n *\n * @param key - The symmetric CryptoKey\n * @returns The resulting Uint8Array.\n */\nexport async function exportSymmetricCryptoKey(key: CryptoKey): Promise<Uint8Array> {\n try {\n const rawKey = await crypto.subtle.exportKey(KEY_FORMAT, key);\n return new Uint8Array(rawKey);\n } catch (error) {\n throw new Error('Failed to export symmetric CryptoKey', { cause: error });\n }\n}\n\n/**\n * Generates symmetric CryptoKey\n *\n * @returns The generated CryptoKey.\n */\nexport async function genSymmetricCryptoKey(): Promise<CryptoKey> {\n return crypto.subtle.generateKey(\n {\n name: AES_ALGORITHM,\n length: AES_KEY_BIT_LENGTH,\n },\n true,\n ['encrypt', 'decrypt'],\n );\n}\n\n/**\n * Generates symmetric key as Uint8Array\n *\n * @returns The generated Uint8Array.\n */\nexport function genSymmetricKey(): Uint8Array {\n try {\n const key = new Uint8Array(AES_KEY_BIT_LENGTH / 8);\n crypto.getRandomValues(key);\n return key;\n } catch (error) {\n throw new Error('Failed to generate symmetric key', { cause: error });\n }\n}\n\n/**\n * Derives CryptoKey from the given key material\n *\n * @returns The derived CryptoKey.\n */\nexport async function deriveSymmetricCryptoKey(keyMaterial: Uint8Array): Promise<CryptoKey> {\n try {\n const hashBuffer = getBytesFromData(AES_KEY_BIT_LENGTH / 8, keyMaterial);\n return importSymmetricCryptoKey(hashBuffer);\n } catch (error) {\n throw new Error('Failed to derive CryptoKey from the given key material', { cause: error });\n }\n}\n","import { randomBytes } from '@noble/post-quantum/utils.js';\nimport { getBytesFromData } from '../hash';\nimport { AUX_BYTE_LEN, AES_ALGORITHM, IV_LEN_BYTES } from '../constants';\n\n/**\n * Creates an initialization vector (IV) using RGB-based construction (8.2.2 NIST Special Publication 800-38D)\n * Constructs a 128-bits IV from 2 fileds: the random field (at least 96 bits) and the free field (32 bits).\n * If free filed is empty, then the entier 128-bit IV is sampled randomly.\n *\n * @param freeFiled - The string with an unrestricted content. Can be a device identifier, etc.\n * @returns The resulting 128-bits initialization vector.\n */\nexport function createNISTbasedIV(freeField?: Uint8Array): Uint8Array {\n try {\n if (!freeField) {\n return randomBytes(IV_LEN_BYTES);\n }\n\n const iv = new Uint8Array(16);\n\n const randFiled = randomBytes(12);\n iv.set(randFiled, 0);\n\n const freeFiledFixedLength = getBytesFromData(4, freeField);\n iv.set(freeFiledFixedLength, 12);\n\n return iv;\n } catch (error) {\n throw new Error('Failed to create IV', { cause: error });\n }\n}\n\n/**\n * Hashes aux string to make it fixed-length\n *\n * @param aux - The auxilay string of arbitrary length\n * @returns The resulting fixed-length auxilary string.\n */\nexport async function makeAuxFixedLength(aux: Uint8Array): Promise<Uint8Array> {\n return getBytesFromData(AUX_BYTE_LEN, aux);\n}\n\n/**\n * Symmetrically encrypts message\n *\n * @param message - The message to encrypt\n * @param encryptionKey - The encryption key\n * @param iv - The initialization vector\n * @param additionalData - The auxilary data\n * @returns The resulting ciphertext\n */\nexport async function encryptMessage(\n message: Uint8Array,\n encryptionKey: CryptoKey,\n iv: Uint8Array,\n additionalData: Uint8Array,\n): Promise<Uint8Array> {\n try {\n const encrypted = await crypto.subtle.encrypt(\n { name: AES_ALGORITHM, iv: iv as BufferSource, additionalData: additionalData as BufferSource },\n encryptionKey,\n message as BufferSource,\n );\n return new Uint8Array(encrypted);\n } catch (error) {\n throw new Error('Failed to encrypt symmetrically', { cause: error });\n }\n}\n\n/**\n * Symmetrically decrypts message\n *\n * @param ciphertext - The encrypted message\n * @param ciphertext - The initialization vector\n * @param encryptionKey - The encryption key\n * @param additionalData - The auxilary data\n * @returns The resulting decrypted message\n */\nexport async function decryptMessage(\n ciphertext: Uint8Array,\n iv: Uint8Array,\n encryptionKey: CryptoKey,\n additionalData: Uint8Array,\n): Promise<Uint8Array> {\n try {\n const decrypted = await crypto.subtle.decrypt(\n { name: AES_ALGORITHM, iv: iv as BufferSource, additionalData: additionalData as BufferSource },\n encryptionKey,\n ciphertext as BufferSource,\n );\n return new Uint8Array(decrypted);\n } catch (error) {\n throw new Error('Failed to decrypt symmetrically', { cause: error });\n }\n}\n","import { createNISTbasedIV, makeAuxFixedLength, encryptMessage, decryptMessage } from './core';\nimport { concatBytes } from '@noble/hashes/utils.js';\nimport { IV_LEN_BYTES } from '../constants';\n\n/**\n * Symmetrically encrypts the message\n *\n * @param encryptionKey - The symmetric CryptoKey used for message encryption\n * @param message - The message to encrypt\n * @param freeField - The context of the message (required for IV generation)\n * @param aux - The auxilary string\n * @returns The resulting ciphertext.\n */\nexport async function encryptSymmetrically(\n encryptionKey: CryptoKey,\n message: Uint8Array,\n aux: Uint8Array,\n freeField?: Uint8Array,\n): Promise<Uint8Array> {\n try {\n const iv = createNISTbasedIV(freeField);\n const additionalData = await makeAuxFixedLength(aux);\n const ciphertext = await encryptMessage(message, encryptionKey, iv, additionalData);\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 CryptoKey used for message encryption\n * @param encryptedMessage - The ciphertext\n * @param aux - The auxilary string\n * @returns The resulting ciphertext.\n */\nexport async function decryptSymmetrically(\n encryptionKey: CryptoKey,\n encryptedMessage: Uint8Array,\n aux: Uint8Array,\n): Promise<Uint8Array> {\n try {\n const additionalData = await makeAuxFixedLength(aux);\n const ciphertext = encryptedMessage.slice(0, encryptedMessage.length - IV_LEN_BYTES);\n const iv = encryptedMessage.slice(encryptedMessage.length - IV_LEN_BYTES);\n const result = await decryptMessage(ciphertext, iv, encryptionKey, additionalData);\n return result;\n } catch (error) {\n throw new Error('Failed to decrypt symmetrically', { cause: error });\n }\n}\n","export * from './keys';\nexport * from './aes';\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"symmetric-crypto-D65zB396.js","names":["KEY_FORMAT","AES_ALGORITHM","AES_KEY_BIT_LENGTH","getBytesFromData","IV_LEN_BYTES","getBytesFromData","AUX_BYTE_LEN","AES_ALGORITHM","IV_LEN_BYTES"],"sources":["../src/symmetric-crypto/keys.ts","../src/symmetric-crypto/core.ts","../src/symmetric-crypto/aes.ts","../src/symmetric-crypto/index.ts"],"sourcesContent":["import { AES_ALGORITHM, AES_KEY_BIT_LENGTH, KEY_FORMAT } from '../constants';\nimport { getBytesFromData } from '../hash';\n\n/**\n * Converts Uint8Array into CryptoKey\n *\n * @param keyData - The Uint8Array representation of the symmetric key\n * @returns The resulting symmetric CryptoKey.\n */\nexport async function importSymmetricCryptoKey(keyData: Uint8Array | ArrayBuffer): Promise<CryptoKey> {\n return crypto.subtle.importKey(\n KEY_FORMAT,\n new Uint8Array(keyData),\n {\n name: AES_ALGORITHM,\n length: AES_KEY_BIT_LENGTH,\n },\n true,\n ['encrypt', 'decrypt'],\n );\n}\n\n/**\n * Converts CryptoKey into Uint8Array\n *\n * @param key - The symmetric CryptoKey\n * @returns The resulting Uint8Array.\n */\nexport async function exportSymmetricCryptoKey(key: CryptoKey): Promise<Uint8Array> {\n try {\n const rawKey = await crypto.subtle.exportKey(KEY_FORMAT, key);\n return new Uint8Array(rawKey);\n } catch (error) {\n throw new Error('Failed to export symmetric CryptoKey', { cause: error });\n }\n}\n\n/**\n * Generates symmetric CryptoKey\n *\n * @returns The generated CryptoKey.\n */\nexport async function genSymmetricCryptoKey(): Promise<CryptoKey> {\n return crypto.subtle.generateKey(\n {\n name: AES_ALGORITHM,\n length: AES_KEY_BIT_LENGTH,\n },\n true,\n ['encrypt', 'decrypt'],\n );\n}\n\n/**\n * Generates symmetric key as Uint8Array\n *\n * @returns The generated Uint8Array.\n */\nexport function genSymmetricKey(): Uint8Array {\n try {\n const key = new Uint8Array(AES_KEY_BIT_LENGTH / 8);\n crypto.getRandomValues(key);\n return key;\n } catch (error) {\n throw new Error('Failed to generate symmetric key', { cause: error });\n }\n}\n\n/**\n * Derives CryptoKey from the given key material\n *\n * @returns The derived CryptoKey.\n */\nexport async function deriveSymmetricCryptoKey(keyMaterial: Uint8Array): Promise<CryptoKey> {\n try {\n const hashBuffer = getBytesFromData(AES_KEY_BIT_LENGTH / 8, keyMaterial);\n return importSymmetricCryptoKey(hashBuffer);\n } catch (error) {\n throw new Error('Failed to derive CryptoKey from the given key material', { cause: error });\n }\n}\n","import { randomBytes } from '@noble/post-quantum/utils.js';\nimport { getBytesFromData } from '../hash';\nimport { AUX_BYTE_LEN, AES_ALGORITHM, IV_LEN_BYTES } from '../constants';\n\n/**\n * Creates an initialization vector (IV) using RGB-based construction (8.2.2 NIST Special Publication 800-38D)\n * Constructs a 128-bits IV from 2 fileds: the random field (at least 96 bits) and the free field (32 bits).\n * If free filed is empty, then the entier 128-bit IV is sampled randomly.\n *\n * @param freeFiled - The string with an unrestricted content. Can be a device identifier, etc.\n * @returns The resulting 128-bits initialization vector.\n */\nexport function createNISTbasedIV(freeField?: Uint8Array): Uint8Array {\n try {\n if (!freeField) {\n return randomBytes(IV_LEN_BYTES);\n }\n\n const iv = new Uint8Array(16);\n\n const randFiled = randomBytes(12);\n iv.set(randFiled, 0);\n\n const freeFiledFixedLength = getBytesFromData(4, freeField);\n iv.set(freeFiledFixedLength, 12);\n\n return iv;\n } catch (error) {\n throw new Error('Failed to create IV', { cause: error });\n }\n}\n\n/**\n * Hashes aux string to make it fixed-length\n *\n * @param aux - The auxilay string of arbitrary length\n * @returns The resulting fixed-length auxilary string.\n */\nexport async function makeAuxFixedLength(aux: Uint8Array): Promise<Uint8Array> {\n return getBytesFromData(AUX_BYTE_LEN, aux);\n}\n\n/**\n * Symmetrically encrypts message\n *\n * @param message - The message to encrypt\n * @param encryptionKey - The encryption key\n * @param iv - The initialization vector\n * @param additionalData - The auxilary data\n * @returns The resulting ciphertext\n */\nexport async function encryptMessage(\n message: Uint8Array,\n encryptionKey: CryptoKey,\n iv: Uint8Array,\n additionalData: Uint8Array,\n): Promise<Uint8Array> {\n try {\n const encrypted = await crypto.subtle.encrypt(\n { name: AES_ALGORITHM, iv: iv as BufferSource, additionalData: additionalData as BufferSource },\n encryptionKey,\n message as BufferSource,\n );\n return new Uint8Array(encrypted);\n } catch (error) {\n throw new Error('Failed to encrypt symmetrically', { cause: error });\n }\n}\n\n/**\n * Symmetrically decrypts message\n *\n * @param ciphertext - The encrypted message\n * @param ciphertext - The initialization vector\n * @param encryptionKey - The encryption key\n * @param additionalData - The auxilary data\n * @returns The resulting decrypted message\n */\nexport async function decryptMessage(\n ciphertext: Uint8Array,\n iv: Uint8Array,\n encryptionKey: CryptoKey,\n additionalData: Uint8Array,\n): Promise<Uint8Array> {\n try {\n const decrypted = await crypto.subtle.decrypt(\n { name: AES_ALGORITHM, iv: iv as BufferSource, additionalData: additionalData as BufferSource },\n encryptionKey,\n ciphertext as BufferSource,\n );\n return new Uint8Array(decrypted);\n } catch (error) {\n throw new Error('Failed to decrypt symmetrically', { cause: error });\n }\n}\n","import { createNISTbasedIV, makeAuxFixedLength, encryptMessage, decryptMessage } from './core';\nimport { concatBytes } from '@noble/hashes/utils.js';\nimport { IV_LEN_BYTES } from '../constants';\n\n/**\n * Symmetrically encrypts the message\n *\n * @param encryptionKey - The symmetric CryptoKey used for message encryption\n * @param message - The message to encrypt\n * @param freeField - The context of the message (required for IV generation)\n * @param aux - The auxilary string\n * @returns The resulting ciphertext.\n */\nexport async function encryptSymmetrically(\n encryptionKey: CryptoKey,\n message: Uint8Array,\n aux: Uint8Array,\n freeField?: Uint8Array,\n): Promise<Uint8Array> {\n try {\n const iv = createNISTbasedIV(freeField);\n const additionalData = await makeAuxFixedLength(aux);\n const ciphertext = await encryptMessage(message, encryptionKey, iv, additionalData);\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 CryptoKey used for message encryption\n * @param encryptedMessage - The ciphertext\n * @param aux - The auxilary string\n * @returns The resulting ciphertext.\n */\nexport async function decryptSymmetrically(\n encryptionKey: CryptoKey,\n encryptedMessage: Uint8Array,\n aux: Uint8Array,\n): Promise<Uint8Array> {\n try {\n const additionalData = await makeAuxFixedLength(aux);\n const ciphertext = encryptedMessage.slice(0, encryptedMessage.length - IV_LEN_BYTES);\n const iv = encryptedMessage.slice(encryptedMessage.length - IV_LEN_BYTES);\n const result = await decryptMessage(ciphertext, iv, encryptionKey, additionalData);\n return result;\n } catch (error) {\n throw new Error('Failed to decrypt symmetrically', { cause: error });\n }\n}\n","export * from './keys';\nexport * from './aes';\n"],"mappings":"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"}
@@ -1,16 +0,0 @@
1
-
2
- //#region src/types.ts
3
- let KeystoreType = /* @__PURE__ */ function(KeystoreType) {
4
- KeystoreType["ENCRYPTION"] = "Encryption";
5
- KeystoreType["RECOVERY"] = "Recovery";
6
- return KeystoreType;
7
- }({});
8
-
9
- //#endregion
10
- Object.defineProperty(exports, 'KeystoreType', {
11
- enumerable: true,
12
- get: function () {
13
- return KeystoreType;
14
- }
15
- });
16
- //# sourceMappingURL=types-52g887Zi.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-52g887Zi.js","names":[],"sources":["../src/types.ts"],"sourcesContent":["export type EncryptedKeystore = {\n userEmail: string;\n type: KeystoreType;\n encryptedKeys: EmailKeysEncrypted;\n};\n\nexport type User = {\n email: string;\n name: string;\n};\n\nexport type UserWithPublicKeys = User & {\n publicKeys: PublicKeys;\n};\n\nexport type PublicKeys = {\n eccPublicKey: CryptoKey;\n kyberPublicKey: Uint8Array;\n};\n\nexport type PublicKeysBase64 = {\n eccPublicKeyBase64: string;\n kyberPublicKeyBase64: string;\n};\n\nexport type PrivateKeys = {\n eccPrivateKey: CryptoKey;\n kyberPrivateKey: Uint8Array;\n};\n\nexport type PrivateKeysEncrypted = {\n eccPrivateKeyBase64: string;\n kyberPrivateKeyBase64: string;\n};\n\nexport type EmailKeys = {\n publicKeys: PublicKeys;\n privateKeys: PrivateKeys;\n};\n\nexport type EmailKeysEncrypted = {\n publicKeys: PublicKeysBase64;\n privateKeys: PrivateKeysEncrypted;\n};\n\nexport type HybridEncryptedEmail = {\n encryptedKey: HybridEncKey;\n enc: EmailBodyEncrypted;\n recipientEmail: string;\n params: EmailPublicParameters;\n id: string;\n isSubjectEncrypted: boolean;\n};\n\nexport type PwdProtectedEmail = {\n encryptedKey: PwdProtectedKey;\n enc: EmailBodyEncrypted;\n params: EmailPublicParameters;\n id: string;\n isSubjectEncrypted: boolean;\n};\n\nexport type StoredEmail = {\n params: EmailPublicParameters;\n enc: EmailBodyEncrypted;\n id: string;\n};\n\nexport type HybridEncKey = {\n kyberCiphertext: string;\n encryptedKey: string;\n};\n\nexport type PwdProtectedKey = {\n encryptedKey: string;\n salt: string;\n};\n\nexport type EmailBodyEncrypted = {\n encText: string;\n encAttachments?: string[];\n};\n\nexport type EmailBody = {\n text: string;\n attachments?: string[];\n};\n\nexport type EmailPublicParameters = {\n subject: string;\n createdAt: string;\n sender: User;\n recipient: User;\n recipients?: User[];\n replyToEmailID?: string;\n labels?: string[];\n};\n\nexport type Email = {\n id: string;\n body: EmailBody;\n params: EmailPublicParameters;\n};\n\nexport interface MailCache<Email> {\n esCache: Map<string, Email>;\n cacheSize: number;\n isCacheLimited: boolean;\n isCacheReady: boolean;\n}\nexport interface EmailSearchResult {\n email: Email;\n score?: number;\n}\n\nexport enum KeystoreType {\n ENCRYPTION = 'Encryption',\n RECOVERY = 'Recovery',\n}\n"],"mappings":";;AAmHA,IAAY,sDAAL;AACL;AACA"}
@@ -1,10 +0,0 @@
1
- //#region src/types.ts
2
- let KeystoreType = /* @__PURE__ */ function(KeystoreType) {
3
- KeystoreType["ENCRYPTION"] = "Encryption";
4
- KeystoreType["RECOVERY"] = "Recovery";
5
- return KeystoreType;
6
- }({});
7
-
8
- //#endregion
9
- export { KeystoreType as t };
10
- //# sourceMappingURL=types-BiEoleqw.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-BiEoleqw.mjs","names":[],"sources":["../src/types.ts"],"sourcesContent":["export type EncryptedKeystore = {\n userEmail: string;\n type: KeystoreType;\n encryptedKeys: EmailKeysEncrypted;\n};\n\nexport type User = {\n email: string;\n name: string;\n};\n\nexport type UserWithPublicKeys = User & {\n publicKeys: PublicKeys;\n};\n\nexport type PublicKeys = {\n eccPublicKey: CryptoKey;\n kyberPublicKey: Uint8Array;\n};\n\nexport type PublicKeysBase64 = {\n eccPublicKeyBase64: string;\n kyberPublicKeyBase64: string;\n};\n\nexport type PrivateKeys = {\n eccPrivateKey: CryptoKey;\n kyberPrivateKey: Uint8Array;\n};\n\nexport type PrivateKeysEncrypted = {\n eccPrivateKeyBase64: string;\n kyberPrivateKeyBase64: string;\n};\n\nexport type EmailKeys = {\n publicKeys: PublicKeys;\n privateKeys: PrivateKeys;\n};\n\nexport type EmailKeysEncrypted = {\n publicKeys: PublicKeysBase64;\n privateKeys: PrivateKeysEncrypted;\n};\n\nexport type HybridEncryptedEmail = {\n encryptedKey: HybridEncKey;\n enc: EmailBodyEncrypted;\n recipientEmail: string;\n params: EmailPublicParameters;\n id: string;\n isSubjectEncrypted: boolean;\n};\n\nexport type PwdProtectedEmail = {\n encryptedKey: PwdProtectedKey;\n enc: EmailBodyEncrypted;\n params: EmailPublicParameters;\n id: string;\n isSubjectEncrypted: boolean;\n};\n\nexport type StoredEmail = {\n params: EmailPublicParameters;\n enc: EmailBodyEncrypted;\n id: string;\n};\n\nexport type HybridEncKey = {\n kyberCiphertext: string;\n encryptedKey: string;\n};\n\nexport type PwdProtectedKey = {\n encryptedKey: string;\n salt: string;\n};\n\nexport type EmailBodyEncrypted = {\n encText: string;\n encAttachments?: string[];\n};\n\nexport type EmailBody = {\n text: string;\n attachments?: string[];\n};\n\nexport type EmailPublicParameters = {\n subject: string;\n createdAt: string;\n sender: User;\n recipient: User;\n recipients?: User[];\n replyToEmailID?: string;\n labels?: string[];\n};\n\nexport type Email = {\n id: string;\n body: EmailBody;\n params: EmailPublicParameters;\n};\n\nexport interface MailCache<Email> {\n esCache: Map<string, Email>;\n cacheSize: number;\n isCacheLimited: boolean;\n isCacheReady: boolean;\n}\nexport interface EmailSearchResult {\n email: Email;\n score?: number;\n}\n\nexport enum KeystoreType {\n ENCRYPTION = 'Encryption',\n RECOVERY = 'Recovery',\n}\n"],"mappings":";AAmHA,IAAY,sDAAL;AACL;AACA"}
@@ -1,104 +0,0 @@
1
- //#region src/types.d.ts
2
- type EncryptedKeystore = {
3
- userEmail: string;
4
- type: KeystoreType;
5
- encryptedKeys: EmailKeysEncrypted;
6
- };
7
- type User = {
8
- email: string;
9
- name: string;
10
- };
11
- type UserWithPublicKeys = User & {
12
- publicKeys: PublicKeys;
13
- };
14
- type PublicKeys = {
15
- eccPublicKey: CryptoKey;
16
- kyberPublicKey: Uint8Array;
17
- };
18
- type PublicKeysBase64 = {
19
- eccPublicKeyBase64: string;
20
- kyberPublicKeyBase64: string;
21
- };
22
- type PrivateKeys = {
23
- eccPrivateKey: CryptoKey;
24
- kyberPrivateKey: Uint8Array;
25
- };
26
- type PrivateKeysEncrypted = {
27
- eccPrivateKeyBase64: string;
28
- kyberPrivateKeyBase64: string;
29
- };
30
- type EmailKeys = {
31
- publicKeys: PublicKeys;
32
- privateKeys: PrivateKeys;
33
- };
34
- type EmailKeysEncrypted = {
35
- publicKeys: PublicKeysBase64;
36
- privateKeys: PrivateKeysEncrypted;
37
- };
38
- type HybridEncryptedEmail = {
39
- encryptedKey: HybridEncKey;
40
- enc: EmailBodyEncrypted;
41
- recipientEmail: string;
42
- params: EmailPublicParameters;
43
- id: string;
44
- isSubjectEncrypted: boolean;
45
- };
46
- type PwdProtectedEmail = {
47
- encryptedKey: PwdProtectedKey;
48
- enc: EmailBodyEncrypted;
49
- params: EmailPublicParameters;
50
- id: string;
51
- isSubjectEncrypted: boolean;
52
- };
53
- type StoredEmail = {
54
- params: EmailPublicParameters;
55
- enc: EmailBodyEncrypted;
56
- id: string;
57
- };
58
- type HybridEncKey = {
59
- kyberCiphertext: string;
60
- encryptedKey: string;
61
- };
62
- type PwdProtectedKey = {
63
- encryptedKey: string;
64
- salt: string;
65
- };
66
- type EmailBodyEncrypted = {
67
- encText: string;
68
- encAttachments?: string[];
69
- };
70
- type EmailBody = {
71
- text: string;
72
- attachments?: string[];
73
- };
74
- type EmailPublicParameters = {
75
- subject: string;
76
- createdAt: string;
77
- sender: User;
78
- recipient: User;
79
- recipients?: User[];
80
- replyToEmailID?: string;
81
- labels?: string[];
82
- };
83
- type Email = {
84
- id: string;
85
- body: EmailBody;
86
- params: EmailPublicParameters;
87
- };
88
- interface MailCache<Email> {
89
- esCache: Map<string, Email>;
90
- cacheSize: number;
91
- isCacheLimited: boolean;
92
- isCacheReady: boolean;
93
- }
94
- interface EmailSearchResult {
95
- email: Email;
96
- score?: number;
97
- }
98
- declare enum KeystoreType {
99
- ENCRYPTION = "Encryption",
100
- RECOVERY = "Recovery"
101
- }
102
- //#endregion
103
- export { PwdProtectedEmail as _, EmailKeysEncrypted as a, User as b, EncryptedKeystore as c, KeystoreType as d, MailCache as f, PublicKeysBase64 as g, PublicKeys as h, EmailKeys as i, HybridEncKey as l, PrivateKeysEncrypted as m, EmailBody as n, EmailPublicParameters as o, PrivateKeys as p, EmailBodyEncrypted as r, EmailSearchResult as s, Email as t, HybridEncryptedEmail as u, PwdProtectedKey as v, UserWithPublicKeys as x, StoredEmail as y };
104
- //# sourceMappingURL=types-Ds3ivE9W.d.ts.map
@@ -1,104 +0,0 @@
1
- //#region src/types.d.ts
2
- type EncryptedKeystore = {
3
- userEmail: string;
4
- type: KeystoreType;
5
- encryptedKeys: EmailKeysEncrypted;
6
- };
7
- type User = {
8
- email: string;
9
- name: string;
10
- };
11
- type UserWithPublicKeys = User & {
12
- publicKeys: PublicKeys;
13
- };
14
- type PublicKeys = {
15
- eccPublicKey: CryptoKey;
16
- kyberPublicKey: Uint8Array;
17
- };
18
- type PublicKeysBase64 = {
19
- eccPublicKeyBase64: string;
20
- kyberPublicKeyBase64: string;
21
- };
22
- type PrivateKeys = {
23
- eccPrivateKey: CryptoKey;
24
- kyberPrivateKey: Uint8Array;
25
- };
26
- type PrivateKeysEncrypted = {
27
- eccPrivateKeyBase64: string;
28
- kyberPrivateKeyBase64: string;
29
- };
30
- type EmailKeys = {
31
- publicKeys: PublicKeys;
32
- privateKeys: PrivateKeys;
33
- };
34
- type EmailKeysEncrypted = {
35
- publicKeys: PublicKeysBase64;
36
- privateKeys: PrivateKeysEncrypted;
37
- };
38
- type HybridEncryptedEmail = {
39
- encryptedKey: HybridEncKey;
40
- enc: EmailBodyEncrypted;
41
- recipientEmail: string;
42
- params: EmailPublicParameters;
43
- id: string;
44
- isSubjectEncrypted: boolean;
45
- };
46
- type PwdProtectedEmail = {
47
- encryptedKey: PwdProtectedKey;
48
- enc: EmailBodyEncrypted;
49
- params: EmailPublicParameters;
50
- id: string;
51
- isSubjectEncrypted: boolean;
52
- };
53
- type StoredEmail = {
54
- params: EmailPublicParameters;
55
- enc: EmailBodyEncrypted;
56
- id: string;
57
- };
58
- type HybridEncKey = {
59
- kyberCiphertext: string;
60
- encryptedKey: string;
61
- };
62
- type PwdProtectedKey = {
63
- encryptedKey: string;
64
- salt: string;
65
- };
66
- type EmailBodyEncrypted = {
67
- encText: string;
68
- encAttachments?: string[];
69
- };
70
- type EmailBody = {
71
- text: string;
72
- attachments?: string[];
73
- };
74
- type EmailPublicParameters = {
75
- subject: string;
76
- createdAt: string;
77
- sender: User;
78
- recipient: User;
79
- recipients?: User[];
80
- replyToEmailID?: string;
81
- labels?: string[];
82
- };
83
- type Email = {
84
- id: string;
85
- body: EmailBody;
86
- params: EmailPublicParameters;
87
- };
88
- interface MailCache<Email> {
89
- esCache: Map<string, Email>;
90
- cacheSize: number;
91
- isCacheLimited: boolean;
92
- isCacheReady: boolean;
93
- }
94
- interface EmailSearchResult {
95
- email: Email;
96
- score?: number;
97
- }
98
- declare enum KeystoreType {
99
- ENCRYPTION = "Encryption",
100
- RECOVERY = "Recovery"
101
- }
102
- //#endregion
103
- export { PwdProtectedEmail as _, EmailKeysEncrypted as a, User as b, EncryptedKeystore as c, KeystoreType as d, MailCache as f, PublicKeysBase64 as g, PublicKeys as h, EmailKeys as i, HybridEncKey as l, PrivateKeysEncrypted as m, EmailBody as n, EmailPublicParameters as o, PrivateKeys as p, EmailBodyEncrypted as r, EmailSearchResult as s, Email as t, HybridEncryptedEmail as u, PwdProtectedKey as v, UserWithPublicKeys as x, StoredEmail as y };
104
- //# sourceMappingURL=types-DwQJtrTx.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-CNs3cyDj.js","names":["importPublicKey","exportPublicKey","bip39","wordlist","AES_KEY_BIT_LENGTH","uuid"],"sources":["../src/utils/converters.ts","../src/utils/keyConverters.ts","../src/utils/genMnemonic.ts","../src/utils/genID.ts","../src/utils/index.ts"],"sourcesContent":["import { bytesToHex, hexToBytes } from '@noble/hashes/utils.js';\n\n/**\n * Converts a Uint8Array into a hexadecimal string.\n *\n * @param array - The Uint8Array to convert.\n * @returns The hexadecimal string representation of the array.\n */\nexport function uint8ArrayToHex(array: Uint8Array): string {\n return bytesToHex(array);\n}\n\n/**\n * Converts a UTF-8 string into a Uint8Array.\n *\n * @param str - The UTF-8 string to convert.\n * @returns A Uint8Array created from the UTF-8 string.\n */\nexport function UTF8ToUint8(str: string): Uint8Array {\n return new TextEncoder().encode(str);\n}\n\n/**\n * Converts an Uint8Array into a UTF-8 string.\n *\n * @param array - The Uint8Array to convert.\n * @returns The UTF-8 string representation of the array.\n */\nexport function uint8ToUTF8(array: Uint8Array): string {\n return new TextDecoder().decode(array);\n}\n\n/**\n * Converts a hexadecimal string into a Uint8Array.\n *\n * @param hex - The hexadecimal string to convert.\n * @returns A Uint8Array created from the hex string.\n */\nexport function hexToUint8Array(hex: string): Uint8Array {\n return hexToBytes(hex);\n}\n\n/**\n * Converts a Uint8Array into a base64 string.\n *\n * @param array - The Uint8Array to convert.\n * @returns The base64 string representation of the array.\n */\nexport function uint8ArrayToBase64(buffer: Uint8Array): string {\n const array = Uint16Array.from(buffer);\n const binaryString = new TextDecoder('UTF-16').decode(array);\n return btoa(binaryString);\n}\n\n/**\n * Converts a base64 string into a Uint8Array.\n *\n * @param str - The base64 string to convert.\n * @returns A Uint8Array created from the base64 string.\n */\nexport function base64ToUint8Array(str: string): Uint8Array {\n const binaryString = atob(str);\n const len = binaryString.length;\n const array = new Uint8Array(len);\n for (let i = 0; i < len; i++) {\n array[i] = binaryString.codePointAt(i)!;\n }\n return new Uint8Array(array.buffer);\n}\n","import { uint8ArrayToBase64, base64ToUint8Array } from '.';\nimport { PublicKeys, PublicKeysBase64 } from '../types';\nimport { exportPublicKey, importPublicKey } from '../asymmetric-crypto';\n\n/**\n * Converts a base64 string into PublicKeys type.\n *\n * @param base64 - The base64 representation of the public key.\n * @returns The resulting PublicKeys.\n */\nexport async function base64ToPublicKey(base64: PublicKeysBase64): Promise<PublicKeys> {\n try {\n const eccPublicKeyBytes = base64ToUint8Array(base64.eccPublicKeyBase64);\n const eccPublicKey = await importPublicKey(eccPublicKeyBytes);\n const kyberPublicKey = base64ToUint8Array(base64.kyberPublicKeyBase64);\n return {\n eccPublicKey: eccPublicKey,\n kyberPublicKey: kyberPublicKey,\n };\n } catch (error) {\n throw new Error('Failed to convert base64 to PublicKeys', { cause: error });\n }\n}\n\n/**\n * Converts a PublicKeys type into PublicKeysBase64.\n *\n * @param key - The PublicKeys key.\n * @returns The resulting PublicKeysBase64.\n */\nexport async function publicKeyToBase64(key: PublicKeys): Promise<PublicKeysBase64> {\n try {\n const eccPublicKeyArray = await exportPublicKey(key.eccPublicKey);\n const keys = {\n eccPublicKeyBase64: uint8ArrayToBase64(eccPublicKeyArray),\n kyberPublicKeyBase64: uint8ArrayToBase64(key.kyberPublicKey),\n };\n return keys;\n } catch (error) {\n throw new Error('Failed to convert key of the type PublicKeys to PublicKeysBase64', { cause: error });\n }\n}\n","import * as bip39 from '@scure/bip39';\nimport { wordlist } from '@scure/bip39/wordlists/english.js';\nimport { AES_KEY_BIT_LENGTH } from '../constants';\n/**\n * Generates a mnemonic\n *\n * @returns The generated mnemonic.\n */\nexport function genMnemonic(): string {\n return bip39.generateMnemonic(wordlist, AES_KEY_BIT_LENGTH);\n}\n\n/**\n * Converts a mnemonic to Uint8Array\n *\n * @param mnemonic - The mnemonic to convert\n * @returns The mnemonic as Uint8Array\n */\nexport function mnemonicToBytes(mnemonic: string): Uint8Array {\n return bip39.mnemonicToEntropy(mnemonic, wordlist);\n}\n\n/**\n * Converts a Uint8Array to a mnemonic\n *\n * @param bytes - The bytes to convert\n * @returns The mnemonic string\n */\nexport function bytesToMnemonic(bytes: Uint8Array): string {\n return bip39.entropyToMnemonic(bytes, wordlist);\n}\n","import { v4 as uuidv4, parse, stringify } from 'uuid';\n/**\n * Creates a random identifier.\n *\n * @returns The resulting auxilary string\n */\nexport function generateUuid(): string {\n return uuidv4();\n}\n\nexport function uuidToBytes(uuid: string): Uint8Array {\n return parse(uuid);\n}\n\nexport function bytesToUuid(bytes: Uint8Array): string {\n return stringify(bytes);\n}\n","export * from './converters';\nexport * from './keyConverters';\nexport * from './genMnemonic';\nexport * from './genID';\n"],"mappings":";;;;;;;;;;;;;;;;AAQA,SAAgB,gBAAgB,OAA2B;AACzD,+CAAkB,MAAM;;;;;;;;AAS1B,SAAgB,YAAY,KAAyB;AACnD,QAAO,IAAI,aAAa,CAAC,OAAO,IAAI;;;;;;;;AAStC,SAAgB,YAAY,OAA2B;AACrD,QAAO,IAAI,aAAa,CAAC,OAAO,MAAM;;;;;;;;AASxC,SAAgB,gBAAgB,KAAyB;AACvD,+CAAkB,IAAI;;;;;;;;AASxB,SAAgB,mBAAmB,QAA4B;CAC7D,MAAM,QAAQ,YAAY,KAAK,OAAO;CACtC,MAAM,eAAe,IAAI,YAAY,SAAS,CAAC,OAAO,MAAM;AAC5D,QAAO,KAAK,aAAa;;;;;;;;AAS3B,SAAgB,mBAAmB,KAAyB;CAC1D,MAAM,eAAe,KAAK,IAAI;CAC9B,MAAM,MAAM,aAAa;CACzB,MAAM,QAAQ,IAAI,WAAW,IAAI;AACjC,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,IACvB,OAAM,KAAK,aAAa,YAAY,EAAE;AAExC,QAAO,IAAI,WAAW,MAAM,OAAO;;;;;;;;;;;ACzDrC,eAAsB,kBAAkB,QAA+C;AACrF,KAAI;AAIF,SAAO;GACL,cAHmB,MAAMA,0CADD,mBAAmB,OAAO,mBAAmB,CACV;GAI3D,gBAHqB,mBAAmB,OAAO,qBAAqB;GAIrE;UACM,OAAO;AACd,QAAM,IAAI,MAAM,0CAA0C,EAAE,OAAO,OAAO,CAAC;;;;;;;;;AAU/E,eAAsB,kBAAkB,KAA4C;AAClF,KAAI;AAMF,SAJa;GACX,oBAAoB,mBAFI,MAAMC,0CAAgB,IAAI,aAAa,CAEN;GACzD,sBAAsB,mBAAmB,IAAI,eAAe;GAC7D;UAEM,OAAO;AACd,QAAM,IAAI,MAAM,oEAAoE,EAAE,OAAO,OAAO,CAAC;;;;;;;;;;;AC/BzG,SAAgB,cAAsB;AACpC,QAAOC,aAAM,iBAAiBC,4CAAUC,qCAAmB;;;;;;;;AAS7D,SAAgB,gBAAgB,UAA8B;AAC5D,QAAOF,aAAM,kBAAkB,UAAUC,2CAAS;;;;;;;;AASpD,SAAgB,gBAAgB,OAA2B;AACzD,QAAOD,aAAM,kBAAkB,OAAOC,2CAAS;;;;;;;;;;ACvBjD,SAAgB,eAAuB;AACrC,sBAAe;;AAGjB,SAAgB,YAAY,QAA0B;AACpD,wBAAaE,OAAK;;AAGpB,SAAgB,YAAY,OAA2B;AACrD,4BAAiB,MAAM"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-DS04iUcX.mjs","names":["uuidv4"],"sources":["../src/utils/converters.ts","../src/utils/keyConverters.ts","../src/utils/genMnemonic.ts","../src/utils/genID.ts","../src/utils/index.ts"],"sourcesContent":["import { bytesToHex, hexToBytes } from '@noble/hashes/utils.js';\n\n/**\n * Converts a Uint8Array into a hexadecimal string.\n *\n * @param array - The Uint8Array to convert.\n * @returns The hexadecimal string representation of the array.\n */\nexport function uint8ArrayToHex(array: Uint8Array): string {\n return bytesToHex(array);\n}\n\n/**\n * Converts a UTF-8 string into a Uint8Array.\n *\n * @param str - The UTF-8 string to convert.\n * @returns A Uint8Array created from the UTF-8 string.\n */\nexport function UTF8ToUint8(str: string): Uint8Array {\n return new TextEncoder().encode(str);\n}\n\n/**\n * Converts an Uint8Array into a UTF-8 string.\n *\n * @param array - The Uint8Array to convert.\n * @returns The UTF-8 string representation of the array.\n */\nexport function uint8ToUTF8(array: Uint8Array): string {\n return new TextDecoder().decode(array);\n}\n\n/**\n * Converts a hexadecimal string into a Uint8Array.\n *\n * @param hex - The hexadecimal string to convert.\n * @returns A Uint8Array created from the hex string.\n */\nexport function hexToUint8Array(hex: string): Uint8Array {\n return hexToBytes(hex);\n}\n\n/**\n * Converts a Uint8Array into a base64 string.\n *\n * @param array - The Uint8Array to convert.\n * @returns The base64 string representation of the array.\n */\nexport function uint8ArrayToBase64(buffer: Uint8Array): string {\n const array = Uint16Array.from(buffer);\n const binaryString = new TextDecoder('UTF-16').decode(array);\n return btoa(binaryString);\n}\n\n/**\n * Converts a base64 string into a Uint8Array.\n *\n * @param str - The base64 string to convert.\n * @returns A Uint8Array created from the base64 string.\n */\nexport function base64ToUint8Array(str: string): Uint8Array {\n const binaryString = atob(str);\n const len = binaryString.length;\n const array = new Uint8Array(len);\n for (let i = 0; i < len; i++) {\n array[i] = binaryString.codePointAt(i)!;\n }\n return new Uint8Array(array.buffer);\n}\n","import { uint8ArrayToBase64, base64ToUint8Array } from '.';\nimport { PublicKeys, PublicKeysBase64 } from '../types';\nimport { exportPublicKey, importPublicKey } from '../asymmetric-crypto';\n\n/**\n * Converts a base64 string into PublicKeys type.\n *\n * @param base64 - The base64 representation of the public key.\n * @returns The resulting PublicKeys.\n */\nexport async function base64ToPublicKey(base64: PublicKeysBase64): Promise<PublicKeys> {\n try {\n const eccPublicKeyBytes = base64ToUint8Array(base64.eccPublicKeyBase64);\n const eccPublicKey = await importPublicKey(eccPublicKeyBytes);\n const kyberPublicKey = base64ToUint8Array(base64.kyberPublicKeyBase64);\n return {\n eccPublicKey: eccPublicKey,\n kyberPublicKey: kyberPublicKey,\n };\n } catch (error) {\n throw new Error('Failed to convert base64 to PublicKeys', { cause: error });\n }\n}\n\n/**\n * Converts a PublicKeys type into PublicKeysBase64.\n *\n * @param key - The PublicKeys key.\n * @returns The resulting PublicKeysBase64.\n */\nexport async function publicKeyToBase64(key: PublicKeys): Promise<PublicKeysBase64> {\n try {\n const eccPublicKeyArray = await exportPublicKey(key.eccPublicKey);\n const keys = {\n eccPublicKeyBase64: uint8ArrayToBase64(eccPublicKeyArray),\n kyberPublicKeyBase64: uint8ArrayToBase64(key.kyberPublicKey),\n };\n return keys;\n } catch (error) {\n throw new Error('Failed to convert key of the type PublicKeys to PublicKeysBase64', { cause: error });\n }\n}\n","import * as bip39 from '@scure/bip39';\nimport { wordlist } from '@scure/bip39/wordlists/english.js';\nimport { AES_KEY_BIT_LENGTH } from '../constants';\n/**\n * Generates a mnemonic\n *\n * @returns The generated mnemonic.\n */\nexport function genMnemonic(): string {\n return bip39.generateMnemonic(wordlist, AES_KEY_BIT_LENGTH);\n}\n\n/**\n * Converts a mnemonic to Uint8Array\n *\n * @param mnemonic - The mnemonic to convert\n * @returns The mnemonic as Uint8Array\n */\nexport function mnemonicToBytes(mnemonic: string): Uint8Array {\n return bip39.mnemonicToEntropy(mnemonic, wordlist);\n}\n\n/**\n * Converts a Uint8Array to a mnemonic\n *\n * @param bytes - The bytes to convert\n * @returns The mnemonic string\n */\nexport function bytesToMnemonic(bytes: Uint8Array): string {\n return bip39.entropyToMnemonic(bytes, wordlist);\n}\n","import { v4 as uuidv4, parse, stringify } from 'uuid';\n/**\n * Creates a random identifier.\n *\n * @returns The resulting auxilary string\n */\nexport function generateUuid(): string {\n return uuidv4();\n}\n\nexport function uuidToBytes(uuid: string): Uint8Array {\n return parse(uuid);\n}\n\nexport function bytesToUuid(bytes: Uint8Array): string {\n return stringify(bytes);\n}\n","export * from './converters';\nexport * from './keyConverters';\nexport * from './genMnemonic';\nexport * from './genID';\n"],"mappings":";;;;;;;;;;;;;;;AAQA,SAAgB,gBAAgB,OAA2B;AACzD,QAAO,WAAW,MAAM;;;;;;;;AAS1B,SAAgB,YAAY,KAAyB;AACnD,QAAO,IAAI,aAAa,CAAC,OAAO,IAAI;;;;;;;;AAStC,SAAgB,YAAY,OAA2B;AACrD,QAAO,IAAI,aAAa,CAAC,OAAO,MAAM;;;;;;;;AASxC,SAAgB,gBAAgB,KAAyB;AACvD,QAAO,WAAW,IAAI;;;;;;;;AASxB,SAAgB,mBAAmB,QAA4B;CAC7D,MAAM,QAAQ,YAAY,KAAK,OAAO;CACtC,MAAM,eAAe,IAAI,YAAY,SAAS,CAAC,OAAO,MAAM;AAC5D,QAAO,KAAK,aAAa;;;;;;;;AAS3B,SAAgB,mBAAmB,KAAyB;CAC1D,MAAM,eAAe,KAAK,IAAI;CAC9B,MAAM,MAAM,aAAa;CACzB,MAAM,QAAQ,IAAI,WAAW,IAAI;AACjC,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,IACvB,OAAM,KAAK,aAAa,YAAY,EAAE;AAExC,QAAO,IAAI,WAAW,MAAM,OAAO;;;;;;;;;;;ACzDrC,eAAsB,kBAAkB,QAA+C;AACrF,KAAI;AAIF,SAAO;GACL,cAHmB,MAAM,gBADD,mBAAmB,OAAO,mBAAmB,CACV;GAI3D,gBAHqB,mBAAmB,OAAO,qBAAqB;GAIrE;UACM,OAAO;AACd,QAAM,IAAI,MAAM,0CAA0C,EAAE,OAAO,OAAO,CAAC;;;;;;;;;AAU/E,eAAsB,kBAAkB,KAA4C;AAClF,KAAI;AAMF,SAJa;GACX,oBAAoB,mBAFI,MAAM,gBAAgB,IAAI,aAAa,CAEN;GACzD,sBAAsB,mBAAmB,IAAI,eAAe;GAC7D;UAEM,OAAO;AACd,QAAM,IAAI,MAAM,oEAAoE,EAAE,OAAO,OAAO,CAAC;;;;;;;;;;;AC/BzG,SAAgB,cAAsB;AACpC,QAAO,MAAM,iBAAiB,UAAU,mBAAmB;;;;;;;;AAS7D,SAAgB,gBAAgB,UAA8B;AAC5D,QAAO,MAAM,kBAAkB,UAAU,SAAS;;;;;;;;AASpD,SAAgB,gBAAgB,OAA2B;AACzD,QAAO,MAAM,kBAAkB,OAAO,SAAS;;;;;;;;;;ACvBjD,SAAgB,eAAuB;AACrC,QAAOA,IAAQ;;AAGjB,SAAgB,YAAY,MAA0B;AACpD,QAAO,MAAM,KAAK;;AAGpB,SAAgB,YAAY,OAA2B;AACrD,QAAO,UAAU,MAAM"}