Commit Graph

797 Commits

Author SHA1 Message Date
Jack Grigg 87488ec1f6 CI: Add no-std build check 2021-09-20 13:58:41 +01:00
str4d adf66ae0d1
Merge pull request #19 from zcash/relicense-mit-apache
Relicense `pasta_curves` as MIT OR Apache-2.0
2021-09-18 03:43:40 +12:00
Jack Grigg bb2564d586 pasta_curves 0.2.1 2021-09-17 16:37:00 +01:00
Jack Grigg f747efc6ff Relicense `pasta_curves` as MIT OR Apache-2.0 2021-09-17 16:32:36 +01:00
str4d 5fb3037b9e
Merge pull request #18 from porcuquine/reexport-group
Re-export group crate.
2021-09-06 18:13:41 +01:00
porcuquine 65a138cd77 Re-export group crate. 2021-09-02 13:19:32 -07:00
ebfull 4f85fa5c7f
Merge pull request #17 from zcash/ff-0.11
ff 0.11, group 0.11
2021-09-02 11:45:18 -06:00
Jack Grigg 6a28a85d8b pasta_curves 0.2.0 2021-09-02 18:37:13 +01:00
Jack Grigg fd7a6edbb1 ff 0.11, group 0.11 2021-09-02 18:10:05 +01:00
Daira Hopwood bdb1c3797f
Merge pull request #16 from daira/point-bench
Add benchmarks for point operations
2021-08-11 19:01:16 +01:00
Daira Hopwood 329f59493c Add benchmarks for point operations.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-08-11 15:09:34 +01:00
Jack Grigg 1bac885af5 Release 0.1.2 2021-08-06 13:29:03 +01:00
str4d b786a0c488
Merge pull request #15 from zcash/wnaf-group
Enable Pasta curve elements to be used with `group::Wnaf`
2021-08-06 13:27:11 +01:00
Jack Grigg 43251286c0 Enable Pasta curve elements to be used with `group::Wnaf` 2021-08-06 01:23:27 +01:00
str4d d8547d2326
Merge pull request #13 from zcash/cofactorcurve
impl CofactorCurve for Pallas and Vesta
2021-06-04 20:24:31 +01:00
Jack Grigg 15e16839b3 Release 0.1.1 2021-06-04 18:54:09 +01:00
Jack Grigg a6b018fb0e impl CofactorCurve for Pallas and Vesta
They already implement CofactorGroup (trivially, with the prime-order
subgroup being Self); this just enables Pallas and Vesta to be used in
cofactor-aware protocols that also want to leverage the affine point
representation.
2021-06-04 00:54:39 +01:00
str4d 93df9c0cb9
Merge pull request #12 from zcash/release-0.1.0
Release 0.1.0
2021-06-01 23:48:15 +01:00
Jack Grigg 084d57ab10 Release 0.1.0 2021-06-01 23:40:45 +01:00
Jack Grigg 17b2e5275b Exclude contributor agreement from published crate
Can't contribute to hash-pinned binaries! This file is only needed in
the repo itself.
2021-06-01 23:38:30 +01:00
Jack Grigg 38db112596 Fix clippy lints 2021-06-01 23:34:22 +01:00
Jack Grigg bc20c5826b Migrate to ff 0.10.0 2021-06-01 23:31:00 +01:00
Jack Grigg 45c57f9352 Bump MSRV to 1.51.0
Necessary for ff 0.10 etc.
2021-06-01 23:22:25 +01:00
Jack Grigg 7663200468 Fill in readme details 2021-06-01 23:19:14 +01:00
Jack Grigg 5d128a6c12 Add rust-toolchain file with MSRV 2021-06-01 23:09:07 +01:00
ebfull 0bd744356a
Merge pull request #11 from zcash/remove-large-stack-allocations
Remove large temporary stack allocations from SqrtTables::new
2021-04-28 16:12:00 -06:00
Jack Grigg ccbfaf6a20 Remove large temprary stack allocations from SqrtTables::new 2021-04-28 14:21:45 +12:00
Steven 376ba4eeca
Merge pull request #9 from steven-ecc/change-tgppl-to-bosl
Adding BOSL and changing TGPPL references to BOSL
2021-04-26 16:43:21 -07:00
Steven e6a7d68a3e
Update Cargo.toml
Co-authored-by: ebfull <ewillbefull@gmail.com>
2021-04-26 16:43:07 -07:00
str4d 03fe608296
Merge pull request #5 from dignifiedquire/benches-fp-fq
bench: add baseline benches for Fp and Fq
2021-04-24 01:20:50 +01:00
str4d b55a6960df
Merge pull request #10 from zcash/curveaffine-coordinates
Replace `(x, y)` tuple with `Coordinates` struct
2021-04-19 22:27:22 +01:00
Jack Grigg b016b972f8 Replace (x, y) tuple with Coordinates struct
The previous `CurveAffine::get_xy` method returned the coordinates as
`CtOption<(C::Base, C::Base)>`. However, `ConditionallySelectable` is
not implemented for any tuple or array types, making it impossible to
use any of the useful `CtOption` methods like `and_then`. We replace it
with `CurveAffine::coordinates -> CtOption<Coordinates<Self>>` and
`impl ConditionallySelectable for Coordinates` to enable operating over
coordinates in constant time.
2021-04-18 09:21:18 +12:00
Steven Smith 82ddc0ebee Changing TGPPL references to BOSL 2021-04-16 09:50:44 -07:00
ebfull 5ef94023a3
Merge pull request #8 from daira/daira-update-hashtocurve
Update hash_to_field to correct a discrepancy with the Hashing to Elliptic Curves Internet Draft
2021-04-01 16:19:50 -06:00
Daira Hopwood a1194672c5 Update hash_to_field to correct a discrepancy with the Hashing to Elliptic Curves Internet Draft
pointed out in the NCC audit.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-03-27 14:39:39 +00:00
dignifiedquire 9e65e3a67d bench: add baseline benches for Fp and Fq 2021-03-10 14:46:28 +01:00
str4d 0a6b2f6eb5
Merge pull request #2 from zcash/clippy-fixes
Clippy fixes
2021-03-05 11:44:01 +13:00
str4d 5b325c0b5e
Merge pull request #3 from zcash/pasta_curves-crate
Extract pasta_curves crate from halo2 crate
2021-03-05 11:40:40 +13:00
Jack Grigg 311b087ff1 book: Fix broken links 2021-03-04 14:02:12 +00:00
Jack Grigg a46c4d8a0a CI: Remove unnecessary --all flag
We aren't in a workspace here.
2021-03-03 22:49:52 +00:00
Jack Grigg c713e804fa Update book to remove Halo 2 content 2021-03-03 22:45:30 +00:00
Jack Grigg 901ef2381e clippy: Allow binary operators in Mul impls for curves
We use binary operators specifically to implement constant-time scalar
multiplication.
2021-03-03 22:00:22 +00:00
Jack Grigg a3921fd38c clippy: Allow too-many-arguments on F*::montgomery_reduce
We need to reduce from eight limbs to four, so we need eight arguments.
2021-03-03 22:00:22 +00:00
Jack Grigg c13fc16ead clippy: Allow single-character names where necessary 2021-03-03 22:00:22 +00:00
Jack Grigg b06937103d clippy: Use *Assign to implement arithmetic::Group trait 2021-03-03 22:00:22 +00:00
Jack Grigg d40ed36d50 Move Pasta implementations into root 2021-03-03 21:59:08 +00:00
Jack Grigg b36356667f Rename crate to pasta_curves and remove halo2 code 2021-03-03 21:59:08 +00:00
ebfull ec38a06fbf
Merge pull request #226 from zcash/fix-curve-random
Fix Group::random implementation for Pallas and Vesta
2021-03-02 15:17:26 -07:00
str4d 5e05845936
Remove unnecessary identity check from Group::random impl
Co-authored-by: ebfull <ewillbefull@gmail.com>
2021-03-03 11:11:13 +13:00
Jack Grigg 62e50ae6bd Fix Group::random implementation for Pallas and Vesta
Also removes the broken CurveAffine::from_bytes_wide and unused
CurveAffine::to_bytes_wide methods.
2021-03-02 21:29:59 +00:00