Research Article

An Efficient Searchable Symmetric Encryption Scheme for Smart Grid Data

Figure 3

The main steps of our scheme. (i) In the index, in addition to the codewords for each keyword, a hash of that data ID is added to the header. (ii) For each piece of the index, we initialize a bit array. It calculates the BKDR hash value of each codeword in the index and sets the value of that position in the bit array to 1. After the server receives the trapdoor, it calculates the codeword based on the ID hash in the index header, and if the BKDR hash value of the codeword has a value of 1 in the corresponding position of the bit array, it outputs the hash value of the ID and gets the preresult. (iii) It filters the preresults, calculates the codeword based on the ID hash value in the preresults, and outputs the hash value of the ID if the codeword is in that index to get the final result.