Commit Graph

  • 7beeb52730 Merge pull request #69 from ebfull/make-util-pub ebfull 2018-05-07 17:47:31 -06:00
  • 36cd38e239 Make util module public. Sean Bowe 2018-05-07 17:47:04 -06:00
  • 5f233ef989 Initialize Jubjub parameters up front Sean Bowe 2018-04-21 17:46:08 -06:00
  • 3b8246f3eb Merge pull request #68 from ebfull/redjubjub-final-work ebfull 2018-05-07 14:21:49 -06:00
  • 5687acfaf8 Make PublicKey inner Point public so that we can use it during zk-SNARK verification. Sean Bowe 2018-05-01 15:23:13 -06:00
  • 347666705c Merge pull request #67 from str4d/redjubjub-serialisation ebfull 2018-04-30 08:50:03 -06:00
  • b27dc2914b Remove redundant signature check Jack Grigg 2018-04-30 13:55:41 +01:00
  • 6e08a5a22b Merge pull request #66 from str4d/fix-spend-nf-comment ebfull 2018-04-29 13:08:10 -06:00
  • e94dbf2523 Parameterize the generator in RedJubjub Jack Grigg 2018-04-26 22:30:37 +01:00
  • 4eab1fc68a Implement RedJubjub serialization Jack Grigg 2018-04-26 22:20:08 +01:00
  • f54feda94f Fix comment Jack Grigg 2018-04-26 12:30:08 +01:00
  • e4175d81e9 Merge pull request #64 from str4d/redjubjub ebfull 2018-04-19 12:44:39 -06:00
  • 6cc1813ae3 Merge pull request #4 from ebfull/zksnark-param-loading ebfull 2018-04-19 10:53:12 -06:00
  • 840c23bd23 Specify pre-conditions for signature validation Jack Grigg 2018-04-18 23:59:48 +01:00
  • 45e4ca38e4 Match additive notation with variable name Jack Grigg 2018-04-18 23:59:22 +01:00
  • 170397b5a5 Apply rustfmt Sean Bowe 2018-04-17 14:22:35 -06:00
  • 4f9953f18f Support loading zk-SNARK parameters Sean Bowe 2018-04-17 14:16:14 -06:00
  • 916dbce2df Implement RedJubjub Jack Grigg 2018-04-15 15:59:09 -06:00
  • 0f230a70b9 Implement uniform sampling of Jubjub scalars Jack Grigg 2018-04-15 15:52:45 -06:00
  • 2a86c912f6 Merge pull request #3 from ebfull/params-and-merkle-hash str4d 2018-04-14 19:29:15 -06:00
  • 37f20fb90c Use lazy_static to initialize the Jubjub parameters, to avoid passing parameters around. Sean Bowe 2018-04-12 18:38:25 -06:00
  • cb8c9ebbce Make panic abort to avoid FFI problems. Sean Bowe 2018-04-12 15:35:20 -06:00
  • 96654ee5bd Fix typos Sean Bowe 2018-04-12 15:01:48 -06:00
  • f1d35708bc Expose API for init/free of parameters and, to test, a merkle tree hash invocation. Sean Bowe 2018-04-11 21:51:30 -06:00
  • 7dc69c6893 Merge pull request #2 from str4d/sapling-crypto str4d 2018-04-10 13:57:56 -06:00
  • 5199fdfcb7 Use newer versions of libc and num_cpus Sean Bowe 2018-04-10 13:57:33 -06:00
  • 222e0b3515 Add sapling-crypto to dependencies str4d 2018-04-09 18:28:42 -06:00
  • e554b473dd Update to bellman 0.1 Sean Bowe 2018-04-06 13:29:58 -06:00
  • 10c5010fd9 Merge pull request #22 from ebfull/final-changes ebfull 2018-04-03 18:56:06 -06:00
  • 96b2d3e41a Prevent trivial subversion attack against prover. Sean Bowe 2018-04-02 22:21:42 -06:00
  • d14f2af8fa Make fields of Parameters/VerifyingKey/Proof public. Sean Bowe 2018-04-02 18:15:39 -06:00
  • 45c73dbd8f Merge pull request #54 from ebfull/sprout-circuit-minimal ebfull 2018-04-02 16:55:09 -06:00
  • 6e57ef0c4a Bump version Sean Bowe 2018-03-31 23:23:37 -06:00
  • 6ec7272586 Serialize lengths as 32-bit integers, not 64-bit. Sean Bowe 2018-03-31 23:23:08 -06:00
  • c4fd8856ae Make multicore module public for now, because Worker is part of the EvaluationDomain API. Sean Bowe 2018-03-31 23:16:55 -06:00
  • dbe897d365 Auto merge of #79 - ebfull:nomorenightly, r=ebfull bmerge 2018-03-30 23:55:32 +00:00
  • 2d12b9a858 Apply newer rustfmt rules. Sean Bowe 2018-03-29 11:18:15 -06:00
  • fcaddaa356 Update Clippy to support latest nightly, and fix some lints. Sean Bowe 2018-03-29 10:13:00 -06:00
  • bcc8379a7f Version bump. Sean Bowe 2018-03-29 09:23:20 -06:00
  • 4cf5a534ec i128_type feature has been stabilized in Rust. Sean Bowe 2018-03-29 09:18:26 -06:00
  • 1026e92194 Merge pull request #63 from ebfull/gh ebfull 2018-03-28 16:05:20 -06:00
  • 9f24b68b3a Update constraint system hashes. Sean Bowe 2018-03-27 21:41:11 -06:00
  • 3704b2422e Fix benchmark due to anchor change in witness. Sean Bowe 2018-03-27 21:31:32 -06:00
  • 9418001d0e First block of GH invocation using random beacon output. Sean Bowe 2018-03-27 14:30:08 -06:00
  • 470c9572eb Merge pull request #60 from ebfull/optional-enforce ebfull 2018-03-27 14:27:53 -06:00
  • 7ee29503ec Merge pull request #61 from str4d/bench-final ebfull 2018-03-27 13:13:23 -06:00
  • 97bead9977 Update benchmark to use final Sapling circuit implementation Jack Grigg 2018-03-27 16:03:02 +02:00
  • cfd378685f Add more test vectors to Sprout circuit implementation. Sean Bowe 2018-03-26 21:47:40 -06:00
  • def5de3f16 Allow the authentication path to be not enforced for zero-value notes, for indistinguishability. Sean Bowe 2018-03-25 23:09:11 -06:00
  • d715e812bd Un-disable benchmark Jack Grigg 2018-03-24 00:40:16 +01:00
  • 4de908b1e5 Fix bug in circuit uncovered by test vector. Sean Bowe 2018-03-19 23:45:13 -06:00
  • 162a3877e5 JoinSplit circuit implementation for Sprout. Sean Bowe 2018-03-15 13:10:29 -06:00
  • ac13cb05bc Implementation of SHA256. Sean Bowe 2018-03-15 13:08:12 -06:00
  • 75c5269d3b Implementation of SHA256 choice/majority for UInt32. Sean Bowe 2018-03-15 13:05:51 -06:00
  • 36a6b5fd90 Implementation of SHA256 majority operation for Boolean. Sean Bowe 2018-03-15 13:03:18 -06:00
  • abca61401e Implementation of SHA256 choice operation for Boolean. Sean Bowe 2018-03-15 13:01:15 -06:00
  • 4f0a553fbb Implement UInt32 encoding/decoding with big-endian representation. Sean Bowe 2018-03-15 12:57:02 -06:00
  • 51bb5f0f70 Implement UInt32::shr() for SHA256. Sean Bowe 2018-03-15 12:53:36 -06:00
  • e6397507ca Merge pull request #57 from ebfull/final-circuit-changes ebfull 2018-03-21 19:11:08 -06:00
  • 601e8e38f8 Little-endian byte order interpretation of the output of CRH^ivk. Sean Bowe 2018-03-19 18:06:44 -06:00
  • f9e58c01ce Swap bit-endianness of value in note commitment. Sean Bowe 2018-03-19 17:54:44 -06:00
  • b14c9f8d68 Change personalizations to actually match spec this time. Sean Bowe 2018-03-19 17:26:28 -06:00
  • 219d03cc11 Perform multiple checks of circuit in test. Sean Bowe 2018-03-19 17:05:51 -06:00
  • 8b6f113052 Change personalization to more closely align with the spec. Sean Bowe 2018-03-17 10:24:55 -06:00
  • d09c4d6ce8 Simplify value commitment gadget. Sean Bowe 2018-03-17 09:10:13 -06:00
  • 6d01e78711 Fix variable names in output circuit Sean Bowe 2018-03-17 09:02:29 -06:00
  • 13b03a0a1a Relocate circuit components for intuitive code paths. Sean Bowe 2018-03-16 22:21:29 -06:00
  • 00ee962429 Fix some names of variables. Sean Bowe 2018-03-16 12:30:00 -06:00
  • 8b2f231e2f Change personalization to match specification. Sean Bowe 2018-03-16 10:58:08 -06:00
  • 7e05feb90b Changes to names and circuit design to match spec. Sean Bowe 2018-03-16 10:31:14 -06:00
  • c09292672a Merge pull request #56 from rex4539/fix-typos ebfull 2018-03-16 15:44:02 -06:00
  • a7d704cd10 Fix typos Dimitris Apostolou 2018-03-16 23:25:36 +02:00
  • 39f1152e16 Merge pull request #53 from ebfull/circuit-improvements ebfull 2018-03-15 12:47:26 -06:00
  • 21625d69e0 Place Sapling circuit into submodule. Sean Bowe 2018-03-15 12:44:19 -06:00
  • ca202ef304 Introduce input multipacking abstraction for nullifiers. Sean Bowe 2018-03-15 12:36:05 -06:00
  • 52eb59766b Optimize UInt32::addmany/BLAKE2s to combine equality constraints. (Closes #5) Sean Bowe 2018-03-15 12:31:10 -06:00
  • 827e85547e Public input verification utility for the test framework Sean Bowe 2018-03-15 11:42:22 -06:00
  • 3c07a2d9b3 Merge pull request #30 from plutomonkey/boolean_enforce_equal ebfull 2018-03-14 07:28:33 -06:00
  • 661f318eb7 Optimise Boolean::enforce_equal. Jason Davies 2018-02-11 20:38:52 +00:00
  • 2c69abe268 Add Uncommitted^Sapling. Sean Bowe 2018-03-09 14:17:45 -07:00
  • c1784f0fdf Check g_d is not small order in Spend circuit. Sean Bowe 2018-03-09 14:08:01 -07:00
  • 390f2c129b Merge pull request #37 from ebfull/circuit-tests ebfull 2018-03-08 19:18:40 -07:00
  • b6e1b52a44 Fix comment about Montgomery curve selection Sean Bowe 2018-03-08 13:03:07 -07:00
  • db28ff7ba1 Simplify the Output witness. Sean Bowe 2018-03-08 01:49:27 -07:00
  • 9998400117 Relocate structs for cleanliness. Sean Bowe 2018-03-08 01:37:55 -07:00
  • 512a394b30 Simplify witness for Spend statement. Sean Bowe 2018-03-08 01:36:16 -07:00
  • 3fbbd933cf Simplify value commitment abstraction. Sean Bowe 2018-03-08 01:16:21 -07:00
  • d6d86737c8 Remove some code duplication for value commitment witnessing. Sean Bowe 2018-03-08 01:01:00 -07:00
  • f61cc88a71 More comment improvements. Sean Bowe 2018-03-08 00:51:53 -07:00
  • b6ef12b077 General code quality improvements. Sean Bowe 2018-03-08 00:41:47 -07:00
  • 896b144a7d Move first block of group hash to constants submodule. Sean Bowe 2018-03-08 00:09:34 -07:00
  • c7c8d3c039 Move personalization constants to submodule. Sean Bowe 2018-03-08 00:06:53 -07:00
  • 25a8050df8 Remaining tests for input circuit Sean Bowe 2018-03-07 23:59:04 -07:00
  • b998190f9e Disable this, for now. Sean Bowe 2018-03-07 23:45:08 -07:00
  • 0242ed35ab Add some circuit tests for inputs. Sean Bowe 2018-03-07 12:19:56 -07:00
  • 2d4be07560 Fix group hash comment. Sean Bowe 2018-03-06 22:26:03 -07:00
  • ef85173df5 Fix comments in jubjub code. Sean Bowe 2018-03-06 22:25:15 -07:00
  • b0b3514fa7 Add bench_50 example. Sean Bowe 2018-03-06 10:21:30 -07:00
  • 1f65d4b353 Change tree depth to 32 in test. Sean Bowe 2018-03-06 10:04:02 -07:00
  • 1f2bb62657 Rename proving key to proof generation key to disambiguate from the SNARK. Sean Bowe 2018-03-06 09:56:29 -07:00