@digitaldefiance/node-ecies-lib 4.4.8 → 4.4.10

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 (385) hide show
  1. package/package.json +6 -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.ts → index.d.ts} +1 -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 +183 -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.ts → index.d.ts} +1 -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 +2 -0
  31. package/src/enumerations/index.d.ts.map +1 -0
  32. package/src/enumerations/index.js +5 -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/i18n/ecies-i18n-factory.d.ts +28 -0
  39. package/src/i18n/ecies-i18n-factory.d.ts.map +1 -0
  40. package/src/i18n/ecies-i18n-factory.js +89 -0
  41. package/src/i18n/ecies-i18n-factory.js.map +1 -0
  42. package/src/i18n/{index.ts → index.d.ts} +1 -3
  43. package/src/i18n/index.d.ts.map +1 -0
  44. package/src/i18n/index.js +8 -0
  45. package/src/i18n/index.js.map +1 -0
  46. package/src/i18n/node-ecies-i18n-setup.d.ts +5 -0
  47. package/src/i18n/node-ecies-i18n-setup.d.ts.map +1 -0
  48. package/src/i18n/node-ecies-i18n-setup.js +46 -0
  49. package/src/i18n/node-ecies-i18n-setup.js.map +1 -0
  50. package/src/i18n/node-keys.d.ts +57 -0
  51. package/src/i18n/node-keys.d.ts.map +1 -0
  52. package/src/i18n/node-keys.js +67 -0
  53. package/src/i18n/node-keys.js.map +1 -0
  54. package/src/i18n/translations/de.d.ts +3 -0
  55. package/src/i18n/translations/de.d.ts.map +1 -0
  56. package/src/i18n/translations/de.js +57 -0
  57. package/src/i18n/translations/de.js.map +1 -0
  58. package/src/i18n/translations/en-GB.d.ts +3 -0
  59. package/src/i18n/translations/en-GB.d.ts.map +1 -0
  60. package/src/i18n/translations/en-GB.js +61 -0
  61. package/src/i18n/translations/en-GB.js.map +1 -0
  62. package/src/i18n/translations/en-US.d.ts +6 -0
  63. package/src/i18n/translations/en-US.d.ts.map +1 -0
  64. package/src/i18n/translations/en-US.js +65 -0
  65. package/src/i18n/translations/en-US.js.map +1 -0
  66. package/src/i18n/translations/es.d.ts +3 -0
  67. package/src/i18n/translations/es.d.ts.map +1 -0
  68. package/src/i18n/translations/es.js +57 -0
  69. package/src/i18n/translations/es.js.map +1 -0
  70. package/src/i18n/translations/fr.d.ts +3 -0
  71. package/src/i18n/translations/fr.d.ts.map +1 -0
  72. package/src/i18n/translations/fr.js +57 -0
  73. package/src/i18n/translations/fr.js.map +1 -0
  74. package/src/i18n/translations/{index.ts → index.d.ts} +1 -0
  75. package/src/i18n/translations/index.d.ts.map +1 -0
  76. package/src/i18n/translations/index.js +20 -0
  77. package/src/i18n/translations/index.js.map +1 -0
  78. package/src/i18n/translations/ja.d.ts +3 -0
  79. package/src/i18n/translations/ja.d.ts.map +1 -0
  80. package/src/i18n/translations/ja.js +57 -0
  81. package/src/i18n/translations/ja.js.map +1 -0
  82. package/src/i18n/translations/uk.d.ts +3 -0
  83. package/src/i18n/translations/uk.d.ts.map +1 -0
  84. package/src/i18n/translations/uk.js +57 -0
  85. package/src/i18n/translations/uk.js.map +1 -0
  86. package/src/i18n/translations/zh-cn.d.ts +3 -0
  87. package/src/i18n/translations/zh-cn.d.ts.map +1 -0
  88. package/src/i18n/translations/zh-cn.js +57 -0
  89. package/src/i18n/translations/zh-cn.js.map +1 -0
  90. package/src/{index.ts → index.d.ts} +1 -5
  91. package/src/index.d.ts.map +1 -0
  92. package/src/index.js +31 -0
  93. package/src/index.js.map +1 -0
  94. package/src/interfaces/authenticated-cipher.d.ts +12 -0
  95. package/src/interfaces/authenticated-cipher.d.ts.map +1 -0
  96. package/src/interfaces/authenticated-cipher.js +3 -0
  97. package/src/interfaces/authenticated-cipher.js.map +1 -0
  98. package/src/interfaces/authenticated-decipher.d.ts +11 -0
  99. package/src/interfaces/authenticated-decipher.d.ts.map +1 -0
  100. package/src/interfaces/authenticated-decipher.js +3 -0
  101. package/src/interfaces/authenticated-decipher.js.map +1 -0
  102. package/src/interfaces/backend-member-operational.d.ts +48 -0
  103. package/src/interfaces/backend-member-operational.d.ts.map +1 -0
  104. package/src/interfaces/backend-member-operational.js +3 -0
  105. package/src/interfaces/backend-member-operational.js.map +1 -0
  106. package/src/interfaces/checksum-config.d.ts +5 -0
  107. package/src/interfaces/checksum-config.d.ts.map +1 -0
  108. package/src/interfaces/checksum-config.js +3 -0
  109. package/src/interfaces/checksum-config.js.map +1 -0
  110. package/src/interfaces/checksum-consts.d.ts +11 -0
  111. package/src/interfaces/checksum-consts.d.ts.map +1 -0
  112. package/src/interfaces/checksum-consts.js +3 -0
  113. package/src/interfaces/checksum-consts.js.map +1 -0
  114. package/src/interfaces/constants.d.ts +52 -0
  115. package/src/interfaces/constants.d.ts.map +1 -0
  116. package/src/interfaces/constants.js +3 -0
  117. package/src/interfaces/constants.js.map +1 -0
  118. package/src/interfaces/ecies-consts.d.ts +88 -0
  119. package/src/interfaces/ecies-consts.d.ts.map +1 -0
  120. package/src/interfaces/ecies-consts.js +3 -0
  121. package/src/interfaces/ecies-consts.js.map +1 -0
  122. package/src/interfaces/encrypted-chunk.d.ts +12 -0
  123. package/src/interfaces/encrypted-chunk.d.ts.map +1 -0
  124. package/src/interfaces/encrypted-chunk.js +3 -0
  125. package/src/interfaces/encrypted-chunk.js.map +1 -0
  126. package/src/interfaces/encryption-consts.d.ts +11 -0
  127. package/src/interfaces/encryption-consts.d.ts.map +1 -0
  128. package/src/interfaces/encryption-consts.js +3 -0
  129. package/src/interfaces/encryption-consts.js.map +1 -0
  130. package/src/interfaces/{index.ts → index.d.ts} +1 -0
  131. package/src/interfaces/index.d.ts.map +1 -0
  132. package/src/interfaces/index.js +30 -0
  133. package/src/interfaces/index.js.map +1 -0
  134. package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.d.ts +6 -0
  135. package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.d.ts.map +1 -0
  136. package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.js +3 -0
  137. package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.js.map +1 -0
  138. package/src/interfaces/keyring-consts.d.ts +6 -0
  139. package/src/interfaces/keyring-consts.d.ts.map +1 -0
  140. package/src/interfaces/keyring-consts.js +3 -0
  141. package/src/interfaces/keyring-consts.js.map +1 -0
  142. package/src/interfaces/{member-with-mnemonic.ts → member-with-mnemonic.d.ts} +3 -3
  143. package/src/interfaces/member-with-mnemonic.d.ts.map +1 -0
  144. package/src/interfaces/member-with-mnemonic.js +3 -0
  145. package/src/interfaces/member-with-mnemonic.js.map +1 -0
  146. package/src/interfaces/member.d.ts +47 -0
  147. package/src/interfaces/member.d.ts.map +1 -0
  148. package/src/interfaces/member.js +3 -0
  149. package/src/interfaces/member.js.map +1 -0
  150. package/src/interfaces/{multi-encrypted-message.ts → multi-encrypted-message.d.ts} +5 -5
  151. package/src/interfaces/multi-encrypted-message.d.ts.map +1 -0
  152. package/src/interfaces/multi-encrypted-message.js +3 -0
  153. package/src/interfaces/multi-encrypted-message.js.map +1 -0
  154. package/src/interfaces/multi-encrypted-parsed-header.d.ts +27 -0
  155. package/src/interfaces/multi-encrypted-parsed-header.d.ts.map +1 -0
  156. package/src/interfaces/multi-encrypted-parsed-header.js +3 -0
  157. package/src/interfaces/multi-encrypted-parsed-header.js.map +1 -0
  158. package/src/interfaces/multi-recipient-chunk.d.ts +26 -0
  159. package/src/interfaces/multi-recipient-chunk.d.ts.map +1 -0
  160. package/src/interfaces/multi-recipient-chunk.js +13 -0
  161. package/src/interfaces/multi-recipient-chunk.js.map +1 -0
  162. package/src/interfaces/{pbkdf-profiles.ts → pbkdf-profiles.d.ts} +2 -2
  163. package/src/interfaces/pbkdf-profiles.d.ts.map +1 -0
  164. package/src/interfaces/pbkdf-profiles.js +3 -0
  165. package/src/interfaces/pbkdf-profiles.js.map +1 -0
  166. package/src/interfaces/pbkdf2-result.d.ts +6 -0
  167. package/src/interfaces/pbkdf2-result.d.ts.map +1 -0
  168. package/src/interfaces/pbkdf2-result.js +3 -0
  169. package/src/interfaces/pbkdf2-result.js.map +1 -0
  170. package/src/interfaces/signing-key-private-key-info.d.ts +11 -0
  171. package/src/interfaces/signing-key-private-key-info.d.ts.map +1 -0
  172. package/src/interfaces/signing-key-private-key-info.js +3 -0
  173. package/src/interfaces/signing-key-private-key-info.js.map +1 -0
  174. package/src/interfaces/{simple-keypair-buffer.ts → simple-keypair-buffer.d.ts} +3 -3
  175. package/src/interfaces/simple-keypair-buffer.d.ts.map +1 -0
  176. package/src/interfaces/simple-keypair-buffer.js +3 -0
  177. package/src/interfaces/simple-keypair-buffer.js.map +1 -0
  178. package/src/interfaces/{simple-keypair.ts → simple-keypair.d.ts} +3 -3
  179. package/src/interfaces/simple-keypair.d.ts.map +1 -0
  180. package/src/interfaces/simple-keypair.js +3 -0
  181. package/src/interfaces/simple-keypair.js.map +1 -0
  182. package/src/interfaces/simple-public-key-only-buffer.d.ts +4 -0
  183. package/src/interfaces/simple-public-key-only-buffer.d.ts.map +1 -0
  184. package/src/interfaces/simple-public-key-only-buffer.js +3 -0
  185. package/src/interfaces/simple-public-key-only-buffer.js.map +1 -0
  186. package/src/interfaces/simple-public-key-only.d.ts +4 -0
  187. package/src/interfaces/simple-public-key-only.d.ts.map +1 -0
  188. package/src/interfaces/simple-public-key-only.js +3 -0
  189. package/src/interfaces/simple-public-key-only.js.map +1 -0
  190. package/src/interfaces/single-encrypted-parsed-header.d.ts +35 -0
  191. package/src/interfaces/single-encrypted-parsed-header.d.ts.map +1 -0
  192. package/src/interfaces/single-encrypted-parsed-header.js +3 -0
  193. package/src/interfaces/single-encrypted-parsed-header.js.map +1 -0
  194. package/src/interfaces/stream-config.d.ts +6 -0
  195. package/src/interfaces/stream-config.d.ts.map +1 -0
  196. package/src/interfaces/stream-config.js +8 -0
  197. package/src/interfaces/stream-config.js.map +1 -0
  198. package/src/interfaces/stream-progress.d.ts +8 -0
  199. package/src/interfaces/stream-progress.d.ts.map +1 -0
  200. package/src/interfaces/stream-progress.js +3 -0
  201. package/src/interfaces/stream-progress.js.map +1 -0
  202. package/src/interfaces/{wallet-seed.ts → wallet-seed.d.ts} +3 -3
  203. package/src/interfaces/wallet-seed.d.ts.map +1 -0
  204. package/src/interfaces/wallet-seed.js +3 -0
  205. package/src/interfaces/wallet-seed.js.map +1 -0
  206. package/src/interfaces/wrapped-key-consts.d.ts +7 -0
  207. package/src/interfaces/wrapped-key-consts.d.ts.map +1 -0
  208. package/src/interfaces/wrapped-key-consts.js +3 -0
  209. package/src/interfaces/wrapped-key-consts.js.map +1 -0
  210. package/src/lib/crypto-container.d.ts +13 -0
  211. package/src/lib/crypto-container.d.ts.map +1 -0
  212. package/src/lib/crypto-container.js +29 -0
  213. package/src/lib/crypto-container.js.map +1 -0
  214. package/src/lib/{index.ts → index.d.ts} +1 -0
  215. package/src/lib/index.d.ts.map +1 -0
  216. package/src/lib/index.js +7 -0
  217. package/src/lib/index.js.map +1 -0
  218. package/src/lib/invariant-validator.d.ts +62 -0
  219. package/src/lib/invariant-validator.d.ts.map +1 -0
  220. package/src/lib/invariant-validator.js +108 -0
  221. package/src/lib/invariant-validator.js.map +1 -0
  222. package/src/lib/invariants/{index.ts → index.d.ts} +2 -2
  223. package/src/lib/invariants/index.d.ts.map +1 -0
  224. package/src/lib/invariants/index.js +12 -0
  225. package/src/lib/invariants/index.js.map +1 -0
  226. package/src/lib/invariants/recipient-id-consistency.d.ts +22 -0
  227. package/src/lib/invariants/recipient-id-consistency.d.ts.map +1 -0
  228. package/src/lib/invariants/recipient-id-consistency.js +62 -0
  229. package/src/lib/invariants/recipient-id-consistency.js.map +1 -0
  230. package/src/member.d.ts +81 -0
  231. package/src/member.d.ts.map +1 -0
  232. package/src/member.js +285 -0
  233. package/src/member.js.map +1 -0
  234. package/src/services/aes-gcm.d.ts +66 -0
  235. package/src/services/aes-gcm.d.ts.map +1 -0
  236. package/src/services/aes-gcm.js +158 -0
  237. package/src/services/aes-gcm.js.map +1 -0
  238. package/src/services/chunk-processor.d.ts +15 -0
  239. package/src/services/chunk-processor.d.ts.map +1 -0
  240. package/src/services/chunk-processor.js +36 -0
  241. package/src/services/chunk-processor.js.map +1 -0
  242. package/src/services/ecies/crypto-core.d.ts +104 -0
  243. package/src/services/ecies/crypto-core.d.ts.map +1 -0
  244. package/src/services/ecies/crypto-core.js +237 -0
  245. package/src/services/ecies/crypto-core.js.map +1 -0
  246. package/src/services/ecies/file.d.ts +30 -0
  247. package/src/services/ecies/file.d.ts.map +1 -0
  248. package/src/services/ecies/file.js +112 -0
  249. package/src/services/ecies/file.js.map +1 -0
  250. package/src/services/ecies/{index.ts → index.d.ts} +1 -0
  251. package/src/services/ecies/index.d.ts.map +1 -0
  252. package/src/services/ecies/index.js +11 -0
  253. package/src/services/ecies/index.js.map +1 -0
  254. package/src/services/ecies/multi-recipient.d.ts +84 -0
  255. package/src/services/ecies/multi-recipient.d.ts.map +1 -0
  256. package/src/services/ecies/multi-recipient.js +496 -0
  257. package/src/services/ecies/multi-recipient.js.map +1 -0
  258. package/src/services/ecies/service.d.ts +69 -0
  259. package/src/services/ecies/service.d.ts.map +1 -0
  260. package/src/services/ecies/service.js +144 -0
  261. package/src/services/ecies/service.js.map +1 -0
  262. package/src/services/ecies/signature.d.ts +38 -0
  263. package/src/services/ecies/signature.d.ts.map +1 -0
  264. package/src/services/ecies/signature.js +69 -0
  265. package/src/services/ecies/signature.js.map +1 -0
  266. package/src/services/ecies/single-recipient.d.ts +83 -0
  267. package/src/services/ecies/single-recipient.d.ts.map +1 -0
  268. package/src/services/ecies/single-recipient.js +447 -0
  269. package/src/services/ecies/single-recipient.js.map +1 -0
  270. package/src/services/ecies/utilities.d.ts +33 -0
  271. package/src/services/ecies/utilities.d.ts.map +1 -0
  272. package/src/services/ecies/utilities.js +91 -0
  273. package/src/services/ecies/utilities.js.map +1 -0
  274. package/src/services/encryption-stream.d.ts +33 -0
  275. package/src/services/encryption-stream.d.ts.map +1 -0
  276. package/src/services/encryption-stream.js +207 -0
  277. package/src/services/encryption-stream.js.map +1 -0
  278. package/src/services/{index.ts → index.d.ts} +1 -0
  279. package/src/services/index.d.ts.map +1 -0
  280. package/src/services/index.js +11 -0
  281. package/src/services/index.js.map +1 -0
  282. package/src/services/multi-recipient-processor.d.ts +72 -0
  283. package/src/services/multi-recipient-processor.d.ts.map +1 -0
  284. package/src/services/multi-recipient-processor.js +322 -0
  285. package/src/services/multi-recipient-processor.js.map +1 -0
  286. package/src/services/pbkdf2.d.ts +105 -0
  287. package/src/services/pbkdf2.d.ts.map +1 -0
  288. package/src/services/pbkdf2.js +189 -0
  289. package/src/services/pbkdf2.js.map +1 -0
  290. package/src/services/progress-tracker.d.ts +9 -0
  291. package/src/services/progress-tracker.d.ts.map +1 -0
  292. package/src/services/progress-tracker.js +41 -0
  293. package/src/services/progress-tracker.js.map +1 -0
  294. package/src/test-mocks/index.d.ts +2 -0
  295. package/src/test-mocks/index.d.ts.map +1 -0
  296. package/src/test-mocks/index.js +5 -0
  297. package/src/test-mocks/index.js.map +1 -0
  298. package/src/test-mocks/mock-backend-member.d.ts +71 -0
  299. package/src/test-mocks/mock-backend-member.d.ts.map +1 -0
  300. package/src/test-mocks/mock-backend-member.js +133 -0
  301. package/src/test-mocks/mock-backend-member.js.map +1 -0
  302. package/src/testing.d.ts +2 -0
  303. package/src/testing.d.ts.map +1 -0
  304. package/src/testing.js +6 -0
  305. package/src/testing.js.map +1 -0
  306. package/src/types/id-guards.d.ts +39 -0
  307. package/src/types/id-guards.d.ts.map +1 -0
  308. package/src/types/id-guards.js +91 -0
  309. package/src/types/id-guards.js.map +1 -0
  310. package/src/types/index.d.ts +2 -0
  311. package/src/types/index.d.ts.map +1 -0
  312. package/src/types/index.js +5 -0
  313. package/src/types/index.js.map +1 -0
  314. package/src/{types.ts → types.d.ts} +9 -28
  315. package/src/types.d.ts.map +1 -0
  316. package/src/types.js +6 -0
  317. package/src/types.js.map +1 -0
  318. package/src/utils.d.ts +11 -0
  319. package/src/utils.d.ts.map +1 -0
  320. package/src/utils.js +82 -0
  321. package/src/utils.js.map +1 -0
  322. package/LICENSE +0 -21
  323. package/src/builders/ecies-builder.ts +0 -27
  324. package/src/builders/member-builder.ts +0 -158
  325. package/src/constants.ts +0 -251
  326. package/src/core/errors/crypto-error.ts +0 -10
  327. package/src/core/types/result.ts +0 -3
  328. package/src/enumerations/index.ts +0 -2
  329. package/src/enumerations/pbkdf2-profile.ts +0 -8
  330. package/src/i18n/ecies-i18n-factory.ts +0 -111
  331. package/src/i18n/node-ecies-i18n-setup.ts +0 -56
  332. package/src/i18n/node-keys.ts +0 -69
  333. package/src/i18n/translations/de.ts +0 -54
  334. package/src/i18n/translations/en-GB.ts +0 -83
  335. package/src/i18n/translations/en-US.ts +0 -88
  336. package/src/i18n/translations/es.ts +0 -54
  337. package/src/i18n/translations/fr.ts +0 -54
  338. package/src/i18n/translations/ja.ts +0 -54
  339. package/src/i18n/translations/uk.ts +0 -54
  340. package/src/i18n/translations/zh-cn.ts +0 -54
  341. package/src/interfaces/authenticated-cipher.ts +0 -10
  342. package/src/interfaces/authenticated-decipher.ts +0 -9
  343. package/src/interfaces/backend-member-operational.ts +0 -75
  344. package/src/interfaces/checksum-config.ts +0 -4
  345. package/src/interfaces/checksum-consts.ts +0 -13
  346. package/src/interfaces/constants.ts +0 -54
  347. package/src/interfaces/ecies-consts.ts +0 -99
  348. package/src/interfaces/encrypted-chunk.ts +0 -12
  349. package/src/interfaces/encryption-consts.ts +0 -10
  350. package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.ts +0 -7
  351. package/src/interfaces/keyring-consts.ts +0 -5
  352. package/src/interfaces/member.ts +0 -76
  353. package/src/interfaces/multi-encrypted-parsed-header.ts +0 -28
  354. package/src/interfaces/multi-recipient-chunk.ts +0 -35
  355. package/src/interfaces/pbkdf2-result.ts +0 -5
  356. package/src/interfaces/signing-key-private-key-info.ts +0 -12
  357. package/src/interfaces/simple-public-key-only-buffer.ts +0 -3
  358. package/src/interfaces/simple-public-key-only.ts +0 -3
  359. package/src/interfaces/single-encrypted-parsed-header.ts +0 -35
  360. package/src/interfaces/stream-config.ts +0 -9
  361. package/src/interfaces/stream-progress.ts +0 -7
  362. package/src/interfaces/wrapped-key-consts.ts +0 -6
  363. package/src/lib/crypto-container.ts +0 -32
  364. package/src/lib/invariant-validator.ts +0 -124
  365. package/src/lib/invariants/recipient-id-consistency.ts +0 -77
  366. package/src/member.ts +0 -511
  367. package/src/services/aes-gcm.ts +0 -260
  368. package/src/services/chunk-processor.ts +0 -47
  369. package/src/services/ecies/crypto-core.ts +0 -319
  370. package/src/services/ecies/file.ts +0 -171
  371. package/src/services/ecies/multi-recipient.ts +0 -782
  372. package/src/services/ecies/service.ts +0 -316
  373. package/src/services/ecies/signature.ts +0 -91
  374. package/src/services/ecies/single-recipient.ts +0 -743
  375. package/src/services/ecies/utilities.ts +0 -128
  376. package/src/services/encryption-stream.ts +0 -432
  377. package/src/services/multi-recipient-processor.ts +0 -505
  378. package/src/services/pbkdf2.ts +0 -304
  379. package/src/services/progress-tracker.ts +0 -43
  380. package/src/test-mocks/index.ts +0 -1
  381. package/src/test-mocks/mock-backend-member.ts +0 -195
  382. package/src/testing.ts +0 -2
  383. package/src/types/id-guards.ts +0 -91
  384. package/src/types/index.ts +0 -1
  385. package/src/utils.ts +0 -124
@@ -1,171 +0,0 @@
1
- import * as fs from 'fs';
2
- import { ECIESService } from './service';
3
-
4
- interface ChunkedFileHeader {
5
- version: number;
6
- chunkSize: number;
7
- totalChunks: number;
8
- originalSize: number;
9
- }
10
-
11
- export class EciesFileService {
12
- protected readonly eciesService: ECIESService;
13
- protected readonly userPrivateKey: Buffer;
14
- protected readonly config: { chunkSize: number; headerSize: number };
15
-
16
- constructor(
17
- eciesService: ECIESService,
18
- userPrivateKey: Buffer,
19
- config: { chunkSize: number; headerSize: number } = {
20
- chunkSize: 1024 * 1024, // 1MB chunks
21
- headerSize: 20,
22
- },
23
- ) {
24
- this.eciesService = eciesService;
25
- this.userPrivateKey = userPrivateKey;
26
- this.config = Object.freeze(config);
27
- }
28
-
29
- decryptFile(encryptedData: Buffer): Buffer {
30
- const { header, chunks } = this.parseEncryptedFile(encryptedData);
31
- const decryptedChunks: Buffer[] = [];
32
-
33
- for (const chunk of chunks) {
34
- const decrypted = this.eciesService.decryptSimpleOrSingleWithHeader(
35
- false,
36
- this.userPrivateKey,
37
- chunk,
38
- );
39
- decryptedChunks.push(decrypted);
40
- }
41
-
42
- const result = Buffer.alloc(header.originalSize);
43
- let offset = 0;
44
- for (const chunk of decryptedChunks) {
45
- const copyLength = Math.min(chunk.length, header.originalSize - offset);
46
- chunk.copy(result, offset, 0, copyLength);
47
- offset += copyLength;
48
- }
49
- return result;
50
- }
51
-
52
- encryptFileFromPath(filePath: string, recipientPublicKey: Buffer): Buffer {
53
- const stats = fs.statSync(filePath);
54
- const totalChunks = Math.ceil(stats.size / this.config.chunkSize);
55
- const header: ChunkedFileHeader = {
56
- version: 1,
57
- chunkSize: this.config.chunkSize,
58
- totalChunks,
59
- originalSize: stats.size,
60
- };
61
-
62
- const headerBytes = this.serializeHeader(header);
63
- const encryptedHeader = this.eciesService.encryptSimpleOrSingle(
64
- false,
65
- recipientPublicKey,
66
- headerBytes,
67
- );
68
-
69
- const chunks: Buffer[] = [encryptedHeader];
70
- const fd = fs.openSync(filePath, 'r');
71
-
72
- try {
73
- for (let i = 0; i < totalChunks; i++) {
74
- const offset = i * this.config.chunkSize;
75
- const chunkSize = Math.min(this.config.chunkSize, stats.size - offset);
76
- const chunkData = Buffer.alloc(chunkSize);
77
- fs.readSync(fd, chunkData, 0, chunkSize, offset);
78
-
79
- const encryptedChunk = this.eciesService.encryptSimpleOrSingle(
80
- false,
81
- recipientPublicKey,
82
- chunkData,
83
- );
84
- chunks.push(encryptedChunk);
85
- }
86
- } finally {
87
- fs.closeSync(fd);
88
- }
89
-
90
- return Buffer.concat(chunks);
91
- }
92
-
93
- decryptFileToPath(encryptedData: Buffer, outputPath: string): void {
94
- const { header, chunks } = this.parseEncryptedFile(encryptedData);
95
- const fd = fs.openSync(outputPath, 'w');
96
- let offset = 0;
97
-
98
- try {
99
- for (const chunk of chunks) {
100
- const decrypted = this.eciesService.decryptSimpleOrSingleWithHeader(
101
- false,
102
- this.userPrivateKey,
103
- chunk,
104
- );
105
- const writeLength = Math.min(
106
- decrypted.length,
107
- header.originalSize - offset,
108
- );
109
- fs.writeSync(fd, decrypted, 0, writeLength, offset);
110
- offset += writeLength;
111
- }
112
- } finally {
113
- fs.closeSync(fd);
114
- }
115
- }
116
-
117
- protected serializeHeader(header: ChunkedFileHeader): Buffer {
118
- const buffer = Buffer.alloc(this.config.headerSize);
119
- buffer.writeUInt32BE(header.version, 0);
120
- buffer.writeUInt32BE(header.chunkSize, 4);
121
- buffer.writeUInt32BE(header.totalChunks, 8);
122
- buffer.writeUInt32BE(header.originalSize, 12);
123
- return buffer;
124
- }
125
-
126
- protected deserializeHeader(data: Buffer): ChunkedFileHeader {
127
- return {
128
- version: data.readUInt32BE(0),
129
- chunkSize: data.readUInt32BE(4),
130
- totalChunks: data.readUInt32BE(8),
131
- originalSize: data.readUInt32BE(12),
132
- };
133
- }
134
-
135
- protected parseEncryptedFile(encryptedData: Buffer): {
136
- header: ChunkedFileHeader;
137
- chunks: Buffer[];
138
- } {
139
- const headerLength = this.eciesService.computeEncryptedLengthFromDataLength(
140
- this.config.headerSize,
141
- 'single',
142
- );
143
-
144
- const encryptedHeader = encryptedData.subarray(0, headerLength);
145
- const decryptedHeaderBytes =
146
- this.eciesService.decryptSimpleOrSingleWithHeader(
147
- false,
148
- this.userPrivateKey,
149
- encryptedHeader,
150
- );
151
-
152
- const header = this.deserializeHeader(decryptedHeaderBytes);
153
- const chunks: Buffer[] = [];
154
- let offset = headerLength;
155
-
156
- for (let i = 0; i < header.totalChunks; i++) {
157
- const chunkLength =
158
- this.eciesService.computeEncryptedLengthFromDataLength(
159
- i === header.totalChunks - 1
160
- ? header.originalSize % header.chunkSize || header.chunkSize
161
- : header.chunkSize,
162
- 'single',
163
- );
164
-
165
- chunks.push(encryptedData.subarray(offset, offset + chunkLength));
166
- offset += chunkLength;
167
- }
168
-
169
- return { header, chunks };
170
- }
171
- }