-
Notifications
You must be signed in to change notification settings - Fork 55
Release 0.14.0 #63
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
Merged
Merged
Release 0.14.0 #63
Changes from all commits
Commits
Show all changes
30 commits
Select commit
Hold shift + click to select a range
b4e8749
Add `Group::mul_by_generator`
tarcieri 6ab641f
Raise MSRV to 1.63
str4d 8240c17
Update lockfile to latest MSRV-compatible dependencies
str4d 8534991
Merge pull request #62 from zkcrypto/msrv-1.63
str4d 055cc14
Bump to rust-random 0.9
pinkforest 42e0ad5
Merge pull request #56 from pinkforest/bump-rand-0.9
str4d f3537bc
Relax `Sized` requirements on the rng
baloo 430e26a
Merge pull request #57 from baloo/baloo/relax-rng
str4d 4456de8
Provide a `Group::try_from_rng`
baloo 94b7e74
Merge pull request #59 from baloo/baloo/try_from_rng
str4d 6636782
Merge pull request #44 from tarcieri/mul_by_generator
str4d a260479
Preview 0.14.0-pre.0
str4d 31e349d
Merge pull request #64 from zkcrypto/preview-0.14.0-pre.0
str4d 87fcee0
Bump `rand_core` to v0.10; MSRV 1.85
tarcieri 2110485
Introduce `CurveAffine` trait
str4d 6bee6ef
Merge pull request #48 from zkcrypto/curveaffine
str4d 62923b9
Merge pull request #71 from tarcieri/rand_core/v0.10
ebfull 92f221b
Update patch to retarget ff 0.14.0 release branch
ebfull 326b36b
Rename `Group::try_from_rng` to `Group::try_random`
ebfull d24dd0d
Update to `ff 0.14.0-pre.1`
ebfull b8220c8
Update CHANGELOG.md
ebfull b71b98a
Preview 0.14.0-pre.1
ebfull 0562c20
Update CHANGELOG.md
ebfull 8b8e53b
Update MSRV in README.md to 1.85
ebfull d0bed6d
Update to ff 0.14.0
ebfull 1d05796
Use consistent CHANGELOG language for ff bump
ebfull 5e5b9b9
Fix lints and minor nits
ebfull ab86533
Simplify Curve::Affine bounds
ebfull 7fc1ccc
Align group random docs with ff
ebfull f9a84a7
Release 0.14.0
ebfull File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,3 @@ | ||
| [toolchain] | ||
| channel = "1.56.0" | ||
| channel = "1.85.0" | ||
| components = [ "clippy", "rustfmt" ] |
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,50 +1,14 @@ | ||
| use core::fmt; | ||
| use core::ops::{Mul, Neg}; | ||
| use ff::PrimeField; | ||
| use subtle::Choice; | ||
|
|
||
| use crate::{Curve, Group, GroupEncoding}; | ||
| use crate::{Curve, CurveAffine, Group, GroupEncoding}; | ||
|
|
||
| /// This trait represents an element of a prime-order cryptographic group. | ||
| pub trait PrimeGroup: Group + GroupEncoding {} | ||
|
|
||
| /// Efficient representation of an elliptic curve point guaranteed to be | ||
| /// in the correct prime order subgroup. | ||
| pub trait PrimeCurve: Curve<AffineRepr = <Self as PrimeCurve>::Affine> + PrimeGroup { | ||
| type Affine: PrimeCurveAffine<Curve = Self, Scalar = Self::Scalar> | ||
| + Mul<Self::Scalar, Output = Self> | ||
| + for<'r> Mul<&'r Self::Scalar, Output = Self>; | ||
| } | ||
| pub trait PrimeCurve: Curve + PrimeGroup {} | ||
|
|
||
| /// Affine representation of an elliptic curve point guaranteed to be | ||
| /// in the correct prime order subgroup. | ||
| pub trait PrimeCurveAffine: GroupEncoding | ||
| + Copy | ||
| + Clone | ||
| + Sized | ||
| + Send | ||
| + Sync | ||
| + fmt::Debug | ||
| + PartialEq | ||
| + Eq | ||
| + 'static | ||
| + Neg<Output = Self> | ||
| + Mul<<Self as PrimeCurveAffine>::Scalar, Output = <Self as PrimeCurveAffine>::Curve> | ||
| + for<'r> Mul<&'r <Self as PrimeCurveAffine>::Scalar, Output = <Self as PrimeCurveAffine>::Curve> | ||
| { | ||
| type Scalar: PrimeField; | ||
| type Curve: PrimeCurve<Affine = Self, Scalar = Self::Scalar>; | ||
|
|
||
| /// Returns the additive identity. | ||
| fn identity() -> Self; | ||
|
|
||
| /// Returns a fixed generator of unknown exponent. | ||
| fn generator() -> Self; | ||
|
|
||
| /// Determines if this point represents the point at infinity; the | ||
| /// additive identity. | ||
| fn is_identity(&self) -> Choice; | ||
| pub trait PrimeCurveAffine: CurveAffine {} | ||
|
|
||
| /// Converts this element to its curve representation. | ||
| fn to_curve(&self) -> Self::Curve; | ||
| } | ||
| impl<C: CurveAffine> PrimeCurveAffine for C where C::Curve: PrimeCurve {} |
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.