Skip to content

Implement grouping-based exponentiation #2

Description

@Rjected

Since we're using this to solve timelock puzzles, the exponent is going to be very large. This can cause issues because the number, when in gmp's data representation, can be gigabytes in size. However, we know that the exponent will be 2^t, where t is the delay parameter.

Since we know t, we should, instead of plugging in 2^t directly, run an exponentiation 2^n times, where n is a parameter. This should be set according to the amount of memory a single instance should take up for its exponent, say 1024 or so. Then each instance will be run t/n times, with the final exponentiation being t % n squarings.

This might re-use a lot of code from kernel_powm_odd, or use fixed_window_powm_odd or sliding_window_powm_odd.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions