ucbrise / piranha

Piranha: A GPU Platform for Secure Computation
MIT License
89 stars 25 forks source link

Lack of randomness in shares in 2PC #6

Open neha-jawalkar opened 2 years ago

neha-jawalkar commented 2 years ago

Hello,

Insofar as I can tell, in the 2PC code, shares of beaver triples are generated as (0, 0, 0) for both parties. Due to this (and some other code), shares of all intermediate values are of the form (X, 0). This is worrying for two reasons. First, this is insecure and may produce incorrect latency numbers. Second, all truncations are in fact exact and do not emulate local truncation errors in MPC when done with correct beaver triples. Could you suggest a way to measure accuracy when the MPC suffers from errors caused by local truncation?

Thanks!

jlwatson commented 1 year ago

Hey Neha,

Just wanted to drop you a quick update about this since that email thread a week or two ago -- I haven't forgotten about this issue! Just very underwater, so hopefully I should be able to push something in the next few days.

neha-jawalkar commented 1 year ago

Thanks for the update!