-
Notifications
You must be signed in to change notification settings - Fork 71
feat: Ed25519 and Ed25519ph verification algorithm #1874
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
Open
Avaneesh-axiom
wants to merge
95
commits into
feat/ed25519
Choose a base branch
from
feat/eddsa
base: feat/ed25519
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
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
- rename remaining structs - switch from num-bigint-dig to num-bigint
…weierstrass and edwards curves)
Co-authored-by: Jonathan Wang <[email protected]>
A bug involving opcode collisions between short Weierstrass and twisted Edwards curves was found. To fix this, CurveConfig was rewritten and separate opcodes were given to the two types of curves.
f933787
to
90c3220
Compare
90c3220
to
114f3da
Compare
This comment has been minimized.
This comment has been minimized.
CodSpeed WallTime Performance ReportMerging #1874 will not alter performanceComparing
|
Commit: b3288ab |
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 adds to the ECC extension support for verifying EdDSA signatures over the Ed25519 curve. In particular, the Ed25519 and Ed25519ph (prehashed variant) from this RFC are supported.
A new module named
eddsa
was added to the ECC guest extension. Theeddsa.rs
file contains an implementation of EdDSA that is generic over the twisted Edwards curve, but is currently only instantiated (and tested) with the Ed25519 curve.The Ed25519 and Ed25519ph verification algorithms are tested in the ECC integration tests. All the relevant test vectors from the RFC are used, as well as some randomly generated ones.
Note: Ed25519ph is not simply Ed25519 with the message first hashed with SHA-512. The subtlety is that there is a domain separator incorporated into the input to a hash. See the definition of
dom2(F, C)
here and its use here.Depends on #1858 and #1829