Skip to content

Conversation

@Stephen-Thomson
Copy link
Collaborator

Description of Changes

This PR completes the remediation for TOB-25 by validating ECDSA behavior around scalar multiplication and edge-case point handling.
Additional regression tests were added to ensure invalid or degenerate inputs cannot produce incorrect signatures or verification results.

The tests exercise:

  • Scalar multiplication edge cases
  • Correct handling of infinity points
  • Validation behavior during signature verification

Linked Issues / Tickets

  • Addresses TOB-25 (internal security ticket)

Testing Procedure

  • Added targeted ECDSA unit tests covering TOB-25
  • All tests pass locally
  • Verified behavior manually during development
  • I have added new unit tests
  • All tests pass locally
  • I have tested manually in my local environment

Checklist

  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have updated CHANGELOG.md with my changes
  • I have run npm run doc and npm run lint one final time before requesting a review
  • I have fixed all linter errors to ensure these changes are compliant with ts-standard
  • I have run npm version patch so that my changes will trigger a new version to be released when they are merged

@sonarqubecloud
Copy link

@codecov
Copy link

codecov bot commented Dec 10, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@github-actions
Copy link

🏁 Benchmark Comparison (Node 22)

Comparing this PR (08d569f) against master (1e0cc5c).

✅ No regressions over the 5% threshold detected.

Benchmark Metric PR Branch Master Δ Change
BigNumber Arithmetic mul large numbers 8.83 ms 8.81 ms +0.02 ms +0.23%
BigNumber Arithmetic add large numbers 1.45 ms 1.45 ms +0.00 ms 0.00%
BigNumber Serialization toSm big 2.94 ms 2.83 ms +0.11 ms +3.89%
BigNumber Serialization toSm little 3.01 ms 2.92 ms +0.09 ms +3.08%
BigNumber Serialization fromSm big 3.07 ms 2.98 ms +0.09 ms +3.02%
BigNumber Serialization fromSm little 3.14 ms 3.03 ms +0.11 ms +3.63%
BigNumber Serialization fromScriptNum 3.17 ms 3.05 ms +0.12 ms +3.93%
Script Serialization Big script round trip 3.85 ms 3.77 ms +0.08 ms +2.12%
Transaction Verification deep chain verify 443.31 ms 441.72 ms +1.59 ms +0.36%
Transaction Verification wide transaction verify 458.80 ms 454.87 ms +3.93 ms +0.86%
Transaction Verification large tx verify 228.04 ms 225.39 ms +2.65 ms +1.18%
Transaction Verification nested inputs verify 104.46 ms 103.62 ms +0.84 ms +0.81%
Symmetric Key encrypt large 2MB 1526.09 ms 1558.81 ms -32.72 ms -2.10%
Symmetric Key decrypt large 2MB 1518.63 ms 1564.10 ms -45.47 ms -2.91%
Symmetric Key encrypt 50 small 6.55 ms 6.87 ms -0.32 ms -4.66%
Symmetric Key decrypt 50 small 6.38 ms 6.59 ms -0.21 ms -3.19%
Symmetric Key encrypt 200 medium 157.27 ms 161.17 ms -3.90 ms -2.42%
Symmetric Key decrypt 200 medium 156.84 ms 160.19 ms -3.35 ms -2.09%
Reader & Writer mixed ops 0.22 ms 0.23 ms -0.01 ms -4.35%
Reader & Writer large payloads 28.09 ms 28.51 ms -0.42 ms -1.47%
Reader & Writer 3000 small payloads 1.73 ms 1.73 ms +0.00 ms 0.00%
Reader & Writer 400 medium payloads 15.00 ms 14.91 ms +0.09 ms +0.60%
Atomic BEEF Transaction.toAtomicBEEF 1.48 ms 1.49 ms -0.01 ms -0.67%
Atomic BEEF Transaction.fromAtomicBEEF 3.56 ms 3.64 ms -0.08 ms -2.20%

@ty-everett ty-everett merged commit 39aa7ae into master Dec 11, 2025
19 checks passed
@ty-everett ty-everett deleted the TOB-25-ECDSA branch December 11, 2025 16:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants