internxt-crypto 0.0.10-alpha → 0.0.13

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 +3 -4
  2. package/dist/aes-DSDxP8uF.mjs +184 -0
  3. package/dist/aes-DSDxP8uF.mjs.map +1 -0
  4. package/dist/aes-bOrKZuUC.js +226 -0
  5. package/dist/aes-bOrKZuUC.js.map +1 -0
  6. package/dist/asymmetric-crypto.d.mts +5 -2
  7. package/dist/asymmetric-crypto.d.mts.map +1 -0
  8. package/dist/asymmetric-crypto.d.ts +5 -2
  9. package/dist/asymmetric-crypto.d.ts.map +1 -0
  10. package/dist/asymmetric-crypto.js +9 -92
  11. package/dist/asymmetric-crypto.mjs +2 -84
  12. package/dist/chunk-DQk6qfdC.mjs +18 -0
  13. package/dist/chunk-EbLFQX5m.js +60 -0
  14. package/dist/constants.d.mts +5 -11
  15. package/dist/constants.d.mts.map +1 -0
  16. package/dist/constants.d.ts +5 -11
  17. package/dist/constants.d.ts.map +1 -0
  18. package/dist/constants.js +33 -49
  19. package/dist/constants.js.map +1 -1
  20. package/dist/constants.mjs +32 -40
  21. package/dist/constants.mjs.map +1 -1
  22. package/dist/derive-key.d.mts +11 -8
  23. package/dist/derive-key.d.mts.map +1 -0
  24. package/dist/derive-key.d.ts +11 -8
  25. package/dist/derive-key.d.ts.map +1 -0
  26. package/dist/derive-key.js +13 -795
  27. package/dist/derive-key.mjs +2 -783
  28. package/dist/deriveKeysFromPassword-DJRWZ8Rw.mjs +735 -0
  29. package/dist/deriveKeysFromPassword-DJRWZ8Rw.mjs.map +1 -0
  30. package/dist/deriveKeysFromPassword-Ko7NxkHM.js +2492 -0
  31. package/dist/deriveKeysFromPassword-Ko7NxkHM.js.map +1 -0
  32. package/dist/email-crypto.d.mts +55 -78
  33. package/dist/email-crypto.d.mts.map +1 -0
  34. package/dist/email-crypto.d.ts +55 -78
  35. package/dist/email-crypto.d.ts.map +1 -0
  36. package/dist/email-crypto.js +13 -1409
  37. package/dist/email-crypto.mjs +2 -1380
  38. package/dist/email-search.d.mts +36 -32
  39. package/dist/email-search.d.mts.map +1 -0
  40. package/dist/email-search.d.ts +36 -32
  41. package/dist/email-search.d.ts.map +1 -0
  42. package/dist/email-search.js +534 -540
  43. package/dist/email-search.js.map +1 -1
  44. package/dist/email-search.mjs +532 -538
  45. package/dist/email-search.mjs.map +1 -1
  46. package/dist/emailEncryptionKey-27mIHh18.mjs +150 -0
  47. package/dist/emailEncryptionKey-27mIHh18.mjs.map +1 -0
  48. package/dist/emailEncryptionKey-DbaDAdoW.js +167 -0
  49. package/dist/emailEncryptionKey-DbaDAdoW.js.map +1 -0
  50. package/dist/emailKeys-BJGdkLrg.js +593 -0
  51. package/dist/emailKeys-BJGdkLrg.js.map +1 -0
  52. package/dist/emailKeys-Fp9WR3wl.mjs +509 -0
  53. package/dist/emailKeys-Fp9WR3wl.mjs.map +1 -0
  54. package/dist/genID-3Er5IowC.mjs +153 -0
  55. package/dist/genID-3Er5IowC.mjs.map +1 -0
  56. package/dist/genID-YJSl3YhL.js +238 -0
  57. package/dist/genID-YJSl3YhL.js.map +1 -0
  58. package/dist/hash.d.mts +18 -15
  59. package/dist/hash.d.mts.map +1 -0
  60. package/dist/hash.d.ts +18 -15
  61. package/dist/hash.d.ts.map +1 -0
  62. package/dist/hash.js +12 -95
  63. package/dist/hash.mjs +2 -84
  64. package/dist/index.d.mts +15 -18
  65. package/dist/index.d.mts.map +1 -0
  66. package/dist/index.d.ts +15 -18
  67. package/dist/index.d.ts.map +1 -0
  68. package/dist/index.js +125 -2698
  69. package/dist/index.mjs +13 -2538
  70. package/dist/keys-BfcaiAOv.mjs +90 -0
  71. package/dist/keys-BfcaiAOv.mjs.map +1 -0
  72. package/dist/keys-CinT7kEY.js +125 -0
  73. package/dist/keys-CinT7kEY.js.map +1 -0
  74. package/dist/keystore-crypto.d.mts +17 -46
  75. package/dist/keystore-crypto.d.mts.map +1 -0
  76. package/dist/keystore-crypto.d.ts +17 -46
  77. package/dist/keystore-crypto.d.ts.map +1 -0
  78. package/dist/keystore-crypto.js +5 -529
  79. package/dist/keystore-crypto.mjs +2 -500
  80. package/dist/kyber1024-PpwE1rki.mjs +144 -0
  81. package/dist/kyber1024-PpwE1rki.mjs.map +1 -0
  82. package/dist/kyber1024-jeKS8CXf.js +173 -0
  83. package/dist/kyber1024-jeKS8CXf.js.map +1 -0
  84. package/dist/{kyber768-B87rMQ7u.d.mts → kyber768-DGBB_RS7.d.ts} +8 -6
  85. package/dist/kyber768-DGBB_RS7.d.ts.map +1 -0
  86. package/dist/{kyber768-B87rMQ7u.d.ts → kyber768-DzIcGg1i.d.mts} +8 -6
  87. package/dist/kyber768-DzIcGg1i.d.mts.map +1 -0
  88. package/dist/mac-BMb1F0dN.js +170 -0
  89. package/dist/mac-BMb1F0dN.js.map +1 -0
  90. package/dist/mac-ZpRlx8Fs.mjs +116 -0
  91. package/dist/mac-ZpRlx8Fs.mjs.map +1 -0
  92. package/dist/post-quantum-crypto.d.mts +23 -27
  93. package/dist/post-quantum-crypto.d.mts.map +1 -0
  94. package/dist/post-quantum-crypto.d.ts +23 -27
  95. package/dist/post-quantum-crypto.d.ts.map +1 -0
  96. package/dist/post-quantum-crypto.js +14 -92
  97. package/dist/post-quantum-crypto.mjs +2 -89
  98. package/dist/storage-service.d.mts +28 -34
  99. package/dist/storage-service.d.mts.map +1 -0
  100. package/dist/storage-service.d.ts +28 -34
  101. package/dist/storage-service.d.ts.map +1 -0
  102. package/dist/storage-service.js +51 -53
  103. package/dist/storage-service.js.map +1 -1
  104. package/dist/storage-service.mjs +40 -51
  105. package/dist/storage-service.mjs.map +1 -1
  106. package/dist/symmetric-crypto.d.mts +8 -7
  107. package/dist/symmetric-crypto.d.mts.map +1 -0
  108. package/dist/symmetric-crypto.d.ts +8 -7
  109. package/dist/symmetric-crypto.d.ts.map +1 -0
  110. package/dist/symmetric-crypto.js +10 -142
  111. package/dist/symmetric-crypto.mjs +2 -133
  112. package/dist/types.d.mts +71 -69
  113. package/dist/types.d.mts.map +1 -0
  114. package/dist/types.d.ts +71 -69
  115. package/dist/types.d.ts.map +1 -0
  116. package/dist/types.js +8 -10
  117. package/dist/types.js.map +1 -1
  118. package/dist/types.mjs +7 -9
  119. package/dist/types.mjs.map +1 -1
  120. package/dist/utils.d.mts +34 -78
  121. package/dist/utils.d.mts.map +1 -0
  122. package/dist/utils.d.ts +34 -78
  123. package/dist/utils.d.ts.map +1 -0
  124. package/dist/utils.js +17 -313
  125. package/dist/utils.mjs +2 -272
  126. package/package.json +21 -87
  127. package/dist/asymmetric-crypto.js.map +0 -1
  128. package/dist/asymmetric-crypto.mjs.map +0 -1
  129. package/dist/derive-key.js.map +0 -1
  130. package/dist/derive-key.mjs.map +0 -1
  131. package/dist/email-crypto.js.map +0 -1
  132. package/dist/email-crypto.mjs.map +0 -1
  133. package/dist/email-service.d.mts +0 -38
  134. package/dist/email-service.d.ts +0 -38
  135. package/dist/email-service.js +0 -154
  136. package/dist/email-service.js.map +0 -1
  137. package/dist/email-service.mjs +0 -147
  138. package/dist/email-service.mjs.map +0 -1
  139. package/dist/hash.js.map +0 -1
  140. package/dist/hash.mjs.map +0 -1
  141. package/dist/index.js.map +0 -1
  142. package/dist/index.mjs.map +0 -1
  143. package/dist/keystore-crypto.js.map +0 -1
  144. package/dist/keystore-crypto.mjs.map +0 -1
  145. package/dist/keystore-service.d.mts +0 -82
  146. package/dist/keystore-service.d.ts +0 -82
  147. package/dist/keystore-service.js +0 -349
  148. package/dist/keystore-service.js.map +0 -1
  149. package/dist/keystore-service.mjs +0 -342
  150. package/dist/keystore-service.mjs.map +0 -1
  151. package/dist/post-quantum-crypto.js.map +0 -1
  152. package/dist/post-quantum-crypto.mjs.map +0 -1
  153. package/dist/symmetric-crypto.js.map +0 -1
  154. package/dist/symmetric-crypto.mjs.map +0 -1
  155. package/dist/utils-BDaK_d6T.d.ts +0 -114
  156. package/dist/utils-v34IRTIx.d.mts +0 -114
  157. package/dist/utils.js.map +0 -1
  158. package/dist/utils.mjs.map +0 -1
@@ -1,90 +1,58 @@
1
- export { g as createPwdProtectedEmail, i as createPwdProtectedEmailAndSubject, f as decryptEmailAndSubjectHybrid, d as decryptEmailHybrid, h as decryptPwdProtectedEmail, j as decryptPwdProtectedEmailAndSubject, b as encryptEmailAndSubjectHybrid, c as encryptEmailAndSubjectHybridForMultipleRecipients, e as encryptEmailHybrid, a as encryptEmailHybridForMultipleRecipients, m as generateEmailID, k as getAux, l as getAuxWithoutSubject } from './utils-v34IRTIx.mjs';
2
- import { User, EmailBody, HybridEncKey, PwdProtectedKey, EmailPublicParameters, HybridEncryptedEmail, PwdProtectedEmail, Email, PublicKeys, PrivateKeys } from './types.mjs';
1
+ import { Email, EmailKeys, EmailPublicParameters, HybridEncryptedEmail, PrivateKeys, PublicKeys, PwdProtectedEmail, User, UserWithPublicKeys } from "./types.mjs";
3
2
 
3
+ //#region src/email-crypto/hybridEncyptedEmail.d.ts
4
4
  /**
5
- * Converts a User type into a base64 string.
5
+ * Encrypts the email using hybrid encryption.
6
6
  *
7
- * @param user - The given user.
8
- * @returns The base64 representation of the user.
7
+ * @param email - The email to encrypt.
8
+ * @param recipientPublicKeys - The public keys of the recipient.
9
+ * @param senderPrivateKey - The private key of the sender.
10
+ * @param isSubjectEncrypted - Indicates if the email subject field should be encrypted
11
+ * @returns The encrypted email
9
12
  */
10
- declare function userToBase64(user: User): string;
13
+ declare function encryptEmailHybrid(email: Email, recipient: UserWithPublicKeys, senderPrivateKey: PrivateKeys, isSubjectEncrypted?: boolean): Promise<HybridEncryptedEmail>;
11
14
  /**
12
- * Converts a base64 string into a User type
15
+ * Encrypts the email using hybrid encryption for multiple recipients.
13
16
  *
14
- * @param base64 - The base64 representation of the user.
15
- * @returns The User type.
17
+ * @param email - The email to encrypt.
18
+ * @param recipients - The recipients with corresponding public keys.
19
+ * @param senderPrivateKey - The private key of the sender.
20
+ * @param isSubjectEncrypted - Indicates if the email subject field should be encrypted
21
+ * @returns The set of encrypted email
16
22
  */
17
- declare function base64ToUser(base64: string): User;
23
+ declare function encryptEmailHybridForMultipleRecipients(email: Email, recipients: UserWithPublicKeys[], senderPrivateKey: PrivateKeys, isSubjectEncrypted?: boolean): Promise<HybridEncryptedEmail[]>;
18
24
  /**
19
- * Converts an EmailBody type into a Uint8Array array.
25
+ * Decrypts the email using hybrid encryption.
20
26
  *
21
- * @param body - The email body.
22
- * @returns The Uint8Array array representation of the EmailBody type.
27
+ * @param encryptedEmail - The encrypted email.
28
+ * @param senderPublicKeys - The public key of the sender.
29
+ * @param recipientPrivateKeys - The private key of the recipient.
30
+ * @returns The decrypted email
23
31
  */
24
- declare function emailBodyToBinary(body: EmailBody): Uint8Array;
32
+ declare function decryptEmailHybrid(encryptedEmail: HybridEncryptedEmail, senderPublicKeys: PublicKeys, recipientPrivateKeys: PrivateKeys): Promise<Email>;
33
+ //#endregion
34
+ //#region src/email-crypto/pwdProtectedEmail.d.ts
25
35
  /**
26
- * Converts an Uint8Array array into EmailBody type.
36
+ * Creates a password-protected email.
27
37
  *
28
- * @param array - The Uint8Array array.
29
- * @returns The EmailBody type representation of the Uint8Array.
38
+ * @param email - The email to password-protect
39
+ * @param password - The secret password shared among recipients
40
+ * @param isSubjectEncrypted - Indicates if the email subject field should be encrypted
41
+ * @returns The password-protected email
30
42
  */
31
- declare function binaryToEmailBody(array: Uint8Array): EmailBody;
43
+ declare function createPwdProtectedEmail(email: Email, password: string, isSubjectEncrypted?: boolean): Promise<PwdProtectedEmail>;
32
44
  /**
33
- * Converts a hybrid key of the type HybridEncKey into base64 string.
45
+ * Opens a password-protected email.
34
46
  *
35
- * @param encHybridKey - The HybridEncKey key.
36
- * @returns The resulting base64 key encoding.
47
+ * @param encryptedEmail - The encrypted email
48
+ * @param password - The secret password shared among recipients.
49
+ * @returns The decrypted email
37
50
  */
38
- declare function encHybridKeyToBase64(encHybridKey: HybridEncKey): string;
39
- /**
40
- * Converts a base64 string into a hybrid key of the type HybridEncKey.
41
- *
42
- * @param base - The base64 encoding of the hybrid key.
43
- * @returns The resulting HybridEncKey key.
44
- */
45
- declare function base64ToEncHybridKey(base64: string): HybridEncKey;
46
- /**
47
- * Converts a password-protected key of the type PwdProtectedKey into base64 string.
48
- *
49
- * @param pwdProtectedKey - The password-protected key of the type PwdProtectedKey.
50
- * @returns The resulting base64 key encoding.
51
- */
52
- declare function pwdProtectedKeyToBase64(pwdProtectedKey: PwdProtectedKey): string;
53
- /**
54
- * Converts a base64 string into a password-protected key of the type PwdProtectedKey.
55
- *
56
- * @param base64 - The base64 string.
57
- * @returns The resulting PwdProtectedKey key.
58
- */
59
- declare function base64ToPwdProtectedKey(base64: string): PwdProtectedKey;
60
- /**
61
- * Converts an email public parameters of type EmailPublicParameters into base64 string.
62
- *
63
- * @param params - The EmailPublicParameters email paramaters.
64
- * @returns The resulting base64 string encoding.
65
- */
66
- declare function paramsToBase64(params: EmailPublicParameters): string;
67
- /**
68
- * Converts a base64 string into an email paramaters of the type EmailPublicParameters.
69
- *
70
- * @param base64 - The base64 string.
71
- * @returns The resulting EmailPublicParameters email parameters.
72
- */
73
- declare function base64ToParams(base64: string): EmailPublicParameters;
74
- /**
75
- * Converts an encrypted via hybrid encryption email into base64 string.
76
- *
77
- * @param email - The HybridEncryptedEmail encrypted via hybrid encryption email.
78
- * @returns The resulting base64 string encoding.
79
- */
80
- declare function hybridEncyptedEmailToBase64(email: HybridEncryptedEmail): string;
81
- /**
82
- * Converts a pwd protected email into base64 string.
83
- *
84
- * @param email - The PwdProtectedEmail pwd protected email.
85
- * @returns The resulting base64 string encoding.
86
- */
87
- declare function pwdProtectedEmailToBase64(email: PwdProtectedEmail): string;
51
+ declare function decryptPwdProtectedEmail(encryptedEmail: PwdProtectedEmail, password: string): Promise<Email>;
52
+ //#endregion
53
+ //#region src/email-crypto/converters.d.ts
54
+ declare function userToBytes(user: User): Uint8Array;
55
+ declare function recipientsToBytes(recipients: User[]): Uint8Array;
88
56
  /**
89
57
  * Converts an Email type into a Uint8Array array.
90
58
  *
@@ -92,15 +60,24 @@ declare function pwdProtectedEmailToBase64(email: PwdProtectedEmail): string;
92
60
  * @returns The Uint8Array array representation of the Email type.
93
61
  */
94
62
  declare function emailToBinary(email: Email): Uint8Array;
95
-
63
+ //#endregion
64
+ //#region src/email-crypto/emailKeys.d.ts
96
65
  /**
97
66
  * Generates public and private keys for email service.
98
67
  *
99
68
  * @returns The user's private and public keys
100
69
  */
101
- declare function generateEmailKeys(): Promise<{
102
- publicKeys: PublicKeys;
103
- privateKeys: PrivateKeys;
104
- }>;
105
-
106
- export { base64ToEncHybridKey, base64ToParams, base64ToPwdProtectedKey, base64ToUser, binaryToEmailBody, emailBodyToBinary, emailToBinary, encHybridKeyToBase64, generateEmailKeys, hybridEncyptedEmailToBase64, paramsToBase64, pwdProtectedEmailToBase64, pwdProtectedKeyToBase64, userToBase64 };
70
+ declare function generateEmailKeys(): Promise<EmailKeys>;
71
+ //#endregion
72
+ //#region src/email-crypto/utils.d.ts
73
+ /**
74
+ * Creates an auxiliary string from public fields of the email.
75
+ *
76
+ * @param params - The email public parameters.
77
+ * @param isSubjectEncrypted - Indicates if the email subject field should be encrypted
78
+ * @returns The resulting auxiliary string
79
+ */
80
+ declare function getAux(params: EmailPublicParameters, isSubjectEncrypted: boolean): Uint8Array;
81
+ //#endregion
82
+ export { createPwdProtectedEmail, decryptEmailHybrid, decryptPwdProtectedEmail, emailToBinary, encryptEmailHybrid, encryptEmailHybridForMultipleRecipients, generateEmailKeys, getAux, recipientsToBytes, userToBytes };
83
+ //# sourceMappingURL=email-crypto.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-crypto.d.mts","names":[],"sources":["../src/email-crypto/hybridEncyptedEmail.ts","../src/email-crypto/pwdProtectedEmail.ts","../src/email-crypto/converters.ts","../src/email-crypto/emailKeys.ts","../src/email-crypto/utils.ts"],"mappings":";;;;;AAYA;;;;;;;iBAAsB,kBAAA,CACpB,KAAA,EAAO,KAAA,EACP,SAAA,EAAW,kBAAA,EACX,gBAAA,EAAkB,WAAA,EAClB,kBAAA,aACC,OAAA,CAAQ,oBAAA;;;;;;;;;;iBAmBW,uCAAA,CACpB,KAAA,EAAO,KAAA,EACP,UAAA,EAAY,kBAAA,IACZ,gBAAA,EAAkB,WAAA,EAClB,kBAAA,aACC,OAAA,CAAQ,oBAAA;;;;AALX;;;;;iBAmCsB,kBAAA,CACpB,cAAA,EAAgB,oBAAA,EAChB,gBAAA,EAAkB,UAAA,EAClB,oBAAA,EAAsB,WAAA,GACrB,OAAA,CAAQ,KAAA;;;;;AA/DX;;;;;;iBCDsB,uBAAA,CACpB,KAAA,EAAO,KAAA,EACP,QAAA,UACA,kBAAA,aACC,OAAA,CAAQ,iBAAA;;;;;;;;iBAqBW,wBAAA,CAAyB,cAAA,EAAgB,iBAAA,EAAmB,QAAA,WAAmB,OAAA,CAAQ,KAAA;;;iBChC7F,WAAA,CAAY,IAAA,EAAM,IAAA,GAAO,UAAA;AAAA,iBASzB,iBAAA,CAAkB,UAAA,EAAY,IAAA,KAAS,UAAA;AFDvD;;;;;;AAAA,iBEgBgB,aAAA,CAAc,KAAA,EAAO,KAAA,GAAQ,UAAA;;;;;AFhB7C;;;iBGHsB,iBAAA,CAAA,GAAqB,OAAA,CAAQ,SAAA;;;;;AHGnD;;;;;iBIAgB,MAAA,CAAO,MAAA,EAAQ,qBAAA,EAAuB,kBAAA,YAA8B,UAAA"}
@@ -1,90 +1,58 @@
1
- export { g as createPwdProtectedEmail, i as createPwdProtectedEmailAndSubject, f as decryptEmailAndSubjectHybrid, d as decryptEmailHybrid, h as decryptPwdProtectedEmail, j as decryptPwdProtectedEmailAndSubject, b as encryptEmailAndSubjectHybrid, c as encryptEmailAndSubjectHybridForMultipleRecipients, e as encryptEmailHybrid, a as encryptEmailHybridForMultipleRecipients, m as generateEmailID, k as getAux, l as getAuxWithoutSubject } from './utils-BDaK_d6T.js';
2
- import { User, EmailBody, HybridEncKey, PwdProtectedKey, EmailPublicParameters, HybridEncryptedEmail, PwdProtectedEmail, Email, PublicKeys, PrivateKeys } from './types.js';
1
+ import { Email, EmailKeys, EmailPublicParameters, HybridEncryptedEmail, PrivateKeys, PublicKeys, PwdProtectedEmail, User, UserWithPublicKeys } from "./types.js";
3
2
 
3
+ //#region src/email-crypto/hybridEncyptedEmail.d.ts
4
4
  /**
5
- * Converts a User type into a base64 string.
5
+ * Encrypts the email using hybrid encryption.
6
6
  *
7
- * @param user - The given user.
8
- * @returns The base64 representation of the user.
7
+ * @param email - The email to encrypt.
8
+ * @param recipientPublicKeys - The public keys of the recipient.
9
+ * @param senderPrivateKey - The private key of the sender.
10
+ * @param isSubjectEncrypted - Indicates if the email subject field should be encrypted
11
+ * @returns The encrypted email
9
12
  */
10
- declare function userToBase64(user: User): string;
13
+ declare function encryptEmailHybrid(email: Email, recipient: UserWithPublicKeys, senderPrivateKey: PrivateKeys, isSubjectEncrypted?: boolean): Promise<HybridEncryptedEmail>;
11
14
  /**
12
- * Converts a base64 string into a User type
15
+ * Encrypts the email using hybrid encryption for multiple recipients.
13
16
  *
14
- * @param base64 - The base64 representation of the user.
15
- * @returns The User type.
17
+ * @param email - The email to encrypt.
18
+ * @param recipients - The recipients with corresponding public keys.
19
+ * @param senderPrivateKey - The private key of the sender.
20
+ * @param isSubjectEncrypted - Indicates if the email subject field should be encrypted
21
+ * @returns The set of encrypted email
16
22
  */
17
- declare function base64ToUser(base64: string): User;
23
+ declare function encryptEmailHybridForMultipleRecipients(email: Email, recipients: UserWithPublicKeys[], senderPrivateKey: PrivateKeys, isSubjectEncrypted?: boolean): Promise<HybridEncryptedEmail[]>;
18
24
  /**
19
- * Converts an EmailBody type into a Uint8Array array.
25
+ * Decrypts the email using hybrid encryption.
20
26
  *
21
- * @param body - The email body.
22
- * @returns The Uint8Array array representation of the EmailBody type.
27
+ * @param encryptedEmail - The encrypted email.
28
+ * @param senderPublicKeys - The public key of the sender.
29
+ * @param recipientPrivateKeys - The private key of the recipient.
30
+ * @returns The decrypted email
23
31
  */
24
- declare function emailBodyToBinary(body: EmailBody): Uint8Array;
32
+ declare function decryptEmailHybrid(encryptedEmail: HybridEncryptedEmail, senderPublicKeys: PublicKeys, recipientPrivateKeys: PrivateKeys): Promise<Email>;
33
+ //#endregion
34
+ //#region src/email-crypto/pwdProtectedEmail.d.ts
25
35
  /**
26
- * Converts an Uint8Array array into EmailBody type.
36
+ * Creates a password-protected email.
27
37
  *
28
- * @param array - The Uint8Array array.
29
- * @returns The EmailBody type representation of the Uint8Array.
38
+ * @param email - The email to password-protect
39
+ * @param password - The secret password shared among recipients
40
+ * @param isSubjectEncrypted - Indicates if the email subject field should be encrypted
41
+ * @returns The password-protected email
30
42
  */
31
- declare function binaryToEmailBody(array: Uint8Array): EmailBody;
43
+ declare function createPwdProtectedEmail(email: Email, password: string, isSubjectEncrypted?: boolean): Promise<PwdProtectedEmail>;
32
44
  /**
33
- * Converts a hybrid key of the type HybridEncKey into base64 string.
45
+ * Opens a password-protected email.
34
46
  *
35
- * @param encHybridKey - The HybridEncKey key.
36
- * @returns The resulting base64 key encoding.
47
+ * @param encryptedEmail - The encrypted email
48
+ * @param password - The secret password shared among recipients.
49
+ * @returns The decrypted email
37
50
  */
38
- declare function encHybridKeyToBase64(encHybridKey: HybridEncKey): string;
39
- /**
40
- * Converts a base64 string into a hybrid key of the type HybridEncKey.
41
- *
42
- * @param base - The base64 encoding of the hybrid key.
43
- * @returns The resulting HybridEncKey key.
44
- */
45
- declare function base64ToEncHybridKey(base64: string): HybridEncKey;
46
- /**
47
- * Converts a password-protected key of the type PwdProtectedKey into base64 string.
48
- *
49
- * @param pwdProtectedKey - The password-protected key of the type PwdProtectedKey.
50
- * @returns The resulting base64 key encoding.
51
- */
52
- declare function pwdProtectedKeyToBase64(pwdProtectedKey: PwdProtectedKey): string;
53
- /**
54
- * Converts a base64 string into a password-protected key of the type PwdProtectedKey.
55
- *
56
- * @param base64 - The base64 string.
57
- * @returns The resulting PwdProtectedKey key.
58
- */
59
- declare function base64ToPwdProtectedKey(base64: string): PwdProtectedKey;
60
- /**
61
- * Converts an email public parameters of type EmailPublicParameters into base64 string.
62
- *
63
- * @param params - The EmailPublicParameters email paramaters.
64
- * @returns The resulting base64 string encoding.
65
- */
66
- declare function paramsToBase64(params: EmailPublicParameters): string;
67
- /**
68
- * Converts a base64 string into an email paramaters of the type EmailPublicParameters.
69
- *
70
- * @param base64 - The base64 string.
71
- * @returns The resulting EmailPublicParameters email parameters.
72
- */
73
- declare function base64ToParams(base64: string): EmailPublicParameters;
74
- /**
75
- * Converts an encrypted via hybrid encryption email into base64 string.
76
- *
77
- * @param email - The HybridEncryptedEmail encrypted via hybrid encryption email.
78
- * @returns The resulting base64 string encoding.
79
- */
80
- declare function hybridEncyptedEmailToBase64(email: HybridEncryptedEmail): string;
81
- /**
82
- * Converts a pwd protected email into base64 string.
83
- *
84
- * @param email - The PwdProtectedEmail pwd protected email.
85
- * @returns The resulting base64 string encoding.
86
- */
87
- declare function pwdProtectedEmailToBase64(email: PwdProtectedEmail): string;
51
+ declare function decryptPwdProtectedEmail(encryptedEmail: PwdProtectedEmail, password: string): Promise<Email>;
52
+ //#endregion
53
+ //#region src/email-crypto/converters.d.ts
54
+ declare function userToBytes(user: User): Uint8Array;
55
+ declare function recipientsToBytes(recipients: User[]): Uint8Array;
88
56
  /**
89
57
  * Converts an Email type into a Uint8Array array.
90
58
  *
@@ -92,15 +60,24 @@ declare function pwdProtectedEmailToBase64(email: PwdProtectedEmail): string;
92
60
  * @returns The Uint8Array array representation of the Email type.
93
61
  */
94
62
  declare function emailToBinary(email: Email): Uint8Array;
95
-
63
+ //#endregion
64
+ //#region src/email-crypto/emailKeys.d.ts
96
65
  /**
97
66
  * Generates public and private keys for email service.
98
67
  *
99
68
  * @returns The user's private and public keys
100
69
  */
101
- declare function generateEmailKeys(): Promise<{
102
- publicKeys: PublicKeys;
103
- privateKeys: PrivateKeys;
104
- }>;
105
-
106
- export { base64ToEncHybridKey, base64ToParams, base64ToPwdProtectedKey, base64ToUser, binaryToEmailBody, emailBodyToBinary, emailToBinary, encHybridKeyToBase64, generateEmailKeys, hybridEncyptedEmailToBase64, paramsToBase64, pwdProtectedEmailToBase64, pwdProtectedKeyToBase64, userToBase64 };
70
+ declare function generateEmailKeys(): Promise<EmailKeys>;
71
+ //#endregion
72
+ //#region src/email-crypto/utils.d.ts
73
+ /**
74
+ * Creates an auxiliary string from public fields of the email.
75
+ *
76
+ * @param params - The email public parameters.
77
+ * @param isSubjectEncrypted - Indicates if the email subject field should be encrypted
78
+ * @returns The resulting auxiliary string
79
+ */
80
+ declare function getAux(params: EmailPublicParameters, isSubjectEncrypted: boolean): Uint8Array;
81
+ //#endregion
82
+ export { createPwdProtectedEmail, decryptEmailHybrid, decryptPwdProtectedEmail, emailToBinary, encryptEmailHybrid, encryptEmailHybridForMultipleRecipients, generateEmailKeys, getAux, recipientsToBytes, userToBytes };
83
+ //# sourceMappingURL=email-crypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-crypto.d.ts","names":[],"sources":["../src/email-crypto/hybridEncyptedEmail.ts","../src/email-crypto/pwdProtectedEmail.ts","../src/email-crypto/converters.ts","../src/email-crypto/emailKeys.ts","../src/email-crypto/utils.ts"],"mappings":";;;;;AAYA;;;;;;;iBAAsB,kBAAA,CACpB,KAAA,EAAO,KAAA,EACP,SAAA,EAAW,kBAAA,EACX,gBAAA,EAAkB,WAAA,EAClB,kBAAA,aACC,OAAA,CAAQ,oBAAA;;;;;;;;;;iBAmBW,uCAAA,CACpB,KAAA,EAAO,KAAA,EACP,UAAA,EAAY,kBAAA,IACZ,gBAAA,EAAkB,WAAA,EAClB,kBAAA,aACC,OAAA,CAAQ,oBAAA;;;;AALX;;;;;iBAmCsB,kBAAA,CACpB,cAAA,EAAgB,oBAAA,EAChB,gBAAA,EAAkB,UAAA,EAClB,oBAAA,EAAsB,WAAA,GACrB,OAAA,CAAQ,KAAA;;;;;AA/DX;;;;;;iBCDsB,uBAAA,CACpB,KAAA,EAAO,KAAA,EACP,QAAA,UACA,kBAAA,aACC,OAAA,CAAQ,iBAAA;;;;;;;;iBAqBW,wBAAA,CAAyB,cAAA,EAAgB,iBAAA,EAAmB,QAAA,WAAmB,OAAA,CAAQ,KAAA;;;iBChC7F,WAAA,CAAY,IAAA,EAAM,IAAA,GAAO,UAAA;AAAA,iBASzB,iBAAA,CAAkB,UAAA,EAAY,IAAA,KAAS,UAAA;AFDvD;;;;;;AAAA,iBEgBgB,aAAA,CAAc,KAAA,EAAO,KAAA,GAAQ,UAAA;;;;;AFhB7C;;;iBGHsB,iBAAA,CAAA,GAAqB,OAAA,CAAQ,SAAA;;;;;AHGnD;;;;;iBIAgB,MAAA,CAAO,MAAA,EAAQ,qBAAA,EAAuB,kBAAA,YAA8B,UAAA"}