Commit Graph

33 Commits

Author SHA1 Message Date
Sean Bowe d6d86737c8
Remove some code duplication for value commitment witnessing. 2018-03-08 01:01:00 -07:00
Sean Bowe f61cc88a71
More comment improvements. 2018-03-08 00:51:53 -07:00
Sean Bowe b6ef12b077
General code quality improvements. 2018-03-08 00:41:47 -07:00
Sean Bowe c7c8d3c039
Move personalization constants to submodule. 2018-03-08 00:06:53 -07:00
Sean Bowe 25a8050df8
Remaining tests for input circuit 2018-03-07 23:59:04 -07:00
Sean Bowe 0242ed35ab
Add some circuit tests for inputs. 2018-03-07 12:19:56 -07:00
Sean Bowe 1f65d4b353
Change tree depth to 32 in test. 2018-03-06 10:04:02 -07:00
Sean Bowe 1f2bb62657
Rename proving key to proof generation key to disambiguate from the SNARK. 2018-03-06 09:56:29 -07:00
Sean Bowe 7a9879eb54
Make EdwardsPoint (x, y) not public. 2018-03-06 08:38:34 -07:00
Sean Bowe f155c01cf5
Personalize GH for each generator independently. 2018-03-06 08:30:28 -07:00
Sean Bowe b831942501
Adopt BLAKE2s personalization throughout protocol. 2018-03-05 19:32:27 -07:00
Sean Bowe d21ff08176
Group hash should use a first block containing random data as per spec. 2018-03-05 18:08:49 -07:00
Sean Bowe 2e846844e7
Perform ak group order check in Spend circuit. 2018-03-05 17:46:12 -07:00
Sean Bowe 7bb630a4b1
Use correct personalization for merkle tree. 2018-03-05 17:27:55 -07:00
Sean Bowe c6cf0c718c
Value placed in note contents should be in big endian bit order. 2018-03-05 16:10:55 -07:00
Sean Bowe b45a37febb
Add comments and reorder some generators. 2018-03-05 16:00:04 -07:00
Sean Bowe 8cbcd7739c
Rename into_bits and into_bits_strict to signify endianness. 2018-03-05 15:12:51 -07:00
Sean Bowe 3971ecd375
Abstract away the boolean conversion of field witnessing. 2018-03-05 10:52:56 -07:00
Sean Bowe 543f5cd49c
Change bit-endianness of into_bits/into_bits_strict. 2018-03-05 10:27:14 -07:00
Sean Bowe 3e15751fd1
Allocate the note value directly in little-endian bit order. 2018-03-05 09:37:13 -07:00
Sean Bowe e52befb58e
Introduce inputize abstractions to simplify circuit code. 2018-03-04 23:33:05 -07:00
Sean Bowe 4441a0da41
Hash the constraint systems to check integrity. 2018-02-24 09:09:20 -07:00
Sean Bowe 23d17b9042
Minor adjustments. 2018-02-23 18:09:26 -07:00
Sean Bowe 69abd0391f
Optimize into_bits_strict. 2018-02-23 11:15:14 -07:00
Sean Bowe c812805b31
Slight refactor of representations 2018-02-22 18:43:07 -07:00
Sean Bowe ba7298de3f
Crappy mock-up of the circuit. 2018-02-22 11:36:44 -07:00
Sean Bowe c221bc9126
Rename `mont` to `ecc` in circuit code. 2018-02-20 18:18:29 -07:00
Sean Bowe 2f95a9094a
Refactor to handle changes to ConstraintSystem API (no more Variable associated type, one is now static method). 2018-02-16 08:45:18 -07:00
Sean Bowe 67f2cea200
Move window table lookup logic into its own module. 2018-02-02 09:50:59 -07:00
Sean Bowe 42514e7c47
Remove TODO's in favor of github issues. 2018-01-29 06:06:10 -07:00
Sean Bowe e9c9618ef4
Implement pedersen hashes inside and outside of the circuit. 2017-12-28 11:06:05 -07:00
Sean Bowe 46cbfb4831
Implementation of Montgomery point doubling in the circuit. 2017-12-14 15:41:37 -07:00
Sean Bowe 86619c7334
Implementation of fundamental circuitry and primitive Jubjub curve arithmetic. 2017-12-06 10:06:34 -07:00