7. An apparatus, comprising: at least one processor; and at least one non-transitory computer-readable medium including computer program code which when executed by the at least one processor causes the apparatus to at least: generate at least one query identifier based on a first set of keywords, wherein each query identifier comprises a first hash of an identified keyword from the first set of keywords; transmit, to at least one other apparatus, a query comprising the at least one query identifier, wherein the query is transmitted via an ad hoc network; receive, from the other apparatus, a response comprising at least one match identifier and an encrypted message, wherein each match identifier comprises a second hash of the identified keyword that the other apparatus is able to identify based on the at least one query identifier; determine one or more keywords from the first set of keywords that corresponds to the at least one match identifier; generate an encryption key based on the one or more keywords identified by the at least one match identifier; and decrypt the encrypted message using the encryption key.
7. An apparatus, comprising: at least one processor; and at least one non-transitory computer-readable medium including computer program code which when executed by the at least one processor causes the apparatus to at least: generate at least one query identifier based on a first set of keywords, wherein each query identifier comprises a first hash of an identified keyword from the first set of keywords; transmit, to at least one other apparatus, a query comprising the at least one query identifier, wherein the query is transmitted via an ad hoc network; receive, from the other apparatus, a response comprising at least one match identifier and an encrypted message, wherein each match identifier comprises a second hash of the identified keyword that the other apparatus is able to identify based on the at least one query identifier; determine one or more keywords from the first set of keywords that corresponds to the at least one match identifier; generate an encryption key based on the one or more keywords identified by the at least one match identifier; and decrypt the encrypted message using the encryption key. 11. The apparatus of claim 7 , wherein the generating of the at least one query identifier further causes the apparatus at least: generate a query salt; combine the keyword and the query salt to create a first combination; hash the first combination to create the first hash; and divide the first hash into one or more query identifiers.