Commit Graph

540 Commits

Author SHA1 Message Date
Sean Bowe
0e877810f7
Add tests for rejected encoded G1/G2 points. 2017-07-18 08:58:58 -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
bmerge
7c35f2b8b0 Auto merge of #16 - ebfull:clippy-impl, r=ebfull
Enable clippy linting

Closes #5
2017-07-17 03:51:15 +00:00
Sean Bowe
451b2c30ad
Enable clippy linting. 2017-07-16 21:50:03 -06:00
bmerge
6df2c003c7 Auto merge of #15 - ebfull:serialization-impl, r=ebfull
Implements and documents serialization

Closes #11.
2017-07-17 03:28:05 +00:00
Sean Bowe
c618240c91
Implements and documents serialization, closes #11. 2017-07-16 20:52:00 -06:00
Sean Bowe
e72660056e
Ordering cleanup for Fq/Fq2, with documentation. Closes #9. 2017-07-15 15:32:37 -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
806d34b39a
Rename unitary_inverse to conjugate. Closes #12. 2017-07-14 11:45:07 -06:00
Sean Bowe
d438f16628
Use divn when rightshifting during rand(). 2017-07-14 11:41:40 -06:00
Sean Bowe
bafb273a6c
Simplify doubling code during squaring routine. 2017-07-11 23:49:33 -06:00
Sean Bowe
647f83b53b
Rename many .to_* methods to .into_*. 2017-07-11 23:37:29 -06:00
Sean Bowe
ae69eb01b3
Small adjustments to satisfy clippy. 2017-07-11 17:10:32 -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
f2b1b0632d
Correct README description of E'. 2017-07-08 23:26:38 -06:00
Sean Bowe
a06216f24b
Initial commit 2017-07-08 10:55:43 -06:00
bmerge
e282bc095a Auto merge of #13 - ebfull:fix-comment, r=ebfull
Fix comment about sqrt.

Still just testing CI stuff.
2017-06-19 22:40:09 +00:00
Sean Bowe
9c94216a87 Fix comment about sqrt. 2017-06-19 13:58:30 -06:00
bmerge
be1961124c Auto merge of #12 - ebfull:version-bump, r=ebfull
Version bump
2017-06-19 18:38:01 +00:00
Sean Bowe
5ca9341aeb Version bump 2017-06-19 12:17:10 -06:00
bmerge
8ff6ce741a Auto merge of #10 - ebfull:remove-travis, r=ebfull
Remove travis CI.
2017-06-19 17:40:12 +00:00
Sean Bowe
c9677d8bd2 Remove travis CI. 2017-06-19 11:31:32 -06:00
bmerge
732af319fe Auto merge of #9 - ebfull:various-improvements, r=ebfull
Various improvements to project structure and implementation

This makes wNAF/multiexp more modularized and abstract (for use later in remodeling groth) and starts moving other things around.

Also, good chance to start working on buildbot.
2017-06-19 05:55:32 +00:00
Sean Bowe
e9dee9de16 Move domain to curves. 2017-06-17 20:53:26 -06:00
Sean Bowe
fd3774118a Move BitIterator into root of crate. 2017-06-17 19:46:40 -06:00
Sean Bowe
5cf6acd21a Clean up prime field representation. 2017-06-17 18:57:56 -06:00
Sean Bowe
d4903f19fe Refactoring of multiexp/wnaf. 2017-06-17 17:04:14 -06:00
Sean Bowe
8f6a5737c0 Avoid the use of dynamic dispatch during verification. 2017-06-15 17:40:06 -06:00
Sean Bowe
97d58c7954 Add batchexp utility function to Engine. 2017-05-16 16:41:31 -06:00
Sean Bowe
33dd0de661 Parallelism improvements. 2017-05-16 12:06:59 -06:00
Sean Bowe
bb73258ce9 Parallel FFTs. 2017-05-14 19:37:02 -06:00
Sean Bowe
669853de99 Make domain evaluations public. 2017-05-07 18:27:48 -06:00
Sean Bowe
750131f0a1 Allow evaluation domain to act over all groups. 2017-05-07 18:25:49 -06:00
Sean Bowe
1434ad7b28 Introduce Group for generic group operations. 2017-05-07 18:15:33 -06:00
Sean Bowe
56c75c0c8a Rename Group to Curve. 2017-05-07 18:07:35 -06:00
Sean Bowe
d95a9b0b29 Update to serde 1.0/bincode 0.8. 2017-05-07 10:24:54 -06:00
Sean Bowe
a98e84e09a Move Cow/Convert out of curves module. 2017-05-07 09:39:01 -06:00
Sean Bowe
72a386ec34 Version bump. 2017-04-04 14:45:10 -06:00
Sean Bowe
f1903133ed Rename "groth" to "groth16". 2017-04-04 14:45:10 -06:00
Sean Bowe
d228257da6 Rename to "Input"/"InputMap" 2017-04-04 14:45:10 -06:00
Sean Bowe
c9fbf490dc Implementation of Jens Groth's generic group zk-SNARK proving system. 2017-04-03 21:42:22 -06:00
Sean Bowe
9a3743c7c4 Various improvements to BLS implementation:
* Switch from rayon to crossbeam
* Allow windows to be reused per batch exp
* Allow batchexp to take vector by value
* Allow access to thread-local engine context
* Allow cloning of Engine
* Clean up wNAF abstractions to reduce heap allocation
2017-04-03 21:41:38 -06:00
Sean Bowe
f835556ffb The current year is 2017! 2017-03-13 20:30:09 -06:00