Commit Graph

98 Commits

Author SHA1 Message Date
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
Pratyush Mishra
81f3105a91 Fix MerkleTree leaf index calculation 2020-04-02 08:53:31 -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
Weikeng Chen
33f7d3988f Update uint64.rs 2020-03-26 18:50:09 -07:00
weikeng
a205f191f7 used AllocGadget for UInt64 2020-03-26 18:50:09 -07:00
Georgios Konstantopoulos
0ffa409ec1 Apply suggestions from code review
Co-Authored-By: Pratyush Mishra <pratyushmishra@berkeley.edu>
2020-03-25 09:29:49 -07:00
Georgios Konstantopoulos
f4e030793c test: ensure the Counter and the System match 2020-03-25 09:29:49 -07:00
Georgios Konstantopoulos
695df979b5 chore: add helper 2020-03-25 09:29:49 -07:00
Georgios Konstantopoulos
951a6226c9 feat: TestConstraintCounter 2020-03-25 09:29:49 -07:00
Pratyush Mishra
b1913a9ca7 Change default to_bits and to_bytes functions to the safe versions 2020-03-18 23:24:54 -07:00
dependabot-preview[bot]
b24e705527 Update derivative requirement from 1 to 2 (#140) 2020-03-16 15:25:12 -07:00
dependabot-preview[bot]
9ca5a94f2e Update digest requirement from 0.7 to 0.8 (#141)
* Update `digest` and `blake2` requirement from 0.7 to 0.8

Updates the requirements on [digest](https://github.com/RustCrypto/traits) to permit the latest version.
- [Release notes](https://github.com/RustCrypto/traits/releases)
- [Commits](https://github.com/RustCrypto/traits/compare/digest_v0.7.2...digest-v0.8.1)

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Pratyush Mishra <pratyushmishra@berkeley.edu>
2020-03-16 15:22:10 -07:00
ValarDragon
20af44e3c9 fix fmt check 2020-03-12 09:21:01 -07:00
ValarDragon
23c6bb4bd0 Rename arguments to CondSelectGadget for code clarity 2020-03-12 09:21:01 -07:00
Weikeng Chen
6c0ee7ffbc Follow the nightly's suggested fmt change 2020-03-05 10:55:54 -08:00
weikeng
e524e46d0b Add UInt64 used for representing Merkle tree node locations 2020-03-05 10:55:54 -08:00
Pratyush Mishra
0df0a15e1b Blake PRF & R1CS Boolean Refactor (#132)
* refactor(r1cs-std/boolean): expose enforcing value less than functionality

* fix(r1cs-std/boolean): ensure num_bits is calculated correctly from the arg

* feat(primitives/blake2s): allow creating Blake2s with custom params
2020-03-05 10:51:59 -08:00
Pratyush Mishra
0b57cdd736 Add a pre-commit hook for rustfmt (#102)
* add a pre-commit hook for rustfmt

* make printing sccache stats optional

* fixup! add a pre-commit hook for rustfmt
2020-03-04 16:05:57 -08:00
Pratyush Mishra
50c0511ba3 Merge branch 'master' of https://github.com/scipr-lab/zexe 2020-03-03 10:39:05 -08:00
Pascal Berrang
b4b4e5553d Implement CanonicalSerialize/Deserialize improvements (#109)
* Implement CanonicalSerialize/Deserialize improvements

* Improve code readability by using cursor

* Add tests for uncompressed serialization

* Improve serialization size (do not require full u64 limbs to be serialised)

* Change Flags to enum types

* Split up serialization with and without flags.

* Implement simple derive macro

* Derive traits for Groth16 and GM17 keys and proofs
2020-03-03 09:56:18 -08:00
ValarDragon
78e08aed97 Fix lint 2020-02-28 21:00:23 -08:00
ValarDragon
cba74c09d9 Fix error 2020-02-28 21:00:23 -08:00
ValarDragon
3cb1ed06d6 Fix linter errors 2020-02-28 21:00:23 -08:00
Pratyush Mishra
77837b4a1b Fix ns issue 2020-02-28 21:00:23 -08:00
ValarDragon
cb1bcb1cbf Fix ns 2020-02-28 21:00:23 -08:00
ValarDragon
b63d255ea3 Update to use bit iterator 2020-02-28 21:00:23 -08:00
ValarDragon
8cce6501b8 Add exponentiation by constant to Fp 2020-02-28 21:00:23 -08:00
Pratyush Mishra
7adcc69799 Generalize FFT infrastructure to work with group elements as well 2020-02-28 18:10:00 -08:00
Pratyush Mishra
faf179c43d Export algebra-core::error 2020-02-28 08:29:03 -08:00
Pratyush Mishra
2298df2e78 Make benchmarks compile, and check them in CI 2020-02-27 00:43:15 -08:00
Pratyush Mishra
8bf042a029 Refactor algebra API, split into algebra and algebra-core. (#100) 2020-02-26 21:42:04 -08:00
Marek Kotewicz
d4896ade47 crypto-primitives no-std (#96) 2020-02-20 11:35:53 -08:00
howardwu
02e6b32d7d Cargo fmt 2020-02-16 12:34:26 -08:00
howardwu
2949c0ef9d Adds NIZK benchmarking, updates crypto-primitives benchmarks 2020-02-15 18:16:19 -08:00
Pratyush Mishra
bd501440cf Add new additive and multiplcative ops for fields 2020-02-14 14:38:04 -08:00
Marek Kotewicz
9621bd34a4 r1cs-std works with no-std (#92) 2020-02-05 13:55:38 -08:00
Marek Kotewicz
a77972bf9a no_std for algebra and r1cs-core (#76) 2020-01-31 09:29:29 -08:00
ValarDragon
5e57ac5621 Fix blake2s table alighnments 2020-01-28 08:31:20 -08:00
François Garillot
df6e235445 Add badge from deps.rs 2020-01-27 19:57:25 -08:00
François Garillot
a4a8116f1d Update dependencies 2020-01-27 19:57:25 -08:00
François Garillot
b26867f267 Runs rustfmt on the repo 2020-01-27 11:44:23 -08:00