The development of multi-party computation was one of the early achievements of theoretical cryptography. Since that time a number of papers have been published which look at specific application scenarios (e-voting, e-auctions), different security guarantees (computational vs unconditional), different adversarial models (active vs passive, static vs adaptive), different communication models (secure channels, broadcast) and different set-up assumptions (CRS, trusted hardware etc). We examine an application scenario in the area of cloud computing which we call Secure Outsourced Computation. We show that this variant produces less of a restriction on the allowable adversary structures than full multi-party computation. We also show that if one provides the set of computation engines (or Cloud Computing providers) with a small piece of isolated trusted hardware one can outsource any computation in a manner which requires less security constraints on the underlying communication model and at greater computational/communication efficiency than full multi-party computation. In addition our protocol is highly efficient and thus of greater practicality than previous solutions, our required trusted hardware being particularly simple and with minimal trust requirements.