Commit Graph

97 Commits

Author SHA1 Message Date
Pratyush Mishra
cf4301cb75 Update workspace and dependency paths 2020-09-18 16:09:13 -07:00
oblivious-app
d087166c51 add to_bits_be 2020-09-18 08:40:34 -07:00
Pratyush Mishra
99e489cac7 R1CSVar: Option::None -> ConstraintSystemRef::None (#281) 2020-09-16 23:09:41 -07:00
Pratyush Mishra
13332bcc1d Add doctests for Boolean and UInt8. 2020-09-16 22:06:50 -07:00
Pratyush Mishra
3a18ecee0d Add examples and doctests for instantiated curves 2020-09-16 22:06:50 -07:00
Pratyush Mishra
370fbcdd3b Document r1cs-std 2020-09-16 22:06:50 -07:00
Weikeng Chen
c21d0b2796 Add ToConstraintFieldGadget (#278) 2020-09-14 21:56:51 -07:00
Pratyush Mishra
40ce981801 Fix integer conversions and log2 2020-09-12 01:39:23 -07:00
Pratyush Mishra
5e00793999 Switch to tracing-based constraint debugging 2020-09-11 21:54:44 -07:00
Pratyush Mishra
e22ab36f7e Fix nits 2020-09-11 16:22:04 -07:00
Pratyush Mishra
d2d1b61d08 Refactor NIZK/MT verification to return a bit 2020-09-11 16:22:04 -07:00
Pratyush Mishra
6cca9327be Refactor bit iteration infrastructure:
* `to_bits` -> `to_bits_le`
* `BitIterator` -> `BitIteratorLE` + `BitIteratorBE`
* `found_one`/`seen_one` -> `BitIteratorBE::without_leading_zeros`
2020-09-11 16:22:04 -07:00
Weikeng Chen
bce788419f Export impl_bounded_ops
This would be necessary if, in another crate, one wants to implement operators.
2020-09-11 16:22:04 -07:00
Pratyush Mishra
f575af4da1 Update Cargo.toml in r1cs-std and delete useless ConstraintSystems 2020-09-11 16:22:04 -07:00
Pratyush Mishra
50388bdc22 Update concrete curves in r1cs-std. 2020-09-11 16:22:04 -07:00
Pratyush Mishra
26953045d4 Update pairings in r1cs-std. 2020-09-11 16:22:04 -07:00
Pratyush Mishra
5e65926a5e Update curve variables in r1cs-std. 2020-09-11 16:22:04 -07:00
Pratyush Mishra
8022b598fb Update field variables in r1cs-std 2020-09-11 16:22:04 -07:00
Pratyush Mishra
202ef3204d Refactor variable traits in r1cs-std. 2020-09-11 16:22:04 -07:00
Pratyush Mishra
7b0f71a10e Refactor bit variables in r1cs-std 2020-09-11 16:22:04 -07:00
Pratyush Mishra
37d79e20a7 (cargo-release) start next development iteration 0.1.1-alpha.0 2020-09-10 15:41:37 -07:00
Weikeng Chen
61c70ed644 Prepare Zexe for recursion (#241)
Co-authored-by: Pratyush Mishra <pratyushmishra@berkeley.edu>
2020-07-20 15:42:25 -07:00
Youssef El Housni
36305e7247 Implement ed_on_bn254 curve (baby-jubjub) (#230) 2020-07-01 12:25:02 -07:00
Dev Ojha
a83914af50 Add mul_by_inverse to FieldGadget (#227) 2020-06-19 12:45:51 -07:00
Dev Ojha
75439b9b4d Add constant folding to FpGadget<F> (#226) 2020-06-19 11:43:25 -07:00
Weikeng Chen
885e9d7bad Add constraints for Edwards curves over MNT4 (#221) 2020-06-14 21:51:56 -07:00
Pratyush Mishra
9391b1fd04 Rename to ed_on 2020-06-12 18:37:04 -07:00
Pratyush Mishra
7a0177e8c7 Re-export edwards_on_cp6_782 as edwards_on_bw6_761 2020-06-12 18:37:04 -07:00
Pratyush Mishra
40e89254e0 Fix no-std compilation 2020-06-12 18:37:04 -07:00
Pratyush Mishra
1959a3de63 Rename curves 2020-06-12 18:37:04 -07:00
ValarDragon
349407faef Speed up exp_by_const 2020-06-09 16:07:45 -07:00
ValarDragon
c555535605 Improve invalid namespace error msg 2020-06-09 11:08:46 -07:00
Pratyush Mishra
75c55f7bee Change from_repr to output Option<Self> 2020-05-29 00:34:22 -07:00
Georgios Konstantopoulos
ecf863f541 expose function which enforces a <= (p-1)/2 2020-05-07 08:48:16 -07:00
Georgios Konstantopoulos
ea2adb4f7f fix(fp-cmp): use enforce unchecked in enforce unchecked function 2020-05-06 09:10:28 -07:00
Bruno França
bbb7d75ec8 Implement conditional_check_verify for NIZKs (#195)
* Implement `ToBitsGadget` for `UInt8` and `Vec<UInt8>`
* Add `kary_or` function to `Boolean`.
2020-04-22 13:30:33 -07:00
Kobi Gurkan
5cc094be6b Adds alloc_constant to AllocGadget (#189)
* adds alloc constant to AllocGadget

* fmt

* fmt

* more alloc constant impls

* fmt

* even more impls

* fixes type

* fixes alloc_constant in gm17

* uses alloc_constant from field gadget in group gadgets

* fmt

* handle most comments
2020-04-18 16:03:33 -07:00
Pascal Berrang
c486e15f0e Add test cases for COFACTOR and generalize SW tests 2020-04-09 11:04:50 -07:00
Pratyush Mishra
5659b0d9ea Fix CI to test more code in no_std 2020-04-08 18:57:39 -07:00
Pratyush Mishra
33a9da08f8 Switch to stable cargo formatting options 2020-04-07 19:30:27 -07:00
Pratyush Mishra
456f30a849 Fix #172 and improve squaring code for deg-3 extensions (#174) 2020-04-07 19:29:54 -07:00
Pascal Berrang
8631f883c4 MNT4/6 curves and recursive SNARKs (#150)
* Add mnt6_753 curve
Generalize mnt6 curve model

* Add mnt4 curves

* Use resampled generators

* Calculate correct G2 cofactors

* Add fields to r1cs-std

* Add pairings

* Improve reusing of Fq/Fr among MNT curves

* Add instantiations of curves
Fix Fp6_2over3
Rebase code to current master

* Add test for recursive NIZK proof verification

* Address comments in PR

* Improve test case and port to GM17
Also fix a minor bug in to_field_vec
2020-04-04 10:50:46 -07:00
Kobi Gurkan
c58fc31119 fmt and docs 2020-03-30 01:42:20 -07:00
Kobi Gurkan
ded3d687cc removes unused struct + fmt 2020-03-30 01:42:20 -07:00
Kobi Gurkan
8cd0999431 moves cmp to be under FpGadget 2020-03-30 01:42:20 -07:00
Kobi Gurkan
60058b2186 changes test name 2020-03-30 01:42:20 -07:00
Kobi Gurkan
bd86eb4563 uses core instead of std 2020-03-30 01:42:20 -07:00
Kobi Gurkan
b0f266de1e fmt 2020-03-30 01:42:20 -07:00
Kobi Gurkan
7ed38fe4a6 makes API cmp-like 2020-03-30 01:42:20 -07:00
Kobi Gurkan
ccbb5ef553 adds a smaller than gadget 2020-03-30 01:42:20 -07:00