Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Overview of this repository #38

Open
evilpoke opened this issue Dec 4, 2023 · 1 comment
Open

Overview of this repository #38

evilpoke opened this issue Dec 4, 2023 · 1 comment

Comments

@evilpoke
Copy link

evilpoke commented Dec 4, 2023

Disclaimer ! !
I couldn't find a documenation for the toolkit library EMP-tool and the emp-ag2pc only has a paper (which I am currently still reading).
Because of a lack of docs and me not really having a very deep understanding of cpp I thus also have trouble understanding the code examples. If you think that both questions below I can answer easily after I have read the paper and listened to Wangs talk, you can also just tell me that. If you otherwise do not think that, then I would really appreciate an answer :) I really would just like to know into what I would like to invest my time into to be able to answer the below questions:


Question 1: (closely related to Q2 below)

How do i get the sample code of an SoK paper referenced here (which computes the dot product of two vectors) run in a malicious setting (so emp-ag2pc) with arbitrary input?

What i already tried:

  1. I compiled this file https://github.com/MPC-SoK/frameworks/blob/master/emp/sh_test/test/innerprod.cpp with non-zero hardcoded input: Executed was actually just this part:
  2. Generated a circuit (with innerprod -m)
  3. Used the boilerplate code from https://github.com/MPC-SoK/frameworks/blob/master/emp/ag_test/test/agmult3.cpp subsituting the circuit text
  4. Compiled, executed, got this:
[1] 1128
connected
./innerprod.circuit.txt
connected
./innerprod.circuit.txt
160 160 16 2602
160 160 16 2602
one time:	1	29461
one time:	2	30879
ABIT	3681
check	1509
permute	476
inde:	1	6023
inde:	2	4668
dep:	2	1279
input size: max 160	160
input for 2: 0
dep:	1	1367
input size: max 160	160
input for 1: 0
online:	1	12
0 no match GT!
1 no match GT!
2 no match GT!
[...]
2589 no match GT!
2600 no match GT!
2601 no match GT!
online:	2	2677
[1]+  Done                    ./bin/customluncher 1 12345
  1. Among this stuff, i don't see my expected result printed.

I get a similar output when I just execute the build from https://github.com/MPC-SoK/frameworks/blob/master/emp/ag_test/test/agmult3.cpp as is.

Question 2 (related to Q1)

Now looking at this sample file:

What (on a high level) is twopc.function_independent(); and twopc.function_dependent(); and twopc.online(in, out); doing.

@wangxiao1254
Copy link
Member

Q1: Please see if you can run examples in this repo. If that also report error, please paste them. If the error only appears using the circuit from their repo, it could be a different problem.

Q2: I think reading the first 2-3 pages of our paper would help more than I pasting them here!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants