1. A method of performing a query, the method comprising: receiving, by processing circuitry, bits representing concealed query logic, the concealed query logic being generated from a query function and encrypted query input, the encrypted query input being produced by an encryption operation on query input; and in response to unencrypted query data being input into the concealed query logic: performing an unconcealing operation on the concealed query logic to produce the query function and the query input; and inputting the unencrypted query data and the query input into the second query function to produce a readable query result; and in response to encrypted query data being input into the concealed query logic, producing, by the processing circuitry, a concealed query result based on the encrypted query data and the concealed query logic, the concealed query result, when unconcealed, producing an encrypted query result.