@digitaldefiance/node-ecies-lib 3.0.8 → 4.1.0

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 (119) hide show
  1. package/README.md +229 -409
  2. package/package.json +3 -3
  3. package/src/builders/member-builder.d.ts +1 -2
  4. package/src/builders/member-builder.d.ts.map +1 -1
  5. package/src/builders/member-builder.js.map +1 -1
  6. package/src/constants.d.ts.map +1 -1
  7. package/src/constants.js +38 -9
  8. package/src/constants.js.map +1 -1
  9. package/src/i18n/ecies-i18n-factory.d.ts +2 -52
  10. package/src/i18n/ecies-i18n-factory.d.ts.map +1 -1
  11. package/src/i18n/ecies-i18n-factory.js +9 -63
  12. package/src/i18n/ecies-i18n-factory.js.map +1 -1
  13. package/src/i18n/node-ecies-i18n-setup.d.ts.map +1 -1
  14. package/src/i18n/node-ecies-i18n-setup.js +5 -53
  15. package/src/i18n/node-ecies-i18n-setup.js.map +1 -1
  16. package/src/i18n/node-keys.d.ts +57 -0
  17. package/src/i18n/node-keys.d.ts.map +1 -0
  18. package/src/i18n/node-keys.js +67 -0
  19. package/src/i18n/node-keys.js.map +1 -0
  20. package/src/i18n/translations/de.d.ts +1 -1
  21. package/src/i18n/translations/de.d.ts.map +1 -1
  22. package/src/i18n/translations/de.js +51 -46
  23. package/src/i18n/translations/de.js.map +1 -1
  24. package/src/i18n/translations/en-GB.d.ts +1 -1
  25. package/src/i18n/translations/en-GB.d.ts.map +1 -1
  26. package/src/i18n/translations/en-GB.js +51 -46
  27. package/src/i18n/translations/en-GB.js.map +1 -1
  28. package/src/i18n/translations/en-US.d.ts +1 -1
  29. package/src/i18n/translations/en-US.d.ts.map +1 -1
  30. package/src/i18n/translations/en-US.js +52 -46
  31. package/src/i18n/translations/en-US.js.map +1 -1
  32. package/src/i18n/translations/es.d.ts +1 -1
  33. package/src/i18n/translations/es.d.ts.map +1 -1
  34. package/src/i18n/translations/es.js +51 -46
  35. package/src/i18n/translations/es.js.map +1 -1
  36. package/src/i18n/translations/fr.d.ts +1 -1
  37. package/src/i18n/translations/fr.d.ts.map +1 -1
  38. package/src/i18n/translations/fr.js +51 -46
  39. package/src/i18n/translations/fr.js.map +1 -1
  40. package/src/i18n/translations/index.d.ts +2 -0
  41. package/src/i18n/translations/index.d.ts.map +1 -1
  42. package/src/i18n/translations/index.js +5 -1
  43. package/src/i18n/translations/index.js.map +1 -1
  44. package/src/i18n/translations/ja.d.ts +1 -1
  45. package/src/i18n/translations/ja.d.ts.map +1 -1
  46. package/src/i18n/translations/ja.js +51 -46
  47. package/src/i18n/translations/ja.js.map +1 -1
  48. package/src/i18n/translations/uk.d.ts +1 -1
  49. package/src/i18n/translations/uk.d.ts.map +1 -1
  50. package/src/i18n/translations/uk.js +51 -46
  51. package/src/i18n/translations/uk.js.map +1 -1
  52. package/src/i18n/translations/zh-cn.d.ts +1 -1
  53. package/src/i18n/translations/zh-cn.d.ts.map +1 -1
  54. package/src/i18n/translations/zh-cn.js +51 -46
  55. package/src/i18n/translations/zh-cn.js.map +1 -1
  56. package/src/interfaces/authenticated-cipher.d.ts +3 -0
  57. package/src/interfaces/authenticated-cipher.d.ts.map +1 -1
  58. package/src/interfaces/authenticated-decipher.d.ts +3 -0
  59. package/src/interfaces/authenticated-decipher.d.ts.map +1 -1
  60. package/src/interfaces/backend-member-operational.d.ts +1 -1
  61. package/src/interfaces/backend-member-operational.d.ts.map +1 -1
  62. package/src/interfaces/constants.d.ts +26 -17
  63. package/src/interfaces/constants.d.ts.map +1 -1
  64. package/src/interfaces/multi-encrypted-parsed-header.d.ts +5 -2
  65. package/src/interfaces/multi-encrypted-parsed-header.d.ts.map +1 -1
  66. package/src/interfaces/multi-recipient-chunk.d.ts +16 -0
  67. package/src/interfaces/multi-recipient-chunk.d.ts.map +1 -1
  68. package/src/interfaces/multi-recipient-chunk.js +10 -0
  69. package/src/interfaces/multi-recipient-chunk.js.map +1 -1
  70. package/src/lib/index.d.ts +2 -0
  71. package/src/lib/index.d.ts.map +1 -1
  72. package/src/lib/index.js +2 -0
  73. package/src/lib/index.js.map +1 -1
  74. package/src/lib/invariant-validator.d.ts +62 -0
  75. package/src/lib/invariant-validator.d.ts.map +1 -0
  76. package/src/lib/invariant-validator.js +108 -0
  77. package/src/lib/invariant-validator.js.map +1 -0
  78. package/src/lib/invariants/index.d.ts +8 -0
  79. package/src/lib/invariants/index.d.ts.map +1 -0
  80. package/src/lib/invariants/index.js +12 -0
  81. package/src/lib/invariants/index.js.map +1 -0
  82. package/src/lib/invariants/recipient-id-consistency.d.ts +22 -0
  83. package/src/lib/invariants/recipient-id-consistency.d.ts.map +1 -0
  84. package/src/lib/invariants/recipient-id-consistency.js +62 -0
  85. package/src/lib/invariants/recipient-id-consistency.js.map +1 -0
  86. package/src/member.d.ts +6 -6
  87. package/src/member.d.ts.map +1 -1
  88. package/src/member.js +13 -20
  89. package/src/member.js.map +1 -1
  90. package/src/services/aes-gcm.d.ts +2 -2
  91. package/src/services/aes-gcm.d.ts.map +1 -1
  92. package/src/services/aes-gcm.js +8 -2
  93. package/src/services/aes-gcm.js.map +1 -1
  94. package/src/services/ecies/crypto-core.d.ts +21 -0
  95. package/src/services/ecies/crypto-core.d.ts.map +1 -1
  96. package/src/services/ecies/crypto-core.js +62 -7
  97. package/src/services/ecies/crypto-core.js.map +1 -1
  98. package/src/services/ecies/multi-recipient.d.ts +11 -7
  99. package/src/services/ecies/multi-recipient.d.ts.map +1 -1
  100. package/src/services/ecies/multi-recipient.js +200 -71
  101. package/src/services/ecies/multi-recipient.js.map +1 -1
  102. package/src/services/ecies/service.d.ts +1 -1
  103. package/src/services/ecies/service.d.ts.map +1 -1
  104. package/src/services/ecies/service.js +2 -2
  105. package/src/services/ecies/service.js.map +1 -1
  106. package/src/services/ecies/single-recipient.d.ts +1 -1
  107. package/src/services/ecies/single-recipient.d.ts.map +1 -1
  108. package/src/services/ecies/single-recipient.js +76 -43
  109. package/src/services/ecies/single-recipient.js.map +1 -1
  110. package/src/services/encryption-stream.js +3 -4
  111. package/src/services/encryption-stream.js.map +1 -1
  112. package/src/services/multi-recipient-processor.d.ts +42 -9
  113. package/src/services/multi-recipient-processor.d.ts.map +1 -1
  114. package/src/services/multi-recipient-processor.js +273 -177
  115. package/src/services/multi-recipient-processor.js.map +1 -1
  116. package/src/test-mocks/mock-backend-member.d.ts +7 -8
  117. package/src/test-mocks/mock-backend-member.d.ts.map +1 -1
  118. package/src/test-mocks/mock-backend-member.js +4 -4
  119. package/src/test-mocks/mock-backend-member.js.map +1 -1
@@ -3,8 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EciesMultiRecipient = void 0;
4
4
  const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
5
5
  const crypto_1 = require("crypto");
6
- const mongodb_1 = require("mongodb");
7
- const constants_1 = require("../../constants");
8
6
  const single_recipient_1 = require("./single-recipient");
9
7
  /**
10
8
  * Multiple recipient encryption/decryption functions for ECIES
@@ -18,32 +16,37 @@ class EciesMultiRecipient {
18
16
  }
19
17
  /**
20
18
  * Get the size of the header for a given encryption type
21
- * @param encryptionType The encryption type (single, simple, etc.)
22
- * @param options Optional encryption options
23
- * @param options.recipientCount The number of recipients
19
+ * @param recipientCount The number of recipients
24
20
  * @returns
25
21
  */
26
22
  getHeaderSize(recipientCount) {
27
- return (this.cryptoCore.consts.MULTIPLE.FIXED_OVERHEAD_SIZE +
23
+ return (this.cryptoCore.consts.VERSION_SIZE +
24
+ this.cryptoCore.consts.CIPHER_SUITE_SIZE +
25
+ this.cryptoCore.consts.ENCRYPTION_TYPE_SIZE +
26
+ this.cryptoCore.consts.PUBLIC_KEY_LENGTH + // Shared ephemeral public key
27
+ this.cryptoCore.consts.MULTIPLE.DATA_LENGTH_SIZE +
28
+ this.cryptoCore.consts.MULTIPLE.RECIPIENT_COUNT_SIZE +
29
+ recipientCount * this.cryptoCore.consts.MULTIPLE.RECIPIENT_ID_SIZE +
28
30
  recipientCount * this.cryptoCore.consts.MULTIPLE.ENCRYPTED_KEY_SIZE);
29
31
  }
30
32
  /**
31
33
  * Encrypt a message symmetric key with a public key
32
34
  * @param receiverPublicKey The public key of the receiver
33
35
  * @param messageSymmetricKey The message to encrypt
36
+ * @param ephemeralPrivateKey The ephemeral private key to use for encryption
37
+ * @param aad Additional Authenticated Data (optional)
34
38
  * @returns The encrypted message
35
39
  */
36
- encryptKey(receiverPublicKey, messageSymmetricKey) {
37
- // Generate ephemeral ECDH key pair
38
- const ecdh = (0, crypto_1.createECDH)(this.cryptoCore.config.curveName);
39
- ecdh.generateKeys();
40
+ encryptKey(receiverPublicKey, messageSymmetricKey, ephemeralPrivateKey, aad) {
40
41
  // Compute shared secret
41
42
  let sharedSecret;
42
43
  try {
43
44
  // Make sure we normalize the receiver's public key
44
45
  const normalizedReceiverPublicKey = this.cryptoCore.normalizePublicKey(receiverPublicKey);
46
+ // Create ECDH instance with the ephemeral private key
47
+ const ecdh = (0, crypto_1.createECDH)(this.cryptoCore.config.curveName);
48
+ ecdh.setPrivateKey(ephemeralPrivateKey);
45
49
  // Ensure we're using the properly formatted public key (with 0x04 prefix)
46
- // Our debugging shows only the full format with prefix works correctly
47
50
  sharedSecret = ecdh.computeSecret(normalizedReceiverPublicKey);
48
51
  }
49
52
  catch (error) {
@@ -61,85 +64,137 @@ class EciesMultiRecipient {
61
64
  }
62
65
  throw new ecies_lib_1.ECIESError(ecies_lib_1.ECIESErrorTypeEnum.SecretComputationFailed);
63
66
  }
64
- // Get the ephemeral public key and ensure it has the 0x04 prefix
65
- let ephemeralPublicKey = ecdh.getPublicKey();
66
- if (ephemeralPublicKey.length === this.cryptoCore.consts.RAW_PUBLIC_KEY_LENGTH) {
67
- ephemeralPublicKey = Buffer.concat([
68
- Buffer.from([this.cryptoCore.consts.PUBLIC_KEY_MAGIC]),
69
- ephemeralPublicKey,
70
- ]);
71
- }
72
- // Get the key from the shared secret (always use first 32 bytes)
73
- const symKey = sharedSecret.subarray(0, this.cryptoCore.consts.SYMMETRIC.KEY_SIZE);
67
+ // Use HKDF to derive the key
68
+ const symKey = this.cryptoCore.deriveSharedKey(sharedSecret, Buffer.alloc(0), // No salt
69
+ Buffer.from('ecies-v2-key-derivation'), // Info
70
+ this.cryptoCore.consts.SYMMETRIC.KEY_SIZE);
74
71
  const iv = (0, crypto_1.randomBytes)(this.cryptoCore.consts.IV_SIZE);
75
72
  // Create cipher with the derived symmetric key
76
73
  const cipher = (0, crypto_1.createCipheriv)(this.cryptoCore.consts.SYMMETRIC_ALGORITHM_CONFIGURATION, symKey, iv);
77
74
  // Ensure auto padding is enabled
78
75
  cipher.setAutoPadding(true);
76
+ // Set AAD if provided
77
+ if (aad) {
78
+ cipher.setAAD(aad);
79
+ }
79
80
  // Encrypt the message
80
81
  let encrypted = cipher.update(messageSymmetricKey);
81
82
  encrypted = Buffer.concat([encrypted, cipher.final()]);
82
83
  // Get and explicitly set the authentication tag to max tag length for consistency
83
84
  const authTag = cipher.getAuthTag();
84
- // Format:ephemeralPublicKey (65) | iv (16) | authTag (16) | encryptedData (this.cryptoCore.consts.SYMMETRIC.KEY_SIZE = 32)
85
- return Buffer.concat([ephemeralPublicKey, iv, authTag, encrypted]);
85
+ // Format: iv (16) | authTag (16) | encryptedData (32)
86
+ // Note: Ephemeral public key is now in the main header, not per-recipient
87
+ return Buffer.concat([iv, authTag, encrypted]);
86
88
  }
87
89
  /**
88
90
  * Decrypts symmetric key encrypted with ECIES using a header
89
91
  * @param privateKey The private key to decrypt the data
90
92
  * @param encryptedKey The data to decrypt
93
+ * @param ephemeralPublicKey The ephemeral public key from the header
94
+ * @param aad Additional Authenticated Data (optional)
91
95
  * @returns The decrypted data buffer
92
96
  */
93
- decryptKey(privateKey, encryptedKey) {
97
+ decryptKey(privateKey, encryptedKey, ephemeralPublicKey, aad) {
94
98
  if (encryptedKey.length !== this.cryptoCore.consts.MULTIPLE.ENCRYPTED_KEY_SIZE) {
95
99
  throw new ecies_lib_1.ECIESError(ecies_lib_1.ECIESErrorTypeEnum.InvalidEncryptedKeyLength, undefined, undefined, {
96
100
  expected: String(this.cryptoCore.consts.MULTIPLE.ENCRYPTED_KEY_SIZE),
97
101
  actual: String(encryptedKey.length),
98
102
  });
99
103
  }
100
- const ephemeralPublicKey = encryptedKey.subarray(0, this.cryptoCore.consts.PUBLIC_KEY_LENGTH);
101
- const iv = encryptedKey.subarray(this.cryptoCore.consts.PUBLIC_KEY_LENGTH, this.cryptoCore.consts.PUBLIC_KEY_LENGTH + this.cryptoCore.consts.IV_SIZE);
102
- const authTag = encryptedKey.subarray(this.cryptoCore.consts.PUBLIC_KEY_LENGTH + this.cryptoCore.consts.IV_SIZE, this.cryptoCore.consts.PUBLIC_KEY_LENGTH +
103
- this.cryptoCore.consts.IV_SIZE +
104
- this.cryptoCore.consts.AUTH_TAG_SIZE);
105
- const encrypted = encryptedKey.subarray(this.cryptoCore.consts.PUBLIC_KEY_LENGTH +
106
- this.cryptoCore.consts.IV_SIZE +
107
- this.cryptoCore.consts.AUTH_TAG_SIZE, this.cryptoCore.consts.PUBLIC_KEY_LENGTH +
108
- this.cryptoCore.consts.IV_SIZE +
109
- this.cryptoCore.consts.AUTH_TAG_SIZE +
110
- this.cryptoCore.consts.SYMMETRIC.KEY_SIZE);
104
+ const iv = encryptedKey.subarray(0, this.cryptoCore.consts.IV_SIZE);
105
+ const authTag = encryptedKey.subarray(this.cryptoCore.consts.IV_SIZE, this.cryptoCore.consts.IV_SIZE + this.cryptoCore.consts.AUTH_TAG_SIZE);
106
+ const encrypted = encryptedKey.subarray(this.cryptoCore.consts.IV_SIZE + this.cryptoCore.consts.AUTH_TAG_SIZE);
111
107
  // Normalize the public key (ensuring 0x04 prefix)
112
108
  const normalizedKey = this.cryptoCore.normalizePublicKey(ephemeralPublicKey);
113
- // Decrypt using components with the normalized key
114
- const decrypted = this.singleRecipientCore.decryptWithComponents(privateKey, normalizedKey, iv, authTag, encrypted);
115
- if (decrypted.length !== this.cryptoCore.consts.SYMMETRIC.KEY_SIZE) {
109
+ // Compute shared secret
110
+ const ecdh = (0, crypto_1.createECDH)(this.cryptoCore.config.curveName);
111
+ ecdh.setPrivateKey(privateKey);
112
+ const sharedSecret = ecdh.computeSecret(normalizedKey);
113
+ // Use HKDF to derive the key
114
+ const symKey = this.cryptoCore.deriveSharedKey(sharedSecret, Buffer.alloc(0), // No salt
115
+ Buffer.from('ecies-v2-key-derivation'), // Info
116
+ this.cryptoCore.consts.SYMMETRIC.KEY_SIZE);
117
+ // Decrypt
118
+ const decipher = (0, crypto_1.createDecipheriv)(this.cryptoCore.consts.SYMMETRIC_ALGORITHM_CONFIGURATION, symKey, iv);
119
+ decipher.setAuthTag(authTag);
120
+ if (aad) {
121
+ decipher.setAAD(aad);
122
+ }
123
+ const decrypted = decipher.update(encrypted);
124
+ const final = decipher.final();
125
+ const decryptedMessage = Buffer.concat([decrypted, final]);
126
+ if (decryptedMessage.length !== this.cryptoCore.consts.SYMMETRIC.KEY_SIZE) {
116
127
  throw new ecies_lib_1.ECIESError(ecies_lib_1.ECIESErrorTypeEnum.InvalidDataLength, undefined, undefined, {
117
128
  expected: String(this.cryptoCore.consts.SYMMETRIC.KEY_SIZE),
118
- actual: String(decrypted.length),
129
+ actual: String(decryptedMessage.length),
119
130
  });
120
131
  }
121
- return decrypted;
132
+ return decryptedMessage;
122
133
  }
123
134
  /**
124
135
  * Encrypts a message for multiple recipients.
125
136
  * @param recipients The recipients to encrypt the message for.
126
137
  * @param message The message to encrypt.
127
138
  * @param preamble Optional preamble to include in the encrypted message.
139
+ * @param senderPrivateKey Optional sender private key for signing.
128
140
  * @returns The encrypted message.
129
141
  * @throws EciesError if the number of recipients is greater than 65535.
130
142
  */
131
- encryptMultiple(recipients, message, preamble) {
143
+ encryptMultiple(recipients, message, preamble, senderPrivateKey) {
132
144
  if (recipients.length > ecies_lib_1.Constants.UINT16_MAX) {
133
145
  throw new ecies_lib_1.ECIESError(ecies_lib_1.ECIESErrorTypeEnum.TooManyRecipients);
134
146
  }
147
+ // Sign-then-Encrypt: If sender key provided, sign the message and prepend signature
148
+ let messageToEncrypt = message;
149
+ if (senderPrivateKey) {
150
+ const signature = this.cryptoCore.sign(senderPrivateKey, message);
151
+ messageToEncrypt = Buffer.concat([signature, message]);
152
+ }
153
+ if (messageToEncrypt.length > this.cryptoCore.consts.MAX_RAW_DATA_SIZE) {
154
+ throw new ecies_lib_1.ECIESError(ecies_lib_1.ECIESErrorTypeEnum.FileSizeTooLarge);
155
+ }
135
156
  const messageTypeBuffer = Buffer.alloc(1);
136
157
  messageTypeBuffer.writeUint8(ecies_lib_1.EciesEncryptionTypeEnum.Multiple);
137
158
  // Generate a random symmetric key
138
159
  const symmetricKey = (0, crypto_1.randomBytes)(this.cryptoCore.consts.SYMMETRIC.KEY_SIZE);
160
+ // Generate ONE ephemeral key pair for all recipients
161
+ const ecdh = (0, crypto_1.createECDH)(this.cryptoCore.config.curveName);
162
+ ecdh.generateKeys();
163
+ const ephemeralPrivateKey = ecdh.getPrivateKey();
164
+ let ephemeralPublicKey = ecdh.getPublicKey(null, 'compressed');
165
+ // Ensure public key has 0x04 prefix
166
+ if (ephemeralPublicKey.length === this.cryptoCore.consts.RAW_PUBLIC_KEY_LENGTH) {
167
+ ephemeralPublicKey = Buffer.concat([
168
+ Buffer.from([this.cryptoCore.consts.PUBLIC_KEY_MAGIC]),
169
+ ephemeralPublicKey,
170
+ ]);
171
+ }
172
+ const encryptionResults = recipients.map((member) => ({
173
+ id: member.id,
174
+ encryptedKey: this.encryptKey(member.publicKey, symmetricKey, ephemeralPrivateKey, member.id // Use Recipient ID as AAD
175
+ ),
176
+ }));
177
+ const recipientIds = encryptionResults.map(({ id }) => id);
178
+ const recipientKeys = encryptionResults.map(({ encryptedKey }) => encryptedKey);
179
+ // Calculate header size
180
+ const headerSize = this.calculateECIESMultipleRecipientOverhead(recipients.length, false, recipientKeys);
181
+ // Build the header to use as AAD for message encryption
182
+ // We need to construct a temporary object to build the header
183
+ const tempHeaderData = {
184
+ dataLength: messageToEncrypt.length,
185
+ recipientCount: recipients.length,
186
+ recipientIds,
187
+ recipientKeys,
188
+ encryptedMessage: Buffer.alloc(0), // Placeholder
189
+ headerSize,
190
+ ephemeralPublicKey,
191
+ };
192
+ const headerBytes = this.buildECIESMultipleRecipientHeader(tempHeaderData);
193
+ // Encrypt the message with the symmetric key and Header as AAD
139
194
  const iv = (0, crypto_1.randomBytes)(this.cryptoCore.consts.IV_SIZE);
140
- // Encrypt the message with the symmetric key
141
195
  const cipher = (0, crypto_1.createCipheriv)(this.cryptoCore.consts.SYMMETRIC_ALGORITHM_CONFIGURATION, symmetricKey, iv);
142
- const encrypted = cipher.update(message);
196
+ cipher.setAAD(headerBytes);
197
+ const encrypted = cipher.update(messageToEncrypt);
143
198
  const final = cipher.final();
144
199
  const authTag = cipher.getAuthTag();
145
200
  const encryptedMessage = Buffer.concat([encrypted, final]);
@@ -149,33 +204,28 @@ class EciesMultiRecipient {
149
204
  authTag,
150
205
  encryptedMessage,
151
206
  ]);
152
- const encryptionResults = recipients.map((member) => ({
153
- id: member.id,
154
- encryptedKey: this.encryptKey(member.publicKey, symmetricKey),
155
- }));
156
- const recipientIds = encryptionResults.map(({ id }) => id);
157
- const recipientKeys = encryptionResults.map(({ encryptedKey }) => encryptedKey);
158
207
  // Verify the encrypted message size (just the encrypted content)
159
- if (encryptedMessage.length !== message.length) {
208
+ if (encryptedMessage.length !== messageToEncrypt.length) {
160
209
  throw new ecies_lib_1.ECIESError(ecies_lib_1.ECIESErrorTypeEnum.MessageLengthMismatch);
161
210
  }
162
- const headerSize = this.calculateECIESMultipleRecipientOverhead(recipients.length, false, recipientKeys);
163
211
  return {
164
- dataLength: message.length,
212
+ dataLength: messageToEncrypt.length,
165
213
  recipientCount: recipients.length,
166
214
  recipientIds,
167
215
  recipientKeys,
168
216
  encryptedMessage: storedMessage,
169
217
  headerSize,
218
+ ephemeralPublicKey,
170
219
  };
171
220
  }
172
221
  /**
173
222
  * Decrypts a message encrypted with multiple ECIE for a recipient.
174
223
  * @param encryptedData The encrypted data.
175
224
  * @param recipient The recipient.
225
+ * @param senderPublicKey Optional sender public key for verification.
176
226
  * @returns The decrypted message.
177
227
  */
178
- decryptMultipleECIEForRecipient(encryptedData, recipient) {
228
+ decryptMultipleECIEForRecipient(encryptedData, recipient, senderPublicKey) {
179
229
  if (recipient.privateKey === undefined) {
180
230
  throw new ecies_lib_1.ECIESError(ecies_lib_1.ECIESErrorTypeEnum.PrivateKeyNotLoaded);
181
231
  }
@@ -185,8 +235,14 @@ class EciesMultiRecipient {
185
235
  throw new ecies_lib_1.ECIESError(ecies_lib_1.ECIESErrorTypeEnum.RecipientNotFound);
186
236
  }
187
237
  const encryptedKey = encryptedData.recipientKeys[recipientIndex];
238
+ if (!encryptedData.ephemeralPublicKey) {
239
+ throw new ecies_lib_1.ECIESError(ecies_lib_1.ECIESErrorTypeEnum.MissingEphemeralPublicKey);
240
+ }
188
241
  // Decrypt the symmetric key using the detected encryption type
189
- const symmetricKey = this.decryptKey(Buffer.from(recipient.privateKey.value), encryptedKey);
242
+ const symmetricKey = this.decryptKey(Buffer.from(recipient.privateKey.value), encryptedKey, encryptedData.ephemeralPublicKey, recipient.id // Use Recipient ID as AAD
243
+ );
244
+ // Rebuild header to use as AAD
245
+ const headerBytes = this.buildECIESMultipleRecipientHeader(encryptedData);
190
246
  // Extract the IV and auth tag from the encrypted message
191
247
  const iv = encryptedData.encryptedMessage.subarray(0, this.cryptoCore.consts.IV_SIZE);
192
248
  const authTag = encryptedData.encryptedMessage.subarray(this.cryptoCore.consts.IV_SIZE, this.cryptoCore.consts.IV_SIZE + this.cryptoCore.consts.AUTH_TAG_SIZE);
@@ -195,14 +251,28 @@ class EciesMultiRecipient {
195
251
  // Decrypt the content with the symmetric key
196
252
  const decipher = (0, crypto_1.createDecipheriv)(this.cryptoCore.consts.SYMMETRIC_ALGORITHM_CONFIGURATION, symmetricKey, iv);
197
253
  decipher.setAuthTag(authTag);
254
+ decipher.setAAD(headerBytes);
198
255
  const decrypted = decipher.update(encrypted);
199
256
  const final = decipher.final();
200
257
  const decryptedMessage = Buffer.concat([decrypted, final]);
201
- // AES-GCM provides authentication via auth tag (no separate CRC needed)
202
258
  // The decrypted message should match the original data length
203
259
  if (decryptedMessage.length !== encryptedData.dataLength) {
204
260
  throw new ecies_lib_1.ECIESError(ecies_lib_1.ECIESErrorTypeEnum.InvalidDataLength);
205
261
  }
262
+ // If sender public key is provided, verify signature
263
+ if (senderPublicKey) {
264
+ // Expect [Signature (64)][Message]
265
+ if (decryptedMessage.length < 64) {
266
+ throw new ecies_lib_1.ECIESError(ecies_lib_1.ECIESErrorTypeEnum.InvalidSignature);
267
+ }
268
+ const signature = decryptedMessage.subarray(0, 64);
269
+ const message = decryptedMessage.subarray(64);
270
+ const isValid = this.cryptoCore.verify(senderPublicKey, message, signature);
271
+ if (!isValid) {
272
+ throw new ecies_lib_1.ECIESError(ecies_lib_1.ECIESErrorTypeEnum.InvalidSignature);
273
+ }
274
+ return message;
275
+ }
206
276
  return decryptedMessage;
207
277
  }
208
278
  /**
@@ -213,7 +283,7 @@ class EciesMultiRecipient {
213
283
  * @returns the overhead size in bytes
214
284
  */
215
285
  calculateECIESMultipleRecipientOverhead(recipientCount, includeMessageOverhead, encryptedKeys) {
216
- if (recipientCount < 2) {
286
+ if (recipientCount < 1) {
217
287
  throw new ecies_lib_1.ECIESError(ecies_lib_1.ECIESErrorTypeEnum.InvalidRecipientCount);
218
288
  }
219
289
  // Calculate encrypted keys size
@@ -226,9 +296,12 @@ class EciesMultiRecipient {
226
296
  encryptedKeysSize =
227
297
  recipientCount * this.cryptoCore.consts.MULTIPLE.ENCRYPTED_KEY_SIZE;
228
298
  }
229
- const baseOverhead = this.cryptoCore.consts.MULTIPLE.DATA_LENGTH_SIZE +
299
+ const baseOverhead = this.cryptoCore.consts.VERSION_SIZE +
300
+ this.cryptoCore.consts.CIPHER_SUITE_SIZE +
301
+ this.cryptoCore.consts.ENCRYPTION_TYPE_SIZE +
302
+ this.cryptoCore.consts.MULTIPLE.DATA_LENGTH_SIZE +
230
303
  this.cryptoCore.consts.MULTIPLE.RECIPIENT_COUNT_SIZE +
231
- recipientCount * constants_1.Constants.OBJECT_ID_LENGTH + // recipient ids
304
+ recipientCount * this.cryptoCore.consts.MULTIPLE.RECIPIENT_ID_SIZE + // recipient ids (dynamic based on ID provider)
232
305
  encryptedKeysSize; // actual encrypted keys size
233
306
  return includeMessageOverhead
234
307
  ? baseOverhead + this.cryptoCore.consts.MULTIPLE.FIXED_OVERHEAD_SIZE
@@ -252,16 +325,36 @@ class EciesMultiRecipient {
252
325
  data.dataLength > this.cryptoCore.consts.MAX_RAW_DATA_SIZE) {
253
326
  throw new ecies_lib_1.ECIESError(ecies_lib_1.ECIESErrorTypeEnum.FileSizeTooLarge);
254
327
  }
328
+ if (!data.ephemeralPublicKey) {
329
+ throw new ecies_lib_1.ECIESError(ecies_lib_1.ECIESErrorTypeEnum.MissingEphemeralPublicKey);
330
+ }
331
+ // Create version buffer
332
+ const versionBuffer = Buffer.alloc(this.cryptoCore.consts.VERSION_SIZE);
333
+ versionBuffer.writeUInt8(ecies_lib_1.EciesVersionEnum.V1);
334
+ // Create cipher suite buffer
335
+ const cipherSuiteBuffer = Buffer.alloc(this.cryptoCore.consts.CIPHER_SUITE_SIZE);
336
+ cipherSuiteBuffer.writeUInt8(ecies_lib_1.EciesCipherSuiteEnum.Secp256k1_Aes256Gcm_Sha256);
337
+ // Create encryption type buffer
338
+ const encryptionTypeBuffer = Buffer.alloc(this.cryptoCore.consts.ENCRYPTION_TYPE_SIZE);
339
+ encryptionTypeBuffer.writeUInt8(ecies_lib_1.EciesEncryptionTypeEnum.Multiple);
255
340
  // Create data length buffer
341
+ // We use the most significant byte (MSB) to store the recipient ID size
342
+ const recipientIdSize = this.cryptoCore.consts.MULTIPLE.RECIPIENT_ID_SIZE;
343
+ if (recipientIdSize > 255) {
344
+ throw new ecies_lib_1.ECIESError(ecies_lib_1.ECIESErrorTypeEnum.RecipientIdSizeTooLarge);
345
+ }
346
+ const dataLengthBigInt = BigInt(data.dataLength);
347
+ const recipientIdSizeBigInt = BigInt(recipientIdSize);
348
+ const combinedLength = (recipientIdSizeBigInt << 56n) | dataLengthBigInt;
256
349
  const dataLengthBuffer = Buffer.alloc(this.cryptoCore.consts.MULTIPLE.DATA_LENGTH_SIZE);
257
- dataLengthBuffer.writeBigUInt64BE(BigInt(data.dataLength));
350
+ dataLengthBuffer.writeBigUInt64BE(combinedLength);
258
351
  // Create recipient count buffer
259
352
  const recipientCountBuffer = Buffer.alloc(this.cryptoCore.consts.MULTIPLE.RECIPIENT_COUNT_SIZE);
260
353
  recipientCountBuffer.writeUInt16BE(data.recipientIds.length);
261
354
  // Create recipients buffer
262
- const recipientsBuffer = Buffer.alloc(data.recipientIds.length * constants_1.Constants.OBJECT_ID_LENGTH);
355
+ const recipientsBuffer = Buffer.alloc(data.recipientIds.length * this.cryptoCore.consts.MULTIPLE.RECIPIENT_ID_SIZE);
263
356
  data.recipientIds.forEach((recipientId, index) => {
264
- recipientsBuffer.set(Buffer.from(recipientId.toHexString(), 'hex'), index * constants_1.Constants.OBJECT_ID_LENGTH);
357
+ recipientsBuffer.set(recipientId, index * this.cryptoCore.consts.MULTIPLE.RECIPIENT_ID_SIZE);
265
358
  });
266
359
  // Validate encrypted key lengths based on their encryption type
267
360
  data.recipientKeys.forEach((encryptedKey) => {
@@ -280,6 +373,10 @@ class EciesMultiRecipient {
280
373
  const encryptedKeysBuffer = Buffer.concat(data.recipientKeys);
281
374
  // Combine all buffers to form the header
282
375
  return Buffer.concat([
376
+ versionBuffer,
377
+ cipherSuiteBuffer,
378
+ encryptionTypeBuffer,
379
+ data.ephemeralPublicKey,
283
380
  dataLengthBuffer,
284
381
  recipientCountBuffer,
285
382
  recipientsBuffer,
@@ -293,17 +390,47 @@ class EciesMultiRecipient {
293
390
  */
294
391
  parseMultiEncryptedHeader(data) {
295
392
  // Ensure there's enough data to read headers
296
- if (data.length < this.cryptoCore.consts.MULTIPLE.FIXED_OVERHEAD_SIZE) {
393
+ // minimum: 1 (ver) + 1 (suite) + 1 (type) + 33 (pubkey) + 8 (len) + 2 (count) = 46
394
+ if (data.length < 46) {
297
395
  throw new ecies_lib_1.ECIESError(ecies_lib_1.ECIESErrorTypeEnum.InvalidDataLength);
298
396
  }
299
397
  let offset = 0;
300
- // Read data length
301
- const dataLength = Number(data.readBigUInt64BE(offset));
398
+ // Read Version
399
+ const version = data.readUInt8(offset);
400
+ offset += this.cryptoCore.consts.VERSION_SIZE;
401
+ if (version !== ecies_lib_1.EciesVersionEnum.V1) {
402
+ throw new ecies_lib_1.ECIESError(ecies_lib_1.ECIESErrorTypeEnum.InvalidVersion, undefined, undefined, { version: String(version) });
403
+ }
404
+ // Read CipherSuite
405
+ const cipherSuite = data.readUInt8(offset);
406
+ offset += this.cryptoCore.consts.CIPHER_SUITE_SIZE;
407
+ if (cipherSuite !== ecies_lib_1.EciesCipherSuiteEnum.Secp256k1_Aes256Gcm_Sha256) {
408
+ throw new ecies_lib_1.ECIESError(ecies_lib_1.ECIESErrorTypeEnum.InvalidCipherSuite, undefined, undefined, { cipherSuite: String(cipherSuite) });
409
+ }
410
+ // Read Encryption Type
411
+ const encryptionType = data.readUInt8(offset);
412
+ offset += this.cryptoCore.consts.ENCRYPTION_TYPE_SIZE;
413
+ if (encryptionType !== ecies_lib_1.EciesEncryptionTypeEnum.Multiple) {
414
+ throw new ecies_lib_1.ECIESError(ecies_lib_1.ECIESErrorTypeEnum.InvalidEncryptionType, undefined, undefined, { encryptionType: encryptionType.toString(16) });
415
+ }
416
+ // Read Ephemeral Public Key
417
+ const ephemeralPublicKey = data.subarray(offset, offset + this.cryptoCore.consts.PUBLIC_KEY_LENGTH);
418
+ offset += this.cryptoCore.consts.PUBLIC_KEY_LENGTH;
419
+ // Read data length and recipient ID size
420
+ const combinedLength = data.readBigUInt64BE(offset);
421
+ offset += this.cryptoCore.consts.MULTIPLE.DATA_LENGTH_SIZE; // 8 bytes
422
+ // Extract recipient ID size from MSB (top 8 bits)
423
+ const storedRecipientIdSize = Number(combinedLength >> 56n);
424
+ // Extract data length from lower 56 bits
425
+ const dataLength = Number(combinedLength & 0x00ffffffffffffffn);
302
426
  if (dataLength <= 0 ||
303
427
  dataLength > this.cryptoCore.consts.MAX_RAW_DATA_SIZE) {
304
428
  throw new ecies_lib_1.ECIESError(ecies_lib_1.ECIESErrorTypeEnum.InvalidDataLength);
305
429
  }
306
- offset += this.cryptoCore.consts.MULTIPLE.DATA_LENGTH_SIZE; // 8 bytes
430
+ // Use stored recipient ID size if available (non-legacy), otherwise fallback to config
431
+ const recipientIdSize = storedRecipientIdSize > 0
432
+ ? storedRecipientIdSize
433
+ : this.cryptoCore.consts.MULTIPLE.RECIPIENT_ID_SIZE;
307
434
  // Read recipient count
308
435
  const recipientCount = data.readUInt16BE(offset);
309
436
  if (recipientCount <= 0 ||
@@ -312,17 +439,18 @@ class EciesMultiRecipient {
312
439
  }
313
440
  offset += this.cryptoCore.consts.MULTIPLE.RECIPIENT_COUNT_SIZE; // 2 bytes
314
441
  // Ensure there's enough data for all recipients
315
- const requiredLength = this.calculateECIESMultipleRecipientOverhead(recipientCount, false);
316
- if (data.length < requiredLength) {
442
+ // Note: We can't use calculateECIESMultipleRecipientOverhead here easily because it assumes fixed ID size
443
+ // But we can calculate manually
444
+ const remainingHeaderSize = recipientCount * recipientIdSize +
445
+ recipientCount * this.cryptoCore.consts.MULTIPLE.ENCRYPTED_KEY_SIZE;
446
+ if (data.length < offset + remainingHeaderSize) {
317
447
  throw new ecies_lib_1.ECIESError(ecies_lib_1.ECIESErrorTypeEnum.InvalidDataLength);
318
448
  }
319
449
  // Read recipient IDs
320
450
  const recipientIds = [];
321
451
  for (let i = 0; i < recipientCount; i++) {
322
- recipientIds.push(new mongodb_1.ObjectId(data
323
- .subarray(offset, offset + constants_1.Constants.OBJECT_ID_LENGTH)
324
- .toString('hex')));
325
- offset += constants_1.Constants.OBJECT_ID_LENGTH;
452
+ recipientIds.push(data.subarray(offset, offset + recipientIdSize));
453
+ offset += recipientIdSize;
326
454
  }
327
455
  // Read encrypted keys with variable lengths based on encryption type
328
456
  const recipientKeys = [];
@@ -346,6 +474,7 @@ class EciesMultiRecipient {
346
474
  recipientIds,
347
475
  recipientKeys,
348
476
  headerSize: offset,
477
+ ephemeralPublicKey,
349
478
  };
350
479
  }
351
480
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"multi-recipient.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/multi-recipient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multi-recipient.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/multi-recipient.ts"],"names":[],"mappings":"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"}
@@ -48,7 +48,7 @@ export declare class ECIESService {
48
48
  decrypted: Buffer;
49
49
  consumedBytes: number;
50
50
  };
51
- decryptSingleWithComponents(privateKey: Buffer, ephemeralPublicKey: Buffer, iv: Buffer, authTag: Buffer, encrypted: Buffer): {
51
+ decryptSingleWithComponents(privateKey: Buffer, ephemeralPublicKey: Buffer, iv: Buffer, authTag: Buffer, encrypted: Buffer, aad?: Buffer): {
52
52
  decrypted: Buffer;
53
53
  ciphertextLength?: number;
54
54
  };
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACnB,uBAAuB,EAGvB,SAAS,EACT,YAAY,EACZ,eAAe,EACf,YAAY,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAItC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;GAEG;AACH,qBAAa,YAAY;IACvB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IACzC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IAC/C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,wBAAwB,CAAC;IAC7D,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAAC;IACvD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;gBAG3C,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,EAC9B,WAAW,GAAE,eAAiC;IAwBhD,IAAW,IAAI,IAAI,eAAe,CAEjC;IAED,IAAW,MAAM,IAAI,YAAY,CAEhC;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,MAAM,CAE7B;IAIM,mBAAmB,IAAI,YAAY;IAInC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIpC,yBAAyB,CAAC,QAAQ,EAAE,YAAY,GAAG,WAAW;IAI9D,2BAA2B,CAAC,MAAM,EAAE,MAAM;IAI1C,yBAAyB,CAAC,IAAI,EAAE,MAAM;IAItC,6BAA6B,CAAC,QAAQ,EAAE,YAAY;IAIpD,uBAAuB,CAAC,QAAQ,EAAE,YAAY;IAM9C,qBAAqB,CAC1B,aAAa,EAAE,OAAO,EACtB,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAwB,GACjC,MAAM;IASF,0BAA0B,CAC/B,cAAc,EAAE,uBAAuB,EACvC,IAAI,EAAE,MAAM,EACZ,YAAY,GAAE,MAAU,EACxB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GACA,4BAA4B;IAUxB,+BAA+B,CACpC,aAAa,EAAE,OAAO,EACtB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,YAAY,GAAE,MAAU,EACxB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GACA,MAAM;IAYF,iCAAiC,CACtC,cAAc,EAAE,uBAAuB,EACvC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,YAAY,GAAE,MAAU,EACxB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GACA;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;IAUxC,2BAA2B,CAChC,UAAU,EAAE,MAAM,EAClB,kBAAkB,EAAE,MAAM,EAC1B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE;IAe5C,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe;IAI9D,aAAa,CAClB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,eAAe,GACzB,OAAO;IAIH,gCAAgC,CACrC,eAAe,EAAE,SAAS,GACzB,eAAe;IAIX,gCAAgC,CACrC,eAAe,EAAE,eAAe,GAC/B,eAAe;IAKL,eAAe,CAC1B,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,EACzB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,sBAAsB,CAAC;IAQ3B,+BAA+B,CACpC,aAAa,EAAE,sBAAsB,EACrC,SAAS,EAAE,MAAM,GAChB,MAAM;IAOF,uCAAuC,CAC5C,cAAc,EAAE,MAAM,EACtB,sBAAsB,EAAE,OAAO,GAC9B,MAAM;IAOF,iCAAiC,CACtC,IAAI,EAAE,sBAAsB,GAC3B,MAAM;IAIF,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,2BAA2B;IAIpE,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB;IAM/D,oCAAoC,CACzC,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,mBAAmB,EACnC,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM;IAQF,6CAA6C,CAClD,mBAAmB,EAAE,MAAM,EAC3B,OAAO,CAAC,EAAE,MAAM,GACf,MAAM;IAOF,OAAO,CACZ,cAAc,EAAE,mBAAmB,EACnC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM;CAgBV"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACnB,uBAAuB,EAGvB,SAAS,EACT,YAAY,EACZ,eAAe,EACf,YAAY,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAItC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;GAEG;AACH,qBAAa,YAAY;IACvB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IACzC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IAC/C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,wBAAwB,CAAC;IAC7D,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAAC;IACvD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;gBAG3C,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,EAC9B,WAAW,GAAE,eAAiC;IAwBhD,IAAW,IAAI,IAAI,eAAe,CAEjC;IAED,IAAW,MAAM,IAAI,YAAY,CAEhC;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,MAAM,CAE7B;IAIM,mBAAmB,IAAI,YAAY;IAInC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIpC,yBAAyB,CAAC,QAAQ,EAAE,YAAY,GAAG,WAAW;IAI9D,2BAA2B,CAAC,MAAM,EAAE,MAAM;IAI1C,yBAAyB,CAAC,IAAI,EAAE,MAAM;IAItC,6BAA6B,CAAC,QAAQ,EAAE,YAAY;IAIpD,uBAAuB,CAAC,QAAQ,EAAE,YAAY;IAM9C,qBAAqB,CAC1B,aAAa,EAAE,OAAO,EACtB,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAwB,GACjC,MAAM;IASF,0BAA0B,CAC/B,cAAc,EAAE,uBAAuB,EACvC,IAAI,EAAE,MAAM,EACZ,YAAY,GAAE,MAAU,EACxB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GACA,4BAA4B;IAUxB,+BAA+B,CACpC,aAAa,EAAE,OAAO,EACtB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,YAAY,GAAE,MAAU,EACxB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GACA,MAAM;IAYF,iCAAiC,CACtC,cAAc,EAAE,uBAAuB,EACvC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,YAAY,GAAE,MAAU,EACxB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GACA;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;IAUxC,2BAA2B,CAChC,UAAU,EAAE,MAAM,EAClB,kBAAkB,EAAE,MAAM,EAC1B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,GACX;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE;IAgB5C,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe;IAI9D,aAAa,CAClB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,eAAe,GACzB,OAAO;IAIH,gCAAgC,CACrC,eAAe,EAAE,SAAS,GACzB,eAAe;IAIX,gCAAgC,CACrC,eAAe,EAAE,eAAe,GAC/B,eAAe;IAKL,eAAe,CAC1B,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,EACzB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,sBAAsB,CAAC;IAQ3B,+BAA+B,CACpC,aAAa,EAAE,sBAAsB,EACrC,SAAS,EAAE,MAAM,GAChB,MAAM;IAOF,uCAAuC,CAC5C,cAAc,EAAE,MAAM,EACtB,sBAAsB,EAAE,OAAO,GAC9B,MAAM;IAOF,iCAAiC,CACtC,IAAI,EAAE,sBAAsB,GAC3B,MAAM;IAIF,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,2BAA2B;IAIpE,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB;IAM/D,oCAAoC,CACzC,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,mBAAmB,EACnC,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM;IAQF,6CAA6C,CAClD,mBAAmB,EAAE,MAAM,EAC3B,OAAO,CAAC,EAAE,MAAM,GACf,MAAM;IAOF,OAAO,CACZ,cAAc,EAAE,mBAAmB,EACnC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM;CAgBV"}
@@ -89,8 +89,8 @@ class ECIESService {
89
89
  decryptSimpleOrSingleWithHeaderEx(encryptionType, privateKey, encryptedData, preambleSize = 0, options) {
90
90
  return this.singleRecipient.decryptWithHeaderEx(encryptionType, privateKey, encryptedData, preambleSize, options);
91
91
  }
92
- decryptSingleWithComponents(privateKey, ephemeralPublicKey, iv, authTag, encrypted) {
93
- const decrypted = this.singleRecipient.decryptWithComponents(privateKey, ephemeralPublicKey, iv, authTag, encrypted);
92
+ decryptSingleWithComponents(privateKey, ephemeralPublicKey, iv, authTag, encrypted, aad) {
93
+ const decrypted = this.singleRecipient.decryptWithComponents(privateKey, ephemeralPublicKey, iv, authTag, encrypted, aad);
94
94
  // Return an object with a 'decrypted' property for compatibility with existing code
95
95
  return { decrypted, ciphertextLength: encrypted.length };
96
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/service.ts"],"names":[],"mappings":"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"}
@@ -78,6 +78,6 @@ export declare class EciesSingleRecipientCore {
78
78
  * @param encrypted The encrypted data
79
79
  * @returns The decrypted data
80
80
  */
81
- decryptWithComponents(privateKey: Buffer, ephemeralPublicKey: Buffer, iv: Buffer, authTag: Buffer, encrypted: Buffer): Buffer;
81
+ decryptWithComponents(privateKey: Buffer, ephemeralPublicKey: Buffer, iv: Buffer, authTag: Buffer, encrypted: Buffer, aad?: Buffer): Buffer;
82
82
  }
83
83
  //# sourceMappingURL=single-recipient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"single-recipient.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/single-recipient.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACnB,uBAAuB,EAOvB,YAAY,EAGb,MAAM,4BAA4B,CAAC;AAgBpC,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,qBAAa,wBAAwB;IACnC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IAC/C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;gBAGtC,MAAM,EAAE,YAAY;IAMtB;;;;OAIG;IACI,aAAa,CAAC,cAAc,EAAE,mBAAmB,GAAG,MAAM;IAajE;;;;;;;;;OASG;IACI,OAAO,CACZ,aAAa,EAAE,OAAO,EACtB,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAwB,GACjC,MAAM;IAoJT;;;;;;;;OAQG;IACI,qBAAqB,CAC1B,cAAc,EAAE,uBAAuB,GAAG,SAAS,EACnD,IAAI,EAAE,MAAM,EACZ,YAAY,GAAE,MAAU,EACxB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GACA;QAAE,MAAM,EAAE,4BAA4B,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAkM5E;;;;;;;;;;;OAWG;IACI,iBAAiB,CACtB,cAAc,EAAE,uBAAuB,GAAG,SAAS,EACnD,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,YAAY,GAAE,MAAU,EACxB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GACA,MAAM;IAiDT;;;;;;;;;OASG;IACI,mBAAmB,CACxB,cAAc,EAAE,uBAAuB,GAAG,SAAS,EACnD,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,YAAY,GAAE,MAAU,EACxB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GACA;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;IA0C/C;;;;;;;;OAQG;IACI,qBAAqB,CAC1B,UAAU,EAAE,MAAM,EAClB,kBAAkB,EAAE,MAAM,EAC1B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,MAAM;CAkIV"}
1
+ {"version":3,"file":"single-recipient.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/services/ecies/single-recipient.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACnB,uBAAuB,EAOvB,YAAY,EAKb,MAAM,4BAA4B,CAAC;AAepC,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,qBAAa,wBAAwB;IACnC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IAC/C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;gBAGtC,MAAM,EAAE,YAAY;IAMtB;;;;OAIG;IACI,aAAa,CAAC,cAAc,EAAE,mBAAmB,GAAG,MAAM;IAajE;;;;;;;;;OASG;IACI,OAAO,CACZ,aAAa,EAAE,OAAO,EACtB,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAwB,GACjC,MAAM;IAyKT;;;;;;;;OAQG;IACI,qBAAqB,CAC1B,cAAc,EAAE,uBAAuB,GAAG,SAAS,EACnD,IAAI,EAAE,MAAM,EACZ,YAAY,GAAE,MAAU,EACxB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GACA;QAAE,MAAM,EAAE,4BAA4B,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IA2N5E;;;;;;;;;;;OAWG;IACI,iBAAiB,CACtB,cAAc,EAAE,uBAAuB,GAAG,SAAS,EACnD,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,YAAY,GAAE,MAAU,EACxB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GACA,MAAM;IA0BT;;;;;;;;;OASG;IACI,mBAAmB,CACxB,cAAc,EAAE,uBAAuB,GAAG,SAAS,EACnD,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,YAAY,GAAE,MAAU,EACxB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GACA;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;IA6D/C;;;;;;;;OAQG;IACI,qBAAqB,CAC1B,UAAU,EAAE,MAAM,EAClB,kBAAkB,EAAE,MAAM,EAC1B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,GACX,MAAM;CAsIV"}