1. A method comprising: receiving at a first user device a query from a second user device for encrypted data, the query being associated with a first user, the first user being described according to a first set of criteria; based, at least in part, on the query and one or more second sets of criteria associated with a second user, determining by the first user device whether at least one of the second sets of criteria are matched, at least in part, to the first set of criteria; and associating by the first user device the query with the matched at least one of the second sets of criteria used as a public key for encrypting the encrypted data according to an identity-based encryption scheme, wherein the first set of criteria and the at least one of the second sets of criteria include one or more digital right management compliant requirements.