Commit Graph

50 Commits

Author SHA1 Message Date
Sean Bowe 04a32fb443
Introduce `expose-arith` unstable feature for exposing arithmetic functions downstream. 2017-12-04 21:47:45 -07:00
Sean Bowe aa0cc06e5e
Scalar field should be guaranteed to be SqrtField. 2017-11-25 20:57:10 -07:00
bmerge affead11a5 Auto merge of #67 - ebfull:static-engine, r=ebfull
Engine should always be 'static, for flexibility in downstream code.
2017-11-21 06:47:28 +00:00
Sean Bowe 4b366a143d
Ensure `Engine`'s are always Clone. 2017-11-20 23:20:11 -07:00
Sean Bowe f32cb40929
Engine should always be 'static, for flexibility in downstream code. 2017-11-20 12:22:51 -07:00
Sean Bowe 471db6ab27
Enforce that Fr of Engine is the scalar for curve points, for simpler downstream abstractions. 2017-11-12 16:19:08 -07:00
bmerge 364796d88c Auto merge of #58 - ebfull:derive-clone, r=ebfull
Derive `Clone` for G1/G2 encodings.

AFAIK this will finally work on stable when the next version of Rust is released.

Closes #55
2017-10-12 16:45:21 +00:00
Sean Bowe 683f21a4d5
Remove spurious newline. 2017-10-04 14:53:42 -06:00
Sean Bowe 85b95750e2
Fix comment about u128-support. 2017-10-04 14:09:40 -06:00
Sean Bowe 60887521b6
Derive `Clone` for {G1|G2}{Uncompressed|Compressed}. 2017-10-03 14:35:00 -06:00
Sean Bowe 67f5fbc94c
More modifications to satisfy clippy. 2017-09-28 17:37:54 -06:00
Sean Bowe 05339414cc
Update clippy and compensate for new lints. 2017-09-28 17:10:06 -06:00
Sean Bowe 4fe3e1d6e3
Use associated constants for simple constants like these. (Closes #39.) 2017-09-28 16:08:56 -06:00
Sean Bowe bda22db9d5
Always recommend a window table size. 2017-09-28 08:38:13 -06:00
Sean Bowe 894b44d034
These structures are no longer exported outside the crate, and these assertions are unnecessary now that the external API can enforce them. 2017-09-28 08:12:37 -06:00
Sean Bowe d230603190
Introduce a more typesafe wNAF API, and remove the unstable-wnaf feature. 2017-09-27 19:09:59 -06:00
str4d 3ef34b750c
Move benchmarks under benches/ so tests compile on stable
Closes #36.
2017-09-27 17:45:24 +01:00
str4d 39920186b3
Force public structures to implement Debug
Closes #23.
2017-09-26 15:59:50 +01:00
Michele Orrù 2ac2d1213d Some (easy) cleanups as suggested from @daira.
Thanks!
2017-08-23 19:17:20 +02:00
Michele Orrù a86d0b7270 s/Q/Quadratic/ in LegendreSymbol enum.
Proposed by @ebfull.
2017-08-23 19:10:34 +02:00
Michele Orrù 6feb0f802f Merge traits SqrtField and LegendreField into SqrtField. 2017-08-23 19:08:00 +02:00
Michele Orrù 57b4e73627 Create enum for LegendreSymbol, fix test. 2017-08-23 19:06:43 +02:00
Michele Orrù 1b6cf85251 Add Legendre symbol for Fq and Fq2. 2017-08-23 19:04:56 +02:00
Sean Bowe 51b16c52b3
Only enable `i128_type` when necessary. 2017-08-15 13:54:51 -06:00
Sean Bowe 3908552fb9
Introduce stable arithmetic to avoid nightly/unstable features for some platforms. 2017-08-15 12:53:22 -06:00
Jason Davies d2f47cfa2d Fix minor typos in comments/docs. 2017-08-14 09:47:23 +01:00
Sean Bowe 766c902d8c
Allow `unreadable_literal` lint. 2017-08-01 11:37:51 -06:00
Sean Bowe 6410bdf998
Adopt idiomatic code suggestions. 2017-07-31 09:39:57 -06:00
Sean Bowe 053698eefb
Add `Engine` associated type to CurveProject/CurveAffine. 2017-07-30 00:54:23 -06:00
Sean Bowe 40ec989184
Add (not particularly efficient) from_str to PrimeField. 2017-07-30 00:47:24 -06:00
Sean Bowe dcca363d1b
Add muln() to PrimeFieldRepr along with tests for muln/divn. 2017-07-29 23:20:59 -06:00
Sean Bowe 9af0c7dd30
PrimeFieldRepr::divn() should accept u32. 2017-07-29 22:50:48 -06:00
Sean Bowe 1a481bc741
PrimeField::s() should return u32. 2017-07-29 22:47:06 -06:00
Sean Bowe 41834bc4b2
Add pairing_with API. 2017-07-20 20:52:36 -06:00
Sean Bowe 176c77d602
Random encoding/decoding tests for `PrimeFieldRepr`. Closes #3. 2017-07-18 11:18:42 -06:00
Sean Bowe 9e5f70f126
(clippy) More idomatic reference matching. 2017-07-18 10:16:49 -06:00
Sean Bowe 2bfce59d8e
Offer `read_be` and `write_be` utilities to simplify code, and for testing. 2017-07-18 08:58:58 -06:00
Sean Bowe d67109d5d3
EncodedPoint should be Copy/Clone. 2017-07-18 08:58:58 -06:00
Sean Bowe 7b1cd7f211
Improve documentation for errors a bit. 2017-07-18 08:58:58 -06:00
Sean Bowe 1d4710a39e
Consistently use `Debug` and `Display`. 2017-07-18 08:58:58 -06:00
Sean Bowe 1027dda432
Carry the interpreted value of the encoding through the error. 2017-07-18 08:58:58 -06:00
Sean Bowe 09531d0810
Add error logic to decoding methods. 2017-07-18 08:58:58 -06:00
Sean Bowe 451b2c30ad
Enable clippy linting. 2017-07-16 21:50:03 -06:00
Sean Bowe c618240c91
Implements and documents serialization, closes #11. 2017-07-16 20:52:00 -06:00
Sean Bowe 2090e76794
Mark `wnaf` module unstable via feature `unstable-wnaf`. Closes #13. 2017-07-14 11:56:55 -06:00
Sean Bowe 647f83b53b
Rename many .to_* methods to .into_*. 2017-07-11 23:37:29 -06:00
Sean Bowe 3faf8c526a
Encoding of G1/G2 elements in compressed or uncompressed form. 2017-07-11 15:01:31 -06:00
Sean Bowe 021077b56b
Added wNAF scalar multiplication. 2017-07-10 00:39:38 -06:00
Sean Bowe b965c58ac1
For performance, don't double/square until we've seen a bit. 2017-07-09 21:11:29 -06:00
Sean Bowe a06216f24b
Initial commit 2017-07-08 10:55:43 -06:00