Commit graph

66 commits

Author SHA1 Message Date
Jack Grigg
78be37163b pasta_curves 0.5.0 2022-12-06 02:32:40 +00:00
Jack Grigg
9862b247d2 Migrate remaining FieldExt constants and methods into ff 2022-11-25 05:05:54 +00:00
Jack Grigg
1c21a8944c Migrate to ff revision with trait constants 2022-11-19 12:16:10 +00:00
Jack Grigg
6921efd8fd Migrate to ff revision with square root backports 2022-11-19 12:03:54 +00:00
str4d
f8ba48de4e
Merge pull request #48 from filecoin-project/impl-serde
Implement Serde for fields and curves
2022-11-19 12:02:52 +00:00
str4d
191c416a76
Merge pull request #45 from filecoin-project/ec-gpu-020
Update to ec-gpu 0.2 release
2022-11-19 11:58:45 +00:00
Volker Mische
52902e6fdf Implement Serde for fields and curves
Currently Serde is only implemented for `Fp`, `Fq`, `EpAffine` and `EqAffine`.
Support can be enabled with the `serde` feature.
2022-10-14 15:32:57 +02:00
Sean Bowe
e48f641f76
Release 0.4.1 2022-10-13 14:58:44 -06:00
Volker Mische
fb04f7ad99 Update to ec-gpu 0.2 release
The traits of ec-gpu changed a bit, there's now also a `GpuName`
trait that needs to be implemented.

BREAKING CHANGE: `ec-gpu` v0.2 traits are not compatible with v0.1

All dependencies that use `ec-gpu` need to be on v0.2.
2022-09-07 15:44:48 +02:00
Tomas Krnak
378f5cfd08 Add uninline-portable feature 2022-08-17 17:39:04 +02:00
Jack Grigg
94a5039b13 pasta_curves 0.4.0 2022-05-04 23:22:15 +00:00
Jack Grigg
0b8ed00c84 Migrate to Rust 2021 2022-05-04 23:22:15 +00:00
Jack Grigg
3329b4de85 Migrate to ff 0.12, group 0.12
MSRV is now 1.56.0.
2022-05-04 23:22:15 +00:00
Jack Grigg
94d6a8be03 pasta_curves 0.3.1 2022-04-20 11:15:43 +00:00
ebfull
a80ed3e8aa
Merge pull request #30 from dot-asm/repr-c
Add 'repr-c' feature to facilitate FFI.
2022-04-19 08:04:29 -06:00
Volker Mische
870939ab03 Implement ec_gpu:GpuField for Fp/Fq
This commit introduces a new feature called "gpu", which enables an
`ec_gpu:GpuField` implementation of `Fp` and `Fq`. This enables the
field arithmetics to be run on a GPU.

The code to convert from a u64 to a u32 vector was taken from
07a84f9727/src/lib.rs (L102-L108)
2022-03-02 14:44:11 +01:00
Andy Polyakov
872065c8a1 Add 'repr-c' feature to facilitate FFI. 2022-02-17 17:06:02 +01:00
Jack Grigg
6b2090ff2c pasta_curves 0.3.0 2022-01-03 13:57:42 +00:00
Jack Grigg
61fac8a5af blake2b_simd 1
We also move this dependency behind the `alloc` feature flag, as it is
only required for `crate::hashtocurve`.
2022-01-03 13:56:07 +00:00
Jack Grigg
53f65f7e6d Changelog and comment cleanups 2022-01-03 13:56:07 +00:00
Jack Grigg
21fd9e2c1b Remove std feature flag
Closes zcash/pasta_curves#27.
2021-12-22 05:41:04 +00:00
Jack Grigg
f874d29238 Remove FieldExt::rand
This removes a dependency on the `getrandom` crate in no-std mode, which
doesn't work on some no-std targets that `getrandom` doesn't support.
2021-12-22 05:15:06 +00:00
Jack Grigg
ab03c3d5e1 Remove field traits from behind std feature flag
Now that we have a default implementation of `SqrtRatio::sqrt_ratio`, we
can use it and `FieldExt` in no-std environments.

We introduce an `alloc` feature flag to form a common feature dependency
between `std` and `sqrt-table`. It is currently unused directly, but
will be used after `CurveAffine` is refactored to remove the `std`
dependency.

Closes zcash/pasta_curves#25.
2021-12-22 05:06:16 +00:00
Jack Grigg
314b1bcb94 Place SqrtTables behind a sqrt-tables feature flag
This enables the crate to be compiled without the tables, instead using
a simple fallback for `SqrtRatio::sqrt_ratio`.
2021-12-22 04:38:14 +00:00
Jack Grigg
9999964d17 Add no-std support
We re-introduce the Tonelli-Shank square root algoritm that was removed
in zcash/halo2#120, to use in no-std mode (the table-based impl requires
allocations, and also uses 29kiB of memory which is a problem for
constrained environments that typically need no-std).
2021-09-20 18:56:23 +01: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
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
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
Jack Grigg
15e16839b3 Release 0.1.1 2021-06-04 18:54:09 +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
bc20c5826b Migrate to ff 0.10.0 2021-06-01 23:31:00 +01: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
Steven Smith
82ddc0ebee Changing TGPPL references to BOSL 2021-04-16 09:50:44 -07:00
dignifiedquire
9e65e3a67d bench: add baseline benches for Fp and Fq 2021-03-10 14:46:28 +01:00
Jack Grigg
b36356667f Rename crate to pasta_curves and remove halo2 code 2021-03-03 21:59:08 +00:00
Jack Grigg
b4ed5295fe Migrate to group traits
The `Curve` trait is now `CurveExt: group::prime::PrimeCurve`, and
`CurveAffine` is now `CurveAffine: group::prime::PrimeCurveAffine`.

There is no `CurveAffine` trait in `group`, and it's a widely-used
trait in this crate, so we don't rename it to `CurveAffineExt`.
2021-02-22 20:20:23 +00:00
Daira Hopwood
704a6c3637 Remove unneeded sha3 dependency.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-02-21 00:45:33 +00:00
Sean Bowe
c48229ce0f Remove dependency on byteorder crate 2021-02-19 15:52:11 +00:00
Daira Hopwood
fa3afc29bb Add an implementation of simplified SWU hash-to-curve.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-02-19 15:52:11 +00:00
Jack Grigg
776016fe53 crossbeam-utils 0.8 2021-02-17 20:43:36 +00:00
Jack Grigg
0c4f779993 ff 0.9 2021-02-17 20:42:27 +00:00
Jack Grigg
2c77eccf01 metrics 0.14.2 2021-02-17 20:40:12 +00:00
Sean Bowe
4747112118
Downgrade to funty 1.1.0 to fix CI. 2021-02-14 09:24:15 -07:00
Jack Grigg
3c1132ec59 Add halo2::dev::circuit_layout behind dev-graph feature flag
This method renders circuits as tables, showing how the various regions
within them have been layed out.
2021-02-01 18:38:20 +00:00
Jack Grigg
7dd6e65a5f Add halo2::dev::circuit_dot_graph behind dev-graph feature flag
This method renders circuits as dot graphs, to help circuit developers
understand their structure.
2021-02-01 18:38:16 +00:00