BN254 Block Multiplier (Rust Version)#34
Merged
Conversation
This was referenced May 2, 2025
Merged
Contributor
|
Interesting. Apparently if I delete the target branch (which was merge into main), it auto-closes any outstanding PRs. Furthermore, the 'reopen' button is disabled and I can not change the target branch to |
Contributor
|
ok, re-created the target branch. |
dcbuild3r
pushed a commit
that referenced
this pull request
May 16, 2026
BN254 Block Multiplier (Rust Version)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR introduces a new crate called block-multiplier. The crate provides a primitive for efficient modular multiplication, designed to serve as a low-level building block for higher-level cryptographic operations such as the Number-Theoretic Transform (NTT) and the Skyscraper hash.
This is work done by the working group:
Yuval Domb --- @yuvalingo
Xander van der Goot --- @xrvdg
Koh Wei Jie --- @weijiekoh
Tony Wu --- @Quarky93
Motivation
The core idea behind block-multiplier is to maximize throughput of modular multiplications by exploiting the parallelism between the scalar integer and floating-point SIMD pipelines available on modern ARM CPUs. Specifically, this design targets:
Platform Notes
Algorithms
The techniques implemented draw from the following works:
These works were implemented by Xander van der Goot @xrvdg in the modmulzoo repo.
Further improvements planned, but will be a future PR.