good morning!!!!

Skip to content
Snippets Groups Projects
  • Marius van der Wijden's avatar
    crypto/secp256k1: fix undefined behavior in BitCurve.Add (#22621) · 0703ef62
    Marius van der Wijden authored
    
    This commit changes the behavior of BitCurve.Add to be more inline
    with btcd. It fixes two different bugs:
    
    1) When adding a point at infinity to another point, the other point
       should be returned. While this is undefined behavior, it is better
       to be more inline with the go standard library.
       Thus (0,0) + (a, b) = (a,b)
    
    2) Adding the same point to itself produced the point at infinity.
       This is incorrect, now doubleJacobian is used to correctly calculate it.
       Thus (a,b) + (a,b) == 2* (a,b) and not (0,0) anymore.
    
    The change also adds a differential fuzzer for Add, testing it against btcd.
    
    Co-authored-by: default avatarFelix Lange <fjl@twurst.com>
    Unverified
    0703ef62
Code owners
Assign users and groups as approvers for specific file changes. Learn more.