Commit Graph

103 Commits

Author SHA1 Message Date
Edward Chen
7af5c69940 ite... doesn't work yet 2021-09-28 20:27:50 -04:00
Edward Chen
9787c355c6 updated 2021-09-26 20:30:38 -04:00
Edward Chen
5a46a5da8d updated zok tests and added casting to c frontend 2021-09-24 16:00:34 -04:00
Edward Chen
b654c484d0 adding in boolean and bitwise operations for c frontend 2021-09-20 17:19:18 -04:00
Edward Chen
4a01517ea3 int tests work for c frontendgit add .git add . 2021-09-19 21:05:34 -04:00
Edward Chen
9d3dd64da9 adding in parameter parsing and completed ast for simple add program 2021-09-16 21:21:02 -04:00
Edward Chen
3f87762dfa not sure if circify frontend for c is implemented correctly.. 2021-09-16 19:20:59 -04:00
Edward Chen
c2851e8152 binops 2021-09-16 17:06:56 -04:00
Edward Chen
00b867445c return stmt 2021-09-16 01:30:36 -04:00
Edward Chen
12166687a9 parsing statements 2021-09-16 01:11:12 -04:00
Edward Chen
72b44eec00 adding in fn def 2021-09-15 20:54:57 -04:00
Edward Chen
af4107afea adding cterms and types 2021-09-15 17:52:16 -04:00
Edward Chen
49c2696362 initial commit for c-frontend, parsing c files works! 2021-09-08 18:32:09 -04:00
Edward Chen
991c710cea Support lowering loops to ABY (#19)
* loops for ABY!
2021-09-03 11:24:53 -04:00
Edward Chen
92cff0a119 Integrated EZPC helper file (#18)
* Added EZPC helper file, updated output, added shift tests
2021-09-02 18:08:08 -04:00
Edward Chen
d9d66896b3 Added support for multiple outputs in test cases (#17) 2021-08-31 19:24:14 -07:00
Edward Chen
fd2a7e4bf2 Added Conversion Gates & Integrated with OPA SharingMap (#16)
* OPA-by-ILP benchmark example

* Reverted unverified push to master branch

* Added conversion gates and integrated ABY lowering with SharingMap

Co-authored-by: Alex Ozdemir <aozdemir@hmc.edu>
2021-08-25 22:38:50 -07:00
Edward Chen
5579b99888 Revert "Added conversion gates and integrated SharingMap"
This reverts commit bd022fad38.
2021-08-25 16:48:07 -04:00
Edward Chen
bd022fad38 Added conversion gates and integrated SharingMap 2021-08-25 16:45:24 -04:00
Alex Ozdemir
3b964f0bd3 OPA-by-ILP benchmark example 2021-08-24 10:01:19 -07:00
Alex Ozdemir
2226ad901f Draft OPA implementation (#15) 2021-08-24 08:29:54 -07:00
Alex Ozdemir
3691bb91b8 Sharing assignment types 2021-08-23 16:34:59 -07:00
Edward Chen
df8cdeece9 More efficient comparison calls (#14) 2021-08-20 07:25:52 -07:00
Edward Chen
8848bfee6f Updated parameter passing for ABY test cases (#12)
* Updated parameter passing for ABY test cases

-Uses `dict` instead of `list` to pass arguments into ABY tests
-Using `dict` allows for referencing between parameter name and value regardless of parameter order
2021-08-18 20:14:32 -07:00
Edward Chen
3b0bbc9fff added const value translation for ABY (#11) 2021-08-16 22:54:41 -07:00
Alex Ozdemir
fa711e6900 ZoKrates->ILP toolchain and tests (#10) 2021-08-07 00:08:46 -07:00
Alex Ozdemir
cbcbf2e195 Optimization unit tests for BV->ILP 2021-08-05 15:32:51 -07:00
Alex Ozdemir
ac732a647b Most of BV->ILP
Omitting operators:
* bvudiv, bvurem, bvshl, bvashr, bvlshr
2021-08-05 15:02:23 -07:00
Alex Ozdemir
56ce319d4d format 2021-08-05 10:07:48 -07:00
Alex Ozdemir
41082b58c4 Resolve warnings 2021-08-05 10:07:48 -07:00
Alex Ozdemir
3e3da8c028 SHA-MAJ elimination rewrite 2021-08-04 21:42:59 -07:00
Alex Ozdemir
51d802813f Bool->ILP (#9) 2021-08-04 18:22:15 -07:00
Alex Ozdemir
39c9c6ae00 CBC dependency for LPs (#8) 2021-08-04 14:03:26 -07:00
Edward Chen
68da42993c Zok to ABY pipeline (#4)
Lowering layer from CirC IR to ABY 
- Lowers IR to ABY C++ 
- Writes translated code into ABY submodule and update CMake files
- tests using Python to run ABY executables

Co-authored-by: Alex Ozdemir <aozdemir@hmc.edu>
2021-07-28 21:33:21 -07:00
Alex Ozdemir
22a5e508fe Don't use equality assertions pervasively.
Also: special case ZoK entry fn return for proof/smt/MPC
2021-07-07 11:48:31 -07:00
Alex Ozdemir
2fc86af5d3 src::ir::term::garbage_collect doc 2021-07-02 23:41:33 -07:00
Alex Ozdemir
35496f84c9 Add parser for (_ bvVAL WIDTH) bit-vec model format 2021-06-29 23:34:20 -07:00
Alex Ozdemir
ce3dac53b1 Also look for the ZoK stdlib in third_party/ZoKrates/zokrates_stdlib/stdlib subdirs 2021-06-29 23:15:59 -07:00
Alex Ozdemir
54edb052e7 fix MPC tests to actually use MPC generation..
Also, crash if we find party annotations in proof mode
2021-06-26 00:47:39 -07:00
Alex Ozdemir
1247e2cf6f ZoKrates MPC party numbers
Adds:
* Parsing party numbers from private annotations (e.g. private<1>, private<2>, ...)
* A "mode" flag to the ZoKrates generator which is either Proof or Mpc(party_count)
* Appropriate generation
* Modifications to the circ driver
* two tests
2021-06-26 00:40:13 -07:00
Alex Ozdemir
edd12ca69f link to the thesis 2021-06-18 13:12:20 -07:00
Alex Ozdemir
811166cb56 Generalize Constraints to Computation.
Laying the foundation for MPC. Proofs are a special case with some
extension traits in ir::term
2021-06-18 12:38:19 -07:00
Alex Ozdemir
ddc67dce61 fmt 2021-05-22 10:08:33 -07:00
Alex Ozdemir
f7146bdd03 term! doc 2021-05-22 09:59:32 -07:00
Alex Ozdemir
0955b5cb62 clean up tuple stuff in R1CS 2021-05-22 00:45:58 -07:00
Alex Ozdemir
737056b686 Add header to term module 2021-05-22 00:33:48 -07:00
Alex Ozdemir
2ce8d4887e shortcuts for common compound ops 2021-05-22 00:24:20 -07:00
Alex Ozdemir
3c72c98ff5 fix flattening test 2021-05-21 22:41:58 -07:00
Alex Ozdemir
98b57a5b48 Remove Op::Let 2021-05-21 21:32:13 -07:00
Alex Ozdemir
6ab4e71964 Doc fix 2021-05-21 14:47:57 -07:00