14. A computer program product for performing data analytics on outsourced data, the computer program product being tangibly embodied on a non-transitory computer-readable medium and including executable code that, when executed, is configured to cause a data processing apparatus to: generate a binary tree representing data from a data owner, wherein each node of the binary tree is associated with an identity that represents a data element or an interval of data elements; compute an identity token and encrypting the identity token for each of the identities in the binary tree; generate a range query token using an identity selected by a data analyst and a secret key input by the data owner and compute a decryption key for the selected identity; and analyze the data by comparing the computed decryption key for the selected identity with each of the encrypted identities.
14. A computer program product for performing data analytics on outsourced data, the computer program product being tangibly embodied on a non-transitory computer-readable medium and including executable code that, when executed, is configured to cause a data processing apparatus to: generate a binary tree representing data from a data owner, wherein each node of the binary tree is associated with an identity that represents a data element or an interval of data elements; compute an identity token and encrypting the identity token for each of the identities in the binary tree; generate a range query token using an identity selected by a data analyst and a secret key input by the data owner and compute a decryption key for the selected identity; and analyze the data by comparing the computed decryption key for the selected identity with each of the encrypted identities. 17. The computer program product of claim 14 embodied on the non-transitory computer-readable medium further comprising executable code that, when executed, causes the data processing engine to output one or more identity query tokens as a result of analyzing the data.