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

p384: v0.11 release tracking issue #566

Closed
6 tasks done
tarcieri opened this issue May 26, 2022 · 9 comments
Closed
6 tasks done

p384: v0.11 release tracking issue #566

tarcieri opened this issue May 26, 2022 · 9 comments

Comments

@tarcieri
Copy link
Member

tarcieri commented May 26, 2022

This is a tracking ticket for work items it would be nice to have before cutting a final v0.11 release which includes an initial arithmetic implementation.

NOTE: not all of these need to be completed prior to a release and they can be added after-the-fact.

cc @brycx @jedisct1

@tarcieri
Copy link
Member Author

@daviddrysdale would you be interested in helping add Wycheproof test vectors?

@tarcieri
Copy link
Member Author

@jedisct1 did you want to take a look at adding 32-bit support? If not, I probably can in the next few days

@tarcieri
Copy link
Member Author

#573 implemented (currently untested) 32-bit support except for field and scalar inversions, which presently use a 64-bit only implementation.

Once that has been addressed, we can add cross tests for 32-bit targets, and after that I'd say it's ready to release.

@daviddrysdale
Copy link
Contributor

@daviddrysdale would you be interested in helping add Wycheproof test vectors?

Happy to put in something analogous to the P256 test vectors, but it doesn't seem like the various traits (e.g. SigningKey, VerifyingKey) needed to use new_wycheproof_test! are available yet?

@tarcieri
Copy link
Member Author

@daviddrysdale I think I got it taken care of in #574

@brycx
Copy link
Contributor

brycx commented Jun 2, 2022

@tarcieri Is there anything left blocking the 0.11.0 release? I see you've changed the inversion to work with the 32-bit backend as well 🚀

@tarcieri
Copy link
Member Author

tarcieri commented Jun 2, 2022

I was curious to try this transformation on the field arithmetic and what impact it would have on performance: RustCrypto/utils#768

I wouldn't consider it a release blocker, but it would be nice to have at least compile-time transformations to/from Montgomery form, if only so field element constants could be given in canonical form.

It would also potentially enable computing basepoint tables at compile time.

@tarcieri
Copy link
Member Author

tarcieri commented Jun 2, 2022

#589 adds const fn support to field elements.

After that it would be nice to expose const fn wrappers for the field arithmetic functions, and then rewrite the various constants back into canonical form, transforming them into Montgomery form at compile time.

And after that, I'm good to ship it!

@tarcieri
Copy link
Member Author

tarcieri commented Jun 3, 2022

Released in #593

@tarcieri tarcieri closed this as completed Jun 3, 2022
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

No branches or pull requests

3 participants