Rebase of #290 #349

pull sipa wants to merge 4 commits into bitcoin-core:master from sipa:jacobi changing 18 files +981 −108
  1. sipa commented at 1:51 AM on November 2, 2015: contributor

    No description provided.

  2. Move endianness macros into util.h c96da79bb9
  3. Remove secp256k1_num_mul from num.h
    This function isn't used anywhere and will cause test failures if we
    implement the full num.h API for a fixed-width 256-bit numeric type.
    
    We lose the unit test for secp256k1_scalar_mul_shift_var; we compensate
    by improving the unit test for secp256k1_scalar_split_lambda (which is
    the only user of this function) to test that the algebraic relation
    `N = s_lam * lambda + s_1` actually holds for the lambda decomposition.
    a5b8729aa5
  4. Add native num.h implementation with 32- and 64-bit variants
    This num.h implementation works using fixed-size arrays large enough
    to hold a 256-bit number (plus one word for slop). It includes a
    modular inversion. Typical perf numbers on my 64-bit system are:
    
      scalar_inverse:
        constant time: min 13.4us / avg 13.5us / max 13.8us
         native num.h: min 5.18us / avg 4.55us / max 5.43us
            gmp num.h: min 2.65us / avg 2.68us / max 2.70us
    
      field_inverse:
        constant time: min 6.02us / avg 6.09us / max 6.15us
         native num.h: min 5.48us / avg 4.94us / max 5.68us
            gmp num.h: min 2.96us / avg 3.02us / max 3.09us
    c4f4673028
  5. Add Jacobi symbol test via GMP
    Also add native Jacobi symbol test (Andrew)
    
    Rebased-by: Andrew Poelstra
    32dd8d5617
  6. sipa closed this on Nov 2, 2015

Contributors

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin-core/secp256k1. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-14 11:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me