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
@@ -1,33 +1,32 @@
1
- import { c as HybridEncryptedEmailAndSubject, d as PwdProtectedEmail, f as PwdProtectedEmailAndSubject, i as EmailEncrypted, l as HybridKeyPair, m as RecipientWithPublicKey, n as EmailAndSubject, o as HybridEncKey, p as PwdProtectedKey, r as EmailAndSubjectEncrypted, s as HybridEncryptedEmail, t as Email } from "./types-fhvOo6Gw.js";
1
+ import { d as PwdProtectedKey, f as RecipientWithPublicKey, i as EmailEncrypted, l as PwdProtectedEmail, n as EmailAndSubject, o as HybridEncKey, r as EmailAndSubjectEncrypted, s as HybridKeyPair, t as Email, u as PwdProtectedEmailAndSubject } from "./types-Y0wL7HUH.js";
2
2
 
3
3
  //#region src/email-crypto/hybridEncyptedEmail.d.ts
4
- /**
5
- * Encrypts the email using hybrid encryption.
6
- *
7
- * @param email - The email to encrypt.
8
- * @param recipientPublicKeys - The public keys of the recipient.
9
- * @param aux - An optional auxilary sting for AEAD (e.g., email ID or timestamp).
10
- * @returns The encrypted email
11
- */
12
- declare function encryptEmailHybrid(email: Email, recipient: RecipientWithPublicKey, aux?: Uint8Array): Promise<HybridEncryptedEmail>;
13
4
  /**
14
5
  * Encrypts the email using hybrid encryption for multiple recipients.
15
6
  *
16
7
  * @param email - The email to encrypt for multiple recipients.
17
8
  * @param recipients - The recipients with corresponding public keys.
18
9
  * @param aux - An optional auxilary sting for AEAD (e.g., email ID or timestamp).
19
- * @returns The set of encrypted emails
10
+ * @returns The set of encrypted keys (one per user) and encrypted email
20
11
  */
21
- declare function encryptEmailHybridForMultipleRecipients(email: Email, recipients: RecipientWithPublicKey[], aux?: Uint8Array): Promise<HybridEncryptedEmail[]>;
12
+ declare function encryptEmailHybridForMultipleRecipients(email: Email, recipients: RecipientWithPublicKey[], aux?: Uint8Array): Promise<{
13
+ encryptedKeys: HybridEncKey[];
14
+ encEmail: EmailEncrypted;
15
+ }>;
22
16
  /**
23
17
  * Decrypts the email using hybrid encryption.
24
18
  *
25
19
  * @param encEmail - The encrypted email.
20
+ * @param encryptedKey - The encrypted key for this recipient.
26
21
  * @param recipientPrivateHybridKeys - The private key of the recipient.
27
22
  * @param aux - An optional auxilary sting for AEAD (e.g., email ID or timestamp).
28
23
  * @returns The decrypted email
29
24
  */
30
- declare function decryptEmailHybrid(encEmail: HybridEncryptedEmail, recipientPrivateHybridKeys: Uint8Array, aux?: Uint8Array): Promise<Email>;
25
+ declare function decryptEmailHybrid(encEmail: EmailEncrypted, encryptedKey: HybridEncKey, recipientPrivateHybridKeys: Uint8Array, aux?: Uint8Array): Promise<Email>;
26
+ declare function decryptEmailPreviewHybrid(encPreview: string, encryptedKey: HybridEncKey, recipientPrivateHybridKeys: Uint8Array, aux?: Uint8Array): Promise<{
27
+ preview: string;
28
+ encryptionKey: Uint8Array;
29
+ }>;
31
30
  //#endregion
32
31
  //#region src/email-crypto/pwdProtectedEmail.d.ts
33
32
  /**
@@ -50,33 +49,28 @@ declare function createPwdProtectedEmail(email: Email, password: string, aux?: U
50
49
  declare function decryptPwdProtectedEmail(encryptedEmail: PwdProtectedEmail, password: string, aux?: Uint8Array): Promise<Email>;
51
50
  //#endregion
52
51
  //#region src/email-crypto/hybridEncryptedEmailAndSubject.d.ts
53
- /**
54
- * Encrypts the email and its subject using hybrid encryption.
55
- *
56
- * @param email - The email and subject to encrypt.
57
- * @param recipientPublicKeys - The public keys of the recipient.
58
- * @param aux - An optional auxilary sting for AEAD (e.g., email ID or timestamp).
59
- * @returns The encrypted email and subject
60
- */
61
- declare function encryptEmailAndSubjectHybrid(email: EmailAndSubject, recipient: RecipientWithPublicKey, aux?: Uint8Array): Promise<HybridEncryptedEmailAndSubject>;
62
52
  /**
63
53
  * Encrypts the email and its subject using hybrid encryption for multiple recipients.
64
54
  *
65
55
  * @param email - The email and subject to encrypt for multiple recipients.
66
56
  * @param recipients - The recipients with corresponding public keys.
67
57
  * @param aux - An optional auxilary sting for AEAD (e.g., email ID or timestamp).
68
- * @returns The set of encrypted emails and subjects
58
+ * @returns The set of encrypted keys and encrypted email and subject
69
59
  */
70
- declare function encryptEmailAndSubjectHybridForMultipleRecipients(email: EmailAndSubject, recipients: RecipientWithPublicKey[], aux?: Uint8Array): Promise<HybridEncryptedEmailAndSubject[]>;
60
+ declare function encryptEmailAndSubjectHybridForMultipleRecipients(email: EmailAndSubject, recipients: RecipientWithPublicKey[], aux?: Uint8Array): Promise<{
61
+ encryptedKeys: HybridEncKey[];
62
+ encEmail: EmailAndSubjectEncrypted;
63
+ }>;
71
64
  /**
72
65
  * Decrypts the email and its subject using hybrid encryption.
73
66
  *
74
- * @param hybridEmail - The encrypted email and subject.
67
+ * @param encEmail - The encrypted email and subject.
68
+ * @param encryptedKey - The encrypted key for this recipient.
75
69
  * @param recipientPrivateHybridKeys - The private key of the recipient.
76
70
  * @param aux - An optional auxilary sting for AEAD (e.g., email ID or timestamp).
77
71
  * @returns The decrypted email and subject
78
72
  */
79
- declare function decryptEmailAndSubjectHybrid(hybridEmail: HybridEncryptedEmailAndSubject, recipientPrivateHybridKeys: Uint8Array, aux?: Uint8Array): Promise<EmailAndSubject>;
73
+ declare function decryptEmailAndSubjectHybrid(encEmail: EmailAndSubjectEncrypted, encryptedKey: HybridEncKey, recipientPrivateHybridKeys: Uint8Array, aux?: Uint8Array): Promise<EmailAndSubject>;
80
74
  //#endregion
81
75
  //#region src/email-crypto/pwdProtectedEmailAndSubject.d.ts
82
76
  /**
@@ -141,6 +135,15 @@ declare function encryptEmail(email: Email, aux?: Uint8Array): Promise<{
141
135
  * @returns The resulting encrypted email and symmetric key used for encryption
142
136
  */
143
137
  declare function encryptEmailWithKey(email: Email, encryptionKey: Uint8Array, aux?: Uint8Array): Promise<EmailEncrypted>;
138
+ /**
139
+ * Decrypts symmetrically encrypted email preview.
140
+ *
141
+ * @param encEmailPreview - The email preview to decrypt.
142
+ * @param encryptionKey - The symmetric key to decrypt the email.
143
+ * @param aux - An optional auxilary sting for AEAD (e.g., email ID or timestamp).
144
+ * @returns The resulting decrypted email
145
+ */
146
+ declare function decryptPreview(encEmailPreview: string, encryptionKey: Uint8Array, aux?: Uint8Array): Promise<string>;
144
147
  /**
145
148
  * Decrypts symmetrically encrypted email.
146
149
  *
@@ -224,6 +227,9 @@ declare class EmailSymmetricEncryptionError extends Error {
224
227
  declare class EmailSymmetricDecryptionError extends Error {
225
228
  constructor(errorMsg?: string);
226
229
  }
230
+ declare class EmailPreviewSymmetricDecryptionError extends Error {
231
+ constructor(errorMsg?: string);
232
+ }
227
233
  declare class EmailHybridEncryptionError extends Error {
228
234
  constructor(errorMsg?: string);
229
235
  }
@@ -243,5 +249,5 @@ declare class FailedToDecryptEmail extends Error {
243
249
  constructor(errorMsg?: string);
244
250
  }
245
251
  //#endregion
246
- export { EmailHybridDecryptionError, EmailHybridEncryptionError, EmailPasswordOpenError, EmailPasswordProtectError, EmailSymmetricDecryptionError, EmailSymmetricEncryptionError, FailedToDecryptEmail, FailedToEncryptEmail, InvalidInputEmail, createPwdProtectedEmail, createPwdProtectedEmailAndSubject, decryptEmail, decryptEmailAndSubject, decryptEmailAndSubjectHybrid, decryptEmailHybrid, decryptKeysHybrid, decryptPwdProtectedEmail, decryptPwdProtectedEmailAndSubject, deriveDatabaseKey, deriveEmailDraftKey, encryptEmail, encryptEmailAndSubject, encryptEmailAndSubjectHybrid, encryptEmailAndSubjectHybridForMultipleRecipients, encryptEmailAndSubjectWithKey, encryptEmailHybrid, encryptEmailHybridForMultipleRecipients, encryptEmailWithKey, encryptKeysHybrid, generateEmailKeys, passwordProtectKey, removePasswordProtection };
252
+ export { EmailHybridDecryptionError, EmailHybridEncryptionError, EmailPasswordOpenError, EmailPasswordProtectError, EmailPreviewSymmetricDecryptionError, EmailSymmetricDecryptionError, EmailSymmetricEncryptionError, FailedToDecryptEmail, FailedToEncryptEmail, InvalidInputEmail, createPwdProtectedEmail, createPwdProtectedEmailAndSubject, decryptEmail, decryptEmailAndSubject, decryptEmailAndSubjectHybrid, decryptEmailHybrid, decryptEmailPreviewHybrid, decryptKeysHybrid, decryptPreview, decryptPwdProtectedEmail, decryptPwdProtectedEmailAndSubject, deriveDatabaseKey, deriveEmailDraftKey, encryptEmail, encryptEmailAndSubject, encryptEmailAndSubjectHybridForMultipleRecipients, encryptEmailAndSubjectWithKey, encryptEmailHybridForMultipleRecipients, encryptEmailWithKey, encryptKeysHybrid, generateEmailKeys, passwordProtectKey, removePasswordProtection };
247
253
  //# sourceMappingURL=email-crypto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"email-crypto.d.ts","names":[],"sources":["../src/email-crypto/hybridEncyptedEmail.ts","../src/email-crypto/pwdProtectedEmail.ts","../src/email-crypto/hybridEncryptedEmailAndSubject.ts","../src/email-crypto/pwdProtectedEmailAndSubject.ts","../src/email-crypto/emailKeys.ts","../src/email-crypto/core.ts","../src/email-crypto/coreSubject.ts","../src/email-crypto/errors.ts"],"mappings":"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"}
1
+ {"version":3,"file":"email-crypto.d.ts","names":[],"sources":["../src/email-crypto/hybridEncyptedEmail.ts","../src/email-crypto/pwdProtectedEmail.ts","../src/email-crypto/hybridEncryptedEmailAndSubject.ts","../src/email-crypto/pwdProtectedEmailAndSubject.ts","../src/email-crypto/emailKeys.ts","../src/email-crypto/core.ts","../src/email-crypto/coreSubject.ts","../src/email-crypto/errors.ts"],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_email_crypto = require("./email-crypto-CPL8ept8.js");
2
+ const require_email_crypto = require("./email-crypto-DJb-I1wm.js");
3
3
  exports.EmailHybridDecryptionError = require_email_crypto.EmailHybridDecryptionError;
4
4
  exports.EmailHybridEncryptionError = require_email_crypto.EmailHybridEncryptionError;
5
5
  exports.EmailPasswordOpenError = require_email_crypto.EmailPasswordOpenError;
6
6
  exports.EmailPasswordProtectError = require_email_crypto.EmailPasswordProtectError;
7
+ exports.EmailPreviewSymmetricDecryptionError = require_email_crypto.EmailPreviewSymmetricDecryptionError;
7
8
  exports.EmailSymmetricDecryptionError = require_email_crypto.EmailSymmetricDecryptionError;
8
9
  exports.EmailSymmetricEncryptionError = require_email_crypto.EmailSymmetricEncryptionError;
9
10
  exports.FailedToDecryptEmail = require_email_crypto.FailedToDecryptEmail;
@@ -15,17 +16,17 @@ exports.decryptEmail = require_email_crypto.decryptEmail;
15
16
  exports.decryptEmailAndSubject = require_email_crypto.decryptEmailAndSubject;
16
17
  exports.decryptEmailAndSubjectHybrid = require_email_crypto.decryptEmailAndSubjectHybrid;
17
18
  exports.decryptEmailHybrid = require_email_crypto.decryptEmailHybrid;
19
+ exports.decryptEmailPreviewHybrid = require_email_crypto.decryptEmailPreviewHybrid;
18
20
  exports.decryptKeysHybrid = require_email_crypto.decryptKeysHybrid;
21
+ exports.decryptPreview = require_email_crypto.decryptPreview;
19
22
  exports.decryptPwdProtectedEmail = require_email_crypto.decryptPwdProtectedEmail;
20
23
  exports.decryptPwdProtectedEmailAndSubject = require_email_crypto.decryptPwdProtectedEmailAndSubject;
21
24
  exports.deriveDatabaseKey = require_email_crypto.deriveDatabaseKey;
22
25
  exports.deriveEmailDraftKey = require_email_crypto.deriveEmailDraftKey;
23
26
  exports.encryptEmail = require_email_crypto.encryptEmail;
24
27
  exports.encryptEmailAndSubject = require_email_crypto.encryptEmailAndSubject;
25
- exports.encryptEmailAndSubjectHybrid = require_email_crypto.encryptEmailAndSubjectHybrid;
26
28
  exports.encryptEmailAndSubjectHybridForMultipleRecipients = require_email_crypto.encryptEmailAndSubjectHybridForMultipleRecipients;
27
29
  exports.encryptEmailAndSubjectWithKey = require_email_crypto.encryptEmailAndSubjectWithKey;
28
- exports.encryptEmailHybrid = require_email_crypto.encryptEmailHybrid;
29
30
  exports.encryptEmailHybridForMultipleRecipients = require_email_crypto.encryptEmailHybridForMultipleRecipients;
30
31
  exports.encryptEmailWithKey = require_email_crypto.encryptEmailWithKey;
31
32
  exports.encryptKeysHybrid = require_email_crypto.encryptKeysHybrid;
@@ -1,2 +1,2 @@
1
- import { A as FailedToDecryptEmail, C as removePasswordProtection, D as EmailPasswordProtectError, E as EmailPasswordOpenError, M as InvalidInputEmail, O as EmailSymmetricDecryptionError, S as passwordProtectKey, T as EmailHybridEncryptionError, _ as decryptEmail, a as decryptPwdProtectedEmailAndSubject, b as encryptEmailWithKey, c as encryptEmailAndSubjectHybridForMultipleRecipients, d as encryptEmailAndSubjectWithKey, f as createPwdProtectedEmail, g as encryptEmailHybridForMultipleRecipients, h as encryptEmailHybrid, i as createPwdProtectedEmailAndSubject, j as FailedToEncryptEmail, k as EmailSymmetricEncryptionError, l as decryptEmailAndSubject, m as decryptEmailHybrid, n as deriveEmailDraftKey, o as decryptEmailAndSubjectHybrid, p as decryptPwdProtectedEmail, r as generateEmailKeys, s as encryptEmailAndSubjectHybrid, t as deriveDatabaseKey, u as encryptEmailAndSubject, v as decryptKeysHybrid, w as EmailHybridDecryptionError, x as encryptKeysHybrid, y as encryptEmail } from "./email-crypto-_Wcbvr_n.mjs";
2
- export { EmailHybridDecryptionError, EmailHybridEncryptionError, EmailPasswordOpenError, EmailPasswordProtectError, EmailSymmetricDecryptionError, EmailSymmetricEncryptionError, FailedToDecryptEmail, FailedToEncryptEmail, InvalidInputEmail, createPwdProtectedEmail, createPwdProtectedEmailAndSubject, decryptEmail, decryptEmailAndSubject, decryptEmailAndSubjectHybrid, decryptEmailHybrid, decryptKeysHybrid, decryptPwdProtectedEmail, decryptPwdProtectedEmailAndSubject, deriveDatabaseKey, deriveEmailDraftKey, encryptEmail, encryptEmailAndSubject, encryptEmailAndSubjectHybrid, encryptEmailAndSubjectHybridForMultipleRecipients, encryptEmailAndSubjectWithKey, encryptEmailHybrid, encryptEmailHybridForMultipleRecipients, encryptEmailWithKey, encryptKeysHybrid, generateEmailKeys, passwordProtectKey, removePasswordProtection };
1
+ import { A as EmailSymmetricEncryptionError, C as removePasswordProtection, D as EmailPasswordProtectError, E as EmailPasswordOpenError, M as FailedToEncryptEmail, N as InvalidInputEmail, O as EmailPreviewSymmetricDecryptionError, S as passwordProtectKey, T as EmailHybridEncryptionError, _ as decryptKeysHybrid, a as decryptPwdProtectedEmailAndSubject, b as encryptEmailWithKey, c as decryptEmailAndSubject, d as createPwdProtectedEmail, f as decryptPwdProtectedEmail, g as decryptEmail, h as encryptEmailHybridForMultipleRecipients, i as createPwdProtectedEmailAndSubject, j as FailedToDecryptEmail, k as EmailSymmetricDecryptionError, l as encryptEmailAndSubject, m as decryptEmailPreviewHybrid, n as deriveEmailDraftKey, o as decryptEmailAndSubjectHybrid, p as decryptEmailHybrid, r as generateEmailKeys, s as encryptEmailAndSubjectHybridForMultipleRecipients, t as deriveDatabaseKey, u as encryptEmailAndSubjectWithKey, v as decryptPreview, w as EmailHybridDecryptionError, x as encryptKeysHybrid, y as encryptEmail } from "./email-crypto-CoRbTphp.mjs";
2
+ export { EmailHybridDecryptionError, EmailHybridEncryptionError, EmailPasswordOpenError, EmailPasswordProtectError, EmailPreviewSymmetricDecryptionError, EmailSymmetricDecryptionError, EmailSymmetricEncryptionError, FailedToDecryptEmail, FailedToEncryptEmail, InvalidInputEmail, createPwdProtectedEmail, createPwdProtectedEmailAndSubject, decryptEmail, decryptEmailAndSubject, decryptEmailAndSubjectHybrid, decryptEmailHybrid, decryptEmailPreviewHybrid, decryptKeysHybrid, decryptPreview, decryptPwdProtectedEmail, decryptPwdProtectedEmailAndSubject, deriveDatabaseKey, deriveEmailDraftKey, encryptEmail, encryptEmailAndSubject, encryptEmailAndSubjectHybridForMultipleRecipients, encryptEmailAndSubjectWithKey, encryptEmailHybridForMultipleRecipients, encryptEmailWithKey, encryptKeysHybrid, generateEmailKeys, passwordProtectKey, removePasswordProtection };
package/dist/index.d.mts CHANGED
@@ -2,8 +2,8 @@ import { deriveSecretKey, generateEccKeys } from "./asymmetric-crypto.mjs";
2
2
  import { AES_KEY_BYTE_LENGTH, ARGON2ID_ITERATIONS, ARGON2ID_MEMORY_SIZE, ARGON2ID_OUTPUT_BYTE_LENGTH, ARGON2ID_PARALLELISM, ARGON2ID_SALT_BYTE_LENGTH, CONTEXT_DATABASE, CONTEXT_DRAFT, CONTEXT_ENC_KEYSTORE, CONTEXT_RECOVERY, CONTEXT_TWO_KEYS, DB_LABEL, DB_VERSION, IV_LEN_BYTES, KYBER768_PUBLIC_KEY_LENGTH, KYBER768_SECRET_KEY_LENGTH, KYBER_SEED_LENGTH, MAX_CACHE_SIZE, MAX_EMAIL_PER_BATCH, XWING_CIPHERTEXT_BYTE_LENGTH, XWING_PUBLIC_KEY_LENGTH, XWING_SECRET_KEY_LENGTH, XWING_SEED_BYTE_LENGTH } from "./constants.mjs";
3
3
  import { deriveKeyFromMnemonic, deriveSymmetricKeyFromContext, deriveSymmetricKeyFromTwoKeys } from "./derive-key.mjs";
4
4
  import { generateSalt, getKeyFromPassword, getKeyFromPasswordAndSalt } from "./derive-password.mjs";
5
- import { a as EncryptedKeystore, c as HybridEncryptedEmailAndSubject, d as PwdProtectedEmail, f as PwdProtectedEmailAndSubject, i as EmailEncrypted, l as HybridKeyPair, m as RecipientWithPublicKey, n as EmailAndSubject, o as HybridEncKey, p as PwdProtectedKey, r as EmailAndSubjectEncrypted, s as HybridEncryptedEmail, t as Email, u as KeystoreType } from "./types-cEyToM9T.mjs";
6
- import { EmailHybridDecryptionError, EmailHybridEncryptionError, EmailPasswordOpenError, EmailPasswordProtectError, EmailSymmetricDecryptionError, EmailSymmetricEncryptionError, FailedToDecryptEmail, FailedToEncryptEmail, InvalidInputEmail, createPwdProtectedEmail, createPwdProtectedEmailAndSubject, decryptEmail, decryptEmailAndSubject, decryptEmailAndSubjectHybrid, decryptEmailHybrid, decryptPwdProtectedEmail, decryptPwdProtectedEmailAndSubject, deriveDatabaseKey, deriveEmailDraftKey, encryptEmail, encryptEmailAndSubject, encryptEmailAndSubjectHybrid, encryptEmailAndSubjectHybridForMultipleRecipients, encryptEmailAndSubjectWithKey, encryptEmailHybrid, encryptEmailHybridForMultipleRecipients, encryptEmailWithKey, generateEmailKeys } from "./email-crypto.mjs";
5
+ import { a as EncryptedKeystore, c as KeystoreType, d as PwdProtectedKey, f as RecipientWithPublicKey, i as EmailEncrypted, l as PwdProtectedEmail, n as EmailAndSubject, o as HybridEncKey, r as EmailAndSubjectEncrypted, s as HybridKeyPair, t as Email, u as PwdProtectedEmailAndSubject } from "./types-D1R4_m5r.mjs";
6
+ import { EmailHybridDecryptionError, EmailHybridEncryptionError, EmailPasswordOpenError, EmailPasswordProtectError, EmailSymmetricDecryptionError, EmailSymmetricEncryptionError, FailedToDecryptEmail, FailedToEncryptEmail, InvalidInputEmail, createPwdProtectedEmail, createPwdProtectedEmailAndSubject, decryptEmail, decryptEmailAndSubject, decryptEmailAndSubjectHybrid, decryptEmailHybrid, decryptEmailPreviewHybrid, decryptPwdProtectedEmail, decryptPwdProtectedEmailAndSubject, deriveDatabaseKey, deriveEmailDraftKey, encryptEmail, encryptEmailAndSubject, encryptEmailAndSubjectHybridForMultipleRecipients, encryptEmailAndSubjectWithKey, encryptEmailHybridForMultipleRecipients, encryptEmailWithKey, generateEmailKeys } from "./email-crypto.mjs";
7
7
  import { getBytesFromData, getBytesFromDataArray, hashData, hashDataArray, hashDataArrayWithKey, hashDataWithKey } from "./hash.mjs";
8
8
  import { FailedToChangeMnemonicForKeyStore, FailedToCreateKeyStores, FailedToOpenEncryptionKeyStore, FailedToOpenRecoveryKeyStore, InvalidInputKeyStore, changeMnemonicForEncryptionKeystore, createEncryptionAndRecoveryKeystores, openEncryptionKeystore, openRecoveryKeystore } from "./keystore-crypto.mjs";
9
9
  import { decapsulateKyber, encapsulateKyber, generateKyberKeys } from "./post-quantum-crypto.mjs";
@@ -28,5 +28,5 @@ declare function unwrapKey(encryptedKey: Uint8Array, wrappingKey: Uint8Array): P
28
28
  */
29
29
  declare function wrapKey(key: Uint8Array, wrappingKey: Uint8Array): Promise<Uint8Array>;
30
30
  //#endregion
31
- export { AES_KEY_BYTE_LENGTH, ARGON2ID_ITERATIONS, ARGON2ID_MEMORY_SIZE, ARGON2ID_OUTPUT_BYTE_LENGTH, ARGON2ID_PARALLELISM, ARGON2ID_SALT_BYTE_LENGTH, CONTEXT_DATABASE, CONTEXT_DRAFT, CONTEXT_ENC_KEYSTORE, CONTEXT_RECOVERY, CONTEXT_TWO_KEYS, DB_LABEL, DB_VERSION, Email, EmailAndSubject, EmailAndSubjectEncrypted, EmailEncrypted, EmailHybridDecryptionError, EmailHybridEncryptionError, EmailPasswordOpenError, EmailPasswordProtectError, EmailSymmetricDecryptionError, EmailSymmetricEncryptionError, EncryptedKeystore, FailedToChangeMnemonicForKeyStore, FailedToCreateKeyStores, FailedToDecryptEmail, FailedToEncryptEmail, FailedToOpenEncryptionKeyStore, FailedToOpenRecoveryKeyStore, HybridEncKey, HybridEncryptedEmail, HybridEncryptedEmailAndSubject, HybridKeyPair, IV_LEN_BYTES, InvalidInputEmail, InvalidInputKeyStore, KYBER768_PUBLIC_KEY_LENGTH, KYBER768_SECRET_KEY_LENGTH, KYBER_SEED_LENGTH, KeystoreType, MAX_CACHE_SIZE, MAX_EMAIL_PER_BATCH, PwdProtectedEmail, PwdProtectedEmailAndSubject, PwdProtectedKey, RecipientWithPublicKey, UTF8ToUint8, XWING_CIPHERTEXT_BYTE_LENGTH, XWING_PUBLIC_KEY_LENGTH, XWING_SECRET_KEY_LENGTH, XWING_SEED_BYTE_LENGTH, base64ToUint8Array, bytesToMnemonic, bytesToUuid, changeMnemonicForEncryptionKeystore, createEncryptionAndRecoveryKeystores, createPwdProtectedEmail, createPwdProtectedEmailAndSubject, decapsulateKyber, decryptEmail, decryptEmailAndSubject, decryptEmailAndSubjectHybrid, decryptEmailHybrid, decryptPwdProtectedEmail, decryptPwdProtectedEmailAndSubject, decryptSymmetrically, deriveDatabaseKey, deriveEmailDraftKey, deriveKeyFromMnemonic, deriveSecretKey, deriveSymmetricKeyFromContext, deriveSymmetricKeyFromTwoKeys, encapsulateKyber, encryptEmail, encryptEmailAndSubject, encryptEmailAndSubjectHybrid, encryptEmailAndSubjectHybridForMultipleRecipients, encryptEmailAndSubjectWithKey, encryptEmailHybrid, encryptEmailHybridForMultipleRecipients, encryptEmailWithKey, encryptSymmetrically, genMnemonic, genSymmetricKey, generateEccKeys, generateEmailKeys, generateKyberKeys, generateSalt, generateUuid, getBytesFromData, getBytesFromDataArray, getKeyFromPassword, getKeyFromPasswordAndSalt, hashData, hashDataArray, hashDataArrayWithKey, hashDataWithKey, hexToUint8Array, mnemonicToBytes, openEncryptionKeystore, openRecoveryKeystore, uint8ArrayToBase64, uint8ArrayToHex, uint8ToUTF8, unwrapKey, uuidToBytes, wrapKey };
31
+ export { AES_KEY_BYTE_LENGTH, ARGON2ID_ITERATIONS, ARGON2ID_MEMORY_SIZE, ARGON2ID_OUTPUT_BYTE_LENGTH, ARGON2ID_PARALLELISM, ARGON2ID_SALT_BYTE_LENGTH, CONTEXT_DATABASE, CONTEXT_DRAFT, CONTEXT_ENC_KEYSTORE, CONTEXT_RECOVERY, CONTEXT_TWO_KEYS, DB_LABEL, DB_VERSION, Email, EmailAndSubject, EmailAndSubjectEncrypted, EmailEncrypted, EmailHybridDecryptionError, EmailHybridEncryptionError, EmailPasswordOpenError, EmailPasswordProtectError, EmailSymmetricDecryptionError, EmailSymmetricEncryptionError, EncryptedKeystore, FailedToChangeMnemonicForKeyStore, FailedToCreateKeyStores, FailedToDecryptEmail, FailedToEncryptEmail, FailedToOpenEncryptionKeyStore, FailedToOpenRecoveryKeyStore, HybridEncKey, HybridKeyPair, IV_LEN_BYTES, InvalidInputEmail, InvalidInputKeyStore, KYBER768_PUBLIC_KEY_LENGTH, KYBER768_SECRET_KEY_LENGTH, KYBER_SEED_LENGTH, KeystoreType, MAX_CACHE_SIZE, MAX_EMAIL_PER_BATCH, PwdProtectedEmail, PwdProtectedEmailAndSubject, PwdProtectedKey, RecipientWithPublicKey, UTF8ToUint8, XWING_CIPHERTEXT_BYTE_LENGTH, XWING_PUBLIC_KEY_LENGTH, XWING_SECRET_KEY_LENGTH, XWING_SEED_BYTE_LENGTH, base64ToUint8Array, bytesToMnemonic, bytesToUuid, changeMnemonicForEncryptionKeystore, createEncryptionAndRecoveryKeystores, createPwdProtectedEmail, createPwdProtectedEmailAndSubject, decapsulateKyber, decryptEmail, decryptEmailAndSubject, decryptEmailAndSubjectHybrid, decryptEmailHybrid, decryptEmailPreviewHybrid, decryptPwdProtectedEmail, decryptPwdProtectedEmailAndSubject, decryptSymmetrically, deriveDatabaseKey, deriveEmailDraftKey, deriveKeyFromMnemonic, deriveSecretKey, deriveSymmetricKeyFromContext, deriveSymmetricKeyFromTwoKeys, encapsulateKyber, encryptEmail, encryptEmailAndSubject, encryptEmailAndSubjectHybridForMultipleRecipients, encryptEmailAndSubjectWithKey, encryptEmailHybridForMultipleRecipients, encryptEmailWithKey, encryptSymmetrically, genMnemonic, genSymmetricKey, generateEccKeys, generateEmailKeys, generateKyberKeys, generateSalt, generateUuid, getBytesFromData, getBytesFromDataArray, getKeyFromPassword, getKeyFromPasswordAndSalt, hashData, hashDataArray, hashDataArrayWithKey, hashDataWithKey, hexToUint8Array, mnemonicToBytes, openEncryptionKeystore, openRecoveryKeystore, uint8ArrayToBase64, uint8ArrayToHex, uint8ToUTF8, unwrapKey, uuidToBytes, wrapKey };
32
32
  //# sourceMappingURL=index.d.mts.map
package/dist/index.d.ts CHANGED
@@ -2,8 +2,8 @@ import { deriveSecretKey, generateEccKeys } from "./asymmetric-crypto.js";
2
2
  import { AES_KEY_BYTE_LENGTH, ARGON2ID_ITERATIONS, ARGON2ID_MEMORY_SIZE, ARGON2ID_OUTPUT_BYTE_LENGTH, ARGON2ID_PARALLELISM, ARGON2ID_SALT_BYTE_LENGTH, CONTEXT_DATABASE, CONTEXT_DRAFT, CONTEXT_ENC_KEYSTORE, CONTEXT_RECOVERY, CONTEXT_TWO_KEYS, DB_LABEL, DB_VERSION, IV_LEN_BYTES, KYBER768_PUBLIC_KEY_LENGTH, KYBER768_SECRET_KEY_LENGTH, KYBER_SEED_LENGTH, MAX_CACHE_SIZE, MAX_EMAIL_PER_BATCH, XWING_CIPHERTEXT_BYTE_LENGTH, XWING_PUBLIC_KEY_LENGTH, XWING_SECRET_KEY_LENGTH, XWING_SEED_BYTE_LENGTH } from "./constants.js";
3
3
  import { deriveKeyFromMnemonic, deriveSymmetricKeyFromContext, deriveSymmetricKeyFromTwoKeys } from "./derive-key.js";
4
4
  import { generateSalt, getKeyFromPassword, getKeyFromPasswordAndSalt } from "./derive-password.js";
5
- import { a as EncryptedKeystore, c as HybridEncryptedEmailAndSubject, d as PwdProtectedEmail, f as PwdProtectedEmailAndSubject, i as EmailEncrypted, l as HybridKeyPair, m as RecipientWithPublicKey, n as EmailAndSubject, o as HybridEncKey, p as PwdProtectedKey, r as EmailAndSubjectEncrypted, s as HybridEncryptedEmail, t as Email, u as KeystoreType } from "./types-fhvOo6Gw.js";
6
- import { EmailHybridDecryptionError, EmailHybridEncryptionError, EmailPasswordOpenError, EmailPasswordProtectError, EmailSymmetricDecryptionError, EmailSymmetricEncryptionError, FailedToDecryptEmail, FailedToEncryptEmail, InvalidInputEmail, createPwdProtectedEmail, createPwdProtectedEmailAndSubject, decryptEmail, decryptEmailAndSubject, decryptEmailAndSubjectHybrid, decryptEmailHybrid, decryptPwdProtectedEmail, decryptPwdProtectedEmailAndSubject, deriveDatabaseKey, deriveEmailDraftKey, encryptEmail, encryptEmailAndSubject, encryptEmailAndSubjectHybrid, encryptEmailAndSubjectHybridForMultipleRecipients, encryptEmailAndSubjectWithKey, encryptEmailHybrid, encryptEmailHybridForMultipleRecipients, encryptEmailWithKey, generateEmailKeys } from "./email-crypto.js";
5
+ import { a as EncryptedKeystore, c as KeystoreType, d as PwdProtectedKey, f as RecipientWithPublicKey, i as EmailEncrypted, l as PwdProtectedEmail, n as EmailAndSubject, o as HybridEncKey, r as EmailAndSubjectEncrypted, s as HybridKeyPair, t as Email, u as PwdProtectedEmailAndSubject } from "./types-Y0wL7HUH.js";
6
+ import { EmailHybridDecryptionError, EmailHybridEncryptionError, EmailPasswordOpenError, EmailPasswordProtectError, EmailSymmetricDecryptionError, EmailSymmetricEncryptionError, FailedToDecryptEmail, FailedToEncryptEmail, InvalidInputEmail, createPwdProtectedEmail, createPwdProtectedEmailAndSubject, decryptEmail, decryptEmailAndSubject, decryptEmailAndSubjectHybrid, decryptEmailHybrid, decryptEmailPreviewHybrid, decryptPwdProtectedEmail, decryptPwdProtectedEmailAndSubject, deriveDatabaseKey, deriveEmailDraftKey, encryptEmail, encryptEmailAndSubject, encryptEmailAndSubjectHybridForMultipleRecipients, encryptEmailAndSubjectWithKey, encryptEmailHybridForMultipleRecipients, encryptEmailWithKey, generateEmailKeys } from "./email-crypto.js";
7
7
  import { getBytesFromData, getBytesFromDataArray, hashData, hashDataArray, hashDataArrayWithKey, hashDataWithKey } from "./hash.js";
8
8
  import { FailedToChangeMnemonicForKeyStore, FailedToCreateKeyStores, FailedToOpenEncryptionKeyStore, FailedToOpenRecoveryKeyStore, InvalidInputKeyStore, changeMnemonicForEncryptionKeystore, createEncryptionAndRecoveryKeystores, openEncryptionKeystore, openRecoveryKeystore } from "./keystore-crypto.js";
9
9
  import { decapsulateKyber, encapsulateKyber, generateKyberKeys } from "./post-quantum-crypto.js";
@@ -28,5 +28,5 @@ declare function unwrapKey(encryptedKey: Uint8Array, wrappingKey: Uint8Array): P
28
28
  */
29
29
  declare function wrapKey(key: Uint8Array, wrappingKey: Uint8Array): Promise<Uint8Array>;
30
30
  //#endregion
31
- export { AES_KEY_BYTE_LENGTH, ARGON2ID_ITERATIONS, ARGON2ID_MEMORY_SIZE, ARGON2ID_OUTPUT_BYTE_LENGTH, ARGON2ID_PARALLELISM, ARGON2ID_SALT_BYTE_LENGTH, CONTEXT_DATABASE, CONTEXT_DRAFT, CONTEXT_ENC_KEYSTORE, CONTEXT_RECOVERY, CONTEXT_TWO_KEYS, DB_LABEL, DB_VERSION, Email, EmailAndSubject, EmailAndSubjectEncrypted, EmailEncrypted, EmailHybridDecryptionError, EmailHybridEncryptionError, EmailPasswordOpenError, EmailPasswordProtectError, EmailSymmetricDecryptionError, EmailSymmetricEncryptionError, EncryptedKeystore, FailedToChangeMnemonicForKeyStore, FailedToCreateKeyStores, FailedToDecryptEmail, FailedToEncryptEmail, FailedToOpenEncryptionKeyStore, FailedToOpenRecoveryKeyStore, HybridEncKey, HybridEncryptedEmail, HybridEncryptedEmailAndSubject, HybridKeyPair, IV_LEN_BYTES, InvalidInputEmail, InvalidInputKeyStore, KYBER768_PUBLIC_KEY_LENGTH, KYBER768_SECRET_KEY_LENGTH, KYBER_SEED_LENGTH, KeystoreType, MAX_CACHE_SIZE, MAX_EMAIL_PER_BATCH, PwdProtectedEmail, PwdProtectedEmailAndSubject, PwdProtectedKey, RecipientWithPublicKey, UTF8ToUint8, XWING_CIPHERTEXT_BYTE_LENGTH, XWING_PUBLIC_KEY_LENGTH, XWING_SECRET_KEY_LENGTH, XWING_SEED_BYTE_LENGTH, base64ToUint8Array, bytesToMnemonic, bytesToUuid, changeMnemonicForEncryptionKeystore, createEncryptionAndRecoveryKeystores, createPwdProtectedEmail, createPwdProtectedEmailAndSubject, decapsulateKyber, decryptEmail, decryptEmailAndSubject, decryptEmailAndSubjectHybrid, decryptEmailHybrid, decryptPwdProtectedEmail, decryptPwdProtectedEmailAndSubject, decryptSymmetrically, deriveDatabaseKey, deriveEmailDraftKey, deriveKeyFromMnemonic, deriveSecretKey, deriveSymmetricKeyFromContext, deriveSymmetricKeyFromTwoKeys, encapsulateKyber, encryptEmail, encryptEmailAndSubject, encryptEmailAndSubjectHybrid, encryptEmailAndSubjectHybridForMultipleRecipients, encryptEmailAndSubjectWithKey, encryptEmailHybrid, encryptEmailHybridForMultipleRecipients, encryptEmailWithKey, encryptSymmetrically, genMnemonic, genSymmetricKey, generateEccKeys, generateEmailKeys, generateKyberKeys, generateSalt, generateUuid, getBytesFromData, getBytesFromDataArray, getKeyFromPassword, getKeyFromPasswordAndSalt, hashData, hashDataArray, hashDataArrayWithKey, hashDataWithKey, hexToUint8Array, mnemonicToBytes, openEncryptionKeystore, openRecoveryKeystore, uint8ArrayToBase64, uint8ArrayToHex, uint8ToUTF8, unwrapKey, uuidToBytes, wrapKey };
31
+ export { AES_KEY_BYTE_LENGTH, ARGON2ID_ITERATIONS, ARGON2ID_MEMORY_SIZE, ARGON2ID_OUTPUT_BYTE_LENGTH, ARGON2ID_PARALLELISM, ARGON2ID_SALT_BYTE_LENGTH, CONTEXT_DATABASE, CONTEXT_DRAFT, CONTEXT_ENC_KEYSTORE, CONTEXT_RECOVERY, CONTEXT_TWO_KEYS, DB_LABEL, DB_VERSION, Email, EmailAndSubject, EmailAndSubjectEncrypted, EmailEncrypted, EmailHybridDecryptionError, EmailHybridEncryptionError, EmailPasswordOpenError, EmailPasswordProtectError, EmailSymmetricDecryptionError, EmailSymmetricEncryptionError, EncryptedKeystore, FailedToChangeMnemonicForKeyStore, FailedToCreateKeyStores, FailedToDecryptEmail, FailedToEncryptEmail, FailedToOpenEncryptionKeyStore, FailedToOpenRecoveryKeyStore, HybridEncKey, HybridKeyPair, IV_LEN_BYTES, InvalidInputEmail, InvalidInputKeyStore, KYBER768_PUBLIC_KEY_LENGTH, KYBER768_SECRET_KEY_LENGTH, KYBER_SEED_LENGTH, KeystoreType, MAX_CACHE_SIZE, MAX_EMAIL_PER_BATCH, PwdProtectedEmail, PwdProtectedEmailAndSubject, PwdProtectedKey, RecipientWithPublicKey, UTF8ToUint8, XWING_CIPHERTEXT_BYTE_LENGTH, XWING_PUBLIC_KEY_LENGTH, XWING_SECRET_KEY_LENGTH, XWING_SEED_BYTE_LENGTH, base64ToUint8Array, bytesToMnemonic, bytesToUuid, changeMnemonicForEncryptionKeystore, createEncryptionAndRecoveryKeystores, createPwdProtectedEmail, createPwdProtectedEmailAndSubject, decapsulateKyber, decryptEmail, decryptEmailAndSubject, decryptEmailAndSubjectHybrid, decryptEmailHybrid, decryptEmailPreviewHybrid, decryptPwdProtectedEmail, decryptPwdProtectedEmailAndSubject, decryptSymmetrically, deriveDatabaseKey, deriveEmailDraftKey, deriveKeyFromMnemonic, deriveSecretKey, deriveSymmetricKeyFromContext, deriveSymmetricKeyFromTwoKeys, encapsulateKyber, encryptEmail, encryptEmailAndSubject, encryptEmailAndSubjectHybridForMultipleRecipients, encryptEmailAndSubjectWithKey, encryptEmailHybridForMultipleRecipients, encryptEmailWithKey, encryptSymmetrically, genMnemonic, genSymmetricKey, generateEccKeys, generateEmailKeys, generateKyberKeys, generateSalt, generateUuid, getBytesFromData, getBytesFromDataArray, getKeyFromPassword, getKeyFromPasswordAndSalt, hashData, hashDataArray, hashDataArrayWithKey, hashDataWithKey, hexToUint8Array, mnemonicToBytes, openEncryptionKeystore, openRecoveryKeystore, uint8ArrayToBase64, uint8ArrayToHex, uint8ToUTF8, unwrapKey, uuidToBytes, wrapKey };
32
32
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ const require_utils = require("./utils.js");
5
5
  const require_derive_key = require("./derive-key.js");
6
6
  const require_derive_password = require("./derive-password-CbYRDq7V.js");
7
7
  const require_symmetric_crypto = require("./symmetric-crypto.js");
8
- const require_email_crypto = require("./email-crypto-CPL8ept8.js");
8
+ const require_email_crypto = require("./email-crypto-DJb-I1wm.js");
9
9
  const require_hash = require("./hash.js");
10
10
  const require_types = require("./types.js");
11
11
  const require_keystore_crypto = require("./keystore-crypto-CFiiGohl.js");
@@ -61,6 +61,7 @@ exports.decryptEmail = require_email_crypto.decryptEmail;
61
61
  exports.decryptEmailAndSubject = require_email_crypto.decryptEmailAndSubject;
62
62
  exports.decryptEmailAndSubjectHybrid = require_email_crypto.decryptEmailAndSubjectHybrid;
63
63
  exports.decryptEmailHybrid = require_email_crypto.decryptEmailHybrid;
64
+ exports.decryptEmailPreviewHybrid = require_email_crypto.decryptEmailPreviewHybrid;
64
65
  exports.decryptPwdProtectedEmail = require_email_crypto.decryptPwdProtectedEmail;
65
66
  exports.decryptPwdProtectedEmailAndSubject = require_email_crypto.decryptPwdProtectedEmailAndSubject;
66
67
  exports.decryptSymmetrically = require_symmetric_crypto.decryptSymmetrically;
@@ -73,10 +74,8 @@ exports.deriveSymmetricKeyFromTwoKeys = require_derive_key.deriveSymmetricKeyFro
73
74
  exports.encapsulateKyber = require_post_quantum_crypto.encapsulateKyber;
74
75
  exports.encryptEmail = require_email_crypto.encryptEmail;
75
76
  exports.encryptEmailAndSubject = require_email_crypto.encryptEmailAndSubject;
76
- exports.encryptEmailAndSubjectHybrid = require_email_crypto.encryptEmailAndSubjectHybrid;
77
77
  exports.encryptEmailAndSubjectHybridForMultipleRecipients = require_email_crypto.encryptEmailAndSubjectHybridForMultipleRecipients;
78
78
  exports.encryptEmailAndSubjectWithKey = require_email_crypto.encryptEmailAndSubjectWithKey;
79
- exports.encryptEmailHybrid = require_email_crypto.encryptEmailHybrid;
80
79
  exports.encryptEmailHybridForMultipleRecipients = require_email_crypto.encryptEmailHybridForMultipleRecipients;
81
80
  exports.encryptEmailWithKey = require_email_crypto.encryptEmailWithKey;
82
81
  exports.encryptSymmetrically = require_symmetric_crypto.encryptSymmetrically;
package/dist/index.mjs CHANGED
@@ -4,9 +4,9 @@ import { UTF8ToUint8, base64ToUint8Array, bytesToMnemonic, bytesToUuid, genMnemo
4
4
  import { deriveKeyFromMnemonic, deriveSymmetricKeyFromContext, deriveSymmetricKeyFromTwoKeys } from "./derive-key.mjs";
5
5
  import { n as getKeyFromPassword, r as getKeyFromPasswordAndSalt, t as generateSalt } from "./derive-password-PED-YfwE.mjs";
6
6
  import { decryptSymmetrically, encryptSymmetrically, genSymmetricKey } from "./symmetric-crypto.mjs";
7
- import { A as FailedToDecryptEmail, D as EmailPasswordProtectError, E as EmailPasswordOpenError, M as InvalidInputEmail, N as unwrapKey, O as EmailSymmetricDecryptionError, P as wrapKey, T as EmailHybridEncryptionError, _ as decryptEmail, a as decryptPwdProtectedEmailAndSubject, b as encryptEmailWithKey, c as encryptEmailAndSubjectHybridForMultipleRecipients, d as encryptEmailAndSubjectWithKey, f as createPwdProtectedEmail, g as encryptEmailHybridForMultipleRecipients, h as encryptEmailHybrid, i as createPwdProtectedEmailAndSubject, j as FailedToEncryptEmail, k as EmailSymmetricEncryptionError, l as decryptEmailAndSubject, m as decryptEmailHybrid, n as deriveEmailDraftKey, o as decryptEmailAndSubjectHybrid, p as decryptPwdProtectedEmail, r as generateEmailKeys, s as encryptEmailAndSubjectHybrid, t as deriveDatabaseKey, u as encryptEmailAndSubject, w as EmailHybridDecryptionError, y as encryptEmail } from "./email-crypto-_Wcbvr_n.mjs";
7
+ import { A as EmailSymmetricEncryptionError, D as EmailPasswordProtectError, E as EmailPasswordOpenError, F as wrapKey, M as FailedToEncryptEmail, N as InvalidInputEmail, P as unwrapKey, T as EmailHybridEncryptionError, a as decryptPwdProtectedEmailAndSubject, b as encryptEmailWithKey, c as decryptEmailAndSubject, d as createPwdProtectedEmail, f as decryptPwdProtectedEmail, g as decryptEmail, h as encryptEmailHybridForMultipleRecipients, i as createPwdProtectedEmailAndSubject, j as FailedToDecryptEmail, k as EmailSymmetricDecryptionError, l as encryptEmailAndSubject, m as decryptEmailPreviewHybrid, n as deriveEmailDraftKey, o as decryptEmailAndSubjectHybrid, p as decryptEmailHybrid, r as generateEmailKeys, s as encryptEmailAndSubjectHybridForMultipleRecipients, t as deriveDatabaseKey, u as encryptEmailAndSubjectWithKey, w as EmailHybridDecryptionError, y as encryptEmail } from "./email-crypto-CoRbTphp.mjs";
8
8
  import { getBytesFromData, getBytesFromDataArray, hashData, hashDataArray, hashDataArrayWithKey, hashDataWithKey } from "./hash.mjs";
9
9
  import { KeystoreType } from "./types.mjs";
10
10
  import { a as FailedToChangeMnemonicForKeyStore, c as FailedToOpenRecoveryKeyStore, i as openRecoveryKeystore, l as InvalidInputKeyStore, n as createEncryptionAndRecoveryKeystores, o as FailedToCreateKeyStores, r as openEncryptionKeystore, s as FailedToOpenEncryptionKeyStore, t as changeMnemonicForEncryptionKeystore } from "./keystore-crypto-C6F-NQdX.mjs";
11
11
  import { decapsulateKyber, encapsulateKyber, generateKyberKeys } from "./post-quantum-crypto.mjs";
12
- export { AES_KEY_BYTE_LENGTH, ARGON2ID_ITERATIONS, ARGON2ID_MEMORY_SIZE, ARGON2ID_OUTPUT_BYTE_LENGTH, ARGON2ID_PARALLELISM, ARGON2ID_SALT_BYTE_LENGTH, CONTEXT_DATABASE, CONTEXT_DRAFT, CONTEXT_ENC_KEYSTORE, CONTEXT_RECOVERY, CONTEXT_TWO_KEYS, DB_LABEL, DB_VERSION, EmailHybridDecryptionError, EmailHybridEncryptionError, EmailPasswordOpenError, EmailPasswordProtectError, EmailSymmetricDecryptionError, EmailSymmetricEncryptionError, FailedToChangeMnemonicForKeyStore, FailedToCreateKeyStores, FailedToDecryptEmail, FailedToEncryptEmail, FailedToOpenEncryptionKeyStore, FailedToOpenRecoveryKeyStore, IV_LEN_BYTES, InvalidInputEmail, InvalidInputKeyStore, KYBER768_PUBLIC_KEY_LENGTH, KYBER768_SECRET_KEY_LENGTH, KYBER_SEED_LENGTH, KeystoreType, MAX_CACHE_SIZE, MAX_EMAIL_PER_BATCH, UTF8ToUint8, XWING_CIPHERTEXT_BYTE_LENGTH, XWING_PUBLIC_KEY_LENGTH, XWING_SECRET_KEY_LENGTH, XWING_SEED_BYTE_LENGTH, base64ToUint8Array, bytesToMnemonic, bytesToUuid, changeMnemonicForEncryptionKeystore, createEncryptionAndRecoveryKeystores, createPwdProtectedEmail, createPwdProtectedEmailAndSubject, decapsulateKyber, decryptEmail, decryptEmailAndSubject, decryptEmailAndSubjectHybrid, decryptEmailHybrid, decryptPwdProtectedEmail, decryptPwdProtectedEmailAndSubject, decryptSymmetrically, deriveDatabaseKey, deriveEmailDraftKey, deriveKeyFromMnemonic, deriveSecretKey, deriveSymmetricKeyFromContext, deriveSymmetricKeyFromTwoKeys, encapsulateKyber, encryptEmail, encryptEmailAndSubject, encryptEmailAndSubjectHybrid, encryptEmailAndSubjectHybridForMultipleRecipients, encryptEmailAndSubjectWithKey, encryptEmailHybrid, encryptEmailHybridForMultipleRecipients, encryptEmailWithKey, encryptSymmetrically, genMnemonic, genSymmetricKey, generateEccKeys, generateEmailKeys, generateKyberKeys, generateSalt, generateUuid, getBytesFromData, getBytesFromDataArray, getKeyFromPassword, getKeyFromPasswordAndSalt, hashData, hashDataArray, hashDataArrayWithKey, hashDataWithKey, hexToUint8Array, mnemonicToBytes, openEncryptionKeystore, openRecoveryKeystore, uint8ArrayToBase64, uint8ArrayToHex, uint8ToUTF8, unwrapKey, uuidToBytes, wrapKey };
12
+ export { AES_KEY_BYTE_LENGTH, ARGON2ID_ITERATIONS, ARGON2ID_MEMORY_SIZE, ARGON2ID_OUTPUT_BYTE_LENGTH, ARGON2ID_PARALLELISM, ARGON2ID_SALT_BYTE_LENGTH, CONTEXT_DATABASE, CONTEXT_DRAFT, CONTEXT_ENC_KEYSTORE, CONTEXT_RECOVERY, CONTEXT_TWO_KEYS, DB_LABEL, DB_VERSION, EmailHybridDecryptionError, EmailHybridEncryptionError, EmailPasswordOpenError, EmailPasswordProtectError, EmailSymmetricDecryptionError, EmailSymmetricEncryptionError, FailedToChangeMnemonicForKeyStore, FailedToCreateKeyStores, FailedToDecryptEmail, FailedToEncryptEmail, FailedToOpenEncryptionKeyStore, FailedToOpenRecoveryKeyStore, IV_LEN_BYTES, InvalidInputEmail, InvalidInputKeyStore, KYBER768_PUBLIC_KEY_LENGTH, KYBER768_SECRET_KEY_LENGTH, KYBER_SEED_LENGTH, KeystoreType, MAX_CACHE_SIZE, MAX_EMAIL_PER_BATCH, UTF8ToUint8, XWING_CIPHERTEXT_BYTE_LENGTH, XWING_PUBLIC_KEY_LENGTH, XWING_SECRET_KEY_LENGTH, XWING_SEED_BYTE_LENGTH, base64ToUint8Array, bytesToMnemonic, bytesToUuid, changeMnemonicForEncryptionKeystore, createEncryptionAndRecoveryKeystores, createPwdProtectedEmail, createPwdProtectedEmailAndSubject, decapsulateKyber, decryptEmail, decryptEmailAndSubject, decryptEmailAndSubjectHybrid, decryptEmailHybrid, decryptEmailPreviewHybrid, decryptPwdProtectedEmail, decryptPwdProtectedEmailAndSubject, decryptSymmetrically, deriveDatabaseKey, deriveEmailDraftKey, deriveKeyFromMnemonic, deriveSecretKey, deriveSymmetricKeyFromContext, deriveSymmetricKeyFromTwoKeys, encapsulateKyber, encryptEmail, encryptEmailAndSubject, encryptEmailAndSubjectHybridForMultipleRecipients, encryptEmailAndSubjectWithKey, encryptEmailHybridForMultipleRecipients, encryptEmailWithKey, encryptSymmetrically, genMnemonic, genSymmetricKey, generateEccKeys, generateEmailKeys, generateKyberKeys, generateSalt, generateUuid, getBytesFromData, getBytesFromDataArray, getKeyFromPassword, getKeyFromPasswordAndSalt, hashData, hashDataArray, hashDataArrayWithKey, hashDataWithKey, hexToUint8Array, mnemonicToBytes, openEncryptionKeystore, openRecoveryKeystore, uint8ArrayToBase64, uint8ArrayToHex, uint8ToUTF8, unwrapKey, uuidToBytes, wrapKey };
@@ -1,4 +1,4 @@
1
- import { a as EncryptedKeystore, l as HybridKeyPair } from "./types-cEyToM9T.mjs";
1
+ import { a as EncryptedKeystore, s as HybridKeyPair } from "./types-D1R4_m5r.mjs";
2
2
 
3
3
  //#region src/keystore-crypto/emailEncryptionKey.d.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { a as EncryptedKeystore, l as HybridKeyPair } from "./types-fhvOo6Gw.js";
1
+ import { a as EncryptedKeystore, s as HybridKeyPair } from "./types-Y0wL7HUH.js";
2
2
 
3
3
  //#region src/keystore-crypto/emailEncryptionKey.d.ts
4
4
  /**
@@ -0,0 +1,21 @@
1
+ //#region src/asymmetric-crypto/ellipticCurve.d.ts
2
+ /**
3
+ * Derives secret key from the other user's public key and own private key
4
+ *
5
+ * @param aliceSecretKey - The secret key of the user deriving the shared secret key
6
+ * @param bobPublicKey - The public key of the other user
7
+ * @returns The derived secret key bits
8
+ */
9
+ declare function deriveSecretKey(aliceSecretKey: Uint8Array, bobPublicKey: Uint8Array): Promise<Uint8Array>;
10
+ /**
11
+ * Generates elliptic curve key pair
12
+ *
13
+ * @returns The generated key pair
14
+ */
15
+ declare function generateEccKeys(): Promise<{
16
+ secretKey: Uint8Array;
17
+ publicKey: Uint8Array;
18
+ }>;
19
+ //#endregion
20
+ export { deriveSecretKey, generateEccKeys };
21
+ //# sourceMappingURL=asymmetric-crypto.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asymmetric-crypto.d.mts","names":[],"sources":["../../src/asymmetric-crypto/ellipticCurve.ts"],"mappings":";;AAcA;;;;;;iBAAsB,eAAA,CAAgB,cAAA,EAAgB,UAAA,EAAY,YAAA,EAAc,UAAA,GAAa,OAAA,CAAQ,UAAA;;;;;;iBAe/E,eAAA,CAAA,GAAmB,OAAA;EAAU,SAAA,EAAW,UAAA;EAAY,SAAA,EAAW,UAAA;AAAA"}
@@ -0,0 +1,21 @@
1
+ //#region src/asymmetric-crypto/ellipticCurve.d.ts
2
+ /**
3
+ * Derives secret key from the other user's public key and own private key
4
+ *
5
+ * @param aliceSecretKey - The secret key of the user deriving the shared secret key
6
+ * @param bobPublicKey - The public key of the other user
7
+ * @returns The derived secret key bits
8
+ */
9
+ declare function deriveSecretKey(aliceSecretKey: Uint8Array, bobPublicKey: Uint8Array): Promise<Uint8Array>;
10
+ /**
11
+ * Generates elliptic curve key pair
12
+ *
13
+ * @returns The generated key pair
14
+ */
15
+ declare function generateEccKeys(): Promise<{
16
+ secretKey: Uint8Array;
17
+ publicKey: Uint8Array;
18
+ }>;
19
+ //#endregion
20
+ export { deriveSecretKey, generateEccKeys };
21
+ //# sourceMappingURL=asymmetric-crypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asymmetric-crypto.d.ts","names":[],"sources":["../../src/asymmetric-crypto/ellipticCurve.ts"],"mappings":";;AAcA;;;;;;iBAAsB,eAAA,CAAgB,cAAA,EAAgB,UAAA,EAAY,YAAA,EAAc,UAAA,GAAa,OAAA,CAAQ,UAAA;;;;;;iBAe/E,eAAA,CAAA,GAAmB,OAAA;EAAU,SAAA,EAAW,UAAA;EAAY,SAAA,EAAW,UAAA;AAAA"}
@@ -0,0 +1,31 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ require("./chunk-DskHE4z1.js");
3
+ let _noble_curves_ed25519_js = require("@noble/curves/ed25519.js");
4
+ //#region src/asymmetric-crypto/ellipticCurve.native.ts
5
+ /**
6
+ * Derives secret key from the other user's public key and own private key
7
+ *
8
+ * @param aliceSecretKey - The secret key of the user deriving the shared secret key
9
+ * @param bobPublicKey - The public key of the other user
10
+ * @returns The derived secret key bits
11
+ */
12
+ async function deriveSecretKey(aliceSecretKey, bobPublicKey) {
13
+ try {
14
+ return _noble_curves_ed25519_js.x25519.getSharedSecret(aliceSecretKey, bobPublicKey);
15
+ } catch (error) {
16
+ throw new Error("Failed to derive elliptic curve secret key", { cause: error });
17
+ }
18
+ }
19
+ /**
20
+ * Generates elliptic curve key pair
21
+ *
22
+ * @returns The generated key pair
23
+ */
24
+ async function generateEccKeys() {
25
+ return _noble_curves_ed25519_js.x25519.keygen();
26
+ }
27
+ //#endregion
28
+ exports.deriveSecretKey = deriveSecretKey;
29
+ exports.generateEccKeys = generateEccKeys;
30
+
31
+ //# sourceMappingURL=asymmetric-crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asymmetric-crypto.js","names":["x25519"],"sources":["../../src/asymmetric-crypto/ellipticCurve.native.ts"],"sourcesContent":["import { x25519 } from '@noble/curves/ed25519.js';\n\n/**\n * Derives secret key from the other user's public key and own private key\n *\n * @param aliceSecretKey - The secret key of the user deriving the shared secret key\n * @param bobPublicKey - The public key of the other user\n * @returns The derived secret key bits\n */\nexport async function deriveSecretKey(aliceSecretKey: Uint8Array, bobPublicKey: Uint8Array): Promise<Uint8Array> {\n try {\n return x25519.getSharedSecret(aliceSecretKey, bobPublicKey);\n } catch (error) {\n throw new Error('Failed to derive elliptic curve secret key', { cause: error });\n }\n}\n\n/**\n * Generates elliptic curve key pair\n *\n * @returns The generated key pair\n */\nexport async function generateEccKeys(): Promise<{ secretKey: Uint8Array; publicKey: Uint8Array }> {\n return x25519.keygen();\n}\n"],"mappings":";;;;;;;;;;;AASA,eAAsB,gBAAgB,gBAA4B,cAA+C;AAC/G,KAAI;AACF,SAAOA,yBAAAA,OAAO,gBAAgB,gBAAgB,aAAa;UACpD,OAAO;AACd,QAAM,IAAI,MAAM,8CAA8C,EAAE,OAAO,OAAO,CAAC;;;;;;;;AASnF,eAAsB,kBAA6E;AACjG,QAAOA,yBAAAA,OAAO,QAAQ"}
@@ -0,0 +1,28 @@
1
+ import { x25519 } from "@noble/curves/ed25519.js";
2
+ //#region src/asymmetric-crypto/ellipticCurve.native.ts
3
+ /**
4
+ * Derives secret key from the other user's public key and own private key
5
+ *
6
+ * @param aliceSecretKey - The secret key of the user deriving the shared secret key
7
+ * @param bobPublicKey - The public key of the other user
8
+ * @returns The derived secret key bits
9
+ */
10
+ async function deriveSecretKey(aliceSecretKey, bobPublicKey) {
11
+ try {
12
+ return x25519.getSharedSecret(aliceSecretKey, bobPublicKey);
13
+ } catch (error) {
14
+ throw new Error("Failed to derive elliptic curve secret key", { cause: error });
15
+ }
16
+ }
17
+ /**
18
+ * Generates elliptic curve key pair
19
+ *
20
+ * @returns The generated key pair
21
+ */
22
+ async function generateEccKeys() {
23
+ return x25519.keygen();
24
+ }
25
+ //#endregion
26
+ export { deriveSecretKey, generateEccKeys };
27
+
28
+ //# sourceMappingURL=asymmetric-crypto.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asymmetric-crypto.mjs","names":[],"sources":["../../src/asymmetric-crypto/ellipticCurve.native.ts"],"sourcesContent":["import { x25519 } from '@noble/curves/ed25519.js';\n\n/**\n * Derives secret key from the other user's public key and own private key\n *\n * @param aliceSecretKey - The secret key of the user deriving the shared secret key\n * @param bobPublicKey - The public key of the other user\n * @returns The derived secret key bits\n */\nexport async function deriveSecretKey(aliceSecretKey: Uint8Array, bobPublicKey: Uint8Array): Promise<Uint8Array> {\n try {\n return x25519.getSharedSecret(aliceSecretKey, bobPublicKey);\n } catch (error) {\n throw new Error('Failed to derive elliptic curve secret key', { cause: error });\n }\n}\n\n/**\n * Generates elliptic curve key pair\n *\n * @returns The generated key pair\n */\nexport async function generateEccKeys(): Promise<{ secretKey: Uint8Array; publicKey: Uint8Array }> {\n return x25519.keygen();\n}\n"],"mappings":";;;;;;;;;AASA,eAAsB,gBAAgB,gBAA4B,cAA+C;AAC/G,KAAI;AACF,SAAO,OAAO,gBAAgB,gBAAgB,aAAa;UACpD,OAAO;AACd,QAAM,IAAI,MAAM,8CAA8C,EAAE,OAAO,OAAO,CAAC;;;;;;;;AASnF,eAAsB,kBAA6E;AACjG,QAAO,OAAO,QAAQ"}
@@ -0,0 +1,13 @@
1
+ //#region \0rolldown/runtime.js
2
+ var __defProp = Object.defineProperty;
3
+ var __exportAll = (all, no_symbols) => {
4
+ let target = {};
5
+ for (var name in all) __defProp(target, name, {
6
+ get: all[name],
7
+ enumerable: true
8
+ });
9
+ if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
10
+ return target;
11
+ };
12
+ //#endregion
13
+ export { __exportAll as t };
@@ -0,0 +1,43 @@
1
+ //#region \0rolldown/runtime.js
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __exportAll = (all, no_symbols) => {
9
+ let target = {};
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
+ if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
15
+ return target;
16
+ };
17
+ var __copyProps = (to, from, except, desc) => {
18
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
19
+ key = keys[i];
20
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
21
+ get: ((k) => from[k]).bind(null, key),
22
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
23
+ });
24
+ }
25
+ return to;
26
+ };
27
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
+ value: mod,
29
+ enumerable: true
30
+ }) : target, mod));
31
+ //#endregion
32
+ Object.defineProperty(exports, "__exportAll", {
33
+ enumerable: true,
34
+ get: function() {
35
+ return __exportAll;
36
+ }
37
+ });
38
+ Object.defineProperty(exports, "__toESM", {
39
+ enumerable: true,
40
+ get: function() {
41
+ return __toESM;
42
+ }
43
+ });
@@ -0,0 +1,27 @@
1
+ //#region src/constants.d.ts
2
+ declare const AES_KEY_BYTE_LENGTH = 32;
3
+ declare const IV_LEN_BYTES = 12;
4
+ declare const CONTEXT_ENC_KEYSTORE = "CRYPTO library 2025-07-30 16:18:03 key for opening encryption keys keystore";
5
+ declare const CONTEXT_RECOVERY = "CRYPTO library 2025-07-30 16:20:00 key for account recovery";
6
+ declare const CONTEXT_DATABASE = "CRYPTO library 2025-07-30 17:20:00 key for protecting current search indices";
7
+ declare const CONTEXT_DRAFT = "CRYPTO library 2026-04-23 10:56:00 key for protecting email drafts";
8
+ declare const CONTEXT_TWO_KEYS = "CRYPTO library 2025-08-27 17:08:00 derive one key from two keys";
9
+ declare const ARGON2ID_PARALLELISM = 3;
10
+ declare const ARGON2ID_ITERATIONS = 4;
11
+ declare const ARGON2ID_MEMORY_SIZE = 65536;
12
+ declare const ARGON2ID_SALT_BYTE_LENGTH = 16;
13
+ declare const ARGON2ID_OUTPUT_BYTE_LENGTH = 32;
14
+ declare const KYBER768_PUBLIC_KEY_LENGTH = 1184;
15
+ declare const KYBER768_SECRET_KEY_LENGTH = 2400;
16
+ declare const KYBER_SEED_LENGTH = 64;
17
+ declare const MAX_CACHE_SIZE = 600000000;
18
+ declare const MAX_EMAIL_PER_BATCH = 100;
19
+ declare const DB_LABEL = "email";
20
+ declare const DB_VERSION = 1;
21
+ declare const XWING_PUBLIC_KEY_LENGTH = 1216;
22
+ declare const XWING_SECRET_KEY_LENGTH = 32;
23
+ declare const XWING_SEED_BYTE_LENGTH = 32;
24
+ declare const XWING_CIPHERTEXT_BYTE_LENGTH = 1120;
25
+ //#endregion
26
+ export { AES_KEY_BYTE_LENGTH, ARGON2ID_ITERATIONS, ARGON2ID_MEMORY_SIZE, ARGON2ID_OUTPUT_BYTE_LENGTH, ARGON2ID_PARALLELISM, ARGON2ID_SALT_BYTE_LENGTH, CONTEXT_DATABASE, CONTEXT_DRAFT, CONTEXT_ENC_KEYSTORE, CONTEXT_RECOVERY, CONTEXT_TWO_KEYS, DB_LABEL, DB_VERSION, IV_LEN_BYTES, KYBER768_PUBLIC_KEY_LENGTH, KYBER768_SECRET_KEY_LENGTH, KYBER_SEED_LENGTH, MAX_CACHE_SIZE, MAX_EMAIL_PER_BATCH, XWING_CIPHERTEXT_BYTE_LENGTH, XWING_PUBLIC_KEY_LENGTH, XWING_SECRET_KEY_LENGTH, XWING_SEED_BYTE_LENGTH };
27
+ //# sourceMappingURL=constants.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.mts","names":[],"sources":["../../src/constants.ts"],"mappings":";cAAa,mBAAA;AAAA,cACA,YAAA;AAAA,cAEA,oBAAA;AAAA,cACA,gBAAA;AAAA,cACA,gBAAA;AAAA,cACA,aAAA;AAAA,cACA,gBAAA;AAAA,cAGA,oBAAA;AAAA,cACA,mBAAA;AAAA,cACA,oBAAA;AAAA,cACA,yBAAA;AAAA,cACA,2BAAA;AAAA,cAEA,0BAAA;AAAA,cACA,0BAAA;AAAA,cACA,iBAAA;AAAA,cAEA,cAAA;AAAA,cACA,mBAAA;AAAA,cACA,QAAA;AAAA,cACA,UAAA;AAAA,cAEA,uBAAA;AAAA,cACA,uBAAA;AAAA,cACA,sBAAA;AAAA,cACA,4BAAA"}
@@ -0,0 +1,27 @@
1
+ //#region src/constants.d.ts
2
+ declare const AES_KEY_BYTE_LENGTH = 32;
3
+ declare const IV_LEN_BYTES = 12;
4
+ declare const CONTEXT_ENC_KEYSTORE = "CRYPTO library 2025-07-30 16:18:03 key for opening encryption keys keystore";
5
+ declare const CONTEXT_RECOVERY = "CRYPTO library 2025-07-30 16:20:00 key for account recovery";
6
+ declare const CONTEXT_DATABASE = "CRYPTO library 2025-07-30 17:20:00 key for protecting current search indices";
7
+ declare const CONTEXT_DRAFT = "CRYPTO library 2026-04-23 10:56:00 key for protecting email drafts";
8
+ declare const CONTEXT_TWO_KEYS = "CRYPTO library 2025-08-27 17:08:00 derive one key from two keys";
9
+ declare const ARGON2ID_PARALLELISM = 3;
10
+ declare const ARGON2ID_ITERATIONS = 4;
11
+ declare const ARGON2ID_MEMORY_SIZE = 65536;
12
+ declare const ARGON2ID_SALT_BYTE_LENGTH = 16;
13
+ declare const ARGON2ID_OUTPUT_BYTE_LENGTH = 32;
14
+ declare const KYBER768_PUBLIC_KEY_LENGTH = 1184;
15
+ declare const KYBER768_SECRET_KEY_LENGTH = 2400;
16
+ declare const KYBER_SEED_LENGTH = 64;
17
+ declare const MAX_CACHE_SIZE = 600000000;
18
+ declare const MAX_EMAIL_PER_BATCH = 100;
19
+ declare const DB_LABEL = "email";
20
+ declare const DB_VERSION = 1;
21
+ declare const XWING_PUBLIC_KEY_LENGTH = 1216;
22
+ declare const XWING_SECRET_KEY_LENGTH = 32;
23
+ declare const XWING_SEED_BYTE_LENGTH = 32;
24
+ declare const XWING_CIPHERTEXT_BYTE_LENGTH = 1120;
25
+ //#endregion
26
+ export { AES_KEY_BYTE_LENGTH, ARGON2ID_ITERATIONS, ARGON2ID_MEMORY_SIZE, ARGON2ID_OUTPUT_BYTE_LENGTH, ARGON2ID_PARALLELISM, ARGON2ID_SALT_BYTE_LENGTH, CONTEXT_DATABASE, CONTEXT_DRAFT, CONTEXT_ENC_KEYSTORE, CONTEXT_RECOVERY, CONTEXT_TWO_KEYS, DB_LABEL, DB_VERSION, IV_LEN_BYTES, KYBER768_PUBLIC_KEY_LENGTH, KYBER768_SECRET_KEY_LENGTH, KYBER_SEED_LENGTH, MAX_CACHE_SIZE, MAX_EMAIL_PER_BATCH, XWING_CIPHERTEXT_BYTE_LENGTH, XWING_PUBLIC_KEY_LENGTH, XWING_SECRET_KEY_LENGTH, XWING_SEED_BYTE_LENGTH };
27
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","names":[],"sources":["../../src/constants.ts"],"mappings":";cAAa,mBAAA;AAAA,cACA,YAAA;AAAA,cAEA,oBAAA;AAAA,cACA,gBAAA;AAAA,cACA,gBAAA;AAAA,cACA,aAAA;AAAA,cACA,gBAAA;AAAA,cAGA,oBAAA;AAAA,cACA,mBAAA;AAAA,cACA,oBAAA;AAAA,cACA,yBAAA;AAAA,cACA,2BAAA;AAAA,cAEA,0BAAA;AAAA,cACA,0BAAA;AAAA,cACA,iBAAA;AAAA,cAEA,cAAA;AAAA,cACA,mBAAA;AAAA,cACA,QAAA;AAAA,cACA,UAAA;AAAA,cAEA,uBAAA;AAAA,cACA,uBAAA;AAAA,cACA,sBAAA;AAAA,cACA,4BAAA"}