@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,316 +0,0 @@
1
- import {
2
- EciesComponentId,
3
- EciesEncryptionType,
4
- EciesEncryptionTypeEnum,
5
- EciesStringKey,
6
- getEciesI18nEngine,
7
- HexString,
8
- IECIESConfig,
9
- IECIESConstants,
10
- SecureString,
11
- } from '@digitaldefiance/ecies-lib';
12
- import { Wallet } from '@ethereumjs/wallet';
13
-
14
- // Import all the modular components
15
- import { Constants } from '../../constants';
16
- import type { IMember } from '../../interfaces/member';
17
- import type { IMultiEncryptedMessage } from '../../interfaces/multi-encrypted-message';
18
- import type { IMultiEncryptedParsedHeader } from '../../interfaces/multi-encrypted-parsed-header';
19
- import type { ISingleEncryptedParsedHeader } from '../../interfaces/single-encrypted-parsed-header';
20
- import type { IWalletSeed } from '../../interfaces/wallet-seed';
21
- import { SignatureBuffer, SignatureString } from '../../types';
22
- import { EciesCryptoCore } from './crypto-core';
23
- import { EciesMultiRecipient } from './multi-recipient';
24
- import { EciesSignature } from './signature';
25
- import { EciesSingleRecipientCore } from './single-recipient';
26
- import { EciesUtilities } from './utilities';
27
-
28
- /**
29
- * Unified ECIES service that integrates all the modular components
30
- */
31
- export class ECIESService {
32
- protected readonly _config: IECIESConfig;
33
- protected readonly cryptoCore: EciesCryptoCore;
34
- protected readonly signature: EciesSignature;
35
- protected readonly singleRecipient: EciesSingleRecipientCore;
36
- protected readonly multiRecipient: EciesMultiRecipient;
37
- protected readonly utilities: EciesUtilities;
38
-
39
- constructor(
40
- config?: Partial<IECIESConfig>,
41
- eciesParams: IECIESConstants = Constants.ECIES
42
- ) {
43
- const actualConfig = config || {};
44
- const eciesConsts = eciesParams || Constants.ECIES;
45
-
46
- this._config = {
47
- ...config,
48
- curveName: eciesConsts.CURVE_NAME,
49
- primaryKeyDerivationPath: eciesConsts.PRIMARY_KEY_DERIVATION_PATH,
50
- mnemonicStrength: eciesConsts.MNEMONIC_STRENGTH,
51
- symmetricAlgorithm: eciesConsts.SYMMETRIC.ALGORITHM,
52
- symmetricKeyBits: eciesConsts.SYMMETRIC.KEY_BITS,
53
- symmetricKeyMode: eciesConsts.SYMMETRIC.MODE,
54
- ...actualConfig,
55
- };
56
-
57
- // Initialize all components
58
- this.cryptoCore = new EciesCryptoCore(this._config, eciesParams);
59
- this.signature = new EciesSignature(this.cryptoCore);
60
- this.singleRecipient = new EciesSingleRecipientCore(this._config);
61
- this.multiRecipient = new EciesMultiRecipient(this.cryptoCore);
62
- this.utilities = new EciesUtilities();
63
- }
64
-
65
- public get core(): EciesCryptoCore {
66
- return this.cryptoCore;
67
- }
68
-
69
- public get config(): IECIESConfig {
70
- return this._config;
71
- }
72
-
73
- /**
74
- * The name of the elliptic curve used for ECIES encryption/decryption
75
- */
76
- public get curveName(): string {
77
- return this._config.curveName;
78
- }
79
-
80
- // === Key Management Methods ===
81
-
82
- public generateNewMnemonic(): SecureString {
83
- return this.cryptoCore.generateNewMnemonic();
84
- }
85
-
86
- public walletFromSeed(seed: Buffer): Wallet {
87
- return this.cryptoCore.walletFromSeed(seed);
88
- }
89
-
90
- public walletAndSeedFromMnemonic(mnemonic: SecureString): IWalletSeed {
91
- return this.cryptoCore.walletAndSeedFromMnemonic(mnemonic);
92
- }
93
-
94
- public walletToSimpleKeyPairBuffer(wallet: Wallet) {
95
- return this.cryptoCore.walletToSimpleKeyPairBuffer(wallet);
96
- }
97
-
98
- public seedToSimpleKeyPairBuffer(seed: Buffer) {
99
- return this.cryptoCore.seedToSimpleKeyPairBuffer(seed);
100
- }
101
-
102
- public mnemonicToSimpleKeyPairBuffer(mnemonic: SecureString) {
103
- return this.cryptoCore.mnemonicToSimpleKeyPairBuffer(mnemonic);
104
- }
105
-
106
- public mnemonicToSimpleKeyPair(mnemonic: SecureString) {
107
- return this.mnemonicToSimpleKeyPairBuffer(mnemonic);
108
- }
109
-
110
- // === Core Encryption/Decryption Methods ===
111
-
112
- public encryptSimpleOrSingle(
113
- encryptSimple: boolean,
114
- receiverPublicKey: Buffer,
115
- message: Buffer,
116
- preamble: Buffer = Buffer.alloc(0)
117
- ): Buffer {
118
- return this.singleRecipient.encrypt(
119
- encryptSimple,
120
- receiverPublicKey,
121
- message,
122
- preamble
123
- );
124
- }
125
-
126
- public parseSingleEncryptedHeader(
127
- encryptionType: EciesEncryptionTypeEnum,
128
- data: Buffer,
129
- preambleSize: number = 0,
130
- options?: {
131
- dataLength?: number;
132
- }
133
- ): ISingleEncryptedParsedHeader {
134
- const { header } = this.singleRecipient.parseEncryptedMessage(
135
- encryptionType,
136
- data,
137
- preambleSize,
138
- options
139
- );
140
- return header;
141
- }
142
-
143
- public decryptSimpleOrSingleWithHeader(
144
- decryptSimple: boolean,
145
- privateKey: Buffer,
146
- encryptedData: Buffer,
147
- preambleSize: number = 0,
148
- options?: {
149
- dataLength?: number;
150
- }
151
- ): Buffer {
152
- return this.singleRecipient.decryptWithHeader(
153
- decryptSimple
154
- ? EciesEncryptionTypeEnum.Simple
155
- : EciesEncryptionTypeEnum.Single,
156
- privateKey,
157
- encryptedData,
158
- preambleSize,
159
- options
160
- );
161
- }
162
-
163
- public decryptSimpleOrSingleWithHeaderEx(
164
- encryptionType: EciesEncryptionTypeEnum,
165
- privateKey: Buffer,
166
- encryptedData: Buffer,
167
- preambleSize: number = 0,
168
- options?: {
169
- dataLength?: number;
170
- }
171
- ): { decrypted: Buffer; consumedBytes: number } {
172
- return this.singleRecipient.decryptWithHeaderEx(
173
- encryptionType,
174
- privateKey,
175
- encryptedData,
176
- preambleSize,
177
- options
178
- );
179
- }
180
-
181
- public decryptSingleWithComponents(
182
- privateKey: Buffer,
183
- ephemeralPublicKey: Buffer,
184
- iv: Buffer,
185
- authTag: Buffer,
186
- encrypted: Buffer,
187
- aad?: Buffer
188
- ): { decrypted: Buffer; ciphertextLength?: number } {
189
- const decrypted = this.singleRecipient.decryptWithComponents(
190
- privateKey,
191
- ephemeralPublicKey,
192
- iv,
193
- authTag,
194
- encrypted,
195
- aad
196
- );
197
-
198
- // Return an object with a 'decrypted' property for compatibility with existing code
199
- return { decrypted, ciphertextLength: encrypted.length };
200
- }
201
-
202
- // === Signature Methods ===
203
-
204
- public signMessage(privateKey: Buffer, data: Buffer): SignatureBuffer {
205
- return this.signature.signMessage(privateKey, data);
206
- }
207
-
208
- public verifyMessage(
209
- publicKey: Buffer,
210
- data: Buffer,
211
- signature: SignatureBuffer
212
- ): boolean {
213
- return this.signature.verifyMessage(publicKey, data, signature);
214
- }
215
-
216
- public signatureStringToSignatureBuffer(
217
- signatureString: HexString
218
- ): SignatureBuffer {
219
- return this.signature.signatureStringToSignatureBuffer(signatureString);
220
- }
221
-
222
- public signatureBufferToSignatureString(
223
- signatureBuffer: SignatureBuffer
224
- ): SignatureString {
225
- return this.signature.signatureBufferToSignatureString(signatureBuffer);
226
- }
227
-
228
- // === Multi-Recipient Methods ===
229
- public async encryptMultiple(
230
- recipients: Array<IMember>,
231
- message: Buffer,
232
- preamble?: Buffer
233
- ): Promise<IMultiEncryptedMessage> {
234
- return this.multiRecipient.encryptMultiple(recipients, message, preamble);
235
- }
236
-
237
- public decryptMultipleECIEForRecipient(
238
- encryptedData: IMultiEncryptedMessage,
239
- recipient: IMember
240
- ): Buffer {
241
- return this.multiRecipient.decryptMultipleECIEForRecipient(
242
- encryptedData,
243
- recipient
244
- );
245
- }
246
-
247
- public calculateECIESMultipleRecipientOverhead(
248
- recipientCount: number,
249
- includeMessageOverhead: boolean
250
- ): number {
251
- return this.multiRecipient.calculateECIESMultipleRecipientOverhead(
252
- recipientCount,
253
- includeMessageOverhead
254
- );
255
- }
256
-
257
- public buildECIESMultipleRecipientHeader(
258
- data: IMultiEncryptedMessage
259
- ): Buffer {
260
- return this.multiRecipient.buildECIESMultipleRecipientHeader(data);
261
- }
262
-
263
- public parseMultiEncryptedHeader(data: Buffer): IMultiEncryptedParsedHeader {
264
- return this.multiRecipient.parseMultiEncryptedHeader(data);
265
- }
266
-
267
- public parseMultiEncryptedBuffer(data: Buffer): IMultiEncryptedMessage {
268
- return this.multiRecipient.parseMultiEncryptedBuffer(data);
269
- }
270
-
271
- // === Utility Methods ===
272
-
273
- public computeEncryptedLengthFromDataLength(
274
- dataLength: number,
275
- encryptionMode: EciesEncryptionType,
276
- recipientCount?: number
277
- ): number {
278
- return this.utilities.computeEncryptedLengthFromDataLength(
279
- dataLength,
280
- encryptionMode,
281
- recipientCount
282
- );
283
- }
284
-
285
- public computeDecryptedLengthFromEncryptedDataLength(
286
- encryptedDataLength: number,
287
- padding?: number
288
- ): number {
289
- return this.utilities.computeDecryptedLengthFromEncryptedDataLength(
290
- encryptedDataLength,
291
- padding
292
- );
293
- }
294
-
295
- public encrypt(
296
- encryptionType: EciesEncryptionType,
297
- recipient: IMember,
298
- message: Buffer,
299
- preamble?: Buffer
300
- ): Buffer {
301
- if (encryptionType === 'multiple') {
302
- throw new Error(
303
- getEciesI18nEngine().translate(
304
- EciesComponentId,
305
- EciesStringKey.Error_ECIESError_MultipleEncryptionTypeNotSupportedInSingleRecipientMode
306
- )
307
- );
308
- }
309
- return this.singleRecipient.encrypt(
310
- encryptionType === 'simple',
311
- recipient.publicKey,
312
- message,
313
- preamble
314
- );
315
- }
316
- }
@@ -1,91 +0,0 @@
1
- import {
2
- ECIESError,
3
- ECIESErrorTypeEnum,
4
- HexString,
5
- } from '@digitaldefiance/ecies-lib';
6
- import { secp256k1 } from '@noble/curves/secp256k1.js';
7
- import { sha256 } from '@noble/hashes/sha2.js';
8
- import { createEciesTranslationEngine } from '../../i18n/ecies-i18n-factory';
9
- import { SignatureBuffer, SignatureString } from '../../types';
10
- import { EciesCryptoCore } from './crypto-core';
11
-
12
- /**
13
- * Signature-related functions for ECIES
14
- */
15
- export class EciesSignature {
16
- private readonly cryptoCore: EciesCryptoCore;
17
-
18
- constructor(cryptoCore: EciesCryptoCore) {
19
- this.cryptoCore = cryptoCore;
20
- }
21
-
22
- /**
23
- * Signs arbitrary binary data with the given private key.
24
- * @param privateKey The private key to sign the message with.
25
- * @param data The data to sign.
26
- * @returns The signature (64 bytes: r + s).
27
- */
28
- public signMessage(privateKey: Buffer, data: Buffer): SignatureBuffer {
29
- const hash = sha256(data);
30
- const signature = secp256k1.sign(hash, privateKey, {
31
- format: 'compact',
32
- extraEntropy: false,
33
- });
34
- return Buffer.from(signature) as SignatureBuffer;
35
- }
36
-
37
- /**
38
- * Verifies arbitrary binary data with the given public key.
39
- * @param publicKey The public key to verify the message with.
40
- * @param data The data to verify.
41
- * @param signature The signature to verify (64 bytes: r + s).
42
- * @returns True if the signature is valid, false otherwise.
43
- */
44
- public verifyMessage(
45
- publicKey: Buffer,
46
- data: Buffer,
47
- signature: SignatureBuffer,
48
- ): boolean {
49
- if (signature.length !== 64) {
50
- throw new ECIESError(
51
- ECIESErrorTypeEnum.InvalidSignature,
52
- createEciesTranslationEngine(),
53
- );
54
- }
55
-
56
- // Normalize and validate the public key
57
- try {
58
- publicKey = this.cryptoCore.normalizePublicKey(publicKey);
59
- } catch {
60
- throw new ECIESError(
61
- ECIESErrorTypeEnum.InvalidSenderPublicKey,
62
- createEciesTranslationEngine(),
63
- );
64
- }
65
-
66
- const hash = sha256(data);
67
- return secp256k1.verify(signature, hash, publicKey);
68
- }
69
-
70
- /**
71
- * Converts a signature string to a signature buffer.
72
- * @param signatureString - The signature string to convert.
73
- * @returns The signature buffer.
74
- */
75
- public signatureStringToSignatureBuffer(
76
- signatureString: HexString,
77
- ): SignatureBuffer {
78
- return Buffer.from(signatureString, 'hex') as SignatureBuffer;
79
- }
80
-
81
- /**
82
- * Converts a signature buffer to a signature string.
83
- * @param signatureBuffer - The signature buffer to convert.
84
- * @returns The signature string.
85
- */
86
- public signatureBufferToSignatureString(
87
- signatureBuffer: SignatureBuffer,
88
- ): SignatureString {
89
- return signatureBuffer.toString('hex') as SignatureString;
90
- }
91
- }