Implementation of Searchable Encryption Scheme with Search Pattern Hidden.
gcc/g++, GMP(enable c++) and NTL
External: Boneh_Scheme need libhcs
See https://www.shoup.net/ntl/doc/tour-gmp.html for preparing NTL with GMP.
$ git clone https://github.com/AuspiciousCloud/search-pattern-hidden
$ sh ./AutoCompile.sh
parameter
Generate the keys in our scheme.
The system parameter is N, k, g, the public key is g^a, the key for the auxiliary server is p_prime, q_prime, and the key for the data owner is a.
Generate the encrypted search index.
Generate the trapdoor. If we search a keyword w, we encrypt a random element. Otherwise, we encrypt the element $0$.
The cloud server performs search under the help of the auxiliary server.
Decrypt the encrypted search results.