Alex Ozdemir
8914c007cd
Public inputs for proofs. ( #27 )
2021-12-10 13:09:05 -08:00
Alex Ozdemir
4ffa05fca6
Datalog ( #26 )
...
Support a datalog variant.
2021-11-30 13:26:25 -08:00
Alex Ozdemir
8a05a107ed
Deterministic compilation & better CLI ( #25 )
...
This PR makes compilation deterministic (by switching to fxhash) and improves the CLI.
Technically, the std-based hash tables cannot be guaranteed to have the deterministic iteration order that we need, regardless of what hash you use, so I've added some micro-tests for the property that we need. I'm not optimistic about getting better guarantees from std, but I'll try.
The CLI has also changed.
2021-11-29 15:17:32 -08:00
Alex Ozdemir
3963728c6a
rm dbg statements from opa_bench
2021-11-19 20:57:23 -08:00
Alex Ozdemir
df8dd66ce0
Fix build:
...
I forgot to run the tests, and one of them failed to build (cause: a
bls12_381 version upgrade that I triggered).
Fixed now.
2021-10-18 16:44:13 -07:00
Alex Ozdemir
efe0d62263
Proof of high-value & tests
2021-10-18 15:29:37 -07:00
Edward Chen
c078fa464a
Fixed compiler warnings in lowering to ABY ( #21 )
2021-09-15 13:12:37 -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
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
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