# Research on Dynamic Searchable Encryption Method Based on Bloom Filter
## 6 Security Analysis
### Adaptive Security  
In order to improve the efficiency of the solution, most existing solutions will leak some information to the cloud server. Therefore, the confidentiality of searchable encryption schemes means that no more information is leaked than is allowed. To demonstrate confidentiality, we follow a true-ideal simulation paradigm similar to the work [23]. Let \(\Pi=(Setup,KeyGen,Initial,Trapdoor,Search,Update,UpdateST,Dec)\) be this article's scheme, S be the simulator, and \(\mathcal{A}\) be the adversary. We defined the following two games:  
\(Real^{\Pi}_{\mathcal{A}}(\lambda)\): Run the algorithm \(Setup(\lambda)\) and the algorithm \(KeyGen(para)\). Then, the game is published \((para,pk_{du})\) and \(sk_{du}\) is saved. After that, The attacker then selects a database DB, executes various queries against it, including update queries, search queries, and decryption queries, and returns the answers to these queries by executing the corresponding algorithms or protocols update, search, and dec, respectively. Finally, \(\mathcal{A}\) outputs a bit \(b\in\{0,1\}\). \(Ideal^{\Pi}_{\mathcal{A}}(\lambda)\): In an ideal world, the opponent selects A safety parameter, and the simulator selects the leak functions \(\mathcal{L}^{Setup}\) and \(\mathcal{L}^{KeyGen}\) to generate system parameters and return them to the \(\mathcal{A}\). The adversary then selects a database, DB, and executesvarious queries against it, including update queries, search queries, and decryption queries. The experiment returns the answers to these queries by calling the leak function \(\mathcal{L}=\left(\mathcal{L}_{Setup},\mathcal{L}_{KeyGen},\mathcal{L}_{Initial}, \mathcal{L}_{Trapdoor},\mathcal{L}_{Search},\mathcal{L}_{Update},\mathcal{L}_{Dec}\right)\). Finally, \(\mathcal{A}\) outputs a bit \(b\in\{0,1\}\). Theorem 3.1: _Let \(H\) be the password hash function. The scheme is \(\mathcal{L}\) adaptively safe in the stochastic prediction model, where the set of leakage functions \(\mathcal{L}\) is defined as follows:_  
\[\mathcal{L}=\left(\mathcal{L}_{Setup},\mathcal{L}_{KeyGen},\mathcal{L}_{ Initial},\mathcal{L}_{Trapdoor},\mathcal{L}_{Search},\mathcal{L}_{Update}, \mathcal{L}_{Dec}\right)\,, \tag{11}\]  
_where \(\mathcal{L}_{Setup}=\perp\), \(\mathcal{L}_{KeyGen}=\perp\), \(\mathcal{L}_{Initial}=\perp\), \(\mathcal{L}_{Trapdoor}=\perp\), \(\mathcal{L}_{Dec}=\perp\)._  
Proof: Our proof uses a hybrid argument consisting of a series of games. The first game is exactly the same as the game in the real world, while the last game is exactly the same as the game in the ideal world. G0: This game is the real world SSE security game Real. So, we can obtain :  
\[Pr\Big{[}Real_{A}^{EDAEFB}(\lambda)\ =1\Big{]}=Pr[Game_{0}=1]. \tag{12}\]  
G1: In this game, we need to randomly select the user's public key \(ID_{i}\) to replace the original public key \(pk_{du_{i}}=H_{0}(id_{i})\). It is easy to see here that G1 and G0 are indistinguishable. \[Pr[Game_{0}=1]=Pr[Game_{1}=1]. \tag{13}\]  
G2: In this game, we create a table \(TOKEN\) to store search tokens. Each search token is replaced by a random number. Whenever a keyword search token is called, we call the number in the table \(TOKEN\) instead of the number in the text. In the case of updates, we will randomly select a string in \(\{0,1\}^{\lambda}\) to act. Here we have:  
\[|Pr[G_{2}=1]-Pr[G_{1}=1]|\leq Adv_{\mathcal{A}}^{hash}(\lambda) \tag{14}\]  
G3: In this game, we need to create four tables \(Ha_{1},Ha_{2},Ha_{3},Ha_{4}\) to answer the random oracle query, which are used to record the \(h_{i\in\{1,4\}}\) that needs to be mapped to the ABF. In the game, whenever these four values need to be calculated, they are directly taken at random from \(\{0,1\}^{\lambda}\) and put into the four \(Ha_{1},Ha_{2},Ha_{3},Ha_{4}\) tables. If the opponent can distinguish between game 2 and game 3, then the hash function can be distinguished from the real random function, which is obviously impossible.