Individuals and organizations routinely trust third party providers to hold sensitive data, putting it at risk of exposure. While the data could be encrypted under a key that is kept secret from the provider, it rarely is, due to the inconvenience and increased cost of managing the cryptography. This project will develop technologies for working with encrypted data efficiently and conveniently. In particular, it will enable searching on encrypted data, which is prevented by currently deployed encryption, and running arbitrary programs efficiently on encrypted data. The broader impact of this work will include new, practical techniques for searchable encryption and other outsourcing technologies, and foundational results for both primitives to deepen understanding of their potential. This project will develop new techniques for searchable encryption to support more flexible and usable searching, to improve efficiency, and to enhance security by leaking less information to a malicious service provider. In particular, it will unify the line of cryptography research on encrypted searching with well-developed information retrieval techniques. The proposed work will investigate constructions and foundations of oblivious RAM. It will develop fundamental new lower bounds to map the landscape of possibilities for oblivious RAM, and design and analyze new constructions.