1. A method for performing data analytics on outsourced data, the method comprising: generating, by data owner's workstation, a binary tree representing data from the 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; computing, by the data owner's workstation, an identity token and encrypting the identity token for each of the identities in the binary tree; generating a range query token using an identity selected by a data analyst and a secret key input by the data owner and computing a decryption key for the selected identity; and analyzing the data, at the data analyst's workstation, by comparing the computed decryption key for the selected identity with each of the encrypted identities.
1. A method for performing data analytics on outsourced data, the method comprising: generating, by data owner's workstation, a binary tree representing data from the 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; computing, by the data owner's workstation, an identity token and encrypting the identity token for each of the identities in the binary tree; generating a range query token using an identity selected by a data analyst and a secret key input by the data owner and computing a decryption key for the selected identity; and analyzing the data, at the data analyst's workstation, by comparing the computed decryption key for the selected identity with each of the encrypted identities. 4. The method as in claim 1 further comprising outputting one or more identity query tokens as a result of analyzing the data.