OpenMined / sycret

Function Secret Sharing library for Python and Rust with hardware acceleration
https://openmined.github.io/sycret/
Apache License 2.0
54 stars 9 forks source link

Is EvalAll supported in this lib? #60

Open xingpz2008 opened 2 years ago

xingpz2008 commented 2 years ago

In the original paper of FSS, there's a Eval function that compute every leaf node in the evaluation tree, as 'EvalAll'. This function returns a vector whose component is the result of the FSS leaf node at index j. Is this EvalAll function supported in the lib?

Thanks in advance!

tholop commented 2 years ago

Hi @xingpz2008, our implementation supports optimized DPFs (the regular Eval) but not EvalAll, since so far we only needed to evaluate on a single input and not on the full domain.

However the algorithm seems quite similar, so it should be possible to adapt the code from https://github.com/OpenMined/sycret/blob/master/src/fss/dpf.rs. You might want to use a smaller value of N or a custom bit length as we discussed previously (https://github.com/OpenMined/sycret/issues/57), unless you are interested in output vectors of length 2^32.