@digitaldefiance/node-ecies-lib 4.5.19 → 4.6.4

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 (353) hide show
  1. package/package.json +5 -5
  2. package/src/builders/ecies-builder.d.ts +11 -0
  3. package/src/builders/ecies-builder.d.ts.map +1 -0
  4. package/src/builders/ecies-builder.js +26 -0
  5. package/src/builders/ecies-builder.js.map +1 -0
  6. package/src/builders/index.d.ts +3 -0
  7. package/src/builders/index.d.ts.map +1 -0
  8. package/src/builders/index.js +6 -0
  9. package/src/builders/index.js.map +1 -0
  10. package/src/builders/member-builder.d.ts +47 -0
  11. package/src/builders/member-builder.d.ts.map +1 -0
  12. package/src/builders/member-builder.js +99 -0
  13. package/src/builders/member-builder.js.map +1 -0
  14. package/src/constants.d.ts +38 -0
  15. package/src/constants.d.ts.map +1 -0
  16. package/src/constants.js +196 -0
  17. package/src/constants.js.map +1 -0
  18. package/src/core/errors/crypto-error.d.ts +6 -0
  19. package/src/core/errors/crypto-error.d.ts.map +1 -0
  20. package/src/core/errors/crypto-error.js +15 -0
  21. package/src/core/errors/crypto-error.js.map +1 -0
  22. package/src/core/index.d.ts +3 -0
  23. package/src/core/index.d.ts.map +1 -0
  24. package/src/core/index.js +6 -0
  25. package/src/core/index.js.map +1 -0
  26. package/src/core/types/result.d.ts +8 -0
  27. package/src/core/types/result.d.ts.map +1 -0
  28. package/src/core/types/result.js +3 -0
  29. package/src/core/types/result.js.map +1 -0
  30. package/src/enumerations/index.d.ts +3 -0
  31. package/src/enumerations/index.d.ts.map +1 -0
  32. package/src/enumerations/index.js +6 -0
  33. package/src/enumerations/index.js.map +1 -0
  34. package/src/enumerations/pbkdf2-profile.d.ts +9 -0
  35. package/src/enumerations/pbkdf2-profile.d.ts.map +1 -0
  36. package/src/enumerations/pbkdf2-profile.js +13 -0
  37. package/src/enumerations/pbkdf2-profile.js.map +1 -0
  38. package/src/enumerations/voting-error-type.d.ts +37 -0
  39. package/src/enumerations/voting-error-type.d.ts.map +1 -0
  40. package/src/enumerations/voting-error-type.js +48 -0
  41. package/src/enumerations/voting-error-type.js.map +1 -0
  42. package/src/errors/index.d.ts +2 -0
  43. package/src/errors/index.d.ts.map +1 -0
  44. package/src/errors/index.js +5 -0
  45. package/src/errors/index.js.map +1 -0
  46. package/src/errors/voting.d.ts +16 -0
  47. package/src/errors/voting.d.ts.map +1 -0
  48. package/src/errors/voting.js +27 -0
  49. package/src/errors/voting.js.map +1 -0
  50. package/src/i18n/ecies-i18n-factory.d.ts +28 -0
  51. package/src/i18n/ecies-i18n-factory.d.ts.map +1 -0
  52. package/src/i18n/ecies-i18n-factory.js +90 -0
  53. package/src/i18n/ecies-i18n-factory.js.map +1 -0
  54. package/src/i18n/index.d.ts +3 -0
  55. package/src/i18n/index.d.ts.map +1 -0
  56. package/src/i18n/index.js +8 -0
  57. package/src/i18n/index.js.map +1 -0
  58. package/src/i18n/node-ecies-i18n-setup.d.ts +5 -0
  59. package/src/i18n/node-ecies-i18n-setup.d.ts.map +1 -0
  60. package/src/i18n/node-ecies-i18n-setup.js +48 -0
  61. package/src/i18n/node-ecies-i18n-setup.js.map +1 -0
  62. package/src/i18n/node-keys.d.ts +57 -0
  63. package/src/i18n/node-keys.d.ts.map +1 -0
  64. package/src/i18n/node-keys.js +67 -0
  65. package/src/i18n/node-keys.js.map +1 -0
  66. package/src/i18n/translations/de.d.ts +3 -0
  67. package/src/i18n/translations/de.d.ts.map +1 -0
  68. package/src/i18n/translations/de.js +57 -0
  69. package/src/i18n/translations/de.js.map +1 -0
  70. package/src/i18n/translations/en-GB.d.ts +3 -0
  71. package/src/i18n/translations/en-GB.d.ts.map +1 -0
  72. package/src/i18n/translations/en-GB.js +61 -0
  73. package/src/i18n/translations/en-GB.js.map +1 -0
  74. package/src/i18n/translations/en-US.d.ts +6 -0
  75. package/src/i18n/translations/en-US.d.ts.map +1 -0
  76. package/src/i18n/translations/en-US.js +65 -0
  77. package/src/i18n/translations/en-US.js.map +1 -0
  78. package/src/i18n/translations/es.d.ts +3 -0
  79. package/src/i18n/translations/es.d.ts.map +1 -0
  80. package/src/i18n/translations/es.js +57 -0
  81. package/src/i18n/translations/es.js.map +1 -0
  82. package/src/i18n/translations/fr.d.ts +3 -0
  83. package/src/i18n/translations/fr.d.ts.map +1 -0
  84. package/src/i18n/translations/fr.js +57 -0
  85. package/src/i18n/translations/fr.js.map +1 -0
  86. package/src/i18n/translations/index.d.ts +9 -0
  87. package/src/i18n/translations/index.d.ts.map +1 -0
  88. package/src/i18n/translations/index.js +20 -0
  89. package/src/i18n/translations/index.js.map +1 -0
  90. package/src/i18n/translations/ja.d.ts +3 -0
  91. package/src/i18n/translations/ja.d.ts.map +1 -0
  92. package/src/i18n/translations/ja.js +57 -0
  93. package/src/i18n/translations/ja.js.map +1 -0
  94. package/src/i18n/translations/uk.d.ts +3 -0
  95. package/src/i18n/translations/uk.d.ts.map +1 -0
  96. package/src/i18n/translations/uk.js +57 -0
  97. package/src/i18n/translations/uk.js.map +1 -0
  98. package/src/i18n/translations/zh-cn.d.ts +3 -0
  99. package/src/i18n/translations/zh-cn.d.ts.map +1 -0
  100. package/src/i18n/translations/zh-cn.js +57 -0
  101. package/src/i18n/translations/zh-cn.js.map +1 -0
  102. package/src/i18n-setup.d.ts +26 -0
  103. package/src/i18n-setup.d.ts.map +1 -0
  104. package/src/i18n-setup.js +111 -0
  105. package/src/i18n-setup.js.map +1 -0
  106. package/src/index.d.ts +21 -0
  107. package/src/index.d.ts.map +1 -0
  108. package/src/index.js +36 -0
  109. package/src/index.js.map +1 -0
  110. package/src/interfaces/authenticated-cipher.d.ts +12 -0
  111. package/src/interfaces/authenticated-cipher.d.ts.map +1 -0
  112. package/src/interfaces/authenticated-cipher.js +3 -0
  113. package/src/interfaces/authenticated-cipher.js.map +1 -0
  114. package/src/interfaces/authenticated-decipher.d.ts +11 -0
  115. package/src/interfaces/authenticated-decipher.d.ts.map +1 -0
  116. package/src/interfaces/authenticated-decipher.js +3 -0
  117. package/src/interfaces/authenticated-decipher.js.map +1 -0
  118. package/src/interfaces/backend-member-operational.d.ts +48 -0
  119. package/src/interfaces/backend-member-operational.d.ts.map +1 -0
  120. package/src/interfaces/backend-member-operational.js +3 -0
  121. package/src/interfaces/backend-member-operational.js.map +1 -0
  122. package/src/interfaces/checksum-config.d.ts +5 -0
  123. package/src/interfaces/checksum-config.d.ts.map +1 -0
  124. package/src/interfaces/checksum-config.js +3 -0
  125. package/src/interfaces/checksum-config.js.map +1 -0
  126. package/src/interfaces/checksum-consts.d.ts +11 -0
  127. package/src/interfaces/checksum-consts.d.ts.map +1 -0
  128. package/src/interfaces/checksum-consts.js +3 -0
  129. package/src/interfaces/checksum-consts.js.map +1 -0
  130. package/src/interfaces/constants.d.ts +52 -0
  131. package/src/interfaces/constants.d.ts.map +1 -0
  132. package/src/interfaces/constants.js +3 -0
  133. package/src/interfaces/constants.js.map +1 -0
  134. package/src/interfaces/ecies-consts.d.ts +88 -0
  135. package/src/interfaces/ecies-consts.d.ts.map +1 -0
  136. package/src/interfaces/ecies-consts.js +3 -0
  137. package/src/interfaces/ecies-consts.js.map +1 -0
  138. package/src/interfaces/encrypted-chunk.d.ts +12 -0
  139. package/src/interfaces/encrypted-chunk.d.ts.map +1 -0
  140. package/src/interfaces/encrypted-chunk.js +3 -0
  141. package/src/interfaces/encrypted-chunk.js.map +1 -0
  142. package/src/interfaces/encryption-consts.d.ts +11 -0
  143. package/src/interfaces/encryption-consts.d.ts.map +1 -0
  144. package/src/interfaces/encryption-consts.js +3 -0
  145. package/src/interfaces/encryption-consts.js.map +1 -0
  146. package/src/interfaces/index.d.ts +31 -0
  147. package/src/interfaces/index.d.ts.map +1 -0
  148. package/src/interfaces/index.js +33 -0
  149. package/src/interfaces/index.js.map +1 -0
  150. package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.d.ts +6 -0
  151. package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.d.ts.map +1 -0
  152. package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.js +3 -0
  153. package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.js.map +1 -0
  154. package/src/interfaces/keyring-consts.d.ts +6 -0
  155. package/src/interfaces/keyring-consts.d.ts.map +1 -0
  156. package/src/interfaces/keyring-consts.js +3 -0
  157. package/src/interfaces/keyring-consts.js.map +1 -0
  158. package/src/interfaces/member-with-mnemonic.d.ts +7 -0
  159. package/src/interfaces/member-with-mnemonic.d.ts.map +1 -0
  160. package/src/interfaces/member-with-mnemonic.js +3 -0
  161. package/src/interfaces/member-with-mnemonic.js.map +1 -0
  162. package/src/interfaces/member.d.ts +47 -0
  163. package/src/interfaces/member.d.ts.map +1 -0
  164. package/src/interfaces/member.js +3 -0
  165. package/src/interfaces/member.js.map +1 -0
  166. package/src/interfaces/multi-encrypted-message.d.ts +8 -0
  167. package/src/interfaces/multi-encrypted-message.d.ts.map +1 -0
  168. package/src/interfaces/multi-encrypted-message.js +3 -0
  169. package/src/interfaces/multi-encrypted-message.js.map +1 -0
  170. package/src/interfaces/multi-encrypted-parsed-header.d.ts +27 -0
  171. package/src/interfaces/multi-encrypted-parsed-header.d.ts.map +1 -0
  172. package/src/interfaces/multi-encrypted-parsed-header.js +3 -0
  173. package/src/interfaces/multi-encrypted-parsed-header.js.map +1 -0
  174. package/src/interfaces/multi-recipient-chunk.d.ts +26 -0
  175. package/src/interfaces/multi-recipient-chunk.d.ts.map +1 -0
  176. package/src/interfaces/multi-recipient-chunk.js +15 -0
  177. package/src/interfaces/multi-recipient-chunk.js.map +1 -0
  178. package/src/interfaces/pbkdf-profiles.d.ts +6 -0
  179. package/src/interfaces/pbkdf-profiles.d.ts.map +1 -0
  180. package/src/interfaces/pbkdf-profiles.js +3 -0
  181. package/src/interfaces/pbkdf-profiles.js.map +1 -0
  182. package/src/interfaces/pbkdf2-result.d.ts +6 -0
  183. package/src/interfaces/pbkdf2-result.d.ts.map +1 -0
  184. package/src/interfaces/pbkdf2-result.js +3 -0
  185. package/src/interfaces/pbkdf2-result.js.map +1 -0
  186. package/src/interfaces/signing-key-private-key-info.d.ts +11 -0
  187. package/src/interfaces/signing-key-private-key-info.d.ts.map +1 -0
  188. package/src/interfaces/signing-key-private-key-info.js +3 -0
  189. package/src/interfaces/signing-key-private-key-info.js.map +1 -0
  190. package/src/interfaces/simple-keypair-buffer.d.ts +6 -0
  191. package/src/interfaces/simple-keypair-buffer.d.ts.map +1 -0
  192. package/src/interfaces/simple-keypair-buffer.js +3 -0
  193. package/src/interfaces/simple-keypair-buffer.js.map +1 -0
  194. package/src/interfaces/simple-keypair.d.ts +6 -0
  195. package/src/interfaces/simple-keypair.d.ts.map +1 -0
  196. package/src/interfaces/simple-keypair.js +3 -0
  197. package/src/interfaces/simple-keypair.js.map +1 -0
  198. package/src/interfaces/simple-public-key-only-buffer.d.ts +4 -0
  199. package/src/interfaces/simple-public-key-only-buffer.d.ts.map +1 -0
  200. package/src/interfaces/simple-public-key-only-buffer.js +3 -0
  201. package/src/interfaces/simple-public-key-only-buffer.js.map +1 -0
  202. package/src/interfaces/simple-public-key-only.d.ts +4 -0
  203. package/src/interfaces/simple-public-key-only.d.ts.map +1 -0
  204. package/src/interfaces/simple-public-key-only.js +3 -0
  205. package/src/interfaces/simple-public-key-only.js.map +1 -0
  206. package/src/interfaces/single-encrypted-parsed-header.d.ts +35 -0
  207. package/src/interfaces/single-encrypted-parsed-header.d.ts.map +1 -0
  208. package/src/interfaces/single-encrypted-parsed-header.js +3 -0
  209. package/src/interfaces/single-encrypted-parsed-header.js.map +1 -0
  210. package/src/interfaces/stream-config.d.ts +6 -0
  211. package/src/interfaces/stream-config.d.ts.map +1 -0
  212. package/src/interfaces/stream-config.js +8 -0
  213. package/src/interfaces/stream-config.js.map +1 -0
  214. package/src/interfaces/stream-progress.d.ts +22 -0
  215. package/src/interfaces/stream-progress.d.ts.map +1 -0
  216. package/src/interfaces/stream-progress.js +3 -0
  217. package/src/interfaces/stream-progress.js.map +1 -0
  218. package/src/interfaces/voting-consts.d.ts +86 -0
  219. package/src/interfaces/voting-consts.d.ts.map +1 -0
  220. package/src/interfaces/voting-consts.js +27 -0
  221. package/src/interfaces/voting-consts.js.map +1 -0
  222. package/src/interfaces/wallet-seed.d.ts +7 -0
  223. package/src/interfaces/wallet-seed.d.ts.map +1 -0
  224. package/src/interfaces/wallet-seed.js +3 -0
  225. package/src/interfaces/wallet-seed.js.map +1 -0
  226. package/src/interfaces/wrapped-key-consts.d.ts +7 -0
  227. package/src/interfaces/wrapped-key-consts.d.ts.map +1 -0
  228. package/src/interfaces/wrapped-key-consts.js +3 -0
  229. package/src/interfaces/wrapped-key-consts.js.map +1 -0
  230. package/src/isolated-private.d.ts +62 -0
  231. package/src/isolated-private.d.ts.map +1 -0
  232. package/src/isolated-private.js +139 -0
  233. package/src/isolated-private.js.map +1 -0
  234. package/src/isolated-public.d.ts +118 -0
  235. package/src/isolated-public.d.ts.map +1 -0
  236. package/src/isolated-public.js +317 -0
  237. package/src/isolated-public.js.map +1 -0
  238. package/src/lib/crypto-container.d.ts +13 -0
  239. package/src/lib/crypto-container.d.ts.map +1 -0
  240. package/src/lib/crypto-container.js +32 -0
  241. package/src/lib/crypto-container.js.map +1 -0
  242. package/src/lib/index.d.ts +4 -0
  243. package/src/lib/index.d.ts.map +1 -0
  244. package/src/lib/index.js +7 -0
  245. package/src/lib/index.js.map +1 -0
  246. package/src/lib/invariant-validator.d.ts +69 -0
  247. package/src/lib/invariant-validator.d.ts.map +1 -0
  248. package/src/lib/invariant-validator.js +98 -0
  249. package/src/lib/invariant-validator.js.map +1 -0
  250. package/src/lib/invariants/index.d.ts +8 -0
  251. package/src/lib/invariants/index.d.ts.map +1 -0
  252. package/src/lib/invariants/index.js +12 -0
  253. package/src/lib/invariants/index.js.map +1 -0
  254. package/src/lib/invariants/recipient-id-consistency.d.ts +41 -0
  255. package/src/lib/invariants/recipient-id-consistency.d.ts.map +1 -0
  256. package/src/lib/invariants/recipient-id-consistency.js +75 -0
  257. package/src/lib/invariants/recipient-id-consistency.js.map +1 -0
  258. package/src/member.d.ts +100 -0
  259. package/src/member.d.ts.map +1 -0
  260. package/src/member.js +345 -0
  261. package/src/member.js.map +1 -0
  262. package/src/services/aes-gcm.d.ts +66 -0
  263. package/src/services/aes-gcm.d.ts.map +1 -0
  264. package/src/services/aes-gcm.js +161 -0
  265. package/src/services/aes-gcm.js.map +1 -0
  266. package/src/services/chunk-processor.d.ts +15 -0
  267. package/src/services/chunk-processor.d.ts.map +1 -0
  268. package/src/services/chunk-processor.js +36 -0
  269. package/src/services/chunk-processor.js.map +1 -0
  270. package/src/services/ecies/crypto-core.d.ts +104 -0
  271. package/src/services/ecies/crypto-core.d.ts.map +1 -0
  272. package/src/services/ecies/crypto-core.js +234 -0
  273. package/src/services/ecies/crypto-core.js.map +1 -0
  274. package/src/services/ecies/file.d.ts +30 -0
  275. package/src/services/ecies/file.d.ts.map +1 -0
  276. package/src/services/ecies/file.js +112 -0
  277. package/src/services/ecies/file.js.map +1 -0
  278. package/src/services/ecies/index.d.ts +8 -0
  279. package/src/services/ecies/index.d.ts.map +1 -0
  280. package/src/services/ecies/index.js +11 -0
  281. package/src/services/ecies/index.js.map +1 -0
  282. package/src/services/ecies/multi-recipient.d.ts +84 -0
  283. package/src/services/ecies/multi-recipient.d.ts.map +1 -0
  284. package/src/services/ecies/multi-recipient.js +502 -0
  285. package/src/services/ecies/multi-recipient.js.map +1 -0
  286. package/src/services/ecies/service.d.ts +75 -0
  287. package/src/services/ecies/service.d.ts.map +1 -0
  288. package/src/services/ecies/service.js +152 -0
  289. package/src/services/ecies/service.js.map +1 -0
  290. package/src/services/ecies/signature.d.ts +38 -0
  291. package/src/services/ecies/signature.d.ts.map +1 -0
  292. package/src/services/ecies/signature.js +70 -0
  293. package/src/services/ecies/signature.js.map +1 -0
  294. package/src/services/ecies/single-recipient.d.ts +83 -0
  295. package/src/services/ecies/single-recipient.d.ts.map +1 -0
  296. package/src/services/ecies/single-recipient.js +452 -0
  297. package/src/services/ecies/single-recipient.js.map +1 -0
  298. package/src/services/ecies/utilities.d.ts +33 -0
  299. package/src/services/ecies/utilities.d.ts.map +1 -0
  300. package/src/services/ecies/utilities.js +91 -0
  301. package/src/services/ecies/utilities.js.map +1 -0
  302. package/src/services/encryption-stream.d.ts +33 -0
  303. package/src/services/encryption-stream.d.ts.map +1 -0
  304. package/src/services/encryption-stream.js +211 -0
  305. package/src/services/encryption-stream.js.map +1 -0
  306. package/src/services/index.d.ts +9 -0
  307. package/src/services/index.d.ts.map +1 -0
  308. package/src/services/index.js +14 -0
  309. package/src/services/index.js.map +1 -0
  310. package/src/services/multi-recipient-processor.d.ts +72 -0
  311. package/src/services/multi-recipient-processor.d.ts.map +1 -0
  312. package/src/services/multi-recipient-processor.js +325 -0
  313. package/src/services/multi-recipient-processor.js.map +1 -0
  314. package/src/services/pbkdf2.d.ts +105 -0
  315. package/src/services/pbkdf2.d.ts.map +1 -0
  316. package/src/services/pbkdf2.js +191 -0
  317. package/src/services/pbkdf2.js.map +1 -0
  318. package/src/services/progress-tracker.d.ts +14 -0
  319. package/src/services/progress-tracker.d.ts.map +1 -0
  320. package/src/services/progress-tracker.js +94 -0
  321. package/src/services/progress-tracker.js.map +1 -0
  322. package/src/services/voting.service.d.ts +262 -0
  323. package/src/services/voting.service.d.ts.map +1 -0
  324. package/src/services/voting.service.js +791 -0
  325. package/src/services/voting.service.js.map +1 -0
  326. package/src/test-mocks/index.d.ts +2 -0
  327. package/src/test-mocks/index.d.ts.map +1 -0
  328. package/src/test-mocks/index.js +5 -0
  329. package/src/test-mocks/index.js.map +1 -0
  330. package/src/test-mocks/mock-backend-member.d.ts +76 -0
  331. package/src/test-mocks/mock-backend-member.d.ts.map +1 -0
  332. package/src/test-mocks/mock-backend-member.js +139 -0
  333. package/src/test-mocks/mock-backend-member.js.map +1 -0
  334. package/src/testing.d.ts +2 -0
  335. package/src/testing.d.ts.map +1 -0
  336. package/src/testing.js +6 -0
  337. package/src/testing.js.map +1 -0
  338. package/src/types/id-guards.d.ts +39 -0
  339. package/src/types/id-guards.d.ts.map +1 -0
  340. package/src/types/id-guards.js +91 -0
  341. package/src/types/id-guards.js.map +1 -0
  342. package/src/types/index.d.ts +2 -0
  343. package/src/types/index.d.ts.map +1 -0
  344. package/src/types/index.js +5 -0
  345. package/src/types/index.js.map +1 -0
  346. package/src/types.d.ts +26 -0
  347. package/src/types.d.ts.map +1 -0
  348. package/src/types.js +6 -0
  349. package/src/types.js.map +1 -0
  350. package/src/utils.d.ts +11 -0
  351. package/src/utils.d.ts.map +1 -0
  352. package/src/utils.js +82 -0
  353. package/src/utils.js.map +1 -0
@@ -0,0 +1,14 @@
1
+ import { IStreamProgress } from '../interfaces/stream-progress';
2
+ export declare class ProgressTracker {
3
+ private readonly totalBytes?;
4
+ private startTime;
5
+ private lastUpdateTime;
6
+ private bytesProcessed;
7
+ private chunksProcessed;
8
+ private recentThroughputs;
9
+ private readonly maxThroughputSamples;
10
+ constructor(totalBytes?: number | undefined);
11
+ update(chunkBytes: number): IStreamProgress;
12
+ getProgress(): IStreamProgress;
13
+ }
14
+ //# sourceMappingURL=progress-tracker.d.ts.map
@@ -0,0 +1 @@
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;IAQd,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAPxC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,iBAAiB,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAK;gBAEb,UAAU,CAAC,EAAE,MAAM,YAAA;IAKzC,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe;IA+D3C,WAAW,IAAI,eAAe;CA+BtC"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProgressTracker = void 0;
4
+ class ProgressTracker {
5
+ totalBytes;
6
+ startTime;
7
+ lastUpdateTime;
8
+ bytesProcessed = 0;
9
+ chunksProcessed = 0;
10
+ recentThroughputs = [];
11
+ maxThroughputSamples = 5;
12
+ constructor(totalBytes) {
13
+ this.totalBytes = totalBytes;
14
+ this.startTime = Date.now();
15
+ this.lastUpdateTime = this.startTime;
16
+ }
17
+ update(chunkBytes) {
18
+ if (chunkBytes < 0) {
19
+ throw new Error('Chunk bytes cannot be negative');
20
+ }
21
+ this.bytesProcessed += chunkBytes;
22
+ this.chunksProcessed++;
23
+ const now = Date.now();
24
+ const elapsedTime = Math.max(0, now - this.startTime);
25
+ const timeSinceLastUpdate = Math.max(0, now - this.lastUpdateTime);
26
+ // Calculate instantaneous throughput
27
+ const timeWindow = timeSinceLastUpdate > 0 ? timeSinceLastUpdate : Math.max(1, elapsedTime);
28
+ if (chunkBytes > 0 && timeWindow > 0) {
29
+ const instantThroughput = (chunkBytes / timeWindow) * 1000;
30
+ // Guard against unrealistic throughput (>10GB/s)
31
+ if (isFinite(instantThroughput) &&
32
+ instantThroughput < 10 * 1024 * 1024 * 1024) {
33
+ this.recentThroughputs.push(instantThroughput);
34
+ if (this.recentThroughputs.length > this.maxThroughputSamples) {
35
+ this.recentThroughputs.shift();
36
+ }
37
+ }
38
+ }
39
+ this.lastUpdateTime = now;
40
+ // Calculate average throughput
41
+ const throughputBytesPerSec = this.recentThroughputs.length > 0
42
+ ? this.recentThroughputs.reduce((a, b) => a + b, 0) /
43
+ this.recentThroughputs.length
44
+ : 0;
45
+ // Calculate ETA
46
+ let estimatedTimeRemaining;
47
+ if (this.totalBytes &&
48
+ throughputBytesPerSec > 0 &&
49
+ this.bytesProcessed < this.totalBytes) {
50
+ const remainingBytes = this.totalBytes - this.bytesProcessed;
51
+ estimatedTimeRemaining = Math.max(0, remainingBytes / throughputBytesPerSec);
52
+ }
53
+ return {
54
+ bytesProcessed: this.bytesProcessed,
55
+ totalBytes: this.totalBytes,
56
+ chunksProcessed: this.chunksProcessed,
57
+ percentComplete: this.totalBytes
58
+ ? Math.min(100, (this.bytesProcessed / this.totalBytes) * 100)
59
+ : undefined,
60
+ throughputBytesPerSec,
61
+ estimatedTimeRemaining,
62
+ startTime: this.startTime,
63
+ elapsedTime,
64
+ };
65
+ }
66
+ getProgress() {
67
+ const elapsedTime = Math.max(0, Date.now() - this.startTime);
68
+ const throughputBytesPerSec = this.recentThroughputs.length > 0
69
+ ? this.recentThroughputs.reduce((a, b) => a + b, 0) /
70
+ this.recentThroughputs.length
71
+ : 0;
72
+ let estimatedTimeRemaining;
73
+ if (this.totalBytes &&
74
+ throughputBytesPerSec > 0 &&
75
+ this.bytesProcessed < this.totalBytes) {
76
+ const remainingBytes = this.totalBytes - this.bytesProcessed;
77
+ estimatedTimeRemaining = Math.max(0, remainingBytes / throughputBytesPerSec);
78
+ }
79
+ return {
80
+ bytesProcessed: this.bytesProcessed,
81
+ totalBytes: this.totalBytes,
82
+ chunksProcessed: this.chunksProcessed,
83
+ percentComplete: this.totalBytes
84
+ ? Math.min(100, (this.bytesProcessed / this.totalBytes) * 100)
85
+ : undefined,
86
+ throughputBytesPerSec,
87
+ estimatedTimeRemaining,
88
+ startTime: this.startTime,
89
+ elapsedTime,
90
+ };
91
+ }
92
+ }
93
+ exports.ProgressTracker = ProgressTracker;
94
+ //# sourceMappingURL=progress-tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-tracker.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/services/progress-tracker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,262 @@
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 { IVotingService, IsolatedPrivateKey as SharedIsolatedPrivateKey, IsolatedPublicKey as SharedIsolatedPublicKey } from '@digitaldefiance/ecies-lib';
33
+ import type { KeyPair, PrivateKey, PublicKey } from 'paillier-bigint';
34
+ import { type IVotingConsts, VOTING } from '../interfaces/voting-consts';
35
+ export type { IVotingConsts };
36
+ export { VOTING };
37
+ export interface DeriveVotingKeysOptions {
38
+ /** Curve name (default: 'secp256k1') */
39
+ curveName?: string;
40
+ /** ECIES public key magic byte (default: 0x04) */
41
+ publicKeyMagic?: number;
42
+ /** Raw public key length without prefix (default: 64) */
43
+ rawPublicKeyLength?: number;
44
+ /** Public key length with prefix (default: 65) */
45
+ publicKeyLength?: number;
46
+ /** HMAC algorithm for HKDF (default: 'sha512') */
47
+ hmacAlgorithm?: string;
48
+ /** HKDF info string (default: 'PaillierPrimeGen') */
49
+ hkdfInfo?: string;
50
+ /** HKDF output length (default: 64) */
51
+ hkdfLength?: number;
52
+ /** Key pair bit length (default: 3072) */
53
+ keypairBitLength?: number;
54
+ /** Prime test iterations (default: 256) */
55
+ primeTestIterations?: number;
56
+ /** Max attempts to generate prime (default: 10000) */
57
+ maxPrimeAttempts?: number;
58
+ }
59
+ /**
60
+ * Miller-Rabin primality test with deterministic witnesses
61
+ *
62
+ * SECURITY: With k=256 rounds, probability of false positive is < 2^-512
63
+ *
64
+ * @param n - Number to test for primality
65
+ * @param k - Number of rounds (witnesses to test)
66
+ * @returns true if n is probably prime, false if definitely composite
67
+ */
68
+ export declare function millerRabinTest(n: bigint, k: number): boolean;
69
+ /**
70
+ * Modular exponentiation: (base^exp) mod mod
71
+ */
72
+ export declare function modPow(base: bigint, exp: bigint, mod: bigint): bigint;
73
+ /**
74
+ * Extended Euclidean algorithm to find modular multiplicative inverse
75
+ */
76
+ export declare function modInverse(a: bigint, m: bigint): bigint;
77
+ /**
78
+ * Greatest common divisor using Euclidean algorithm
79
+ */
80
+ export declare function gcd(a: bigint, b: bigint): bigint;
81
+ /**
82
+ * Least common multiple
83
+ */
84
+ export declare function lcm(a: bigint, b: bigint): bigint;
85
+ /**
86
+ * HKDF implementation following RFC 5869 using Node.js crypto
87
+ *
88
+ * SECURITY: This is a cryptographically secure key derivation function.
89
+ * - Provides pseudorandomness indistinguishable from random
90
+ * - One-way: computationally infeasible to recover IKM from OKM
91
+ * - Domain separation via 'info' parameter
92
+ *
93
+ * @param secret - The input key material (IKM)
94
+ * @param salt - Optional salt value (non-secret random value)
95
+ * @param info - Context string for domain separation
96
+ * @param length - Length of output keying material in bytes
97
+ * @param hmacAlgorithm - HMAC algorithm to use (default: 'sha512')
98
+ * @returns Derived key material (OKM)
99
+ */
100
+ export declare function hkdf(secret: Uint8Array, salt: Uint8Array | null, info: string, length: number, hmacAlgorithm?: string): Uint8Array;
101
+ /**
102
+ * Secure Deterministic Random Bit Generator using HMAC-DRBG (SP 800-90A)
103
+ * This is a simplified version focused on the specific needs of prime generation.
104
+ */
105
+ export declare class SecureDeterministicDRBG {
106
+ private v;
107
+ private k;
108
+ private readonly hmacAlgorithm;
109
+ constructor(seed: Uint8Array, hmacAlgorithm?: string);
110
+ private update;
111
+ generate(numBytes: number): Buffer;
112
+ }
113
+ /**
114
+ * Generate a deterministic prime number using DRBG
115
+ * @param drbg - Deterministic random bit generator
116
+ * @param numBits - Number of bits in the prime
117
+ * @param primeTestIterations - Miller-Rabin iterations (default: 256)
118
+ * @param maxAttempts - Maximum attempts (default: 10000)
119
+ * @returns A prime number of specified bit length
120
+ */
121
+ export declare function generateDeterministicPrime(drbg: SecureDeterministicDRBG, numBits: number, primeTestIterations?: number, maxAttempts?: number): bigint;
122
+ /**
123
+ * Generate a deterministic Paillier key pair from a seed
124
+ * @param seed - Seed bytes for deterministic generation
125
+ * @param bits - Key pair bit length (default: 3072)
126
+ * @param primeTestIterations - Miller-Rabin iterations (default: 256)
127
+ * @returns Paillier key pair
128
+ */
129
+ export declare function generateDeterministicKeyPair(seed: Uint8Array, bits?: number, primeTestIterations?: number): KeyPair;
130
+ /**
131
+ * Derive Paillier voting keys from ECDH key pair.
132
+ * This is the core bridge function that connects ECDSA/ECDH keys
133
+ * to homomorphic encryption keys for secure voting systems.
134
+ *
135
+ * SECURITY PROPERTIES:
136
+ * - One-way: Computationally infeasible to recover ECDH keys from Paillier keys
137
+ * - Deterministic: Same ECDH keys always produce same Paillier keys (enables key recovery)
138
+ * - Collision-resistant: Different ECDH keys produce different Paillier keys (Birthday bound ~2^128)
139
+ * - Domain-separated: Cryptographically bound to voting purpose via HKDF info="PaillierPrimeGen"
140
+ *
141
+ * SECURITY LEVEL: ~128 bits (equivalent to 3072-bit RSA)
142
+ * - ECDH: secp256k1 curve (~128-bit security)
143
+ * - HKDF: SHA-512 (512-bit security against preimage)
144
+ * - Paillier: 3072-bit modulus (NIST recommended for 128-bit security)
145
+ *
146
+ * @param ecdhPrivKey - ECDH private key (32 bytes for secp256k1)
147
+ * @param ecdhPubKey - ECDH public key (64 or 65 bytes, with or without 0x04 prefix)
148
+ * @param options - Configuration options
149
+ * @returns Paillier key pair for voting operations
150
+ */
151
+ export declare function deriveVotingKeysFromECDH(ecdhPrivKey: Uint8Array, ecdhPubKey: Uint8Array, options?: DeriveVotingKeysOptions): KeyPair;
152
+ /**
153
+ * Voting service for deriving and managing Paillier voting keys from ECDH keys.
154
+ */
155
+ export declare class VotingService implements IVotingService {
156
+ private static instance?;
157
+ /**
158
+ * Get singleton instance of VotingService
159
+ */
160
+ static getInstance(): VotingService;
161
+ /**
162
+ * Derive Paillier voting keys from ECDH key pair.
163
+ *
164
+ * @param ecdhPrivKey - ECDH private key (32 bytes for secp256k1)
165
+ * @param ecdhPubKey - ECDH public key (64 or 65 bytes)
166
+ * @param options - Configuration options
167
+ * @returns Paillier key pair for voting operations
168
+ */
169
+ deriveVotingKeysFromECDH(ecdhPrivKey: Uint8Array, ecdhPubKey: Uint8Array, options?: DeriveVotingKeysOptions): Promise<KeyPair>;
170
+ /**
171
+ * HKDF key derivation function (RFC 5869)
172
+ */
173
+ hkdf(secret: Uint8Array, salt: Uint8Array | null, info: string, length: number, hmacAlgorithm?: string): Uint8Array;
174
+ /**
175
+ * Miller-Rabin primality test
176
+ */
177
+ millerRabinTest(n: bigint, k: number): boolean;
178
+ /**
179
+ * Modular exponentiation
180
+ */
181
+ modPow(base: bigint, exp: bigint, mod: bigint): bigint;
182
+ /**
183
+ * Modular multiplicative inverse
184
+ */
185
+ modInverse(a: bigint, m: bigint): bigint;
186
+ /**
187
+ * Greatest common divisor
188
+ */
189
+ gcd(a: bigint, b: bigint): bigint;
190
+ /**
191
+ * Least common multiple
192
+ */
193
+ lcm(a: bigint, b: bigint): bigint;
194
+ /**
195
+ * Generate a deterministic prime using DRBG
196
+ */
197
+ generateDeterministicPrime(drbg: SecureDeterministicDRBG, numBits: number, primeTestIterations?: number, maxAttempts?: number): bigint;
198
+ /**
199
+ * Generate a deterministic Paillier key pair from seed
200
+ */
201
+ generateDeterministicKeyPair(seed: Uint8Array, bits?: number, primeTestIterations?: number): Promise<KeyPair>;
202
+ /**
203
+ * Create a secure deterministic random bit generator
204
+ */
205
+ createDRBG(seed: Uint8Array, hmacAlgorithm?: string): SecureDeterministicDRBG;
206
+ /**
207
+ * Serialize a Paillier public key to buffer
208
+ * Format: [magic:4][version:1][keyId:32][n_length:4][n:variable]
209
+ *
210
+ * SECURITY: Public keys are safe to share. This serialization
211
+ * format is deterministic and preserves all key information.
212
+ */
213
+ votingPublicKeyToBuffer(publicKey: PublicKey): Buffer;
214
+ /**
215
+ * Deserialize a Paillier public key from buffer
216
+ * Format: [magic:4][version:1][keyId:32][n_length:4][n:variable]
217
+ */
218
+ bufferToVotingPublicKey(buffer: Buffer): Promise<PublicKey>;
219
+ /**
220
+ * Serialize a Paillier private key to buffer
221
+ * Format: [magic:4][version:1][lambda_length:4][lambda:variable][mu_length:4][mu:variable]
222
+ *
223
+ * SECURITY WARNING: Private keys must be kept secret!
224
+ * - Only serialize for secure storage or transmission
225
+ * - Encrypt serialized keys before storing or transmitting
226
+ * - Clear sensitive memory after use
227
+ * - Consider using hardware security modules (HSM) for production
228
+ */
229
+ votingPrivateKeyToBuffer(privateKey: PrivateKey): Buffer;
230
+ /**
231
+ * Deserialize a Paillier private key from buffer
232
+ * Format: [magic:4][version:1][lambda_length:4][lambda:variable][mu_length:4][mu:variable]
233
+ */
234
+ bufferToVotingPrivateKey(buffer: Buffer, publicKey: PublicKey): Promise<PrivateKey>;
235
+ /**
236
+ * Serialize an IsolatedPublicKey to Buffer
237
+ * Format: [magic:4][version:1][keyId:32][instanceId:32][n_length:4][n:variable]
238
+ */
239
+ isolatedPublicKeyToBuffer(publicKey: SharedIsolatedPublicKey): Buffer;
240
+ /**
241
+ * Deserialize an IsolatedPublicKey from Buffer
242
+ * Format: [magic:4][version:1][keyId:32][instanceId:32][n_length:4][n:variable]
243
+ */
244
+ bufferToIsolatedPublicKey(buffer: Buffer): Promise<SharedIsolatedPublicKey>;
245
+ /**
246
+ * Serialize an IsolatedPrivateKey to Buffer
247
+ * Format: [magic:4][version:1][lambda_length:4][lambda:variable][mu_length:4][mu:variable]
248
+ */
249
+ isolatedPrivateKeyToBuffer(privateKey: SharedIsolatedPrivateKey): Buffer;
250
+ /**
251
+ * Deserialize an IsolatedPrivateKey from Buffer
252
+ * Format: [magic:4][version:1][lambda_length:4][lambda:variable][mu_length:4][mu:variable]
253
+ */
254
+ bufferToIsolatedPrivateKey(buffer: Buffer, publicKey: SharedIsolatedPublicKey): Promise<SharedIsolatedPrivateKey>;
255
+ private hexToBuffer;
256
+ private sha256;
257
+ serializePublicKey(publicKey: PublicKey): Buffer;
258
+ deserializePublicKey(buffer: Buffer | Uint8Array): Promise<PublicKey>;
259
+ serializePrivateKey(privateKey: PrivateKey): Buffer;
260
+ deserializePrivateKey(buffer: Buffer | Uint8Array, publicKey: PublicKey): Promise<PrivateKey>;
261
+ }
262
+ //# sourceMappingURL=voting.service.d.ts.map
@@ -0,0 +1 @@
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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"}