Background: In the setting of secure computation, two or more parties with private inputs wish to compute some joint function of their inputs. The security requirements of such a computation are privacy (meaning that the parties learn the output and nothing more), correctness (meaning that the output is correctly distributed), independence of inputs, and more. This setting encompasses computations as simple as coin-tossing and agreement, and as complex as electronic voting, electronic auctions, electronic cash schemes, anonymous transactions, and private information retrieval schemes.