Commit Graph

56 Commits

Author SHA1 Message Date
Daira Hopwood 213e288174 Add tests for bigint.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-05 11:30:24 -06:00
Sean Bowe e3779f9049 [Zcash] Remove things we don't need. 2016-07-21 15:39:34 -06:00
Sean Bowe a7031481fd [Zcash] Taylor's compilation patch. 2016-07-15 10:28:19 -06:00
Sean Bowe dcb78b24d9 [Zcash] Modify makefile to stop compiling things we removed. 2016-07-15 10:22:35 -06:00
Madars Virza 30dd11ddc5 Add pp-zkSNARK with security proof in the generic group model, based on [Gro16]. 2016-04-06 20:40:51 -04:00
Eran Tromer 69f312f149 Avoid need for "-lzm" when linking, by including libzm.a into libsnark.a and libsnark.so.
This means users of libsnark no longer need to remember to add -lzm if and only if libsnark was built with CURVE=B128.

'make install' now installs library files selectively (libsnark.* and maybe supercop.a but not libzm.a).
2015-10-17 16:51:20 +03:00
Eran Tromer 4c6d456652 Makefile: minor cleanup 2015-10-15 04:39:03 +03:00
Eran Tromer a19e4f2ff0 Makefile: build libsnark.a once and then reuse it for libsnark.so and all executables
This get much cleaner and shorter g++ commands during build, and removes some possibly-buggy dependencies.
2015-10-15 03:42:04 +03:00
Eran Tromer 3f202f173a Makefile: fix `make install` (issue #15, fixing commit 001b8cbb8d) and other small Makefile fixes. 2015-10-14 02:04:03 +03:00
Eran Tromer 001b8cbb8d Makefile: fix $(LIB_OBJS) in `make install`. This fixed issue #15. 2015-10-13 23:59:04 +03:00
Madars Virza d69bc496e5 Fix a typo in the Makefile. This fixes #14. 2015-10-13 13:16:47 -07:00
Eran Tromer e2f9fe2949 Makefile fix (*.d cleaning was broken) 2015-10-04 20:26:36 +03:00
Eran Tromer 0c9bd4e205 Makefile fixes
* Use and clean up .d(ependency) files for executables's objects too.
* Rename OBJS and SRCS to LIB_OBJS and LIB_SRCS to clarify these don't include executables.
* Also, add index to libsnark.a and allow it as a target even if doing a non-static build.
2015-10-04 04:26:38 +03:00
Eran Tromer 032f8b1858 Makefile fixes
- Avoid unnecessarily rebuilding executables with unchanged dependencies (bug introduced by commit 998a2373)
- Avoid unnecessarily rebuilding GTest
- Tweak spacing and comments
2015-10-03 18:28:04 +03:00
Eran Tromer fcc4e584a5 "make clean" fix: also delete files that wouldn't be compiled due to NO_{GTEST,SUPERCOP} flags 2015-10-03 06:58:18 +03:00
Eran Tromer e42b38fdae Makefile: use -O3 in PERFORMANCE=1 2015-10-03 04:21:23 +03:00
Eran Tromer 51a5e1c4bd Makefile fix: use our custom g++ rule for executable's .o files too.
This adds the missing -MMD (to trigger recompilation when headers change) and beautifies the parameter order.
2015-10-03 04:21:23 +03:00
Eran Tromer 998a23735a Makefile and prepare-depends improvements
- Refactor CXXFLAGS so that feature flags and optimization flags can be easily overriden from command line
- Add NO_SUPERCOP=1 option
- Avoid need to manually create ./depinst directory when ./prepare-depends is not needed (i.e., when BN128 and SUPERCOP are not used)
- Fix the flags for static build
- Build executables that need GTest even if we used an existing GTest rather than compiling it
- Minor cleanups and comments
2015-10-02 14:27:44 -04:00
mbb 006b118255 adsnark extension 2015-08-20 11:54:02 +01:00
Madars Virza 6739b576db Make sure that -lgtest is only passed for compiling the executables that needs it. 2015-08-12 12:45:25 -04:00
Madars Virza 87f13e5a6d Add a gadget implementation of SHA256. 2015-06-12 15:17:46 -04:00
Madars Virza 452d1fe74a Refactor Merkle tree authentication paths and set membership proofs to
be first class objects in gadgetlib1.
2015-04-27 03:44:26 -04:00
Madars Virza 15a7c06d20 Add tests for set commitment. 2015-04-27 10:03:34 +03:00
Madars Virza 55402f56a4 Add tests for Merkle trees 2015-04-27 10:03:34 +03:00
Madars Virza dfb993bd37 Add tests for knapsack CRH. 2015-04-27 10:03:34 +03:00
Madars Virza 99d9676152 Add an option to switch between Montgomery and equivalence class representations for field element output. 2015-04-27 10:03:33 +03:00
Madars Virza 15034efe66 Add an implementation of a zk-SNARK for multi-predicate PCD, based on [CTV15]. 2015-03-27 02:13:09 -04:00
Madars Virza d0abffae2f Update gadgetlib2 to account for split R1CS variable assignment. 2015-03-05 15:47:22 -05:00
Madars Virza 81387cef8f Add tests for QAP and SSP. 2015-03-05 15:47:22 -05:00
Madars Virza 826d9be011 Update Makefile and .gitignore 2015-03-05 15:47:22 -05:00
Madars Virza 93434b3fde Add an implementation of fully scalable zk-SNARK, based on BCTV14b. 2015-03-05 15:47:22 -05:00
Madars Virza 5fbf26f364 Add an implementation of proof-carrying data, based on BCTV14b. 2015-03-05 15:47:22 -05:00
Madars Virza 6596016b40 Add implementation of mnt4 and mnt6 curve choices. Add tests for curves and fields and affine verifier support for R1CS. 2015-03-05 15:47:22 -05:00
Madars Virza fb78e52c08 Update Makefile 2015-03-05 15:47:22 -05:00
Madars Virza 9a716cf291 Add an implementation of TinyRAM and the BCTV14 reduction. 2015-03-05 15:47:22 -05:00
Madars Virza 45fc3775a9 Split out demo files for ppzkSNARK proof systems into separate profiling and test files. 2015-03-05 15:47:22 -05:00
Madars Virza a8faf9acdc The great reshuffling. 2015-03-05 15:47:22 -05:00
Madars Virza 2474695678 Add a preprocessing zkSNARK for Bilinear Arithmetic Circuit Satisfiability problem, based on R1CS ppzkSNARK. 2015-03-05 15:47:22 -05:00
Madars Virza 51d070398f Add a preprocessing zkSNARK for Two-input Boolean Circuit Satisfiability problem, based on USCS ppzkSNARK. 2015-03-05 15:47:22 -05:00
Madars Virza e48c501e08 Add preprocessing zkSNARK for Unitary-Square Constraint Systems. 2015-03-05 15:47:22 -05:00
Madars Virza 6dae0ee356 Emulate "install -D" behavior as it is not available on OS X. 2014-08-29 19:29:48 -04:00
Madars Virza 75da14a993 Reference LDLIBS in .so generation. 2014-08-11 13:43:18 -04:00
Madars Virza 2329ea87be Makefile tweaks: add missing -lpthread for GTest and split LDLIBS in LDFLAGS/LDLIBS 2014-08-07 11:57:44 -04:00
Madars Virza 49ddda2510 Rename MINDEPS to more accurate NO_PROCPS and add NO_DOCS make option. 2014-08-07 11:55:13 -04:00
Madars Virza 7876e71620 Remove dependency on OpenMP when multicore mode is not enabled. 2014-08-07 11:41:46 -04:00
Madars Virza f4d9dcf579 Ensure that all necessary object files are used when building the .so/.a 2014-08-06 20:12:31 -04:00
Madars Virza 91f7c72428 Allow even more minimalistic builds:
introduce NO_GTEST=1 to prevent linking against libgtest (see README); and
      only require lzm (ate-pairing) for bn128 curve choice.
2014-07-22 14:22:27 +03:00
MITSUNARI Shigeo 4ea45a0fee xbyak with -DBN_SUPPORT_SNARK merged the patch 2014-07-15 06:46:31 +09:00
Madars Virza 50b6a30249 Provide a "make install" target. 2014-07-14 16:51:44 +03:00
Madars Virza 63b895cf49 Rename profile_r1cs_ppzksnark to demo_r1cs_ppzksnark and do additional directory re-structuring. 2014-07-14 11:11:55 +03:00