Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge configurably sized basepoint multiplication lookup tables #350

Merged
merged 10 commits into from Apr 13, 2021

Commits on Dec 27, 2019

  1. Copy the full SHA
    4f29935 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    383e65f View commit details
    Browse the repository at this point in the history

Commits on Dec 31, 2019

  1. Implement larger sizes of basepoint tables.

    This implements a macro for implementing the BasepointTable trait, and
    uses the macro to create basepoint table types. The default table
    still uses radix-16 representation and is ~30KB in size.  The new
    table types, and their memory usage and additions required per
    basepoint multiplication are:
    
     * `EdwardsBasepointTableRadix64`: ~120KB, 43 additions
     * `EdwardsBasepointTableRadix128`: ~240KB, 37 additions
     * `EdwardsBasepointTableRadix256`: ~480KB, 32 additions
    isislovecruft committed Dec 31, 2019
    Copy the full SHA
    8a9e09b View commit details
    Browse the repository at this point in the history
  2. Implement conversions between basepoint table sizes.

    This is useful for programs/protocol which can do some heuristics or
    learning-based approach towards optimising the table size based on the number of
    uses of e.g. a public key, the second basepoint in a Pedersen commitment, etc.,
    i.e. the first time a public key is used to verify a signature, the usual
    variable-time basepoint multiscalar multiplication is used, however after 1000
    verifications, the table size is upgraded, and again after 10000 verifications,
    etc.
    isislovecruft committed Dec 31, 2019
    Copy the full SHA
    cfbcb6c View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    c01bd78 View commit details
    Browse the repository at this point in the history

Commits on Jan 3, 2020

  1. Copy the full SHA
    ca1f730 View commit details
    Browse the repository at this point in the history

Commits on Jan 7, 2020

  1. Fix an attempted overflow on absolute value computation for radix-256…

    … tables.
    
    Found by the fuzzer in 4f5d2d4.
    isislovecruft committed Jan 7, 2020
    Copy the full SHA
    1f8a19a View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    e82910d View commit details
    Browse the repository at this point in the history

Commits on Mar 25, 2021

  1. Copy the full SHA
    cc0c444 View commit details
    Browse the repository at this point in the history

Commits on Apr 13, 2021

  1. Copy the full SHA
    0da8f08 View commit details
    Browse the repository at this point in the history