15. A computer program product as in claim 14 , wherein producing each of the set of truth tables from the respective concealed truth tables includes: sending a message to a client computer, the message including (i) the bits representing the concealed query logic and (ii) an indicator indicating that the query data input into the concealed query logic is unencrypted; and receiving, from the client computer, the query function and the query input.
14. A computer program product as in claim 11 , wherein the query function is represented by a set of truth tables, each of the set of truth tables having entries, each entry of that truth table having a value of a server bit, a value of an input bit, and a value of an output bit, wherein the concealed query logic includes, for each of the set of truth tables representing the query function, a respective concealed truth table, the respective concealed truth table replacing the values of the server bits and the client bits of that truth table with random binary strings and replacing the values of the output bits with encrypted binary strings, each of the encrypted binary strings resulting from a respective encryption operation on one of two possible output bitstrings, and wherein performing an unconcealing operation on the concealed query logic includes, for each of the set of truth tables, producing that truth table from the respective concealed truth table.