Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: indutny/elliptic
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v6.5.7
Choose a base ref
...
head repository: indutny/elliptic
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v6.6.0
Choose a head ref
  • 2 commits
  • 7 files changed
  • 1 contributor

Commits on Oct 26, 2024

  1. fix: signature verification due to leading zeros

    According to FIPS 186-5, section 6.4.2 ECDSA Signature
    Verification Algorithm, the hash of the message must be adjusted
    based on the order n of the base point of the elliptic curve:
    
        If log2(n) ≥ hashlen, set E = H. Otherwise, set E equal to
        the leftmost log2(n) bits of H.
    
    Unfortunately because elliptic converts messages to BN instances the
    reported `byteLength()` for the message can be incorrect if the message
    has 8 or more leading zero bits.
    
    Here we fix it by:
    
    1. Counting leading zeroes in hex strings provided as messages
    2. Counting all array entries in Array-like (e.g. Buffer)
       messages
    3. Providing an `msgBitLength` option to both `.sign`/`.verify` to let
       user override the behavior
    
    Original PR: #322
    Credit: @Markus-MS
    indutny authored Oct 26, 2024
    Configuration menu
    Copy the full SHA
    34c8534 View commit details
    Browse the repository at this point in the history
  2. 6.6.0

    indutny committed Oct 26, 2024
    Configuration menu
    Copy the full SHA
    b8a7edd View commit details
    Browse the repository at this point in the history
Loading