Article Preview
TopIntroduction
Searchable Encryption (SE) is a cryptographic mechanism to store encrypted data onto a cloud storage server in the way that the data can further be searched at the server side without compromising privacy. In typical SE schemes (Boneh, Di Crescenzo, Ostrovsky, & Persiano, 2004; Goh, 2003; Song, Wagner, & Perrig, 2000), data owner computes searchable ciphertexts and uploads them onto server. To enable search, data user issues a search token to server who then executes the defined search algorithm on ciphertexts without learning any information about original data (Figure 1).
In SE, a searchable ciphertext comprises of an encrypted payload along with a list of encrypted keywords (to be searched). On the other hand, a search token consists of keyword(s) involved in search query chosen by data user. Practically, any SQL select query, i.e. 'Select * where (list of Values)' could be considered as a search query where 'Value' represents a keyword. With search operation (that implicitly applies token on ciphertext), the server marks '1' to all ciphertexts matching with query and '0' to all unmatched ciphertexts. Subsequently, data user offloads ciphertexts and performs decryption as per the requirements. However, in practice, there exist several applications concerning encrypted data analysis where data user requires fetching only a count of ciphertexts matched with the issued search token, instead of offloading all ciphertexts. One of such applications is given below.