Towards a theory of software protection and simulation by oblivious RAMs | Synapse