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

Supporting more than 2 parties? #111

Open
LennyHuang15 opened this issue Feb 16, 2023 · 0 comments
Open

Supporting more than 2 parties? #111

LennyHuang15 opened this issue Feb 16, 2023 · 0 comments

Comments

@LennyHuang15
Copy link

It's introduced in this paper Obliv-C: A Language for Extensible Data-Oblivious Computation that

our design can support any number of parties

However, when I try to simply change the codes like this (connecting both party-2 and party-3 to the port of party-1):

const int N_PARTY = 3;
if(*p_cp == 1) {
  for(int p = 2; p <= N_PARTY; p++)
    if(protocolAcceptTcp2P(p_pd, port) != 0) {
      log_err("TCP accept from %s failed\n", remote_host);
      exit(1);
    }
} else {
  if(protocolConnectTcp2P(p_pd, remote_host, port) != 0) {
    log_err("TCP connect to %s failed\n", remote_host);
    exit(1);
  }
}
// Final initializations before entering protocol
setCurrentParty(p_pd, *p_cp); // only checks for a '1'

I got an error when running execYaoProtocol:
(At party-2 and party-3)

a.out: src/ext/oblivc/obliv_bits.c:1041: setupYaoFixedKeyCipher: Assertion `ocRandomBytes(pd,gen,ypd->yaoFixedKey,klen,3-pd->thisParty)' failed

(At party-1)

TCP read error: : No such file or directory

Do this repo support more than 2 parties? If so, what are the correct codes? Thank you.

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

1 participant