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

Multiscalar multiplication with precomputation. #230

Merged

Conversation

hdevalence
Copy link
Contributor

Closes #125.

Adds two traits, PrecomputedMultiscalarMul and VartimePrecomputedMultiscalarMul, provides implementations for EdwardsPoints and RistrettoPoints, and reworks the benchmarks to provide precomputation timings.

@hdevalence hdevalence added this to the 1.1 milestone Feb 12, 2019
@hdevalence hdevalence force-pushed the updated-precomputation branch from 7d29d34 to 27daa52 Compare February 12, 2019 20:52
This doesn't (yet) give any speedup over the non-precomputed multiscalar
multiplication, and it's not clear that it's a good idea to commit to
supporting it in the future.  Removing it means that it's not committed-to as
part of the public API, but the source is still there in the tree if we want to
revisit it later.
This avoids potentially misleading benchmark results where the memory cost of
precomputation becomes "free" as re-running the benchmark loop lifts exactly
the required table entries into the highest-level caches.
@hdevalence hdevalence force-pushed the updated-precomputation branch from 29687b6 to 47967b4 Compare February 14, 2019 19:16
@hdevalence
Copy link
Contributor Author

I removed the constant-time precomputation support for the reason mentioned in the commit:

This doesn't (yet) give any speedup over the non-precomputed multiscalar
multiplication, and it's not clear that it's a good idea to commit to
supporting it in the future. Removing it means that it's not committed-to as
part of the public API, but the source is still there in the tree if we want to
revisit it later.

@hdevalence
Copy link
Contributor Author

The CI failures are related to issues in the rand crate again, merging this before fixing them.

@hdevalence hdevalence merged commit a1123e7 into dalek-cryptography:develop Feb 14, 2019
pinkforest pushed a commit to pinkforest/curve25519-dalek that referenced this pull request Jun 27, 2023
Change from_bytes methods to take fixed-size array argument
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant