With the prevalence of cloud computing, a growing number of users are delegating clouds to host their sensitive data. To preserve user privacy, it is suggested that data is encrypted before outsourcing. However, data encryption makes keyword-based searches over ciphertexts extremely difficult. This is even challenging for <i>fuzzy search</i> that allows uncertainties or misspellings of keywords in a query. In this article, we propose a prime inner product encoding (PIPE) scheme, which makes use of the <i>indecomposable</i> property of prime numbers to provide efficient, highly accurate, and flexible multi-keyword fuzzy search. Our main idea is to encode either a query keyword or an index keyword into a vector filled with primes or reciprocals of primes, such that the result of vectors’ inner product is an integer only when two keywords are similar. Specifically, we first construct <inline-formula><tex-math notation="LaTeX">$\text{PIPE}_{0}$</tex-math></inline-formula> that is secure in the known ciphertext model. Unlike existing works that have difficulty supporting AND and OR semantics simultaneously, <inline-formula><tex-math notation="LaTeX">$\text{PIPE}_{0}$</tex-math></inline-formula> gives users the flexibility to specify different search semantics in their queries. Then, we construct <inline-formula><tex-math notation="LaTeX">$\text{PIPE}_{\text{S}}$</tex-math></inline-formula> that subtly adds random noises to a query vector to resist linear analyses. Both theoretical analyses and experiment results demonstrate the effectiveness of our scheme.
Read full abstract