Sean Bowe
96b2d3e41a
Prevent trivial subversion attack against prover.
2018-04-02 22:21:42 -06:00
Sean Bowe
d14f2af8fa
Make fields of Parameters/VerifyingKey/Proof public.
2018-04-02 18:15:39 -06:00
Sean Bowe
6e57ef0c4a
Bump version
2018-03-31 23:23:37 -06:00
Sean Bowe
6ec7272586
Serialize lengths as 32-bit integers, not 64-bit.
2018-03-31 23:23:08 -06:00
Sean Bowe
c4fd8856ae
Make multicore module public for now, because Worker is part of the EvaluationDomain API.
2018-03-31 23:16:55 -06:00
ebfull
33feb3763f
Merge pull request #17 from plutomonkey/update-rand-dependency
...
Update "rand" dependency to 0.4.
2018-03-04 20:45:28 -07:00
Sean Bowe
c9cacc7467
Bump version and integrate pairing 0.14.
2018-03-04 19:51:03 -07:00
Sean Bowe
f5370057bd
Test deserialization of proofs in MiMC test example.
2018-03-04 19:41:59 -07:00
Sean Bowe
5f8747a0f4
Move MiMC example to tests.
2018-03-04 19:33:59 -07:00
Sean Bowe
86f652fa9f
Some minor documentation/changes to domain.
2018-03-04 19:27:33 -07:00
Sean Bowe
f7815f6e49
Remove unused tests and fix documentation.
2018-03-04 18:49:07 -07:00
Sean Bowe
ab1487025f
Serialization of parameters and proofs.
2018-03-04 18:49:05 -07:00
Sean Bowe
749d6ceed4
Bump version
2018-02-15 22:22:50 -07:00
Sean Bowe
cb53708767
New implementation of library API.
2018-02-14 12:31:43 -07:00
Sean Bowe
7211d98c1e
Implement linear combination addition with coefficient.
2018-01-07 11:31:35 -07:00
Sean Bowe
dc981e6abc
Allow linear combinations to be added together.
2017-12-14 16:11:24 -07:00
Sean Bowe
70a588ceee
Version bump
2017-12-02 23:31:37 -07:00
ebfull
3163e801b9
Merge pull request #16 from ebfull/recode
...
Part one of recoding bellman
2017-12-02 23:30:57 -07:00
Sean Bowe
5a88b4f818
Guarantee inheritance of variable type for public constraint system contexts.
2017-12-02 23:30:23 -07:00
Sean Bowe
1fc640e88f
Guarantee that we inherit the correct variable type.
2017-11-24 10:14:11 -07:00
Sean Bowe
92029393f6
Guarantee that variables are Copy+Clone.
2017-11-22 22:55:32 -07:00
Sean Bowe
1d394e00f6
Allow linear combination terms to be inspected for downstream evaluation.
2017-11-22 21:11:41 -07:00
Sean Bowe
e54c4bc1b3
Rename to namespace_public.
2017-11-21 14:00:00 -07:00
Sean Bowe
af91dcda33
Infrastructure for public input namespacing.
2017-11-21 13:44:56 -07:00
Sean Bowe
b7f2f9e409
Part one of Bellman being recoded.
2017-11-21 01:59:49 -07:00
Sean Bowe
6d55a4052a
Move everything into oldsrc.
2017-11-20 23:01:15 -07:00
Sean Bowe
945d86fe7d
Make the namespacing not introduce too much indirection.
2017-11-20 15:50:41 -07:00
Sean Bowe
a1e1aa30b5
More infrastructure for test development.
2017-11-18 20:10:47 -07:00
Sean Bowe
3ee1a576f4
Bump version
2017-11-13 01:36:54 -07:00
Sean Bowe
7df272b349
Make license files/copyright identical to pairing crate.
2017-11-12 15:56:03 -07:00
Sean Bowe
13a5cbf9d5
Modify the public api surrounding multiexp.
2017-11-12 15:52:10 -07:00
Sean Bowe
e4c62180d7
Use a basic heuristic to choose c for multiexp.
2017-11-12 15:50:34 -07:00
Sean Bowe
b15f5f6f43
Fix some warnings and TODO's.
2017-11-12 13:45:13 -07:00
Sean Bowe
d616362884
Add TestConstraintSystem
2017-11-12 13:26:03 -07:00
Sean Bowe
bc19c76326
Change API to support constraint/variable annotation.
2017-11-11 04:50:30 -07:00
Sean Bowe
3bb6596507
Don't make u128-support a default feature anymore.
2017-11-05 19:35:28 -07:00
Sean Bowe
326996139e
Update to use the latest version of pairing library.
2017-10-22 05:45:26 -06:00
Sean Bowe
2042876fcf
Disable default features for pairing.
2017-08-22 20:45:45 -06:00
Sean Bowe
3148662234
Reimplementation of groth16 using pairing library.
2017-08-22 16:03:04 -06:00
Sean Bowe
bf03be0b9d
Starting fresh...
2017-08-07 07:43:39 -06:00
Sean Bowe
9c94216a87
Fix comment about sqrt.
2017-06-19 13:58:30 -06:00
Sean Bowe
5ca9341aeb
Version bump
2017-06-19 12:17:10 -06:00
Sean Bowe
c9677d8bd2
Remove travis CI.
2017-06-19 11:31:32 -06: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
Sean Bowe
86146ddad7
Rearranged tests, added XOR example.
2015-12-26 10:18:44 -07:00
Sean Bowe
ab33ff017b
Remove cs from proof api
2015-12-25 11:21:11 -07:00
Sean Bowe
fc1bdf2148
Added r1cs ppzksnark proving scheme and some tests.
2015-12-25 05:52:14 -07:00
Sean Bowe
a66c21fe11
Update travis configuration
2015-12-25 00:40:53 -07:00
Sean Bowe
1e5d4b40e7
Don't include benchmarking stuff for now.
2015-12-25 00:39:44 -07:00
Sean Bowe
02eb93d5d2
Test the right things
2015-12-25 00:37:52 -07:00
Sean Bowe
0b8b52cb41
Add basic field arithmetic.
2015-12-25 00:30:10 -07:00
Sean Bowe
8e0af61ba4
Add dockerfile
2015-12-24 03:22:56 -07:00