@bsv/sdk 1.9.30 → 1.10.1

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 (64) hide show
  1. package/dist/cjs/package.json +3 -2
  2. package/dist/cjs/src/auth/Peer.js +68 -48
  3. package/dist/cjs/src/auth/Peer.js.map +1 -1
  4. package/dist/cjs/src/messages/EncryptedMessage.js +19 -0
  5. package/dist/cjs/src/messages/EncryptedMessage.js.map +1 -1
  6. package/dist/cjs/src/primitives/AESGCM.js +72 -27
  7. package/dist/cjs/src/primitives/AESGCM.js.map +1 -1
  8. package/dist/cjs/src/primitives/BigNumber.js +28 -54
  9. package/dist/cjs/src/primitives/BigNumber.js.map +1 -1
  10. package/dist/cjs/src/primitives/ECDSA.js +36 -1
  11. package/dist/cjs/src/primitives/ECDSA.js.map +1 -1
  12. package/dist/cjs/src/primitives/PrivateKey.js +27 -0
  13. package/dist/cjs/src/primitives/PrivateKey.js.map +1 -1
  14. package/dist/cjs/src/primitives/ReductionContext.js +35 -46
  15. package/dist/cjs/src/primitives/ReductionContext.js.map +1 -1
  16. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  17. package/dist/esm/src/auth/Peer.js +68 -48
  18. package/dist/esm/src/auth/Peer.js.map +1 -1
  19. package/dist/esm/src/messages/EncryptedMessage.js +19 -0
  20. package/dist/esm/src/messages/EncryptedMessage.js.map +1 -1
  21. package/dist/esm/src/primitives/AESGCM.js +71 -26
  22. package/dist/esm/src/primitives/AESGCM.js.map +1 -1
  23. package/dist/esm/src/primitives/BigNumber.js +28 -54
  24. package/dist/esm/src/primitives/BigNumber.js.map +1 -1
  25. package/dist/esm/src/primitives/ECDSA.js +36 -1
  26. package/dist/esm/src/primitives/ECDSA.js.map +1 -1
  27. package/dist/esm/src/primitives/PrivateKey.js +27 -0
  28. package/dist/esm/src/primitives/PrivateKey.js.map +1 -1
  29. package/dist/esm/src/primitives/ReductionContext.js +35 -46
  30. package/dist/esm/src/primitives/ReductionContext.js.map +1 -1
  31. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  32. package/dist/types/src/auth/Peer.d.ts.map +1 -1
  33. package/dist/types/src/auth/types.d.ts +2 -0
  34. package/dist/types/src/auth/types.d.ts.map +1 -1
  35. package/dist/types/src/messages/EncryptedMessage.d.ts +19 -0
  36. package/dist/types/src/messages/EncryptedMessage.d.ts.map +1 -1
  37. package/dist/types/src/primitives/AESGCM.d.ts +18 -0
  38. package/dist/types/src/primitives/AESGCM.d.ts.map +1 -1
  39. package/dist/types/src/primitives/BigNumber.d.ts +8 -0
  40. package/dist/types/src/primitives/BigNumber.d.ts.map +1 -1
  41. package/dist/types/src/primitives/ECDSA.d.ts +24 -0
  42. package/dist/types/src/primitives/ECDSA.d.ts.map +1 -1
  43. package/dist/types/src/primitives/PrivateKey.d.ts +27 -0
  44. package/dist/types/src/primitives/PrivateKey.d.ts.map +1 -1
  45. package/dist/types/src/primitives/ReductionContext.d.ts +9 -0
  46. package/dist/types/src/primitives/ReductionContext.d.ts.map +1 -1
  47. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  48. package/dist/umd/bundle.js +3 -3
  49. package/dist/umd/bundle.js.map +1 -1
  50. package/docs/index.md +15 -1
  51. package/docs/reference/auth.md +2 -0
  52. package/docs/reference/primitives.md +91 -31
  53. package/package.json +3 -2
  54. package/src/auth/Peer.ts +122 -57
  55. package/src/auth/__tests/Peer.test.ts +166 -257
  56. package/src/auth/types.ts +2 -0
  57. package/src/messages/EncryptedMessage.ts +19 -0
  58. package/src/primitives/AESGCM.ts +75 -34
  59. package/src/primitives/BigNumber.ts +27 -31
  60. package/src/primitives/ECDSA.ts +41 -2
  61. package/src/primitives/PrivateKey.ts +27 -0
  62. package/src/primitives/ReductionContext.ts +44 -48
  63. package/src/primitives/__tests/AESGCM.test.ts +31 -0
  64. package/src/primitives/__tests/ECDSA.test.ts +16 -0
@@ -5,6 +5,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const BigNumber_js_1 = __importDefault(require("./BigNumber.js"));
7
7
  const K256_js_1 = __importDefault(require("./K256.js"));
8
+ /**
9
+ * SECURITY NOTE:
10
+ * This reduction context avoids obvious variable-time constructs (such as
11
+ * sliding-window exponentiation and conditional modular reduction) to reduce
12
+ * timing side-channel leakage. However, JavaScript BigInt arithmetic does not
13
+ * provide constant-time guarantees. These mitigations improve resistance to
14
+ * coarse timing attacks but do not make the implementation suitable for
15
+ * hostile multi-tenant or shared-CPU environments.
16
+ */
8
17
  /**
9
18
  * A base reduction engine that provides several arithmetic operations over
10
19
  * big numbers under a modulus context. It's particularly suitable for
@@ -140,11 +149,17 @@ class ReductionContext {
140
149
  */
141
150
  add(a, b) {
142
151
  this.verify2(a, b);
143
- const res = a.add(b);
144
- if (res.cmp(this.m) >= 0) {
145
- res.isub(this.m);
152
+ // Start from a red clone
153
+ const res = a.clone();
154
+ // In-place add keeps red context
155
+ res.iadd(b);
156
+ // Always subtract modulus (still red)
157
+ res.isub(this.m);
158
+ // If negative, add modulus back
159
+ if (res.isNeg()) {
160
+ res.iadd(this.m);
146
161
  }
147
- return res.forceRed(this);
162
+ return res;
148
163
  }
149
164
  /**
150
165
  * Performs an in-place addition operation on two BigNumbers in the reduction context
@@ -164,11 +179,12 @@ class ReductionContext {
164
179
  */
165
180
  iadd(a, b) {
166
181
  this.verify2(a, b);
167
- const res = a.iadd(b);
168
- if (res.cmp(this.m) >= 0) {
169
- res.isub(this.m);
182
+ a.iadd(b);
183
+ a.isub(this.m);
184
+ if (a.isNeg()) {
185
+ a.iadd(this.m);
170
186
  }
171
- return res;
187
+ return a;
172
188
  }
173
189
  /**
174
190
  * Subtracts one BigNumber from another BigNumber in the reduction context.
@@ -406,48 +422,21 @@ class ReductionContext {
406
422
  * context.pow(new BigNumber(3), new BigNumber(2)); // Returns 2 (3^2 % 7)
407
423
  */
408
424
  pow(a, num) {
425
+ this.verify1(a);
409
426
  if (num.isZero())
410
427
  return new BigNumber_js_1.default(1).toRed(this);
411
- if (num.cmpn(1) === 0)
412
- return a.clone();
413
- const windowSize = 4;
414
- const wnd = new Array(1 << windowSize);
415
- wnd[0] = new BigNumber_js_1.default(1).toRed(this);
416
- wnd[1] = a;
417
- let i = 2;
418
- for (; i < wnd.length; i++) {
419
- wnd[i] = this.mul(wnd[i - 1], a);
420
- }
421
- let res = wnd[0];
422
- let current = 0;
423
- let currentLen = 0;
424
- let start = num.bitLength() % 26;
425
- if (start === 0) {
426
- start = 26;
427
- }
428
- for (i = num.length - 1; i >= 0; i--) {
429
- const word = num.words[i];
430
- for (let j = start - 1; j >= 0; j--) {
431
- const bit = (word >> j) & 1;
432
- if (res !== wnd[0]) {
433
- res = this.sqr(res);
434
- }
435
- if (bit === 0 && current === 0) {
436
- currentLen = 0;
437
- continue;
438
- }
439
- current <<= 1;
440
- current |= bit;
441
- currentLen++;
442
- if (currentLen !== windowSize && (i !== 0 || j !== 0))
443
- continue;
444
- res = this.mul(res, wnd[current]);
445
- currentLen = 0;
446
- current = 0;
428
+ let result = new BigNumber_js_1.default(1).toRed(this);
429
+ const base = a.clone();
430
+ const bits = num.bitLength();
431
+ for (let i = bits - 1; i >= 0; i--) {
432
+ // Always square
433
+ result = this.sqr(result);
434
+ // Multiply if bit is set
435
+ if (num.testn(i)) {
436
+ result = this.mul(result, base);
447
437
  }
448
- start = 26;
449
438
  }
450
- return res;
439
+ return result;
451
440
  }
452
441
  /**
453
442
  * Converts a BigNumber to its equivalent in the reduction context.
@@ -1 +1 @@
1
- {"version":3,"file":"ReductionContext.js","sourceRoot":"","sources":["../../../../src/primitives/ReductionContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReductionContext.js","sourceRoot":"","sources":["../../../../src/primitives/ReductionContext.ts"],"names":[],"mappings":"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"}