We introduce a data structure for program execution under a limited oblivious execution model. For fully oblivious execution along the lines of Goldreich and Ostrovsky [2], one transforms a given program into a one that has totally random looking execution, based on some cryptographic assumptions and the existence of secure hardware. Totally random memory access patterns do not respect the locality of reference in programs to which the programs generally owe their efficiency. We propose a model that limits the obliviousness so as to enable efficient execution of the program; here the adversary marks a variable and tries to produce a list of candidate locations where it may be stored in after T-steps of execution. We propose a randomized algorithm based on splay trees, and prove a lower bound on such lists. Categories and Subject Descriptors E.2 [Data]: Data Structures; F.m [Theory of Computation]: Miscellaneous General Terms Algorithms, Security, Performance, Theory Keywords Oblivious...
Avinash V. Varadarajan, Ramarathnam Venkatesan, C.