Multi-party Private Function Evaluation for RAM

Private function evaluation (PFE) is a special type of MPC protocols that, in addition to the input privacy, can preserve the function privacy. In this work, we propose a PFE scheme for RAM. In particular, we ﬁrst design an eﬃcient 4-server distributed ORAM scheme with amortized communication O (log n ) per access (both reading and writing). We then simulate a RISC RAM machine over the MPC platform, hiding (i) the memory access pattern, (ii) the machine state (including registers, program counter, condition ﬂag, etc.), and (iii) the executed instructions. Our scheme can naturally support a simpliﬁed TinyRAM instruction set; if a public RAM program P with given inputs x needs to execute z instruction cycles, our PFE scheme is able to securely evaluate P ( x ) on private P and x within 5 z + 1 online rounds. We prototype and benchmark our system for set intersection, binary search, quicksort, and heapsort algorithms. For instance, to obliviously perform the binary search algorithm on a 10 4 array takes 9 . 21 s with function privacy.