Commit Graph

161 Commits

Author SHA1 Message Date
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
Sean Bowe
25375ee819 Update licenses. 2017-03-13 20:28:56 -06:00
Sean Bowe
9c3f6fb92f Change travis to nightly. 2017-03-10 08:52:40 -07:00
Sean Bowe
2321ead995 In with the new. 2017-02-27 13:39:30 -07:00
Sean Bowe
c506c48c91 Out with the old... 2017-01-07 20:30:09 -07:00
Sean Bowe
e24fcfdc5c Added primitive circuit abstraction, tests for sha3. 2016-01-28 20:37:54 -07:00
Sean Bowe
67003a471b Fixed type error 2016-01-26 14:45:04 -07:00
Sean Bowe
da373758e5 Minor improvements 2016-01-26 14:18:01 -07:00
Sean Bowe
ececc2b60b Implement raw constraints for Bit 2016-01-24 01:42:38 -07:00
Sean Bowe
506ef75e3c Make macro compatible with more recent version of Rust 2016-01-23 02:17:43 -07:00
Sean Bowe
5d49abcf62 Fix tinysnark test 2016-01-22 21:21:40 -07:00
Sean Bowe
d0b589749a Force FieldT alignment 2016-01-22 21:18:52 -07:00
Sean Bowe
710059b779 Relicensed as Apache/MIT dual license. Closes #1. 2016-01-12 14:14:06 -07:00
Sean Bowe
b4d4331926 Refactor bit implementation (small improvements in number of constraints) 2016-01-10 03:26:54 -07:00
Sean Bowe
b82a2f60f7 Reorganize and remove (temporary) unsafe witnessing 2016-01-03 03:45:20 -07:00
Sean Bowe
7415d5ff3c Added unconstrained zk-SNARK implementation for SHA3 2016-01-03 03:15:03 -07:00
Sean Bowe
bc77a837df More cleanup 2015-12-28 04:08:01 -07:00
Sean Bowe
8445bb4bb7 Cleanup 2015-12-28 04:02:22 -07:00
Sean Bowe
75533e5e97 Abstract away the binary mapping from xor/notand. 2015-12-28 02:21:52 -07:00
Sean Bowe
774c4375ee Remove old chunks interface 2015-12-28 02:17:11 -07:00
Sean Bowe
f84e4449a5 Add test vector that tests endianness. 2015-12-28 02:15:15 -07:00
Sean Bowe
5b40589bc0 Made this more idiomatic 2015-12-28 02:13:31 -07:00
Sean Bowe
316b65514c Massive refactor of keccakf 2015-12-28 02:11:52 -07:00
Sean Bowe
4eac6417c3 Completely functional implementation with tests 2015-12-28 00:45:11 -07:00
Sean Bowe
a0d56f3451 getting there 2015-12-28 00:15:16 -07:00
Sean Bowe
0a3d848cbb broken test 2015-12-27 23:24:39 -07:00
Sean Bowe
007b55a843 Clean up warnings 2015-12-27 20:24:45 -07:00
Sean Bowe
ca289581a8 Clean up implementation to use vectors. We'll use arrays when Rust doesn't suck at them. 2015-12-27 20:19:03 -07:00
Sean Bowe
5fa9d9f438 Moved this to src/ 2015-12-27 17:40:11 -07:00
Sean Bowe
38767db686 WIP implementation of keccak with bellman 2015-12-27 17:38:16 -07:00