Alex Ozdemir
01120bfa74
WIP
...
lp-modeler seems broken. could fix. will try good-lp instead
2021-08-03 15:26:03 -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
44c2700073
Add profile script
2021-07-02 22:41:56 -07:00
Alex Ozdemir
3a6e6462ee
Update hashconsing dependency to ahash-based version.
...
I actually fixed this a long time ago, but the fix got lost when I
replaced a local hashconsing dependency with a github one.
Huge performance win.
2021-07-01 23:35:35 -07:00
Alex Ozdemir
e08c9d9119
run CI on ci branch
2021-06-29 23:37:14 -07:00
Alex Ozdemir
aa11f4df74
try CI
2021-06-29 23:35:46 -07:00
Alex Ozdemir
35496f84c9
Add parser for (_ bvVAL WIDTH) bit-vec model format
2021-06-29 23:34:20 -07:00
Alex Ozdemir
b13cb383fd
Add note about nightly compiler
2021-06-29 23:31:24 -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
fad440db7f
Tests
2021-06-25 23:56:51 -07:00
Alex Ozdemir
ab2a687ef5
ZoKrates stdlib
2021-06-25 23:07:16 -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
3e2c7a23df
bg reading
2021-05-23 13:09:42 -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
a31d0907a2
tuple note
2021-05-22 09:30:41 -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
Alex Ozdemir
0bf137a49e
Better tuple support (as an IR pass)
2021-05-19 22:42:29 -07:00
Alex Ozdemir
0e2e9e10cc
Fix model parsing by updating rsmt2
...
Apparently the most up-to-date version is here[1], not in Adrien's
repository.
[1]: https://github.com/kino-mc/rsmt2
2021-04-27 19:59:39 -07:00
Alex Ozdemir
96f5894add
Doc everything.
2021-04-27 14:41:56 -07:00
Alex Ozdemir
0138e15001
more TODOs
2021-04-26 23:16:58 -07:00
Alex Ozdemir
52dc046a1b
a little warning cleanup
2021-04-26 23:14:34 -07:00
Alex Ozdemir
12440bb9dd
Tuple -> R1CS & simple test
2021-04-26 23:12:17 -07:00
Alex Ozdemir
6dd718eae0
Starting tuples
2021-04-26 21:40:44 -07:00
Alex Ozdemir
ae05a657a9
more README
2021-04-26 17:11:08 -07:00
Alex Ozdemir
3769b0ec31
architecture description
2021-04-14 10:49:21 -07:00
Alex Ozdemir
03a1fd9510
more ahash
2021-04-14 10:32:57 -07:00
Alex Ozdemir
c24e543507
Update all hash sets
2021-04-04 19:46:51 -07:00
Alex Ozdemir
38b6593cb9
Opts
2021-03-15 02:01:50 -07:00
Alex Ozdemir
6ce38360ef
Better letifier.
...
It only letifies nodes with multiple parents.
2021-03-07 15:58:36 -08:00
Alex Ozdemir
3eda1991c0
Basic bellman backend
2021-02-28 15:57:32 -08:00
Alex Ozdemir
c56c78313e
Add Circify::assign
2021-02-27 14:54:19 -08:00
Alex Ozdemir
fcfe7e84f0
Misc ZoKrates opts
...
* SHA CH function
* better Uext conversion
* better (more propagate-able) small XORs
2021-02-27 09:20:40 -08:00
Alex Ozdemir
ed3da1061d
Eliminate dead 1 in mult
2021-02-26 23:43:40 -08:00
Alex Ozdemir
f564cf0dfa
Zokrate & perf improvements
2021-02-26 20:26:50 -08:00
Alex Ozdemir
6c896af58f
Update todos
2021-02-24 14:10:18 -08:00
Alex Ozdemir
b757b5c14c
Tune optimizer
2021-02-24 14:04:33 -08:00
Alex Ozdemir
366fd9099f
better inlining algorithm
2021-02-22 17:55:04 -08:00
Alex Ozdemir
23fd01f823
eq elim ckpt
2021-02-22 16:37:42 -08:00
Alex Ozdemir
984b4e915e
ZoKrates: generalize builtins
2021-02-20 13:08:06 -08:00