@digitaldefiance/node-ecies-lib 4.5.0 → 4.5.18

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 (325) hide show
  1. package/package.json +6 -2
  2. package/src/builders/ecies-builder.d.ts +0 -11
  3. package/src/builders/ecies-builder.d.ts.map +0 -1
  4. package/src/builders/ecies-builder.js +0 -26
  5. package/src/builders/ecies-builder.js.map +0 -1
  6. package/src/builders/index.d.ts +0 -3
  7. package/src/builders/index.d.ts.map +0 -1
  8. package/src/builders/index.js +0 -6
  9. package/src/builders/index.js.map +0 -1
  10. package/src/builders/member-builder.d.ts +0 -47
  11. package/src/builders/member-builder.d.ts.map +0 -1
  12. package/src/builders/member-builder.js +0 -99
  13. package/src/builders/member-builder.js.map +0 -1
  14. package/src/constants.d.ts +0 -38
  15. package/src/constants.d.ts.map +0 -1
  16. package/src/constants.js +0 -191
  17. package/src/constants.js.map +0 -1
  18. package/src/core/errors/crypto-error.d.ts +0 -6
  19. package/src/core/errors/crypto-error.d.ts.map +0 -1
  20. package/src/core/errors/crypto-error.js +0 -15
  21. package/src/core/errors/crypto-error.js.map +0 -1
  22. package/src/core/index.d.ts +0 -3
  23. package/src/core/index.d.ts.map +0 -1
  24. package/src/core/index.js +0 -6
  25. package/src/core/index.js.map +0 -1
  26. package/src/core/types/result.d.ts +0 -8
  27. package/src/core/types/result.d.ts.map +0 -1
  28. package/src/core/types/result.js +0 -3
  29. package/src/core/types/result.js.map +0 -1
  30. package/src/enumerations/index.d.ts +0 -2
  31. package/src/enumerations/index.d.ts.map +0 -1
  32. package/src/enumerations/index.js +0 -5
  33. package/src/enumerations/index.js.map +0 -1
  34. package/src/enumerations/pbkdf2-profile.d.ts +0 -9
  35. package/src/enumerations/pbkdf2-profile.d.ts.map +0 -1
  36. package/src/enumerations/pbkdf2-profile.js +0 -13
  37. package/src/enumerations/pbkdf2-profile.js.map +0 -1
  38. package/src/i18n/ecies-i18n-factory.d.ts +0 -28
  39. package/src/i18n/ecies-i18n-factory.d.ts.map +0 -1
  40. package/src/i18n/ecies-i18n-factory.js +0 -90
  41. package/src/i18n/ecies-i18n-factory.js.map +0 -1
  42. package/src/i18n/index.d.ts +0 -3
  43. package/src/i18n/index.d.ts.map +0 -1
  44. package/src/i18n/index.js +0 -8
  45. package/src/i18n/index.js.map +0 -1
  46. package/src/i18n/node-ecies-i18n-setup.d.ts +0 -5
  47. package/src/i18n/node-ecies-i18n-setup.d.ts.map +0 -1
  48. package/src/i18n/node-ecies-i18n-setup.js +0 -48
  49. package/src/i18n/node-ecies-i18n-setup.js.map +0 -1
  50. package/src/i18n/node-keys.d.ts +0 -57
  51. package/src/i18n/node-keys.d.ts.map +0 -1
  52. package/src/i18n/node-keys.js +0 -67
  53. package/src/i18n/node-keys.js.map +0 -1
  54. package/src/i18n/translations/de.d.ts +0 -3
  55. package/src/i18n/translations/de.d.ts.map +0 -1
  56. package/src/i18n/translations/de.js +0 -57
  57. package/src/i18n/translations/de.js.map +0 -1
  58. package/src/i18n/translations/en-GB.d.ts +0 -3
  59. package/src/i18n/translations/en-GB.d.ts.map +0 -1
  60. package/src/i18n/translations/en-GB.js +0 -61
  61. package/src/i18n/translations/en-GB.js.map +0 -1
  62. package/src/i18n/translations/en-US.d.ts +0 -6
  63. package/src/i18n/translations/en-US.d.ts.map +0 -1
  64. package/src/i18n/translations/en-US.js +0 -65
  65. package/src/i18n/translations/en-US.js.map +0 -1
  66. package/src/i18n/translations/es.d.ts +0 -3
  67. package/src/i18n/translations/es.d.ts.map +0 -1
  68. package/src/i18n/translations/es.js +0 -57
  69. package/src/i18n/translations/es.js.map +0 -1
  70. package/src/i18n/translations/fr.d.ts +0 -3
  71. package/src/i18n/translations/fr.d.ts.map +0 -1
  72. package/src/i18n/translations/fr.js +0 -57
  73. package/src/i18n/translations/fr.js.map +0 -1
  74. package/src/i18n/translations/index.d.ts +0 -9
  75. package/src/i18n/translations/index.d.ts.map +0 -1
  76. package/src/i18n/translations/index.js +0 -20
  77. package/src/i18n/translations/index.js.map +0 -1
  78. package/src/i18n/translations/ja.d.ts +0 -3
  79. package/src/i18n/translations/ja.d.ts.map +0 -1
  80. package/src/i18n/translations/ja.js +0 -57
  81. package/src/i18n/translations/ja.js.map +0 -1
  82. package/src/i18n/translations/uk.d.ts +0 -3
  83. package/src/i18n/translations/uk.d.ts.map +0 -1
  84. package/src/i18n/translations/uk.js +0 -57
  85. package/src/i18n/translations/uk.js.map +0 -1
  86. package/src/i18n/translations/zh-cn.d.ts +0 -3
  87. package/src/i18n/translations/zh-cn.d.ts.map +0 -1
  88. package/src/i18n/translations/zh-cn.js +0 -57
  89. package/src/i18n/translations/zh-cn.js.map +0 -1
  90. package/src/index.d.ts +0 -19
  91. package/src/index.d.ts.map +0 -1
  92. package/src/index.js +0 -31
  93. package/src/index.js.map +0 -1
  94. package/src/interfaces/authenticated-cipher.d.ts +0 -12
  95. package/src/interfaces/authenticated-cipher.d.ts.map +0 -1
  96. package/src/interfaces/authenticated-cipher.js +0 -3
  97. package/src/interfaces/authenticated-cipher.js.map +0 -1
  98. package/src/interfaces/authenticated-decipher.d.ts +0 -11
  99. package/src/interfaces/authenticated-decipher.d.ts.map +0 -1
  100. package/src/interfaces/authenticated-decipher.js +0 -3
  101. package/src/interfaces/authenticated-decipher.js.map +0 -1
  102. package/src/interfaces/backend-member-operational.d.ts +0 -48
  103. package/src/interfaces/backend-member-operational.d.ts.map +0 -1
  104. package/src/interfaces/backend-member-operational.js +0 -3
  105. package/src/interfaces/backend-member-operational.js.map +0 -1
  106. package/src/interfaces/checksum-config.d.ts +0 -5
  107. package/src/interfaces/checksum-config.d.ts.map +0 -1
  108. package/src/interfaces/checksum-config.js +0 -3
  109. package/src/interfaces/checksum-config.js.map +0 -1
  110. package/src/interfaces/checksum-consts.d.ts +0 -11
  111. package/src/interfaces/checksum-consts.d.ts.map +0 -1
  112. package/src/interfaces/checksum-consts.js +0 -3
  113. package/src/interfaces/checksum-consts.js.map +0 -1
  114. package/src/interfaces/constants.d.ts +0 -52
  115. package/src/interfaces/constants.d.ts.map +0 -1
  116. package/src/interfaces/constants.js +0 -3
  117. package/src/interfaces/constants.js.map +0 -1
  118. package/src/interfaces/ecies-consts.d.ts +0 -88
  119. package/src/interfaces/ecies-consts.d.ts.map +0 -1
  120. package/src/interfaces/ecies-consts.js +0 -3
  121. package/src/interfaces/ecies-consts.js.map +0 -1
  122. package/src/interfaces/encrypted-chunk.d.ts +0 -12
  123. package/src/interfaces/encrypted-chunk.d.ts.map +0 -1
  124. package/src/interfaces/encrypted-chunk.js +0 -3
  125. package/src/interfaces/encrypted-chunk.js.map +0 -1
  126. package/src/interfaces/encryption-consts.d.ts +0 -11
  127. package/src/interfaces/encryption-consts.d.ts.map +0 -1
  128. package/src/interfaces/encryption-consts.js +0 -3
  129. package/src/interfaces/encryption-consts.js.map +0 -1
  130. package/src/interfaces/index.d.ts +0 -29
  131. package/src/interfaces/index.d.ts.map +0 -1
  132. package/src/interfaces/index.js +0 -30
  133. package/src/interfaces/index.js.map +0 -1
  134. package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.d.ts +0 -6
  135. package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.d.ts.map +0 -1
  136. package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.js +0 -3
  137. package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.js.map +0 -1
  138. package/src/interfaces/keyring-consts.d.ts +0 -6
  139. package/src/interfaces/keyring-consts.d.ts.map +0 -1
  140. package/src/interfaces/keyring-consts.js +0 -3
  141. package/src/interfaces/keyring-consts.js.map +0 -1
  142. package/src/interfaces/member-with-mnemonic.d.ts +0 -7
  143. package/src/interfaces/member-with-mnemonic.d.ts.map +0 -1
  144. package/src/interfaces/member-with-mnemonic.js +0 -3
  145. package/src/interfaces/member-with-mnemonic.js.map +0 -1
  146. package/src/interfaces/member.d.ts +0 -54
  147. package/src/interfaces/member.d.ts.map +0 -1
  148. package/src/interfaces/member.js +0 -3
  149. package/src/interfaces/member.js.map +0 -1
  150. package/src/interfaces/multi-encrypted-message.d.ts +0 -8
  151. package/src/interfaces/multi-encrypted-message.d.ts.map +0 -1
  152. package/src/interfaces/multi-encrypted-message.js +0 -3
  153. package/src/interfaces/multi-encrypted-message.js.map +0 -1
  154. package/src/interfaces/multi-encrypted-parsed-header.d.ts +0 -27
  155. package/src/interfaces/multi-encrypted-parsed-header.d.ts.map +0 -1
  156. package/src/interfaces/multi-encrypted-parsed-header.js +0 -3
  157. package/src/interfaces/multi-encrypted-parsed-header.js.map +0 -1
  158. package/src/interfaces/multi-recipient-chunk.d.ts +0 -26
  159. package/src/interfaces/multi-recipient-chunk.d.ts.map +0 -1
  160. package/src/interfaces/multi-recipient-chunk.js +0 -15
  161. package/src/interfaces/multi-recipient-chunk.js.map +0 -1
  162. package/src/interfaces/pbkdf-profiles.d.ts +0 -6
  163. package/src/interfaces/pbkdf-profiles.d.ts.map +0 -1
  164. package/src/interfaces/pbkdf-profiles.js +0 -3
  165. package/src/interfaces/pbkdf-profiles.js.map +0 -1
  166. package/src/interfaces/pbkdf2-result.d.ts +0 -6
  167. package/src/interfaces/pbkdf2-result.d.ts.map +0 -1
  168. package/src/interfaces/pbkdf2-result.js +0 -3
  169. package/src/interfaces/pbkdf2-result.js.map +0 -1
  170. package/src/interfaces/signing-key-private-key-info.d.ts +0 -11
  171. package/src/interfaces/signing-key-private-key-info.d.ts.map +0 -1
  172. package/src/interfaces/signing-key-private-key-info.js +0 -3
  173. package/src/interfaces/signing-key-private-key-info.js.map +0 -1
  174. package/src/interfaces/simple-keypair-buffer.d.ts +0 -6
  175. package/src/interfaces/simple-keypair-buffer.d.ts.map +0 -1
  176. package/src/interfaces/simple-keypair-buffer.js +0 -3
  177. package/src/interfaces/simple-keypair-buffer.js.map +0 -1
  178. package/src/interfaces/simple-keypair.d.ts +0 -6
  179. package/src/interfaces/simple-keypair.d.ts.map +0 -1
  180. package/src/interfaces/simple-keypair.js +0 -3
  181. package/src/interfaces/simple-keypair.js.map +0 -1
  182. package/src/interfaces/simple-public-key-only-buffer.d.ts +0 -4
  183. package/src/interfaces/simple-public-key-only-buffer.d.ts.map +0 -1
  184. package/src/interfaces/simple-public-key-only-buffer.js +0 -3
  185. package/src/interfaces/simple-public-key-only-buffer.js.map +0 -1
  186. package/src/interfaces/simple-public-key-only.d.ts +0 -4
  187. package/src/interfaces/simple-public-key-only.d.ts.map +0 -1
  188. package/src/interfaces/simple-public-key-only.js +0 -3
  189. package/src/interfaces/simple-public-key-only.js.map +0 -1
  190. package/src/interfaces/single-encrypted-parsed-header.d.ts +0 -35
  191. package/src/interfaces/single-encrypted-parsed-header.d.ts.map +0 -1
  192. package/src/interfaces/single-encrypted-parsed-header.js +0 -3
  193. package/src/interfaces/single-encrypted-parsed-header.js.map +0 -1
  194. package/src/interfaces/stream-config.d.ts +0 -6
  195. package/src/interfaces/stream-config.d.ts.map +0 -1
  196. package/src/interfaces/stream-config.js +0 -8
  197. package/src/interfaces/stream-config.js.map +0 -1
  198. package/src/interfaces/stream-progress.d.ts +0 -8
  199. package/src/interfaces/stream-progress.d.ts.map +0 -1
  200. package/src/interfaces/stream-progress.js +0 -3
  201. package/src/interfaces/stream-progress.js.map +0 -1
  202. package/src/interfaces/wallet-seed.d.ts +0 -7
  203. package/src/interfaces/wallet-seed.d.ts.map +0 -1
  204. package/src/interfaces/wallet-seed.js +0 -3
  205. package/src/interfaces/wallet-seed.js.map +0 -1
  206. package/src/interfaces/wrapped-key-consts.d.ts +0 -7
  207. package/src/interfaces/wrapped-key-consts.d.ts.map +0 -1
  208. package/src/interfaces/wrapped-key-consts.js +0 -3
  209. package/src/interfaces/wrapped-key-consts.js.map +0 -1
  210. package/src/lib/crypto-container.d.ts +0 -13
  211. package/src/lib/crypto-container.d.ts.map +0 -1
  212. package/src/lib/crypto-container.js +0 -32
  213. package/src/lib/crypto-container.js.map +0 -1
  214. package/src/lib/index.d.ts +0 -4
  215. package/src/lib/index.d.ts.map +0 -1
  216. package/src/lib/index.js +0 -7
  217. package/src/lib/index.js.map +0 -1
  218. package/src/lib/invariant-validator.d.ts +0 -69
  219. package/src/lib/invariant-validator.d.ts.map +0 -1
  220. package/src/lib/invariant-validator.js +0 -98
  221. package/src/lib/invariant-validator.js.map +0 -1
  222. package/src/lib/invariants/index.d.ts +0 -8
  223. package/src/lib/invariants/index.d.ts.map +0 -1
  224. package/src/lib/invariants/index.js +0 -12
  225. package/src/lib/invariants/index.js.map +0 -1
  226. package/src/lib/invariants/recipient-id-consistency.d.ts +0 -41
  227. package/src/lib/invariants/recipient-id-consistency.d.ts.map +0 -1
  228. package/src/lib/invariants/recipient-id-consistency.js +0 -75
  229. package/src/lib/invariants/recipient-id-consistency.js.map +0 -1
  230. package/src/member.d.ts +0 -97
  231. package/src/member.d.ts.map +0 -1
  232. package/src/member.js +0 -322
  233. package/src/member.js.map +0 -1
  234. package/src/services/aes-gcm.d.ts +0 -66
  235. package/src/services/aes-gcm.d.ts.map +0 -1
  236. package/src/services/aes-gcm.js +0 -161
  237. package/src/services/aes-gcm.js.map +0 -1
  238. package/src/services/chunk-processor.d.ts +0 -15
  239. package/src/services/chunk-processor.d.ts.map +0 -1
  240. package/src/services/chunk-processor.js +0 -36
  241. package/src/services/chunk-processor.js.map +0 -1
  242. package/src/services/ecies/crypto-core.d.ts +0 -104
  243. package/src/services/ecies/crypto-core.d.ts.map +0 -1
  244. package/src/services/ecies/crypto-core.js +0 -234
  245. package/src/services/ecies/crypto-core.js.map +0 -1
  246. package/src/services/ecies/file.d.ts +0 -30
  247. package/src/services/ecies/file.d.ts.map +0 -1
  248. package/src/services/ecies/file.js +0 -112
  249. package/src/services/ecies/file.js.map +0 -1
  250. package/src/services/ecies/index.d.ts +0 -8
  251. package/src/services/ecies/index.d.ts.map +0 -1
  252. package/src/services/ecies/index.js +0 -11
  253. package/src/services/ecies/index.js.map +0 -1
  254. package/src/services/ecies/multi-recipient.d.ts +0 -84
  255. package/src/services/ecies/multi-recipient.d.ts.map +0 -1
  256. package/src/services/ecies/multi-recipient.js +0 -494
  257. package/src/services/ecies/multi-recipient.js.map +0 -1
  258. package/src/services/ecies/service.d.ts +0 -75
  259. package/src/services/ecies/service.d.ts.map +0 -1
  260. package/src/services/ecies/service.js +0 -152
  261. package/src/services/ecies/service.js.map +0 -1
  262. package/src/services/ecies/signature.d.ts +0 -38
  263. package/src/services/ecies/signature.d.ts.map +0 -1
  264. package/src/services/ecies/signature.js +0 -69
  265. package/src/services/ecies/signature.js.map +0 -1
  266. package/src/services/ecies/single-recipient.d.ts +0 -83
  267. package/src/services/ecies/single-recipient.d.ts.map +0 -1
  268. package/src/services/ecies/single-recipient.js +0 -448
  269. package/src/services/ecies/single-recipient.js.map +0 -1
  270. package/src/services/ecies/utilities.d.ts +0 -33
  271. package/src/services/ecies/utilities.d.ts.map +0 -1
  272. package/src/services/ecies/utilities.js +0 -91
  273. package/src/services/ecies/utilities.js.map +0 -1
  274. package/src/services/encryption-stream.d.ts +0 -33
  275. package/src/services/encryption-stream.d.ts.map +0 -1
  276. package/src/services/encryption-stream.js +0 -211
  277. package/src/services/encryption-stream.js.map +0 -1
  278. package/src/services/index.d.ts +0 -8
  279. package/src/services/index.d.ts.map +0 -1
  280. package/src/services/index.js +0 -11
  281. package/src/services/index.js.map +0 -1
  282. package/src/services/multi-recipient-processor.d.ts +0 -72
  283. package/src/services/multi-recipient-processor.d.ts.map +0 -1
  284. package/src/services/multi-recipient-processor.js +0 -321
  285. package/src/services/multi-recipient-processor.js.map +0 -1
  286. package/src/services/pbkdf2.d.ts +0 -105
  287. package/src/services/pbkdf2.d.ts.map +0 -1
  288. package/src/services/pbkdf2.js +0 -191
  289. package/src/services/pbkdf2.js.map +0 -1
  290. package/src/services/progress-tracker.d.ts +0 -9
  291. package/src/services/progress-tracker.d.ts.map +0 -1
  292. package/src/services/progress-tracker.js +0 -41
  293. package/src/services/progress-tracker.js.map +0 -1
  294. package/src/services/voting.service.d.ts +0 -232
  295. package/src/services/voting.service.d.ts.map +0 -1
  296. package/src/services/voting.service.js +0 -589
  297. package/src/services/voting.service.js.map +0 -1
  298. package/src/test-mocks/index.d.ts +0 -2
  299. package/src/test-mocks/index.d.ts.map +0 -1
  300. package/src/test-mocks/index.js +0 -5
  301. package/src/test-mocks/index.js.map +0 -1
  302. package/src/test-mocks/mock-backend-member.d.ts +0 -76
  303. package/src/test-mocks/mock-backend-member.d.ts.map +0 -1
  304. package/src/test-mocks/mock-backend-member.js +0 -139
  305. package/src/test-mocks/mock-backend-member.js.map +0 -1
  306. package/src/testing.d.ts +0 -2
  307. package/src/testing.d.ts.map +0 -1
  308. package/src/testing.js +0 -6
  309. package/src/testing.js.map +0 -1
  310. package/src/types/id-guards.d.ts +0 -39
  311. package/src/types/id-guards.d.ts.map +0 -1
  312. package/src/types/id-guards.js +0 -91
  313. package/src/types/id-guards.js.map +0 -1
  314. package/src/types/index.d.ts +0 -2
  315. package/src/types/index.d.ts.map +0 -1
  316. package/src/types/index.js +0 -5
  317. package/src/types/index.js.map +0 -1
  318. package/src/types.d.ts +0 -26
  319. package/src/types.d.ts.map +0 -1
  320. package/src/types.js +0 -6
  321. package/src/types.js.map +0 -1
  322. package/src/utils.d.ts +0 -11
  323. package/src/utils.d.ts.map +0 -1
  324. package/src/utils.js +0 -82
  325. package/src/utils.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"multi-recipient-processor.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/services/multi-recipient-processor.ts"],"names":[],"mappings":"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"}
@@ -1,105 +0,0 @@
1
- import { IPbkdf2Config, IPBkdf2Consts, Pbkdf2ErrorType } from '@digitaldefiance/ecies-lib';
2
- import { CoreLanguageCode } from '@digitaldefiance/i18n-lib';
3
- import { Pbkdf2ProfileEnum } from '../enumerations/pbkdf2-profile';
4
- import { IConstants } from '../interfaces/constants';
5
- import { IECIESConsts } from '../interfaces/ecies-consts';
6
- import { IPbkdf2Result } from '../interfaces/pbkdf2-result';
7
- /**
8
- * Custom PBKDF2 error class that works with the plugin i18n system
9
- */
10
- export declare class NodePbkdf2Error extends Error {
11
- readonly type: Pbkdf2ErrorType;
12
- constructor(message: string, type: Pbkdf2ErrorType);
13
- }
14
- /**
15
- * Service for handling PBKDF2 (Password-Based Key Derivation Function 2) operations.
16
- * This service provides functionality for:
17
- * - Generating secure key derivation configurations
18
- * - Deriving cryptographic keys from passwords
19
- * - Managing salt and iteration parameters
20
- * - Both synchronous and asynchronous key derivation
21
- */
22
- export declare class Pbkdf2Service<TLanguage extends CoreLanguageCode = CoreLanguageCode> {
23
- protected readonly profiles: Record<string, IPbkdf2Config>;
24
- protected readonly eciesConsts: IECIESConsts;
25
- protected readonly pbkdf2Consts: IPBkdf2Consts;
26
- constructor(profiles?: Record<string, IPbkdf2Config>, eciesParams?: IECIESConsts, pbkdf2Params?: IPBkdf2Consts);
27
- /**
28
- * Register a new PBKDF2 profile
29
- * @param profileName The name of the profile
30
- * @param config The configuration for the profile
31
- */
32
- registerProfile(profileName: string, config: IPbkdf2Config): void;
33
- /**
34
- * Get all registered profile names
35
- * @returns Array of profile names
36
- */
37
- getRegisteredProfiles(): string[];
38
- /**
39
- * Check if a profile is registered
40
- * @param profileName The name of the profile to check
41
- * @returns True if the profile exists
42
- */
43
- hasProfile(profileName: string): boolean;
44
- /**
45
- * Create a Pbkdf2Service instance from IConstants (for backward compatibility)
46
- * @param constants The constants object
47
- * @returns A new Pbkdf2Service instance
48
- */
49
- static fromConstants(constants: IConstants): Pbkdf2Service;
50
- /**
51
- * Get a predefined configuration profile for common use cases
52
- * @param profile The name of the profile to use
53
- * @returns Configuration object for the specified profile
54
- */
55
- getProfileConfig(profile: string): IPbkdf2Config;
56
- /**
57
- * Generate an options object for pbkdf2
58
- * @param iterations Optional number of iterations (defaults to Pbkdf2IterationsPerSecond)
59
- * @param saltBytes Optional salt size in bytes (defaults to PBKDF2.SALT_BYTES)
60
- * @param hashBytes Optional hash size in bytes (defaults to ECIES.SYMMETRIC.KEY_SIZE)
61
- * @param algorithm Optional hash algorithm (defaults to PBKDF2.ALGORITHM)
62
- * @returns Configuration object for PBKDF2
63
- */
64
- getConfig(iterations?: number, saltBytes?: number, hashBytes?: number, algorithm?: string): IPbkdf2Config;
65
- /**
66
- * Given a password, use pbkdf2 to generate an appropriately sized key for AES encryption
67
- * @param password The password to derive a key from
68
- * @param salt Optional salt (will be randomly generated if not provided)
69
- * @param iterations Optional number of iterations
70
- * @param saltBytes Optional salt size in bytes
71
- * @param keySize Optional key size in bytes
72
- * @param algorithm Optional hash algorithm
73
- * @returns Object containing the derived key, salt, and iteration count
74
- */
75
- deriveKeyFromPassword(password: Buffer, salt?: Buffer, iterations?: number, saltBytes?: number, keySize?: number, algorithm?: string): IPbkdf2Result;
76
- /**
77
- * Async version of deriveKeyFromPassword that uses libuv threadpool via crypto.pbkdf2
78
- * to avoid blocking the event loop during password verification.
79
- * @param password The password to derive a key from
80
- * @param salt Optional salt (will be randomly generated if not provided)
81
- * @param iterations Optional number of iterations
82
- * @param saltBytes Optional salt size in bytes
83
- * @param keySize Optional key size in bytes
84
- * @param algorithm Optional hash algorithm
85
- * @returns Promise resolving to object containing the derived key, salt, and iteration count
86
- */
87
- deriveKeyFromPasswordAsync(password: Buffer, salt?: Buffer, iterations?: number, saltBytes?: number, keySize?: number, algorithm?: string): Promise<IPbkdf2Result>;
88
- /**
89
- * Derive a key using a predefined configuration profile
90
- * @param password The password to derive a key from
91
- * @param profile The configuration profile to use
92
- * @param salt Optional salt (will be randomly generated if not provided)
93
- * @returns Object containing the derived key, salt, and iteration count
94
- */
95
- deriveKeyFromPasswordWithProfile(password: Buffer, profile: Pbkdf2ProfileEnum, salt?: Buffer): IPbkdf2Result;
96
- /**
97
- * Async version of deriveKeyFromPasswordWithProfile
98
- * @param password The password to derive a key from
99
- * @param profile The configuration profile to use
100
- * @param salt Optional salt (will be randomly generated if not provided)
101
- * @returns Promise resolving to object containing the derived key, salt, and iteration count
102
- */
103
- deriveKeyFromPasswordWithProfileAsync(password: Buffer, profile: Pbkdf2ProfileEnum, salt?: Buffer): Promise<IPbkdf2Result>;
104
- }
105
- //# sourceMappingURL=pbkdf2.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pbkdf2.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/services/pbkdf2.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,aAAa,EACb,aAAa,EACb,eAAe,EAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAKnE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;aAGtB,IAAI,EAAE,eAAe;gBADrC,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,eAAe;CAKxC;AAED;;;;;;;GAOG;AACH,qBAAa,aAAa,CAExB,SAAS,SAAS,gBAAgB,GAAG,gBAAgB;IAErD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3D,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC;gBAG7C,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAA6B,EACnE,WAAW,GAAE,YAA8B,EAC3C,YAAY,GAAE,aAAgC;IAOhD;;;;OAIG;IACI,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAIxE;;;OAGG;IACI,qBAAqB,IAAI,MAAM,EAAE;IAIxC;;;;OAIG;IACI,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAI/C;;;;OAIG;WACW,aAAa,CAAC,SAAS,EAAE,UAAU,GAAG,aAAa;IAOjE;;;;OAIG;IACI,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAkBvD;;;;;;;OAOG;IACI,SAAS,CACd,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,aAAa;IAkBhB;;;;;;;;;OASG;IACI,qBAAqB,CAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,aAAa;IAqChB;;;;;;;;;;OAUG;IACU,0BAA0B,CACrC,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC;IAsCzB;;;;;;OAMG;IACI,gCAAgC,CACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,MAAM,GACZ,aAAa;IAYhB;;;;;;OAMG;IACU,qCAAqC,CAChD,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,aAAa,CAAC;CAW1B"}
@@ -1,191 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Pbkdf2Service = exports.NodePbkdf2Error = void 0;
4
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
5
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
6
- const crypto_1 = require("crypto");
7
- const util_1 = require("util");
8
- const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
9
- const constants_1 = require("../constants");
10
- const ecies_i18n_factory_1 = require("../i18n/ecies-i18n-factory");
11
- /**
12
- * Custom PBKDF2 error class that works with the plugin i18n system
13
- */
14
- class NodePbkdf2Error extends Error {
15
- type;
16
- constructor(message, type) {
17
- super(message);
18
- this.type = type;
19
- this.name = 'NodePbkdf2Error';
20
- }
21
- }
22
- exports.NodePbkdf2Error = NodePbkdf2Error;
23
- /**
24
- * Service for handling PBKDF2 (Password-Based Key Derivation Function 2) operations.
25
- * This service provides functionality for:
26
- * - Generating secure key derivation configurations
27
- * - Deriving cryptographic keys from passwords
28
- * - Managing salt and iteration parameters
29
- * - Both synchronous and asynchronous key derivation
30
- */
31
- class Pbkdf2Service {
32
- profiles;
33
- eciesConsts;
34
- pbkdf2Consts;
35
- constructor(profiles = constants_1.Constants.PBKDF2_PROFILES, eciesParams = constants_1.Constants.ECIES, pbkdf2Params = constants_1.Constants.PBKDF2) {
36
- this.profiles = profiles;
37
- this.eciesConsts = eciesParams;
38
- this.pbkdf2Consts = pbkdf2Params;
39
- }
40
- /**
41
- * Register a new PBKDF2 profile
42
- * @param profileName The name of the profile
43
- * @param config The configuration for the profile
44
- */
45
- registerProfile(profileName, config) {
46
- this.profiles[profileName] = { ...config };
47
- }
48
- /**
49
- * Get all registered profile names
50
- * @returns Array of profile names
51
- */
52
- getRegisteredProfiles() {
53
- return Object.keys(this.profiles);
54
- }
55
- /**
56
- * Check if a profile is registered
57
- * @param profileName The name of the profile to check
58
- * @returns True if the profile exists
59
- */
60
- hasProfile(profileName) {
61
- return profileName in this.profiles;
62
- }
63
- /**
64
- * Create a Pbkdf2Service instance from IConstants (for backward compatibility)
65
- * @param constants The constants object
66
- * @returns A new Pbkdf2Service instance
67
- */
68
- static fromConstants(constants) {
69
- return new Pbkdf2Service(constants.PBKDF2_PROFILES, constants.ECIES, constants.PBKDF2);
70
- }
71
- /**
72
- * Get a predefined configuration profile for common use cases
73
- * @param profile The name of the profile to use
74
- * @returns Configuration object for the specified profile
75
- */
76
- getProfileConfig(profile) {
77
- const profileConfig = this.profiles[profile];
78
- if (!profileConfig) {
79
- throw new NodePbkdf2Error((0, ecies_i18n_factory_1.getNodeEciesTranslation)(ecies_i18n_factory_1.NodeEciesStringKey.Error_Pbkdf2_InvalidSaltLength), ecies_lib_1.Pbkdf2ErrorType.InvalidProfile);
80
- }
81
- return {
82
- hashBytes: profileConfig.hashBytes,
83
- saltBytes: profileConfig.saltBytes,
84
- iterations: profileConfig.iterations,
85
- algorithm: profileConfig.algorithm,
86
- };
87
- }
88
- /**
89
- * Generate an options object for pbkdf2
90
- * @param iterations Optional number of iterations (defaults to Pbkdf2IterationsPerSecond)
91
- * @param saltBytes Optional salt size in bytes (defaults to PBKDF2.SALT_BYTES)
92
- * @param hashBytes Optional hash size in bytes (defaults to ECIES.SYMMETRIC.KEY_SIZE)
93
- * @param algorithm Optional hash algorithm (defaults to PBKDF2.ALGORITHM)
94
- * @returns Configuration object for PBKDF2
95
- */
96
- getConfig(iterations, saltBytes, hashBytes, algorithm) {
97
- // larger numbers mean better security, less
98
- return {
99
- // size of the generated hash
100
- hashBytes: hashBytes ?? this.eciesConsts.SYMMETRIC.KEY_SIZE,
101
- // larger salt means hashed passwords are more resistant to rainbow table, but
102
- // you get diminishing returns pretty fast
103
- saltBytes: saltBytes ?? this.pbkdf2Consts.SALT_BYTES,
104
- // more iterations means an attacker has to take longer to brute force an
105
- // individual password, so larger is better. however, larger also means longer
106
- // to hash the password. tune so that hashing the password takes about a
107
- // second
108
- iterations: iterations ?? this.pbkdf2Consts.ITERATIONS_PER_SECOND,
109
- // hash algorithm
110
- algorithm: algorithm ?? this.pbkdf2Consts.ALGORITHM,
111
- };
112
- }
113
- /**
114
- * Given a password, use pbkdf2 to generate an appropriately sized key for AES encryption
115
- * @param password The password to derive a key from
116
- * @param salt Optional salt (will be randomly generated if not provided)
117
- * @param iterations Optional number of iterations
118
- * @param saltBytes Optional salt size in bytes
119
- * @param keySize Optional key size in bytes
120
- * @param algorithm Optional hash algorithm
121
- * @returns Object containing the derived key, salt, and iteration count
122
- */
123
- deriveKeyFromPassword(password, salt, iterations, saltBytes, keySize, algorithm) {
124
- const config = this.getConfig(iterations, saltBytes, keySize, algorithm);
125
- const saltBytes_ = salt ?? (0, crypto_1.randomBytes)(config.saltBytes);
126
- if (saltBytes_.length !== config.saltBytes) {
127
- throw new NodePbkdf2Error((0, ecies_i18n_factory_1.getNodeEciesTranslation)(ecies_i18n_factory_1.NodeEciesStringKey.Error_Pbkdf2_InvalidSaltLength), ecies_lib_1.Pbkdf2ErrorType.InvalidSaltLength);
128
- }
129
- const hashBytes = (0, crypto_1.pbkdf2Sync)(password, saltBytes_, config.iterations, config.hashBytes, config.algorithm);
130
- if (hashBytes.length !== config.hashBytes) {
131
- throw new NodePbkdf2Error((0, ecies_i18n_factory_1.getNodeEciesTranslation)(ecies_i18n_factory_1.NodeEciesStringKey.Error_Pbkdf2_InvalidHashLength), ecies_lib_1.Pbkdf2ErrorType.InvalidHashLength);
132
- }
133
- return {
134
- salt: saltBytes_,
135
- hash: hashBytes,
136
- iterations: config.iterations,
137
- };
138
- }
139
- /**
140
- * Async version of deriveKeyFromPassword that uses libuv threadpool via crypto.pbkdf2
141
- * to avoid blocking the event loop during password verification.
142
- * @param password The password to derive a key from
143
- * @param salt Optional salt (will be randomly generated if not provided)
144
- * @param iterations Optional number of iterations
145
- * @param saltBytes Optional salt size in bytes
146
- * @param keySize Optional key size in bytes
147
- * @param algorithm Optional hash algorithm
148
- * @returns Promise resolving to object containing the derived key, salt, and iteration count
149
- */
150
- async deriveKeyFromPasswordAsync(password, salt, iterations, saltBytes, keySize, algorithm) {
151
- const config = this.getConfig(iterations, saltBytes, keySize, algorithm);
152
- const saltBytes_ = salt ?? (0, crypto_1.randomBytes)(config.saltBytes);
153
- if (saltBytes_.length !== config.saltBytes) {
154
- throw new NodePbkdf2Error((0, ecies_i18n_factory_1.getNodeEciesTranslation)(ecies_i18n_factory_1.NodeEciesStringKey.Error_Pbkdf2_InvalidSaltLength), ecies_lib_1.Pbkdf2ErrorType.InvalidSaltLength);
155
- }
156
- const pbkdf2 = (0, util_1.promisify)(crypto_1.pbkdf2);
157
- const hashBytes = (await pbkdf2(password, saltBytes_, config.iterations, config.hashBytes, config.algorithm));
158
- if (hashBytes.length !== config.hashBytes) {
159
- throw new NodePbkdf2Error((0, ecies_i18n_factory_1.getNodeEciesTranslation)(ecies_i18n_factory_1.NodeEciesStringKey.Error_Pbkdf2_InvalidHashLength), ecies_lib_1.Pbkdf2ErrorType.InvalidHashLength);
160
- }
161
- return {
162
- salt: saltBytes_,
163
- hash: hashBytes,
164
- iterations: config.iterations,
165
- };
166
- }
167
- /**
168
- * Derive a key using a predefined configuration profile
169
- * @param password The password to derive a key from
170
- * @param profile The configuration profile to use
171
- * @param salt Optional salt (will be randomly generated if not provided)
172
- * @returns Object containing the derived key, salt, and iteration count
173
- */
174
- deriveKeyFromPasswordWithProfile(password, profile, salt) {
175
- const config = this.getProfileConfig(profile);
176
- return this.deriveKeyFromPassword(password, salt, config.iterations, config.saltBytes, config.hashBytes, config.algorithm);
177
- }
178
- /**
179
- * Async version of deriveKeyFromPasswordWithProfile
180
- * @param password The password to derive a key from
181
- * @param profile The configuration profile to use
182
- * @param salt Optional salt (will be randomly generated if not provided)
183
- * @returns Promise resolving to object containing the derived key, salt, and iteration count
184
- */
185
- async deriveKeyFromPasswordWithProfileAsync(password, profile, salt) {
186
- const config = this.getProfileConfig(profile);
187
- return this.deriveKeyFromPasswordAsync(password, salt, config.iterations, config.saltBytes, config.hashBytes, config.algorithm);
188
- }
189
- }
190
- exports.Pbkdf2Service = Pbkdf2Service;
191
- //# sourceMappingURL=pbkdf2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pbkdf2.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/services/pbkdf2.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAC5D,+DAA+D;AAC/D,mCAAwE;AACxE,+BAAiC;AAEjC,0DAIoC;AAGpC,4CAAyC;AAEzC,mEAGoC;AAKpC;;GAEG;AACH,MAAa,eAAgB,SAAQ,KAAK;IAGtB;IAFlB,YACE,OAAe,EACC,IAAqB;QAErC,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,SAAI,GAAJ,IAAI,CAAiB;QAGrC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AARD,0CAQC;AAED;;;;;;;GAOG;AACH,MAAa,aAAa;IAIL,QAAQ,CAAgC;IACxC,WAAW,CAAe;IAC1B,YAAY,CAAgB;IAE/C,YACE,WAA0C,qBAAS,CAAC,eAAe,EACnE,cAA4B,qBAAS,CAAC,KAAK,EAC3C,eAA8B,qBAAS,CAAC,MAAM;QAE9C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACI,eAAe,CAAC,WAAmB,EAAE,MAAqB;QAC/D,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACI,qBAAqB;QAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAC,WAAmB;QACnC,OAAO,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,aAAa,CAAC,SAAqB;QAC/C,OAAO,IAAI,aAAa,CACtB,SAAS,CAAC,eAAe,EACzB,SAAS,CAAC,KAAK,EACf,SAAS,CAAC,MAAM,CACjB,CAAC;IACJ,CAAC;IACD;;;;OAIG;IACI,gBAAgB,CAAC,OAAe;QACrC,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,eAAe,CACvB,IAAA,4CAAuB,EACrB,uCAAkB,CAAC,8BAA8B,CAClD,EACD,2BAAe,CAAC,cAAc,CAC/B,CAAC;QACJ,CAAC;QACD,OAAO;YACL,SAAS,EAAE,aAAa,CAAC,SAAS;YAClC,SAAS,EAAE,aAAa,CAAC,SAAS;YAClC,UAAU,EAAE,aAAa,CAAC,UAAU;YACpC,SAAS,EAAE,aAAa,CAAC,SAAS;SACnC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACI,SAAS,CACd,UAAmB,EACnB,SAAkB,EAClB,SAAkB,EAClB,SAAkB;QAElB,4CAA4C;QAC5C,OAAO;YACL,6BAA6B;YAC7B,SAAS,EAAE,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ;YAC3D,8EAA8E;YAC9E,0CAA0C;YAC1C,SAAS,EAAE,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU;YACpD,yEAAyE;YACzE,8EAA8E;YAC9E,wEAAwE;YACxE,SAAS;YACT,UAAU,EAAE,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,qBAAqB;YACjE,iBAAiB;YACjB,SAAS,EAAE,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS;SACpD,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACI,qBAAqB,CAC1B,QAAgB,EAChB,IAAa,EACb,UAAmB,EACnB,SAAkB,EAClB,OAAgB,EAChB,SAAkB;QAElB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,IAAI,IAAI,IAAA,oBAAW,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEzD,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;YAC3C,MAAM,IAAI,eAAe,CACvB,IAAA,4CAAuB,EACrB,uCAAkB,CAAC,8BAA8B,CAClD,EACD,2BAAe,CAAC,iBAAiB,CAClC,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,IAAA,mBAAU,EAC1B,QAAQ,EACR,UAAU,EACV,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,CACjB,CAAC;QAEF,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1C,MAAM,IAAI,eAAe,CACvB,IAAA,4CAAuB,EACrB,uCAAkB,CAAC,8BAA8B,CAClD,EACD,2BAAe,CAAC,iBAAiB,CAClC,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACI,KAAK,CAAC,0BAA0B,CACrC,QAAgB,EAChB,IAAa,EACb,UAAmB,EACnB,SAAkB,EAClB,OAAgB,EAChB,SAAkB;QAElB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,IAAI,IAAI,IAAA,oBAAW,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEzD,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;YAC3C,MAAM,IAAI,eAAe,CACvB,IAAA,4CAAuB,EACrB,uCAAkB,CAAC,8BAA8B,CAClD,EACD,2BAAe,CAAC,iBAAiB,CAClC,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,IAAA,gBAAS,EAAC,eAAW,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,CAAC,MAAM,MAAM,CAC7B,QAAQ,EACR,UAAU,EACV,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,CACjB,CAAW,CAAC;QAEb,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1C,MAAM,IAAI,eAAe,CACvB,IAAA,4CAAuB,EACrB,uCAAkB,CAAC,8BAA8B,CAClD,EACD,2BAAe,CAAC,iBAAiB,CAClC,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACI,gCAAgC,CACrC,QAAgB,EAChB,OAA0B,EAC1B,IAAa;QAEb,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,qBAAqB,CAC/B,QAAQ,EACR,IAAI,EACJ,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,CACjB,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,qCAAqC,CAChD,QAAgB,EAChB,OAA0B,EAC1B,IAAa;QAEb,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,0BAA0B,CACpC,QAAQ,EACR,IAAI,EACJ,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,CACjB,CAAC;IACJ,CAAC;CACF;AAzQD,sCAyQC"}
@@ -1,9 +0,0 @@
1
- import { IStreamProgress } from '../interfaces/stream-progress';
2
- export declare class ProgressTracker {
3
- private processedBytes;
4
- private startTime;
5
- private recentSamples;
6
- private readonly maxSamples;
7
- update(bytesProcessed: number): IStreamProgress;
8
- }
9
- //# sourceMappingURL=progress-tracker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"progress-tracker.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/services/progress-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,qBAAa,eAAe;IAC1B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,aAAa,CAAmD;IACxE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAK;IAEzB,MAAM,CAAC,cAAc,EAAE,MAAM,GAAG,eAAe;CAqCvD"}
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProgressTracker = void 0;
4
- class ProgressTracker {
5
- processedBytes = 0;
6
- startTime = Date.now();
7
- recentSamples = [];
8
- maxSamples = 5;
9
- update(bytesProcessed) {
10
- this.processedBytes += bytesProcessed;
11
- const now = Date.now();
12
- this.recentSamples.push({ bytes: bytesProcessed, timestamp: now });
13
- if (this.recentSamples.length > this.maxSamples) {
14
- this.recentSamples.shift();
15
- }
16
- const elapsedMs = now - this.startTime;
17
- const elapsedSec = elapsedMs / 1000;
18
- let throughputBytesPerSec = 0;
19
- if (this.recentSamples.length >= 2) {
20
- const firstSample = this.recentSamples[0];
21
- const lastSample = this.recentSamples[this.recentSamples.length - 1];
22
- const sampleBytes = this.recentSamples.reduce((sum, s) => sum + s.bytes, 0);
23
- const sampleTime = (lastSample.timestamp - firstSample.timestamp) / 1000;
24
- if (sampleTime > 0) {
25
- throughputBytesPerSec = sampleBytes / sampleTime;
26
- }
27
- }
28
- else if (elapsedSec > 0) {
29
- throughputBytesPerSec = this.processedBytes / elapsedSec;
30
- }
31
- return {
32
- processedBytes: this.processedBytes,
33
- totalBytes: 0,
34
- percentComplete: 0,
35
- throughputBytesPerSec,
36
- estimatedTimeRemainingMs: 0,
37
- };
38
- }
39
- }
40
- exports.ProgressTracker = ProgressTracker;
41
- //# sourceMappingURL=progress-tracker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"progress-tracker.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/services/progress-tracker.ts"],"names":[],"mappings":";;;AAEA,MAAa,eAAe;IAClB,cAAc,GAAG,CAAC,CAAC;IACnB,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,aAAa,GAAgD,EAAE,CAAC;IACvD,UAAU,GAAG,CAAC,CAAC;IAEzB,MAAM,CAAC,cAAsB;QAClC,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAChD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;QAED,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;QACvC,MAAM,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC;QAEpC,IAAI,qBAAqB,GAAG,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACrE,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAC3C,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EACzB,CAAC,CACF,CAAC;YACF,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;YAEzE,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnB,qBAAqB,GAAG,WAAW,GAAG,UAAU,CAAC;YACnD,CAAC;QACH,CAAC;aAAM,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YAC1B,qBAAqB,GAAG,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;QAC3D,CAAC;QAED,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,UAAU,EAAE,CAAC;YACb,eAAe,EAAE,CAAC;YAClB,qBAAqB;YACrB,wBAAwB,EAAE,CAAC;SAC5B,CAAC;IACJ,CAAC;CACF;AA3CD,0CA2CC"}
@@ -1,232 +0,0 @@
1
- /**
2
- * Voting Service for Node.js environments
3
- * Provides ECIES-to-Paillier key bridge for homomorphic encryption voting systems.
4
- *
5
- * SECURITY ARCHITECTURE:
6
- * This service implements a novel but cryptographically sound bridge between
7
- * ECDSA/ECDH keys and Paillier homomorphic encryption keys. The construction
8
- * uses only proven cryptographic primitives:
9
- *
10
- * - ECDH (secp256k1): Shared secret computation
11
- * - HKDF (RFC 5869): Cryptographically secure key derivation
12
- * - HMAC-DRBG (NIST SP 800-90A): Deterministic random generation
13
- * - Miller-Rabin (256 rounds): Primality testing (error < 2^-512)
14
- * - Paillier (3072-bit): Homomorphic encryption
15
- *
16
- * SECURITY GUARANTEES:
17
- * - 128-bit security level (equivalent to 3072-bit RSA)
18
- * - One-way: Cannot recover ECDH keys from Paillier keys
19
- * - Deterministic: Enables key recovery from same ECDH source
20
- * - Collision-resistant: Birthday bound ~2^128 operations
21
- * - Domain-separated: Cryptographic binding via HKDF info string
22
- *
23
- * THREAT MODEL:
24
- * Protected against: factorization attacks, weak primes, small prime attacks
25
- * Timing attacks: Mitigated via constant-time operations where possible
26
- * Side-channels: Dependent on underlying crypto library implementation
27
- * Quantum: Vulnerable to Shor's algorithm (like all RSA-type systems)
28
- *
29
- * For detailed security analysis, see:
30
- * docs/SECURITY_ANALYSIS_ECIES_PAILLIER_BRIDGE.md
31
- */
32
- import type { KeyPair, PrivateKey, PublicKey } from 'paillier-bigint';
33
- export interface DeriveVotingKeysOptions {
34
- /** Curve name (default: 'secp256k1') */
35
- curveName?: string;
36
- /** ECIES public key magic byte (default: 0x04) */
37
- publicKeyMagic?: number;
38
- /** Raw public key length without prefix (default: 64) */
39
- rawPublicKeyLength?: number;
40
- /** Public key length with prefix (default: 65) */
41
- publicKeyLength?: number;
42
- /** HMAC algorithm for HKDF (default: 'sha512') */
43
- hmacAlgorithm?: string;
44
- /** HKDF info string (default: 'PaillierPrimeGen') */
45
- hkdfInfo?: string;
46
- /** HKDF output length (default: 64) */
47
- hkdfLength?: number;
48
- /** Key pair bit length (default: 3072) */
49
- keypairBitLength?: number;
50
- /** Prime test iterations (default: 256) */
51
- primeTestIterations?: number;
52
- /** Max attempts to generate prime (default: 10000) */
53
- maxPrimeAttempts?: number;
54
- }
55
- /**
56
- * Miller-Rabin primality test with deterministic witnesses
57
- *
58
- * SECURITY: With k=256 rounds, probability of false positive is < 2^-512
59
- *
60
- * @param n - Number to test for primality
61
- * @param k - Number of rounds (witnesses to test)
62
- * @returns true if n is probably prime, false if definitely composite
63
- */
64
- export declare function millerRabinTest(n: bigint, k: number): boolean;
65
- /**
66
- * Modular exponentiation: (base^exp) mod mod
67
- */
68
- export declare function modPow(base: bigint, exp: bigint, mod: bigint): bigint;
69
- /**
70
- * Extended Euclidean algorithm to find modular multiplicative inverse
71
- */
72
- export declare function modInverse(a: bigint, m: bigint): bigint;
73
- /**
74
- * Greatest common divisor using Euclidean algorithm
75
- */
76
- export declare function gcd(a: bigint, b: bigint): bigint;
77
- /**
78
- * Least common multiple
79
- */
80
- export declare function lcm(a: bigint, b: bigint): bigint;
81
- /**
82
- * HKDF implementation following RFC 5869 using Node.js crypto
83
- *
84
- * SECURITY: This is a cryptographically secure key derivation function.
85
- * - Provides pseudorandomness indistinguishable from random
86
- * - One-way: computationally infeasible to recover IKM from OKM
87
- * - Domain separation via 'info' parameter
88
- *
89
- * @param secret - The input key material (IKM)
90
- * @param salt - Optional salt value (non-secret random value)
91
- * @param info - Context string for domain separation
92
- * @param length - Length of output keying material in bytes
93
- * @param hmacAlgorithm - HMAC algorithm to use (default: 'sha512')
94
- * @returns Derived key material (OKM)
95
- */
96
- export declare function hkdf(secret: Uint8Array, salt: Uint8Array | null, info: string, length: number, hmacAlgorithm?: string): Uint8Array;
97
- /**
98
- * Secure Deterministic Random Bit Generator using HMAC-DRBG (SP 800-90A)
99
- * This is a simplified version focused on the specific needs of prime generation.
100
- */
101
- export declare class SecureDeterministicDRBG {
102
- private v;
103
- private k;
104
- private readonly hmacAlgorithm;
105
- constructor(seed: Uint8Array, hmacAlgorithm?: string);
106
- private update;
107
- generate(numBytes: number): Buffer;
108
- }
109
- /**
110
- * Generate a deterministic prime number using DRBG
111
- * @param drbg - Deterministic random bit generator
112
- * @param numBits - Number of bits in the prime
113
- * @param primeTestIterations - Miller-Rabin iterations (default: 256)
114
- * @param maxAttempts - Maximum attempts (default: 10000)
115
- * @returns A prime number of specified bit length
116
- */
117
- export declare function generateDeterministicPrime(drbg: SecureDeterministicDRBG, numBits: number, primeTestIterations?: number, maxAttempts?: number): bigint;
118
- /**
119
- * Generate a deterministic Paillier key pair from a seed
120
- * @param seed - Seed bytes for deterministic generation
121
- * @param bits - Key pair bit length (default: 3072)
122
- * @param primeTestIterations - Miller-Rabin iterations (default: 256)
123
- * @returns Paillier key pair
124
- */
125
- export declare function generateDeterministicKeyPair(seed: Uint8Array, bits?: number, primeTestIterations?: number): KeyPair;
126
- /**
127
- * Derive Paillier voting keys from ECDH key pair.
128
- * This is the core bridge function that connects ECDSA/ECDH keys
129
- * to homomorphic encryption keys for secure voting systems.
130
- *
131
- * SECURITY PROPERTIES:
132
- * - One-way: Computationally infeasible to recover ECDH keys from Paillier keys
133
- * - Deterministic: Same ECDH keys always produce same Paillier keys (enables key recovery)
134
- * - Collision-resistant: Different ECDH keys produce different Paillier keys (Birthday bound ~2^128)
135
- * - Domain-separated: Cryptographically bound to voting purpose via HKDF info="PaillierPrimeGen"
136
- *
137
- * SECURITY LEVEL: ~128 bits (equivalent to 3072-bit RSA)
138
- * - ECDH: secp256k1 curve (~128-bit security)
139
- * - HKDF: SHA-512 (512-bit security against preimage)
140
- * - Paillier: 3072-bit modulus (NIST recommended for 128-bit security)
141
- *
142
- * @param ecdhPrivKey - ECDH private key (32 bytes for secp256k1)
143
- * @param ecdhPubKey - ECDH public key (64 or 65 bytes, with or without 0x04 prefix)
144
- * @param options - Configuration options
145
- * @returns Paillier key pair for voting operations
146
- */
147
- export declare function deriveVotingKeysFromECDH(ecdhPrivKey: Uint8Array, ecdhPubKey: Uint8Array, options?: DeriveVotingKeysOptions): KeyPair;
148
- /**
149
- * Voting service for deriving and managing Paillier voting keys from ECDH keys.
150
- */
151
- export declare class VotingService {
152
- private static instance?;
153
- /**
154
- * Get singleton instance of VotingService
155
- */
156
- static getInstance(): VotingService;
157
- /**
158
- * Derive Paillier voting keys from ECDH key pair.
159
- *
160
- * @param ecdhPrivKey - ECDH private key (32 bytes for secp256k1)
161
- * @param ecdhPubKey - ECDH public key (64 or 65 bytes)
162
- * @param options - Configuration options
163
- * @returns Paillier key pair for voting operations
164
- */
165
- deriveVotingKeysFromECDH(ecdhPrivKey: Uint8Array, ecdhPubKey: Uint8Array, options?: DeriveVotingKeysOptions): KeyPair;
166
- /**
167
- * HKDF key derivation function (RFC 5869)
168
- */
169
- hkdf(secret: Uint8Array, salt: Uint8Array | null, info: string, length: number, hmacAlgorithm?: string): Uint8Array;
170
- /**
171
- * Miller-Rabin primality test
172
- */
173
- millerRabinTest(n: bigint, k: number): boolean;
174
- /**
175
- * Modular exponentiation
176
- */
177
- modPow(base: bigint, exp: bigint, mod: bigint): bigint;
178
- /**
179
- * Modular multiplicative inverse
180
- */
181
- modInverse(a: bigint, m: bigint): bigint;
182
- /**
183
- * Greatest common divisor
184
- */
185
- gcd(a: bigint, b: bigint): bigint;
186
- /**
187
- * Least common multiple
188
- */
189
- lcm(a: bigint, b: bigint): bigint;
190
- /**
191
- * Generate a deterministic prime using DRBG
192
- */
193
- generateDeterministicPrime(drbg: SecureDeterministicDRBG, numBits: number, primeTestIterations?: number, maxAttempts?: number): bigint;
194
- /**
195
- * Generate a deterministic Paillier key pair from seed
196
- */
197
- generateDeterministicKeyPair(seed: Uint8Array, bits?: number, primeTestIterations?: number): KeyPair;
198
- /**
199
- * Create a secure deterministic random bit generator
200
- */
201
- createDRBG(seed: Uint8Array, hmacAlgorithm?: string): SecureDeterministicDRBG;
202
- /**
203
- * Serialize a Paillier public key to buffer
204
- *
205
- * SECURITY: Public keys are safe to share. This serialization
206
- * format is deterministic and preserves all key information.
207
- */
208
- votingPublicKeyToBuffer(publicKey: PublicKey): Buffer;
209
- /**
210
- * Deserialize a Paillier public key from buffer
211
- */
212
- bufferToVotingPublicKey(buffer: Buffer): PublicKey;
213
- /**
214
- * Serialize a Paillier private key to buffer
215
- *
216
- * SECURITY WARNING: Private keys must be kept secret!
217
- * - Only serialize for secure storage or transmission
218
- * - Encrypt serialized keys before storing or transmitting
219
- * - Clear sensitive memory after use
220
- * - Consider using hardware security modules (HSM) for production
221
- */
222
- votingPrivateKeyToBuffer(privateKey: PrivateKey): Buffer;
223
- /**
224
- * Deserialize a Paillier private key from buffer
225
- */
226
- bufferToVotingPrivateKey(buffer: Buffer, publicKey: PublicKey): PrivateKey;
227
- serializePublicKey(publicKey: PublicKey): Buffer;
228
- deserializePublicKey(buffer: Buffer | Uint8Array): PublicKey;
229
- serializePrivateKey(privateKey: PrivateKey): Buffer;
230
- deserializePrivateKey(buffer: Buffer | Uint8Array, publicKey: PublicKey): PrivateKey;
231
- }
232
- //# sourceMappingURL=voting.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"voting.service.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/services/voting.service.ts"],"names":[],"mappings":"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"}