A Secure Priority Queue; Or: On Secure Datastructures from Multiparty Computation
Tomas Toft · Lecture notes in computer science · 2014
Secure multiparty computation (MPC) – computation on distributed, private inputs – has been studied for thirty years. This includes “one shot” applications as well as reactive tasks, where the exact computation is not known in advance. We extend this line of work by exploring efficient datastructures based on MPC primitives. The oblivious RAM (ORAM) provides a completeness theorem. However, implementing the ORAM-CPU using MPC-primitives is costly; current IT-secure constructions incur a poly-log overhead on computation and memory, while computationally secure constructions require MPC-evaluation of one-way functions, which introduces considerable overhead. Using ideas radically different from those in ORAM’s, we propose a secure priority queue. Data accesses are deterministic, whereas ORAM’s hide the access pattern through randomization. $$n$$ priority queue operations – insertion and deletion of the minimal element – require $$O(n\log ^2 n)$$ invocations of the cryptographic primitives in $$O(n)$$ rounds. The amortized cost of each operation is low, thus demonstrating feasibility.